001package org.hl7.fhir.r4b.formats; 002 003 004// generated 005 006/* 007 Copyright (c) 2011+, HL7, Inc. 008 All rights reserved. 009 010 Redistribution and use in source and binary forms, with or without modification, \ 011 are permitted provided that the following conditions are met: 012 013 * Redistributions of source code must retain the above copyright notice, this \ 014 list of conditions and the following disclaimer. 015 * Redistributions in binary form must reproduce the above copyright notice, \ 016 this list of conditions and the following disclaimer in the documentation \ 017 and/or other materials provided with the distribution. 018 * Neither the name of HL7 nor the names of its contributors may be used to 019 endorse or promote products derived from this software without specific 020 prior written permission. 021 022 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 023 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 024 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 025 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 026 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 027 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 028 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 029 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 030 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 031 POSSIBILITY OF SUCH DAMAGE. 032 */ 033 034// Generated on Wed, Dec 29, 2021 07:58+1100 for FHIR v4.3.0-snapshot1 035 036 037 038import org.hl7.fhir.r4b.model.*; 039import org.hl7.fhir.r4b.model.StringType; 040import org.hl7.fhir.utilities.Utilities; 041import org.hl7.fhir.exceptions.FHIRFormatError; 042import org.hl7.fhir.exceptions.FHIRException; 043import org.hl7.fhir.utilities.turtle.Turtle.*; 044import java.io.IOException; 045 046public class RdfParser extends RdfParserBase { 047 048 public RdfParser() { 049 super(); 050 } 051 052 public RdfParser(boolean allowUnknownContent) { 053 super(); 054 setAllowUnknownContent(allowUnknownContent); 055 } 056 057 private void composeEnum(Complex parent, String parentType, String name, Enumeration<? extends Enum> value, int index) { 058 if (value == null) 059 return; 060 Complex t = parent.predicate("fhir:"+parentType+"."+name); 061 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 062 composeElement(t, parentType, name, value, index); 063 decorateCode(t, value); 064 } 065 066 067 protected void composeDate(Complex parent, String parentType, String name, DateType value, int index) { 068 if (value == null) 069 return; 070 Complex t = parent.predicate("fhir:"+parentType+"."+name); 071 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 072 composeElement(t, parentType, name, value, index); 073 } 074 075 protected void composeDateTime(Complex parent, String parentType, String name, DateTimeType value, int index) { 076 if (value == null) 077 return; 078 Complex t = parent.predicate("fhir:"+parentType+"."+name); 079 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 080 composeElement(t, parentType, name, value, index); 081 } 082 083 protected void composeCode(Complex parent, String parentType, String name, CodeType value, int index) { 084 if (value == null) 085 return; 086 Complex t = parent.predicate("fhir:"+parentType+"."+name); 087 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 088 composeElement(t, parentType, name, value, index); 089 decorateCode(t, value); 090 } 091 092 protected void composeString(Complex parent, String parentType, String name, StringType value, int index) { 093 if (value == null) 094 return; 095 Complex t = parent.predicate("fhir:"+parentType+"."+name); 096 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 097 composeElement(t, parentType, name, value, index); 098 } 099 100 protected void composeInteger(Complex parent, String parentType, String name, IntegerType value, int index) { 101 if (value == null) 102 return; 103 Complex t = parent.predicate("fhir:"+parentType+"."+name); 104 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 105 composeElement(t, parentType, name, value, index); 106 } 107 108 protected void composeInteger64(Complex parent, String parentType, String name, Integer64Type value, int index) { 109 if (value == null) 110 return; 111 Complex t = parent.predicate("fhir:"+parentType+"."+name); 112 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 113 composeElement(t, parentType, name, value, index); 114 } 115 116 protected void composeOid(Complex parent, String parentType, String name, OidType value, int index) { 117 if (value == null) 118 return; 119 Complex t = parent.predicate("fhir:"+parentType+"."+name); 120 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 121 composeElement(t, parentType, name, value, index); 122 } 123 124 protected void composeCanonical(Complex parent, String parentType, String name, CanonicalType value, int index) { 125 if (value == null) 126 return; 127 Complex t = parent.predicate("fhir:"+parentType+"."+name); 128 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 129 composeElement(t, parentType, name, value, index); 130 } 131 132 protected void composeUri(Complex parent, String parentType, String name, UriType value, int index) { 133 if (value == null) 134 return; 135 Complex t = parent.predicate("fhir:"+parentType+"."+name); 136 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 137 composeElement(t, parentType, name, value, index); 138 } 139 140 protected void composeUuid(Complex parent, String parentType, String name, UuidType value, int index) { 141 if (value == null) 142 return; 143 Complex t = parent.predicate("fhir:"+parentType+"."+name); 144 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 145 composeElement(t, parentType, name, value, index); 146 } 147 148 protected void composeUrl(Complex parent, String parentType, String name, UrlType value, int index) { 149 if (value == null) 150 return; 151 Complex t = parent.predicate("fhir:"+parentType+"."+name); 152 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 153 composeElement(t, parentType, name, value, index); 154 } 155 156 protected void composeInstant(Complex parent, String parentType, String name, InstantType value, int index) { 157 if (value == null) 158 return; 159 Complex t = parent.predicate("fhir:"+parentType+"."+name); 160 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 161 composeElement(t, parentType, name, value, index); 162 } 163 164 protected void composeBoolean(Complex parent, String parentType, String name, BooleanType value, int index) { 165 if (value == null) 166 return; 167 Complex t = parent.predicate("fhir:"+parentType+"."+name); 168 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 169 composeElement(t, parentType, name, value, index); 170 } 171 172 protected void composeBase64Binary(Complex parent, String parentType, String name, Base64BinaryType value, int index) { 173 if (value == null) 174 return; 175 Complex t = parent.predicate("fhir:"+parentType+"."+name); 176 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 177 composeElement(t, parentType, name, value, index); 178 } 179 180 protected void composeUnsignedInt(Complex parent, String parentType, String name, UnsignedIntType value, int index) { 181 if (value == null) 182 return; 183 Complex t = parent.predicate("fhir:"+parentType+"."+name); 184 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 185 composeElement(t, parentType, name, value, index); 186 } 187 188 protected void composeMarkdown(Complex parent, String parentType, String name, MarkdownType value, int index) { 189 if (value == null) 190 return; 191 Complex t = parent.predicate("fhir:"+parentType+"."+name); 192 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 193 composeElement(t, parentType, name, value, index); 194 } 195 196 protected void composeTime(Complex parent, String parentType, String name, TimeType value, int index) { 197 if (value == null) 198 return; 199 Complex t = parent.predicate("fhir:"+parentType+"."+name); 200 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 201 composeElement(t, parentType, name, value, index); 202 } 203 204 protected void composeId(Complex parent, String parentType, String name, IdType value, int index) { 205 if (value == null) 206 return; 207 Complex t = parent.predicate("fhir:"+parentType+"."+name); 208 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 209 composeElement(t, parentType, name, value, index); 210 } 211 212 protected void composePositiveInt(Complex parent, String parentType, String name, PositiveIntType value, int index) { 213 if (value == null) 214 return; 215 Complex t = parent.predicate("fhir:"+parentType+"."+name); 216 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 217 composeElement(t, parentType, name, value, index); 218 } 219 220 protected void composeDecimal(Complex parent, String parentType, String name, DecimalType value, int index) { 221 if (value == null) 222 return; 223 Complex t = parent.predicate("fhir:"+parentType+"."+name); 224 t.predicate("fhir:value", ttlLiteral(value.asStringValue())); 225 composeElement(t, parentType, name, value, index); 226 } 227 228 protected void composeElement(Complex t, String parentType, String name, Element element, int index) { 229 if (element.hasIdElement()) { 230 composeString(t, "Element", "id", element.getIdElement(), -1); 231 } 232 for (int i = 0; i < element.getExtension().size(); i++) { 233 composeExtension(t, "Element", "extension", element.getExtension().get(i), i); 234 } 235 } 236 237 protected void composeBackboneElement(Complex t, String parentType, String name, BackboneElement element, int index) { 238 composeDataType(t, parentType, name, element, index); 239 for (int i = 0; i < element.getModifierExtension().size(); i++) { 240 composeExtension(t, "BackboneElement", "modifierExtension", element.getModifierExtension().get(i), i); 241 } 242 } 243 244 protected void composeDataType(Complex t, String parentType, String name, DataType element, int index) { 245 composeDataType(t, parentType, name, element, index); 246 } 247 248 protected void composeAddress(Complex parent, String parentType, String name, Address element, int index) { 249 if (element == null) 250 return; 251 Complex t; 252 if (Utilities.noString(parentType)) 253 t = parent; 254 else { 255 t = parent.predicate("fhir:"+parentType+'.'+name); 256 } 257 composeDataType(t, "Address", name, element, index); 258 if (element.hasUseElement()) { 259 composeEnum(t, "Address", "use", element.getUseElement(), -1); 260 } 261 if (element.hasTypeElement()) { 262 composeEnum(t, "Address", "type", element.getTypeElement(), -1); 263 } 264 if (element.hasTextElement()) { 265 composeString(t, "Address", "text", element.getTextElement(), -1); 266 } 267 for (int i = 0; i < element.getLine().size(); i++) { 268 composeString(t, "Address", "line", element.getLine().get(i), i); 269 } 270 if (element.hasCityElement()) { 271 composeString(t, "Address", "city", element.getCityElement(), -1); 272 } 273 if (element.hasDistrictElement()) { 274 composeString(t, "Address", "district", element.getDistrictElement(), -1); 275 } 276 if (element.hasStateElement()) { 277 composeString(t, "Address", "state", element.getStateElement(), -1); 278 } 279 if (element.hasPostalCodeElement()) { 280 composeString(t, "Address", "postalCode", element.getPostalCodeElement(), -1); 281 } 282 if (element.hasCountryElement()) { 283 composeString(t, "Address", "country", element.getCountryElement(), -1); 284 } 285 if (element.hasPeriod()) { 286 composePeriod(t, "Address", "period", element.getPeriod(), -1); 287 } 288 } 289 290 protected void composeAge(Complex parent, String parentType, String name, Age element, int index) { 291 if (element == null) 292 return; 293 Complex t; 294 if (Utilities.noString(parentType)) 295 t = parent; 296 else { 297 t = parent.predicate("fhir:"+parentType+'.'+name); 298 } 299 composeQuantity(t, "Age", name, element, index); 300 } 301 302 protected void composeAnnotation(Complex parent, String parentType, String name, Annotation element, int index) { 303 if (element == null) 304 return; 305 Complex t; 306 if (Utilities.noString(parentType)) 307 t = parent; 308 else { 309 t = parent.predicate("fhir:"+parentType+'.'+name); 310 } 311 composeDataType(t, "Annotation", name, element, index); 312 if (element.hasAuthor()) { 313 composeType(t, "Annotation", "author", element.getAuthor(), -1); 314 } 315 if (element.hasTimeElement()) { 316 composeDateTime(t, "Annotation", "time", element.getTimeElement(), -1); 317 } 318 if (element.hasTextElement()) { 319 composeMarkdown(t, "Annotation", "text", element.getTextElement(), -1); 320 } 321 } 322 323 protected void composeAttachment(Complex parent, String parentType, String name, Attachment element, int index) { 324 if (element == null) 325 return; 326 Complex t; 327 if (Utilities.noString(parentType)) 328 t = parent; 329 else { 330 t = parent.predicate("fhir:"+parentType+'.'+name); 331 } 332 composeDataType(t, "Attachment", name, element, index); 333 if (element.hasContentTypeElement()) { 334 composeCode(t, "Attachment", "contentType", element.getContentTypeElement(), -1); 335 } 336 if (element.hasLanguageElement()) { 337 composeCode(t, "Attachment", "language", element.getLanguageElement(), -1); 338 } 339 if (element.hasDataElement()) { 340 composeBase64Binary(t, "Attachment", "data", element.getDataElement(), -1); 341 } 342 if (element.hasUrlElement()) { 343 composeUrl(t, "Attachment", "url", element.getUrlElement(), -1); 344 } 345 if (element.hasSizeElement()) { 346 composeUnsignedInt(t, "Attachment", "size", element.getSizeElement(), -1); 347 } 348 if (element.hasHashElement()) { 349 composeBase64Binary(t, "Attachment", "hash", element.getHashElement(), -1); 350 } 351 if (element.hasTitleElement()) { 352 composeString(t, "Attachment", "title", element.getTitleElement(), -1); 353 } 354 if (element.hasCreationElement()) { 355 composeDateTime(t, "Attachment", "creation", element.getCreationElement(), -1); 356 } 357 } 358 359 protected void composeCodeableConcept(Complex parent, String parentType, String name, CodeableConcept element, int index) { 360 if (element == null) 361 return; 362 Complex t; 363 if (Utilities.noString(parentType)) 364 t = parent; 365 else { 366 t = parent.predicate("fhir:"+parentType+'.'+name); 367 } 368 composeDataType(t, "CodeableConcept", name, element, index); 369 decorateCodeableConcept(t, element); 370 for (int i = 0; i < element.getCoding().size(); i++) { 371 composeCoding(t, "CodeableConcept", "coding", element.getCoding().get(i), i); 372 } 373 if (element.hasTextElement()) { 374 composeString(t, "CodeableConcept", "text", element.getTextElement(), -1); 375 } 376 } 377 378 protected void composeCodeableReference(Complex parent, String parentType, String name, CodeableReference element, int index) { 379 if (element == null) 380 return; 381 Complex t; 382 if (Utilities.noString(parentType)) 383 t = parent; 384 else { 385 t = parent.predicate("fhir:"+parentType+'.'+name); 386 } 387 composeDataType(t, "CodeableReference", name, element, index); 388 if (element.hasConcept()) { 389 composeCodeableConcept(t, "CodeableReference", "concept", element.getConcept(), -1); 390 } 391 if (element.hasReference()) { 392 composeReference(t, "CodeableReference", "reference", element.getReference(), -1); 393 } 394 } 395 396 protected void composeCoding(Complex parent, String parentType, String name, Coding element, int index) { 397 if (element == null) 398 return; 399 Complex t; 400 if (Utilities.noString(parentType)) 401 t = parent; 402 else { 403 t = parent.predicate("fhir:"+parentType+'.'+name); 404 } 405 composeDataType(t, "Coding", name, element, index); 406 decorateCoding(t, element); 407 if (element.hasSystemElement()) { 408 composeUri(t, "Coding", "system", element.getSystemElement(), -1); 409 } 410 if (element.hasVersionElement()) { 411 composeString(t, "Coding", "version", element.getVersionElement(), -1); 412 } 413 if (element.hasCodeElement()) { 414 composeCode(t, "Coding", "code", element.getCodeElement(), -1); 415 } 416 if (element.hasDisplayElement()) { 417 composeString(t, "Coding", "display", element.getDisplayElement(), -1); 418 } 419 if (element.hasUserSelectedElement()) { 420 composeBoolean(t, "Coding", "userSelected", element.getUserSelectedElement(), -1); 421 } 422 } 423 424 protected void composeContactDetail(Complex parent, String parentType, String name, ContactDetail element, int index) { 425 if (element == null) 426 return; 427 Complex t; 428 if (Utilities.noString(parentType)) 429 t = parent; 430 else { 431 t = parent.predicate("fhir:"+parentType+'.'+name); 432 } 433 composeDataType(t, "ContactDetail", name, element, index); 434 if (element.hasNameElement()) { 435 composeString(t, "ContactDetail", "name", element.getNameElement(), -1); 436 } 437 for (int i = 0; i < element.getTelecom().size(); i++) { 438 composeContactPoint(t, "ContactDetail", "telecom", element.getTelecom().get(i), i); 439 } 440 } 441 442 protected void composeContactPoint(Complex parent, String parentType, String name, ContactPoint element, int index) { 443 if (element == null) 444 return; 445 Complex t; 446 if (Utilities.noString(parentType)) 447 t = parent; 448 else { 449 t = parent.predicate("fhir:"+parentType+'.'+name); 450 } 451 composeDataType(t, "ContactPoint", name, element, index); 452 if (element.hasSystemElement()) { 453 composeEnum(t, "ContactPoint", "system", element.getSystemElement(), -1); 454 } 455 if (element.hasValueElement()) { 456 composeString(t, "ContactPoint", "value", element.getValueElement(), -1); 457 } 458 if (element.hasUseElement()) { 459 composeEnum(t, "ContactPoint", "use", element.getUseElement(), -1); 460 } 461 if (element.hasRankElement()) { 462 composePositiveInt(t, "ContactPoint", "rank", element.getRankElement(), -1); 463 } 464 if (element.hasPeriod()) { 465 composePeriod(t, "ContactPoint", "period", element.getPeriod(), -1); 466 } 467 } 468 469 protected void composeContributor(Complex parent, String parentType, String name, Contributor element, int index) { 470 if (element == null) 471 return; 472 Complex t; 473 if (Utilities.noString(parentType)) 474 t = parent; 475 else { 476 t = parent.predicate("fhir:"+parentType+'.'+name); 477 } 478 composeDataType(t, "Contributor", name, element, index); 479 if (element.hasTypeElement()) { 480 composeEnum(t, "Contributor", "type", element.getTypeElement(), -1); 481 } 482 if (element.hasNameElement()) { 483 composeString(t, "Contributor", "name", element.getNameElement(), -1); 484 } 485 for (int i = 0; i < element.getContact().size(); i++) { 486 composeContactDetail(t, "Contributor", "contact", element.getContact().get(i), i); 487 } 488 } 489 490 protected void composeCount(Complex parent, String parentType, String name, Count element, int index) { 491 if (element == null) 492 return; 493 Complex t; 494 if (Utilities.noString(parentType)) 495 t = parent; 496 else { 497 t = parent.predicate("fhir:"+parentType+'.'+name); 498 } 499 composeQuantity(t, "Count", name, element, index); 500 } 501 502 protected void composeDataRequirement(Complex parent, String parentType, String name, DataRequirement element, int index) { 503 if (element == null) 504 return; 505 Complex t; 506 if (Utilities.noString(parentType)) 507 t = parent; 508 else { 509 t = parent.predicate("fhir:"+parentType+'.'+name); 510 } 511 composeDataType(t, "DataRequirement", name, element, index); 512 if (element.hasTypeElement()) { 513 composeEnum(t, "DataRequirement", "type", element.getTypeElement(), -1); 514 } 515 for (int i = 0; i < element.getProfile().size(); i++) { 516 composeCanonical(t, "DataRequirement", "profile", element.getProfile().get(i), i); 517 } 518 if (element.hasSubject()) { 519 composeType(t, "DataRequirement", "subject", element.getSubject(), -1); 520 } 521 for (int i = 0; i < element.getMustSupport().size(); i++) { 522 composeString(t, "DataRequirement", "mustSupport", element.getMustSupport().get(i), i); 523 } 524 for (int i = 0; i < element.getCodeFilter().size(); i++) { 525 composeDataRequirementCodeFilterComponent(t, "DataRequirement", "codeFilter", element.getCodeFilter().get(i), i); 526 } 527 for (int i = 0; i < element.getDateFilter().size(); i++) { 528 composeDataRequirementDateFilterComponent(t, "DataRequirement", "dateFilter", element.getDateFilter().get(i), i); 529 } 530 if (element.hasLimitElement()) { 531 composePositiveInt(t, "DataRequirement", "limit", element.getLimitElement(), -1); 532 } 533 for (int i = 0; i < element.getSort().size(); i++) { 534 composeDataRequirementSortComponent(t, "DataRequirement", "sort", element.getSort().get(i), i); 535 } 536 } 537 538 protected void composeDataRequirementCodeFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementCodeFilterComponent element, int index) { 539 if (element == null) 540 return; 541 Complex t; 542 if (Utilities.noString(parentType)) 543 t = parent; 544 else { 545 t = parent.predicate("fhir:"+parentType+'.'+name); 546 } 547 composeElement(t, "codeFilter", name, element, index); 548 if (element.hasPathElement()) { 549 composeString(t, "DataRequirementCodeFilterComponent", "path", element.getPathElement(), -1); 550 } 551 if (element.hasSearchParamElement()) { 552 composeString(t, "DataRequirementCodeFilterComponent", "searchParam", element.getSearchParamElement(), -1); 553 } 554 if (element.hasValueSetElement()) { 555 composeCanonical(t, "DataRequirementCodeFilterComponent", "valueSet", element.getValueSetElement(), -1); 556 } 557 for (int i = 0; i < element.getCode().size(); i++) { 558 composeCoding(t, "DataRequirementCodeFilterComponent", "code", element.getCode().get(i), i); 559 } 560 } 561 562 protected void composeDataRequirementDateFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementDateFilterComponent element, int index) { 563 if (element == null) 564 return; 565 Complex t; 566 if (Utilities.noString(parentType)) 567 t = parent; 568 else { 569 t = parent.predicate("fhir:"+parentType+'.'+name); 570 } 571 composeElement(t, "dateFilter", name, element, index); 572 if (element.hasPathElement()) { 573 composeString(t, "DataRequirementDateFilterComponent", "path", element.getPathElement(), -1); 574 } 575 if (element.hasSearchParamElement()) { 576 composeString(t, "DataRequirementDateFilterComponent", "searchParam", element.getSearchParamElement(), -1); 577 } 578 if (element.hasValue()) { 579 composeType(t, "DataRequirementDateFilterComponent", "value", element.getValue(), -1); 580 } 581 } 582 583 protected void composeDataRequirementSortComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementSortComponent element, int index) { 584 if (element == null) 585 return; 586 Complex t; 587 if (Utilities.noString(parentType)) 588 t = parent; 589 else { 590 t = parent.predicate("fhir:"+parentType+'.'+name); 591 } 592 composeElement(t, "sort", name, element, index); 593 if (element.hasPathElement()) { 594 composeString(t, "DataRequirementSortComponent", "path", element.getPathElement(), -1); 595 } 596 if (element.hasDirectionElement()) { 597 composeEnum(t, "DataRequirementSortComponent", "direction", element.getDirectionElement(), -1); 598 } 599 } 600 601 protected void composeDistance(Complex parent, String parentType, String name, Distance element, int index) { 602 if (element == null) 603 return; 604 Complex t; 605 if (Utilities.noString(parentType)) 606 t = parent; 607 else { 608 t = parent.predicate("fhir:"+parentType+'.'+name); 609 } 610 composeQuantity(t, "Distance", name, element, index); 611 } 612 613 protected void composeDosage(Complex parent, String parentType, String name, Dosage element, int index) { 614 if (element == null) 615 return; 616 Complex t; 617 if (Utilities.noString(parentType)) 618 t = parent; 619 else { 620 t = parent.predicate("fhir:"+parentType+'.'+name); 621 } 622 composeDataType(t, "Dosage", name, element, index); 623 if (element.hasSequenceElement()) { 624 composeInteger(t, "Dosage", "sequence", element.getSequenceElement(), -1); 625 } 626 if (element.hasTextElement()) { 627 composeString(t, "Dosage", "text", element.getTextElement(), -1); 628 } 629 for (int i = 0; i < element.getAdditionalInstruction().size(); i++) { 630 composeCodeableConcept(t, "Dosage", "additionalInstruction", element.getAdditionalInstruction().get(i), i); 631 } 632 if (element.hasPatientInstructionElement()) { 633 composeString(t, "Dosage", "patientInstruction", element.getPatientInstructionElement(), -1); 634 } 635 if (element.hasTiming()) { 636 composeTiming(t, "Dosage", "timing", element.getTiming(), -1); 637 } 638 if (element.hasAsNeeded()) { 639 composeType(t, "Dosage", "asNeeded", element.getAsNeeded(), -1); 640 } 641 if (element.hasSite()) { 642 composeCodeableConcept(t, "Dosage", "site", element.getSite(), -1); 643 } 644 if (element.hasRoute()) { 645 composeCodeableConcept(t, "Dosage", "route", element.getRoute(), -1); 646 } 647 if (element.hasMethod()) { 648 composeCodeableConcept(t, "Dosage", "method", element.getMethod(), -1); 649 } 650 for (int i = 0; i < element.getDoseAndRate().size(); i++) { 651 composeDosageDoseAndRateComponent(t, "Dosage", "doseAndRate", element.getDoseAndRate().get(i), i); 652 } 653 if (element.hasMaxDosePerPeriod()) { 654 composeRatio(t, "Dosage", "maxDosePerPeriod", element.getMaxDosePerPeriod(), -1); 655 } 656 if (element.hasMaxDosePerAdministration()) { 657 composeQuantity(t, "Dosage", "maxDosePerAdministration", element.getMaxDosePerAdministration(), -1); 658 } 659 if (element.hasMaxDosePerLifetime()) { 660 composeQuantity(t, "Dosage", "maxDosePerLifetime", element.getMaxDosePerLifetime(), -1); 661 } 662 } 663 664 protected void composeDosageDoseAndRateComponent(Complex parent, String parentType, String name, Dosage.DosageDoseAndRateComponent element, int index) { 665 if (element == null) 666 return; 667 Complex t; 668 if (Utilities.noString(parentType)) 669 t = parent; 670 else { 671 t = parent.predicate("fhir:"+parentType+'.'+name); 672 } 673 composeElement(t, "doseAndRate", name, element, index); 674 if (element.hasType()) { 675 composeCodeableConcept(t, "DosageDoseAndRateComponent", "type", element.getType(), -1); 676 } 677 if (element.hasDose()) { 678 composeType(t, "DosageDoseAndRateComponent", "dose", element.getDose(), -1); 679 } 680 if (element.hasRate()) { 681 composeType(t, "DosageDoseAndRateComponent", "rate", element.getRate(), -1); 682 } 683 } 684 685 protected void composeDuration(Complex parent, String parentType, String name, Duration element, int index) { 686 if (element == null) 687 return; 688 Complex t; 689 if (Utilities.noString(parentType)) 690 t = parent; 691 else { 692 t = parent.predicate("fhir:"+parentType+'.'+name); 693 } 694 composeQuantity(t, "Duration", name, element, index); 695 } 696 697 protected void composeElementDefinition(Complex parent, String parentType, String name, ElementDefinition element, int index) { 698 if (element == null) 699 return; 700 Complex t; 701 if (Utilities.noString(parentType)) 702 t = parent; 703 else { 704 t = parent.predicate("fhir:"+parentType+'.'+name); 705 } 706 composeDataType(t, "ElementDefinition", name, element, index); 707 if (element.hasPathElement()) { 708 composeString(t, "ElementDefinition", "path", element.getPathElement(), -1); 709 } 710 for (int i = 0; i < element.getRepresentation().size(); i++) { 711 composeEnum(t, "ElementDefinition", "representation", element.getRepresentation().get(i), i); 712 } 713 if (element.hasSliceNameElement()) { 714 composeString(t, "ElementDefinition", "sliceName", element.getSliceNameElement(), -1); 715 } 716 if (element.hasSliceIsConstrainingElement()) { 717 composeBoolean(t, "ElementDefinition", "sliceIsConstraining", element.getSliceIsConstrainingElement(), -1); 718 } 719 if (element.hasLabelElement()) { 720 composeString(t, "ElementDefinition", "label", element.getLabelElement(), -1); 721 } 722 for (int i = 0; i < element.getCode().size(); i++) { 723 composeCoding(t, "ElementDefinition", "code", element.getCode().get(i), i); 724 } 725 if (element.hasSlicing()) { 726 composeElementDefinitionSlicingComponent(t, "ElementDefinition", "slicing", element.getSlicing(), -1); 727 } 728 if (element.hasShortElement()) { 729 composeString(t, "ElementDefinition", "short", element.getShortElement(), -1); 730 } 731 if (element.hasDefinitionElement()) { 732 composeMarkdown(t, "ElementDefinition", "definition", element.getDefinitionElement(), -1); 733 } 734 if (element.hasCommentElement()) { 735 composeMarkdown(t, "ElementDefinition", "comment", element.getCommentElement(), -1); 736 } 737 if (element.hasRequirementsElement()) { 738 composeMarkdown(t, "ElementDefinition", "requirements", element.getRequirementsElement(), -1); 739 } 740 for (int i = 0; i < element.getAlias().size(); i++) { 741 composeString(t, "ElementDefinition", "alias", element.getAlias().get(i), i); 742 } 743 if (element.hasMinElement()) { 744 composeUnsignedInt(t, "ElementDefinition", "min", element.getMinElement(), -1); 745 } 746 if (element.hasMaxElement()) { 747 composeString(t, "ElementDefinition", "max", element.getMaxElement(), -1); 748 } 749 if (element.hasBase()) { 750 composeElementDefinitionBaseComponent(t, "ElementDefinition", "base", element.getBase(), -1); 751 } 752 if (element.hasContentReferenceElement()) { 753 composeUri(t, "ElementDefinition", "contentReference", element.getContentReferenceElement(), -1); 754 } 755 for (int i = 0; i < element.getType().size(); i++) { 756 composeElementDefinitionTypeRefComponent(t, "ElementDefinition", "type", element.getType().get(i), i); 757 } 758 if (element.hasDefaultValue()) { 759 composeType(t, "ElementDefinition", "defaultValue", element.getDefaultValue(), -1); 760 } 761 if (element.hasMeaningWhenMissingElement()) { 762 composeMarkdown(t, "ElementDefinition", "meaningWhenMissing", element.getMeaningWhenMissingElement(), -1); 763 } 764 if (element.hasOrderMeaningElement()) { 765 composeString(t, "ElementDefinition", "orderMeaning", element.getOrderMeaningElement(), -1); 766 } 767 if (element.hasFixed()) { 768 composeType(t, "ElementDefinition", "fixed", element.getFixed(), -1); 769 } 770 if (element.hasPattern()) { 771 composeType(t, "ElementDefinition", "pattern", element.getPattern(), -1); 772 } 773 for (int i = 0; i < element.getExample().size(); i++) { 774 composeElementDefinitionExampleComponent(t, "ElementDefinition", "example", element.getExample().get(i), i); 775 } 776 if (element.hasMinValue()) { 777 composeType(t, "ElementDefinition", "minValue", element.getMinValue(), -1); 778 } 779 if (element.hasMaxValue()) { 780 composeType(t, "ElementDefinition", "maxValue", element.getMaxValue(), -1); 781 } 782 if (element.hasMaxLengthElement()) { 783 composeInteger(t, "ElementDefinition", "maxLength", element.getMaxLengthElement(), -1); 784 } 785 for (int i = 0; i < element.getCondition().size(); i++) { 786 composeId(t, "ElementDefinition", "condition", element.getCondition().get(i), i); 787 } 788 for (int i = 0; i < element.getConstraint().size(); i++) { 789 composeElementDefinitionConstraintComponent(t, "ElementDefinition", "constraint", element.getConstraint().get(i), i); 790 } 791 if (element.hasMustSupportElement()) { 792 composeBoolean(t, "ElementDefinition", "mustSupport", element.getMustSupportElement(), -1); 793 } 794 if (element.hasIsModifierElement()) { 795 composeBoolean(t, "ElementDefinition", "isModifier", element.getIsModifierElement(), -1); 796 } 797 if (element.hasIsModifierReasonElement()) { 798 composeString(t, "ElementDefinition", "isModifierReason", element.getIsModifierReasonElement(), -1); 799 } 800 if (element.hasIsSummaryElement()) { 801 composeBoolean(t, "ElementDefinition", "isSummary", element.getIsSummaryElement(), -1); 802 } 803 if (element.hasBinding()) { 804 composeElementDefinitionBindingComponent(t, "ElementDefinition", "binding", element.getBinding(), -1); 805 } 806 for (int i = 0; i < element.getMapping().size(); i++) { 807 composeElementDefinitionMappingComponent(t, "ElementDefinition", "mapping", element.getMapping().get(i), i); 808 } 809 } 810 811 protected void composeElementDefinitionSlicingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingComponent element, int index) { 812 if (element == null) 813 return; 814 Complex t; 815 if (Utilities.noString(parentType)) 816 t = parent; 817 else { 818 t = parent.predicate("fhir:"+parentType+'.'+name); 819 } 820 composeElement(t, "slicing", name, element, index); 821 for (int i = 0; i < element.getDiscriminator().size(); i++) { 822 composeElementDefinitionSlicingDiscriminatorComponent(t, "ElementDefinitionSlicingComponent", "discriminator", element.getDiscriminator().get(i), i); 823 } 824 if (element.hasDescriptionElement()) { 825 composeString(t, "ElementDefinitionSlicingComponent", "description", element.getDescriptionElement(), -1); 826 } 827 if (element.hasOrderedElement()) { 828 composeBoolean(t, "ElementDefinitionSlicingComponent", "ordered", element.getOrderedElement(), -1); 829 } 830 if (element.hasRulesElement()) { 831 composeEnum(t, "ElementDefinitionSlicingComponent", "rules", element.getRulesElement(), -1); 832 } 833 } 834 835 protected void composeElementDefinitionSlicingDiscriminatorComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent element, int index) { 836 if (element == null) 837 return; 838 Complex t; 839 if (Utilities.noString(parentType)) 840 t = parent; 841 else { 842 t = parent.predicate("fhir:"+parentType+'.'+name); 843 } 844 composeElement(t, "discriminator", name, element, index); 845 if (element.hasTypeElement()) { 846 composeEnum(t, "ElementDefinitionSlicingDiscriminatorComponent", "type", element.getTypeElement(), -1); 847 } 848 if (element.hasPathElement()) { 849 composeString(t, "ElementDefinitionSlicingDiscriminatorComponent", "path", element.getPathElement(), -1); 850 } 851 } 852 853 protected void composeElementDefinitionBaseComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBaseComponent element, int index) { 854 if (element == null) 855 return; 856 Complex t; 857 if (Utilities.noString(parentType)) 858 t = parent; 859 else { 860 t = parent.predicate("fhir:"+parentType+'.'+name); 861 } 862 composeElement(t, "base", name, element, index); 863 if (element.hasPathElement()) { 864 composeString(t, "ElementDefinitionBaseComponent", "path", element.getPathElement(), -1); 865 } 866 if (element.hasMinElement()) { 867 composeUnsignedInt(t, "ElementDefinitionBaseComponent", "min", element.getMinElement(), -1); 868 } 869 if (element.hasMaxElement()) { 870 composeString(t, "ElementDefinitionBaseComponent", "max", element.getMaxElement(), -1); 871 } 872 } 873 874 protected void composeElementDefinitionTypeRefComponent(Complex parent, String parentType, String name, ElementDefinition.TypeRefComponent element, int index) { 875 if (element == null) 876 return; 877 Complex t; 878 if (Utilities.noString(parentType)) 879 t = parent; 880 else { 881 t = parent.predicate("fhir:"+parentType+'.'+name); 882 } 883 composeElement(t, "type", name, element, index); 884 if (element.hasCodeElement()) { 885 composeUri(t, "TypeRefComponent", "code", element.getCodeElement(), -1); 886 } 887 for (int i = 0; i < element.getProfile().size(); i++) { 888 composeCanonical(t, "TypeRefComponent", "profile", element.getProfile().get(i), i); 889 } 890 for (int i = 0; i < element.getTargetProfile().size(); i++) { 891 composeCanonical(t, "TypeRefComponent", "targetProfile", element.getTargetProfile().get(i), i); 892 } 893 for (int i = 0; i < element.getAggregation().size(); i++) { 894 composeEnum(t, "TypeRefComponent", "aggregation", element.getAggregation().get(i), i); 895 } 896 if (element.hasVersioningElement()) { 897 composeEnum(t, "TypeRefComponent", "versioning", element.getVersioningElement(), -1); 898 } 899 } 900 901 protected void composeElementDefinitionExampleComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionExampleComponent element, int index) { 902 if (element == null) 903 return; 904 Complex t; 905 if (Utilities.noString(parentType)) 906 t = parent; 907 else { 908 t = parent.predicate("fhir:"+parentType+'.'+name); 909 } 910 composeElement(t, "example", name, element, index); 911 if (element.hasLabelElement()) { 912 composeString(t, "ElementDefinitionExampleComponent", "label", element.getLabelElement(), -1); 913 } 914 if (element.hasValue()) { 915 composeType(t, "ElementDefinitionExampleComponent", "value", element.getValue(), -1); 916 } 917 } 918 919 protected void composeElementDefinitionConstraintComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionConstraintComponent element, int index) { 920 if (element == null) 921 return; 922 Complex t; 923 if (Utilities.noString(parentType)) 924 t = parent; 925 else { 926 t = parent.predicate("fhir:"+parentType+'.'+name); 927 } 928 composeElement(t, "constraint", name, element, index); 929 if (element.hasKeyElement()) { 930 composeId(t, "ElementDefinitionConstraintComponent", "key", element.getKeyElement(), -1); 931 } 932 if (element.hasRequirementsElement()) { 933 composeString(t, "ElementDefinitionConstraintComponent", "requirements", element.getRequirementsElement(), -1); 934 } 935 if (element.hasSeverityElement()) { 936 composeEnum(t, "ElementDefinitionConstraintComponent", "severity", element.getSeverityElement(), -1); 937 } 938 if (element.hasHumanElement()) { 939 composeString(t, "ElementDefinitionConstraintComponent", "human", element.getHumanElement(), -1); 940 } 941 if (element.hasExpressionElement()) { 942 composeString(t, "ElementDefinitionConstraintComponent", "expression", element.getExpressionElement(), -1); 943 } 944 if (element.hasXpathElement()) { 945 composeString(t, "ElementDefinitionConstraintComponent", "xpath", element.getXpathElement(), -1); 946 } 947 if (element.hasSourceElement()) { 948 composeCanonical(t, "ElementDefinitionConstraintComponent", "source", element.getSourceElement(), -1); 949 } 950 } 951 952 protected void composeElementDefinitionBindingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBindingComponent element, int index) { 953 if (element == null) 954 return; 955 Complex t; 956 if (Utilities.noString(parentType)) 957 t = parent; 958 else { 959 t = parent.predicate("fhir:"+parentType+'.'+name); 960 } 961 composeElement(t, "binding", name, element, index); 962 if (element.hasStrengthElement()) { 963 composeEnum(t, "ElementDefinitionBindingComponent", "strength", element.getStrengthElement(), -1); 964 } 965 if (element.hasDescriptionElement()) { 966 composeString(t, "ElementDefinitionBindingComponent", "description", element.getDescriptionElement(), -1); 967 } 968 if (element.hasValueSetElement()) { 969 composeCanonical(t, "ElementDefinitionBindingComponent", "valueSet", element.getValueSetElement(), -1); 970 } 971 } 972 973 protected void composeElementDefinitionMappingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionMappingComponent element, int index) { 974 if (element == null) 975 return; 976 Complex t; 977 if (Utilities.noString(parentType)) 978 t = parent; 979 else { 980 t = parent.predicate("fhir:"+parentType+'.'+name); 981 } 982 composeElement(t, "mapping", name, element, index); 983 if (element.hasIdentityElement()) { 984 composeId(t, "ElementDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 985 } 986 if (element.hasLanguageElement()) { 987 composeCode(t, "ElementDefinitionMappingComponent", "language", element.getLanguageElement(), -1); 988 } 989 if (element.hasMapElement()) { 990 composeString(t, "ElementDefinitionMappingComponent", "map", element.getMapElement(), -1); 991 } 992 if (element.hasCommentElement()) { 993 composeString(t, "ElementDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 994 } 995 } 996 997 protected void composeExpression(Complex parent, String parentType, String name, Expression element, int index) { 998 if (element == null) 999 return; 1000 Complex t; 1001 if (Utilities.noString(parentType)) 1002 t = parent; 1003 else { 1004 t = parent.predicate("fhir:"+parentType+'.'+name); 1005 } 1006 composeDataType(t, "Expression", name, element, index); 1007 if (element.hasDescriptionElement()) { 1008 composeString(t, "Expression", "description", element.getDescriptionElement(), -1); 1009 } 1010 if (element.hasNameElement()) { 1011 composeId(t, "Expression", "name", element.getNameElement(), -1); 1012 } 1013 if (element.hasLanguageElement()) { 1014 composeCode(t, "Expression", "language", element.getLanguageElement(), -1); 1015 } 1016 if (element.hasExpressionElement()) { 1017 composeString(t, "Expression", "expression", element.getExpressionElement(), -1); 1018 } 1019 if (element.hasReferenceElement()) { 1020 composeUri(t, "Expression", "reference", element.getReferenceElement(), -1); 1021 } 1022 } 1023 1024 protected void composeExtension(Complex parent, String parentType, String name, Extension element, int index) { 1025 if (element == null) 1026 return; 1027 Complex t; 1028 if (Utilities.noString(parentType)) 1029 t = parent; 1030 else { 1031 t = parent.predicate("fhir:"+parentType+'.'+name); 1032 } 1033 composeDataType(t, "Extension", name, element, index); 1034 if (element.hasUrlElement()) { 1035 composeUri(t, "Extension", "url", element.getUrlElement(), -1); 1036 } 1037 if (element.hasValue()) { 1038 composeType(t, "Extension", "value", element.getValue(), -1); 1039 } 1040 } 1041 1042 protected void composeHumanName(Complex parent, String parentType, String name, HumanName element, int index) { 1043 if (element == null) 1044 return; 1045 Complex t; 1046 if (Utilities.noString(parentType)) 1047 t = parent; 1048 else { 1049 t = parent.predicate("fhir:"+parentType+'.'+name); 1050 } 1051 composeDataType(t, "HumanName", name, element, index); 1052 if (element.hasUseElement()) { 1053 composeEnum(t, "HumanName", "use", element.getUseElement(), -1); 1054 } 1055 if (element.hasTextElement()) { 1056 composeString(t, "HumanName", "text", element.getTextElement(), -1); 1057 } 1058 if (element.hasFamilyElement()) { 1059 composeString(t, "HumanName", "family", element.getFamilyElement(), -1); 1060 } 1061 for (int i = 0; i < element.getGiven().size(); i++) { 1062 composeString(t, "HumanName", "given", element.getGiven().get(i), i); 1063 } 1064 for (int i = 0; i < element.getPrefix().size(); i++) { 1065 composeString(t, "HumanName", "prefix", element.getPrefix().get(i), i); 1066 } 1067 for (int i = 0; i < element.getSuffix().size(); i++) { 1068 composeString(t, "HumanName", "suffix", element.getSuffix().get(i), i); 1069 } 1070 if (element.hasPeriod()) { 1071 composePeriod(t, "HumanName", "period", element.getPeriod(), -1); 1072 } 1073 } 1074 1075 protected void composeIdentifier(Complex parent, String parentType, String name, Identifier element, int index) { 1076 if (element == null) 1077 return; 1078 Complex t; 1079 if (Utilities.noString(parentType)) 1080 t = parent; 1081 else { 1082 t = parent.predicate("fhir:"+parentType+'.'+name); 1083 } 1084 composeDataType(t, "Identifier", name, element, index); 1085 if (element.hasUseElement()) { 1086 composeEnum(t, "Identifier", "use", element.getUseElement(), -1); 1087 } 1088 if (element.hasType()) { 1089 composeCodeableConcept(t, "Identifier", "type", element.getType(), -1); 1090 } 1091 if (element.hasSystemElement()) { 1092 composeUri(t, "Identifier", "system", element.getSystemElement(), -1); 1093 } 1094 if (element.hasValueElement()) { 1095 composeString(t, "Identifier", "value", element.getValueElement(), -1); 1096 } 1097 if (element.hasPeriod()) { 1098 composePeriod(t, "Identifier", "period", element.getPeriod(), -1); 1099 } 1100 if (element.hasAssigner()) { 1101 composeReference(t, "Identifier", "assigner", element.getAssigner(), -1); 1102 } 1103 } 1104 1105 protected void composeMarketingStatus(Complex parent, String parentType, String name, MarketingStatus element, int index) { 1106 if (element == null) 1107 return; 1108 Complex t; 1109 if (Utilities.noString(parentType)) 1110 t = parent; 1111 else { 1112 t = parent.predicate("fhir:"+parentType+'.'+name); 1113 } 1114 composeDataType(t, "MarketingStatus", name, element, index); 1115 if (element.hasCountry()) { 1116 composeCodeableConcept(t, "MarketingStatus", "country", element.getCountry(), -1); 1117 } 1118 if (element.hasJurisdiction()) { 1119 composeCodeableConcept(t, "MarketingStatus", "jurisdiction", element.getJurisdiction(), -1); 1120 } 1121 if (element.hasStatus()) { 1122 composeCodeableConcept(t, "MarketingStatus", "status", element.getStatus(), -1); 1123 } 1124 if (element.hasDateRange()) { 1125 composePeriod(t, "MarketingStatus", "dateRange", element.getDateRange(), -1); 1126 } 1127 if (element.hasRestoreDateElement()) { 1128 composeDateTime(t, "MarketingStatus", "restoreDate", element.getRestoreDateElement(), -1); 1129 } 1130 } 1131 1132 protected void composeMeta(Complex parent, String parentType, String name, Meta element, int index) { 1133 if (element == null) 1134 return; 1135 Complex t; 1136 if (Utilities.noString(parentType)) 1137 t = parent; 1138 else { 1139 t = parent.predicate("fhir:"+parentType+'.'+name); 1140 } 1141 composeDataType(t, "Meta", name, element, index); 1142 if (element.hasVersionIdElement()) { 1143 composeId(t, "Meta", "versionId", element.getVersionIdElement(), -1); 1144 } 1145 if (element.hasLastUpdatedElement()) { 1146 composeInstant(t, "Meta", "lastUpdated", element.getLastUpdatedElement(), -1); 1147 } 1148 if (element.hasSourceElement()) { 1149 composeUri(t, "Meta", "source", element.getSourceElement(), -1); 1150 } 1151 for (int i = 0; i < element.getProfile().size(); i++) { 1152 composeCanonical(t, "Meta", "profile", element.getProfile().get(i), i); 1153 } 1154 for (int i = 0; i < element.getSecurity().size(); i++) { 1155 composeCoding(t, "Meta", "security", element.getSecurity().get(i), i); 1156 } 1157 for (int i = 0; i < element.getTag().size(); i++) { 1158 composeCoding(t, "Meta", "tag", element.getTag().get(i), i); 1159 } 1160 } 1161 1162 protected void composeMoney(Complex parent, String parentType, String name, Money element, int index) { 1163 if (element == null) 1164 return; 1165 Complex t; 1166 if (Utilities.noString(parentType)) 1167 t = parent; 1168 else { 1169 t = parent.predicate("fhir:"+parentType+'.'+name); 1170 } 1171 composeDataType(t, "Money", name, element, index); 1172 if (element.hasValueElement()) { 1173 composeDecimal(t, "Money", "value", element.getValueElement(), -1); 1174 } 1175 if (element.hasCurrencyElement()) { 1176 composeCode(t, "Money", "currency", element.getCurrencyElement(), -1); 1177 } 1178 } 1179 1180 protected void composeNarrative(Complex parent, String parentType, String name, Narrative element, int index) { 1181 if (element == null) 1182 return; 1183 Complex t; 1184 if (Utilities.noString(parentType)) 1185 t = parent; 1186 else { 1187 t = parent.predicate("fhir:"+parentType+'.'+name); 1188 } 1189 composeDataType(t, "Narrative", name, element, index); 1190 if (element.hasStatusElement()) { 1191 composeEnum(t, "Narrative", "status", element.getStatusElement(), -1); 1192 } 1193 if (element.hasDiv()) { 1194 composeXhtmlNode(t, "Narrative", "div", element.getDiv(), -1); 1195 } 1196 } 1197 1198 protected void composeParameterDefinition(Complex parent, String parentType, String name, ParameterDefinition element, int index) { 1199 if (element == null) 1200 return; 1201 Complex t; 1202 if (Utilities.noString(parentType)) 1203 t = parent; 1204 else { 1205 t = parent.predicate("fhir:"+parentType+'.'+name); 1206 } 1207 composeDataType(t, "ParameterDefinition", name, element, index); 1208 if (element.hasNameElement()) { 1209 composeCode(t, "ParameterDefinition", "name", element.getNameElement(), -1); 1210 } 1211 if (element.hasUseElement()) { 1212 composeEnum(t, "ParameterDefinition", "use", element.getUseElement(), -1); 1213 } 1214 if (element.hasMinElement()) { 1215 composeInteger(t, "ParameterDefinition", "min", element.getMinElement(), -1); 1216 } 1217 if (element.hasMaxElement()) { 1218 composeString(t, "ParameterDefinition", "max", element.getMaxElement(), -1); 1219 } 1220 if (element.hasDocumentationElement()) { 1221 composeString(t, "ParameterDefinition", "documentation", element.getDocumentationElement(), -1); 1222 } 1223 if (element.hasTypeElement()) { 1224 composeEnum(t, "ParameterDefinition", "type", element.getTypeElement(), -1); 1225 } 1226 if (element.hasProfileElement()) { 1227 composeCanonical(t, "ParameterDefinition", "profile", element.getProfileElement(), -1); 1228 } 1229 } 1230 1231 protected void composePeriod(Complex parent, String parentType, String name, Period element, int index) { 1232 if (element == null) 1233 return; 1234 Complex t; 1235 if (Utilities.noString(parentType)) 1236 t = parent; 1237 else { 1238 t = parent.predicate("fhir:"+parentType+'.'+name); 1239 } 1240 composeDataType(t, "Period", name, element, index); 1241 if (element.hasStartElement()) { 1242 composeDateTime(t, "Period", "start", element.getStartElement(), -1); 1243 } 1244 if (element.hasEndElement()) { 1245 composeDateTime(t, "Period", "end", element.getEndElement(), -1); 1246 } 1247 } 1248 1249 protected void composePopulation(Complex parent, String parentType, String name, Population element, int index) { 1250 if (element == null) 1251 return; 1252 Complex t; 1253 if (Utilities.noString(parentType)) 1254 t = parent; 1255 else { 1256 t = parent.predicate("fhir:"+parentType+'.'+name); 1257 } 1258 composeDataType(t, "Population", name, element, index); 1259 if (element.hasAge()) { 1260 composeType(t, "Population", "age", element.getAge(), -1); 1261 } 1262 if (element.hasGender()) { 1263 composeCodeableConcept(t, "Population", "gender", element.getGender(), -1); 1264 } 1265 if (element.hasRace()) { 1266 composeCodeableConcept(t, "Population", "race", element.getRace(), -1); 1267 } 1268 if (element.hasPhysiologicalCondition()) { 1269 composeCodeableConcept(t, "Population", "physiologicalCondition", element.getPhysiologicalCondition(), -1); 1270 } 1271 } 1272 1273 protected void composeProdCharacteristic(Complex parent, String parentType, String name, ProdCharacteristic element, int index) { 1274 if (element == null) 1275 return; 1276 Complex t; 1277 if (Utilities.noString(parentType)) 1278 t = parent; 1279 else { 1280 t = parent.predicate("fhir:"+parentType+'.'+name); 1281 } 1282 composeDataType(t, "ProdCharacteristic", name, element, index); 1283 if (element.hasHeight()) { 1284 composeQuantity(t, "ProdCharacteristic", "height", element.getHeight(), -1); 1285 } 1286 if (element.hasWidth()) { 1287 composeQuantity(t, "ProdCharacteristic", "width", element.getWidth(), -1); 1288 } 1289 if (element.hasDepth()) { 1290 composeQuantity(t, "ProdCharacteristic", "depth", element.getDepth(), -1); 1291 } 1292 if (element.hasWeight()) { 1293 composeQuantity(t, "ProdCharacteristic", "weight", element.getWeight(), -1); 1294 } 1295 if (element.hasNominalVolume()) { 1296 composeQuantity(t, "ProdCharacteristic", "nominalVolume", element.getNominalVolume(), -1); 1297 } 1298 if (element.hasExternalDiameter()) { 1299 composeQuantity(t, "ProdCharacteristic", "externalDiameter", element.getExternalDiameter(), -1); 1300 } 1301 if (element.hasShapeElement()) { 1302 composeString(t, "ProdCharacteristic", "shape", element.getShapeElement(), -1); 1303 } 1304 for (int i = 0; i < element.getColor().size(); i++) { 1305 composeString(t, "ProdCharacteristic", "color", element.getColor().get(i), i); 1306 } 1307 for (int i = 0; i < element.getImprint().size(); i++) { 1308 composeString(t, "ProdCharacteristic", "imprint", element.getImprint().get(i), i); 1309 } 1310 for (int i = 0; i < element.getImage().size(); i++) { 1311 composeAttachment(t, "ProdCharacteristic", "image", element.getImage().get(i), i); 1312 } 1313 if (element.hasScoring()) { 1314 composeCodeableConcept(t, "ProdCharacteristic", "scoring", element.getScoring(), -1); 1315 } 1316 } 1317 1318 protected void composeProductShelfLife(Complex parent, String parentType, String name, ProductShelfLife element, int index) { 1319 if (element == null) 1320 return; 1321 Complex t; 1322 if (Utilities.noString(parentType)) 1323 t = parent; 1324 else { 1325 t = parent.predicate("fhir:"+parentType+'.'+name); 1326 } 1327 composeDataType(t, "ProductShelfLife", name, element, index); 1328 if (element.hasType()) { 1329 composeCodeableConcept(t, "ProductShelfLife", "type", element.getType(), -1); 1330 } 1331 if (element.hasPeriod()) { 1332 composeType(t, "ProductShelfLife", "period", element.getPeriod(), -1); 1333 } 1334 for (int i = 0; i < element.getSpecialPrecautionsForStorage().size(); i++) { 1335 composeCodeableConcept(t, "ProductShelfLife", "specialPrecautionsForStorage", element.getSpecialPrecautionsForStorage().get(i), i); 1336 } 1337 } 1338 1339 protected void composeQuantity(Complex parent, String parentType, String name, Quantity element, int index) { 1340 if (element == null) 1341 return; 1342 Complex t; 1343 if (Utilities.noString(parentType)) 1344 t = parent; 1345 else { 1346 t = parent.predicate("fhir:"+parentType+'.'+name); 1347 } 1348 composeDataType(t, "Quantity", name, element, index); 1349 if (element.hasValueElement()) { 1350 composeDecimal(t, "Quantity", "value", element.getValueElement(), -1); 1351 } 1352 if (element.hasComparatorElement()) { 1353 composeEnum(t, "Quantity", "comparator", element.getComparatorElement(), -1); 1354 } 1355 if (element.hasUnitElement()) { 1356 composeString(t, "Quantity", "unit", element.getUnitElement(), -1); 1357 } 1358 if (element.hasSystemElement()) { 1359 composeUri(t, "Quantity", "system", element.getSystemElement(), -1); 1360 } 1361 if (element.hasCodeElement()) { 1362 composeCode(t, "Quantity", "code", element.getCodeElement(), -1); 1363 } 1364 } 1365 1366 protected void composeRange(Complex parent, String parentType, String name, Range element, int index) { 1367 if (element == null) 1368 return; 1369 Complex t; 1370 if (Utilities.noString(parentType)) 1371 t = parent; 1372 else { 1373 t = parent.predicate("fhir:"+parentType+'.'+name); 1374 } 1375 composeDataType(t, "Range", name, element, index); 1376 if (element.hasLow()) { 1377 composeQuantity(t, "Range", "low", element.getLow(), -1); 1378 } 1379 if (element.hasHigh()) { 1380 composeQuantity(t, "Range", "high", element.getHigh(), -1); 1381 } 1382 } 1383 1384 protected void composeRatio(Complex parent, String parentType, String name, Ratio element, int index) { 1385 if (element == null) 1386 return; 1387 Complex t; 1388 if (Utilities.noString(parentType)) 1389 t = parent; 1390 else { 1391 t = parent.predicate("fhir:"+parentType+'.'+name); 1392 } 1393 composeDataType(t, "Ratio", name, element, index); 1394 if (element.hasNumerator()) { 1395 composeQuantity(t, "Ratio", "numerator", element.getNumerator(), -1); 1396 } 1397 if (element.hasDenominator()) { 1398 composeQuantity(t, "Ratio", "denominator", element.getDenominator(), -1); 1399 } 1400 } 1401 1402 protected void composeRatioRange(Complex parent, String parentType, String name, RatioRange element, int index) { 1403 if (element == null) 1404 return; 1405 Complex t; 1406 if (Utilities.noString(parentType)) 1407 t = parent; 1408 else { 1409 t = parent.predicate("fhir:"+parentType+'.'+name); 1410 } 1411 composeDataType(t, "RatioRange", name, element, index); 1412 if (element.hasLowNumerator()) { 1413 composeQuantity(t, "RatioRange", "lowNumerator", element.getLowNumerator(), -1); 1414 } 1415 if (element.hasHighNumerator()) { 1416 composeQuantity(t, "RatioRange", "highNumerator", element.getHighNumerator(), -1); 1417 } 1418 if (element.hasDenominator()) { 1419 composeQuantity(t, "RatioRange", "denominator", element.getDenominator(), -1); 1420 } 1421 } 1422 1423 protected void composeReference(Complex parent, String parentType, String name, Reference element, int index) { 1424 if (element == null) 1425 return; 1426 Complex t; 1427 if (Utilities.noString(parentType)) 1428 t = parent; 1429 else { 1430 t = parent.predicate("fhir:"+parentType+'.'+name); 1431 } 1432 composeDataType(t, "Reference", name, element, index); 1433 if (element.hasReferenceElement()) { 1434 composeString(t, "Reference", "reference", element.getReferenceElement_(), -1); 1435 } 1436 if (element.hasTypeElement()) { 1437 composeUri(t, "Reference", "type", element.getTypeElement(), -1); 1438 } 1439 if (element.hasIdentifier()) { 1440 composeIdentifier(t, "Reference", "identifier", element.getIdentifier(), -1); 1441 } 1442 if (element.hasDisplayElement()) { 1443 composeString(t, "Reference", "display", element.getDisplayElement(), -1); 1444 } 1445 } 1446 1447 protected void composeRelatedArtifact(Complex parent, String parentType, String name, RelatedArtifact element, int index) { 1448 if (element == null) 1449 return; 1450 Complex t; 1451 if (Utilities.noString(parentType)) 1452 t = parent; 1453 else { 1454 t = parent.predicate("fhir:"+parentType+'.'+name); 1455 } 1456 composeDataType(t, "RelatedArtifact", name, element, index); 1457 if (element.hasTypeElement()) { 1458 composeEnum(t, "RelatedArtifact", "type", element.getTypeElement(), -1); 1459 } 1460 if (element.hasLabelElement()) { 1461 composeString(t, "RelatedArtifact", "label", element.getLabelElement(), -1); 1462 } 1463 if (element.hasDisplayElement()) { 1464 composeString(t, "RelatedArtifact", "display", element.getDisplayElement(), -1); 1465 } 1466 if (element.hasCitationElement()) { 1467 composeMarkdown(t, "RelatedArtifact", "citation", element.getCitationElement(), -1); 1468 } 1469 if (element.hasUrlElement()) { 1470 composeUrl(t, "RelatedArtifact", "url", element.getUrlElement(), -1); 1471 } 1472 if (element.hasDocument()) { 1473 composeAttachment(t, "RelatedArtifact", "document", element.getDocument(), -1); 1474 } 1475 if (element.hasResourceElement()) { 1476 composeCanonical(t, "RelatedArtifact", "resource", element.getResourceElement(), -1); 1477 } 1478 } 1479 1480 protected void composeSampledData(Complex parent, String parentType, String name, SampledData element, int index) { 1481 if (element == null) 1482 return; 1483 Complex t; 1484 if (Utilities.noString(parentType)) 1485 t = parent; 1486 else { 1487 t = parent.predicate("fhir:"+parentType+'.'+name); 1488 } 1489 composeDataType(t, "SampledData", name, element, index); 1490 if (element.hasOrigin()) { 1491 composeQuantity(t, "SampledData", "origin", element.getOrigin(), -1); 1492 } 1493 if (element.hasPeriodElement()) { 1494 composeDecimal(t, "SampledData", "period", element.getPeriodElement(), -1); 1495 } 1496 if (element.hasFactorElement()) { 1497 composeDecimal(t, "SampledData", "factor", element.getFactorElement(), -1); 1498 } 1499 if (element.hasLowerLimitElement()) { 1500 composeDecimal(t, "SampledData", "lowerLimit", element.getLowerLimitElement(), -1); 1501 } 1502 if (element.hasUpperLimitElement()) { 1503 composeDecimal(t, "SampledData", "upperLimit", element.getUpperLimitElement(), -1); 1504 } 1505 if (element.hasDimensionsElement()) { 1506 composePositiveInt(t, "SampledData", "dimensions", element.getDimensionsElement(), -1); 1507 } 1508 if (element.hasDataElement()) { 1509 composeString(t, "SampledData", "data", element.getDataElement(), -1); 1510 } 1511 } 1512 1513 protected void composeSignature(Complex parent, String parentType, String name, Signature element, int index) { 1514 if (element == null) 1515 return; 1516 Complex t; 1517 if (Utilities.noString(parentType)) 1518 t = parent; 1519 else { 1520 t = parent.predicate("fhir:"+parentType+'.'+name); 1521 } 1522 composeDataType(t, "Signature", name, element, index); 1523 for (int i = 0; i < element.getType().size(); i++) { 1524 composeCoding(t, "Signature", "type", element.getType().get(i), i); 1525 } 1526 if (element.hasWhenElement()) { 1527 composeInstant(t, "Signature", "when", element.getWhenElement(), -1); 1528 } 1529 if (element.hasWho()) { 1530 composeReference(t, "Signature", "who", element.getWho(), -1); 1531 } 1532 if (element.hasOnBehalfOf()) { 1533 composeReference(t, "Signature", "onBehalfOf", element.getOnBehalfOf(), -1); 1534 } 1535 if (element.hasTargetFormatElement()) { 1536 composeCode(t, "Signature", "targetFormat", element.getTargetFormatElement(), -1); 1537 } 1538 if (element.hasSigFormatElement()) { 1539 composeCode(t, "Signature", "sigFormat", element.getSigFormatElement(), -1); 1540 } 1541 if (element.hasDataElement()) { 1542 composeBase64Binary(t, "Signature", "data", element.getDataElement(), -1); 1543 } 1544 } 1545 1546 protected void composeTiming(Complex parent, String parentType, String name, Timing element, int index) { 1547 if (element == null) 1548 return; 1549 Complex t; 1550 if (Utilities.noString(parentType)) 1551 t = parent; 1552 else { 1553 t = parent.predicate("fhir:"+parentType+'.'+name); 1554 } 1555 composeDataType(t, "Timing", name, element, index); 1556 for (int i = 0; i < element.getEvent().size(); i++) { 1557 composeDateTime(t, "Timing", "event", element.getEvent().get(i), i); 1558 } 1559 if (element.hasRepeat()) { 1560 composeTimingRepeatComponent(t, "Timing", "repeat", element.getRepeat(), -1); 1561 } 1562 if (element.hasCode()) { 1563 composeCodeableConcept(t, "Timing", "code", element.getCode(), -1); 1564 } 1565 } 1566 1567 protected void composeTimingRepeatComponent(Complex parent, String parentType, String name, Timing.TimingRepeatComponent element, int index) { 1568 if (element == null) 1569 return; 1570 Complex t; 1571 if (Utilities.noString(parentType)) 1572 t = parent; 1573 else { 1574 t = parent.predicate("fhir:"+parentType+'.'+name); 1575 } 1576 composeElement(t, "repeat", name, element, index); 1577 if (element.hasBounds()) { 1578 composeType(t, "TimingRepeatComponent", "bounds", element.getBounds(), -1); 1579 } 1580 if (element.hasCountElement()) { 1581 composePositiveInt(t, "TimingRepeatComponent", "count", element.getCountElement(), -1); 1582 } 1583 if (element.hasCountMaxElement()) { 1584 composePositiveInt(t, "TimingRepeatComponent", "countMax", element.getCountMaxElement(), -1); 1585 } 1586 if (element.hasDurationElement()) { 1587 composeDecimal(t, "TimingRepeatComponent", "duration", element.getDurationElement(), -1); 1588 } 1589 if (element.hasDurationMaxElement()) { 1590 composeDecimal(t, "TimingRepeatComponent", "durationMax", element.getDurationMaxElement(), -1); 1591 } 1592 if (element.hasDurationUnitElement()) { 1593 composeEnum(t, "TimingRepeatComponent", "durationUnit", element.getDurationUnitElement(), -1); 1594 } 1595 if (element.hasFrequencyElement()) { 1596 composePositiveInt(t, "TimingRepeatComponent", "frequency", element.getFrequencyElement(), -1); 1597 } 1598 if (element.hasFrequencyMaxElement()) { 1599 composePositiveInt(t, "TimingRepeatComponent", "frequencyMax", element.getFrequencyMaxElement(), -1); 1600 } 1601 if (element.hasPeriodElement()) { 1602 composeDecimal(t, "TimingRepeatComponent", "period", element.getPeriodElement(), -1); 1603 } 1604 if (element.hasPeriodMaxElement()) { 1605 composeDecimal(t, "TimingRepeatComponent", "periodMax", element.getPeriodMaxElement(), -1); 1606 } 1607 if (element.hasPeriodUnitElement()) { 1608 composeEnum(t, "TimingRepeatComponent", "periodUnit", element.getPeriodUnitElement(), -1); 1609 } 1610 for (int i = 0; i < element.getDayOfWeek().size(); i++) { 1611 composeEnum(t, "TimingRepeatComponent", "dayOfWeek", element.getDayOfWeek().get(i), i); 1612 } 1613 for (int i = 0; i < element.getTimeOfDay().size(); i++) { 1614 composeTime(t, "TimingRepeatComponent", "timeOfDay", element.getTimeOfDay().get(i), i); 1615 } 1616 for (int i = 0; i < element.getWhen().size(); i++) { 1617 composeEnum(t, "TimingRepeatComponent", "when", element.getWhen().get(i), i); 1618 } 1619 if (element.hasOffsetElement()) { 1620 composeUnsignedInt(t, "TimingRepeatComponent", "offset", element.getOffsetElement(), -1); 1621 } 1622 } 1623 1624 protected void composeTriggerDefinition(Complex parent, String parentType, String name, TriggerDefinition element, int index) { 1625 if (element == null) 1626 return; 1627 Complex t; 1628 if (Utilities.noString(parentType)) 1629 t = parent; 1630 else { 1631 t = parent.predicate("fhir:"+parentType+'.'+name); 1632 } 1633 composeDataType(t, "TriggerDefinition", name, element, index); 1634 if (element.hasTypeElement()) { 1635 composeEnum(t, "TriggerDefinition", "type", element.getTypeElement(), -1); 1636 } 1637 if (element.hasNameElement()) { 1638 composeString(t, "TriggerDefinition", "name", element.getNameElement(), -1); 1639 } 1640 if (element.hasTiming()) { 1641 composeType(t, "TriggerDefinition", "timing", element.getTiming(), -1); 1642 } 1643 for (int i = 0; i < element.getData().size(); i++) { 1644 composeDataRequirement(t, "TriggerDefinition", "data", element.getData().get(i), i); 1645 } 1646 if (element.hasCondition()) { 1647 composeExpression(t, "TriggerDefinition", "condition", element.getCondition(), -1); 1648 } 1649 } 1650 1651 protected void composeUsageContext(Complex parent, String parentType, String name, UsageContext element, int index) { 1652 if (element == null) 1653 return; 1654 Complex t; 1655 if (Utilities.noString(parentType)) 1656 t = parent; 1657 else { 1658 t = parent.predicate("fhir:"+parentType+'.'+name); 1659 } 1660 composeDataType(t, "UsageContext", name, element, index); 1661 if (element.hasCode()) { 1662 composeCoding(t, "UsageContext", "code", element.getCode(), -1); 1663 } 1664 if (element.hasValue()) { 1665 composeType(t, "UsageContext", "value", element.getValue(), -1); 1666 } 1667 } 1668 1669 protected void composeResource(Complex t, String parentType, String name, Resource element, int index) { 1670 if (element.hasIdElement()) { 1671 composeId(t, "Resource", "id", element.getIdElement(), -1); 1672 } 1673 if (element.hasMeta()) { 1674 composeMeta(t, "Resource", "meta", element.getMeta(), -1); 1675 } 1676 if (element.hasImplicitRulesElement()) { 1677 composeUri(t, "Resource", "implicitRules", element.getImplicitRulesElement(), -1); 1678 } 1679 if (element.hasLanguageElement()) { 1680 composeCode(t, "Resource", "language", element.getLanguageElement(), -1); 1681 } 1682 } 1683 1684 protected void composeDomainResource(Complex t, String parentType, String name, DomainResource element, int index) { 1685 composeResource(t, parentType, name, element, index); 1686 if (element.hasText()) { 1687 composeNarrative(t, "DomainResource", "text", element.getText(), -1); 1688 } 1689 for (int i = 0; i < element.getContained().size(); i++) { 1690 composeResource(t, "DomainResource", "contained", element.getContained().get(i), i); 1691 } 1692 for (int i = 0; i < element.getExtension().size(); i++) { 1693 composeExtension(t, "DomainResource", "extension", element.getExtension().get(i), i); 1694 } 1695 for (int i = 0; i < element.getModifierExtension().size(); i++) { 1696 composeExtension(t, "DomainResource", "modifierExtension", element.getModifierExtension().get(i), i); 1697 } 1698 } 1699 1700 protected void composeAccount(Complex parent, String parentType, String name, Account element, int index) { 1701 if (element == null) 1702 return; 1703 Complex t; 1704 if (Utilities.noString(parentType)) 1705 t = parent; 1706 else { 1707 t = parent.predicate("fhir:"+parentType+'.'+name); 1708 } 1709 composeDomainResource(t, "Account", name, element, index); 1710 for (int i = 0; i < element.getIdentifier().size(); i++) { 1711 composeIdentifier(t, "Account", "identifier", element.getIdentifier().get(i), i); 1712 } 1713 if (element.hasStatusElement()) { 1714 composeEnum(t, "Account", "status", element.getStatusElement(), -1); 1715 } 1716 if (element.hasType()) { 1717 composeCodeableConcept(t, "Account", "type", element.getType(), -1); 1718 } 1719 if (element.hasNameElement()) { 1720 composeString(t, "Account", "name", element.getNameElement(), -1); 1721 } 1722 for (int i = 0; i < element.getSubject().size(); i++) { 1723 composeReference(t, "Account", "subject", element.getSubject().get(i), i); 1724 } 1725 if (element.hasServicePeriod()) { 1726 composePeriod(t, "Account", "servicePeriod", element.getServicePeriod(), -1); 1727 } 1728 for (int i = 0; i < element.getCoverage().size(); i++) { 1729 composeAccountCoverageComponent(t, "Account", "coverage", element.getCoverage().get(i), i); 1730 } 1731 if (element.hasOwner()) { 1732 composeReference(t, "Account", "owner", element.getOwner(), -1); 1733 } 1734 if (element.hasDescriptionElement()) { 1735 composeString(t, "Account", "description", element.getDescriptionElement(), -1); 1736 } 1737 for (int i = 0; i < element.getGuarantor().size(); i++) { 1738 composeAccountGuarantorComponent(t, "Account", "guarantor", element.getGuarantor().get(i), i); 1739 } 1740 if (element.hasPartOf()) { 1741 composeReference(t, "Account", "partOf", element.getPartOf(), -1); 1742 } 1743 } 1744 1745 protected void composeAccountCoverageComponent(Complex parent, String parentType, String name, Account.CoverageComponent element, int index) { 1746 if (element == null) 1747 return; 1748 Complex t; 1749 if (Utilities.noString(parentType)) 1750 t = parent; 1751 else { 1752 t = parent.predicate("fhir:"+parentType+'.'+name); 1753 } 1754 composeBackboneElement(t, "coverage", name, element, index); 1755 if (element.hasCoverage()) { 1756 composeReference(t, "CoverageComponent", "coverage", element.getCoverage(), -1); 1757 } 1758 if (element.hasPriorityElement()) { 1759 composePositiveInt(t, "CoverageComponent", "priority", element.getPriorityElement(), -1); 1760 } 1761 } 1762 1763 protected void composeAccountGuarantorComponent(Complex parent, String parentType, String name, Account.GuarantorComponent element, int index) { 1764 if (element == null) 1765 return; 1766 Complex t; 1767 if (Utilities.noString(parentType)) 1768 t = parent; 1769 else { 1770 t = parent.predicate("fhir:"+parentType+'.'+name); 1771 } 1772 composeBackboneElement(t, "guarantor", name, element, index); 1773 if (element.hasParty()) { 1774 composeReference(t, "GuarantorComponent", "party", element.getParty(), -1); 1775 } 1776 if (element.hasOnHoldElement()) { 1777 composeBoolean(t, "GuarantorComponent", "onHold", element.getOnHoldElement(), -1); 1778 } 1779 if (element.hasPeriod()) { 1780 composePeriod(t, "GuarantorComponent", "period", element.getPeriod(), -1); 1781 } 1782 } 1783 1784 protected void composeActivityDefinition(Complex parent, String parentType, String name, ActivityDefinition element, int index) { 1785 if (element == null) 1786 return; 1787 Complex t; 1788 if (Utilities.noString(parentType)) 1789 t = parent; 1790 else { 1791 t = parent.predicate("fhir:"+parentType+'.'+name); 1792 } 1793 composeDomainResource(t, "ActivityDefinition", name, element, index); 1794 if (element.hasUrlElement()) { 1795 composeUri(t, "ActivityDefinition", "url", element.getUrlElement(), -1); 1796 } 1797 for (int i = 0; i < element.getIdentifier().size(); i++) { 1798 composeIdentifier(t, "ActivityDefinition", "identifier", element.getIdentifier().get(i), i); 1799 } 1800 if (element.hasVersionElement()) { 1801 composeString(t, "ActivityDefinition", "version", element.getVersionElement(), -1); 1802 } 1803 if (element.hasNameElement()) { 1804 composeString(t, "ActivityDefinition", "name", element.getNameElement(), -1); 1805 } 1806 if (element.hasTitleElement()) { 1807 composeString(t, "ActivityDefinition", "title", element.getTitleElement(), -1); 1808 } 1809 if (element.hasSubtitleElement()) { 1810 composeString(t, "ActivityDefinition", "subtitle", element.getSubtitleElement(), -1); 1811 } 1812 if (element.hasStatusElement()) { 1813 composeEnum(t, "ActivityDefinition", "status", element.getStatusElement(), -1); 1814 } 1815 if (element.hasExperimentalElement()) { 1816 composeBoolean(t, "ActivityDefinition", "experimental", element.getExperimentalElement(), -1); 1817 } 1818 if (element.hasSubject()) { 1819 composeType(t, "ActivityDefinition", "subject", element.getSubject(), -1); 1820 } 1821 if (element.hasDateElement()) { 1822 composeDateTime(t, "ActivityDefinition", "date", element.getDateElement(), -1); 1823 } 1824 if (element.hasPublisherElement()) { 1825 composeString(t, "ActivityDefinition", "publisher", element.getPublisherElement(), -1); 1826 } 1827 for (int i = 0; i < element.getContact().size(); i++) { 1828 composeContactDetail(t, "ActivityDefinition", "contact", element.getContact().get(i), i); 1829 } 1830 if (element.hasDescriptionElement()) { 1831 composeMarkdown(t, "ActivityDefinition", "description", element.getDescriptionElement(), -1); 1832 } 1833 for (int i = 0; i < element.getUseContext().size(); i++) { 1834 composeUsageContext(t, "ActivityDefinition", "useContext", element.getUseContext().get(i), i); 1835 } 1836 for (int i = 0; i < element.getJurisdiction().size(); i++) { 1837 composeCodeableConcept(t, "ActivityDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 1838 } 1839 if (element.hasPurposeElement()) { 1840 composeMarkdown(t, "ActivityDefinition", "purpose", element.getPurposeElement(), -1); 1841 } 1842 if (element.hasUsageElement()) { 1843 composeString(t, "ActivityDefinition", "usage", element.getUsageElement(), -1); 1844 } 1845 if (element.hasCopyrightElement()) { 1846 composeMarkdown(t, "ActivityDefinition", "copyright", element.getCopyrightElement(), -1); 1847 } 1848 if (element.hasApprovalDateElement()) { 1849 composeDate(t, "ActivityDefinition", "approvalDate", element.getApprovalDateElement(), -1); 1850 } 1851 if (element.hasLastReviewDateElement()) { 1852 composeDate(t, "ActivityDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 1853 } 1854 if (element.hasEffectivePeriod()) { 1855 composePeriod(t, "ActivityDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 1856 } 1857 for (int i = 0; i < element.getTopic().size(); i++) { 1858 composeCodeableConcept(t, "ActivityDefinition", "topic", element.getTopic().get(i), i); 1859 } 1860 for (int i = 0; i < element.getAuthor().size(); i++) { 1861 composeContactDetail(t, "ActivityDefinition", "author", element.getAuthor().get(i), i); 1862 } 1863 for (int i = 0; i < element.getEditor().size(); i++) { 1864 composeContactDetail(t, "ActivityDefinition", "editor", element.getEditor().get(i), i); 1865 } 1866 for (int i = 0; i < element.getReviewer().size(); i++) { 1867 composeContactDetail(t, "ActivityDefinition", "reviewer", element.getReviewer().get(i), i); 1868 } 1869 for (int i = 0; i < element.getEndorser().size(); i++) { 1870 composeContactDetail(t, "ActivityDefinition", "endorser", element.getEndorser().get(i), i); 1871 } 1872 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 1873 composeRelatedArtifact(t, "ActivityDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 1874 } 1875 for (int i = 0; i < element.getLibrary().size(); i++) { 1876 composeCanonical(t, "ActivityDefinition", "library", element.getLibrary().get(i), i); 1877 } 1878 if (element.hasKindElement()) { 1879 composeEnum(t, "ActivityDefinition", "kind", element.getKindElement(), -1); 1880 } 1881 if (element.hasProfileElement()) { 1882 composeCanonical(t, "ActivityDefinition", "profile", element.getProfileElement(), -1); 1883 } 1884 if (element.hasCode()) { 1885 composeCodeableConcept(t, "ActivityDefinition", "code", element.getCode(), -1); 1886 } 1887 if (element.hasIntentElement()) { 1888 composeEnum(t, "ActivityDefinition", "intent", element.getIntentElement(), -1); 1889 } 1890 if (element.hasPriorityElement()) { 1891 composeEnum(t, "ActivityDefinition", "priority", element.getPriorityElement(), -1); 1892 } 1893 if (element.hasDoNotPerformElement()) { 1894 composeBoolean(t, "ActivityDefinition", "doNotPerform", element.getDoNotPerformElement(), -1); 1895 } 1896 if (element.hasTiming()) { 1897 composeType(t, "ActivityDefinition", "timing", element.getTiming(), -1); 1898 } 1899 if (element.hasLocation()) { 1900 composeReference(t, "ActivityDefinition", "location", element.getLocation(), -1); 1901 } 1902 for (int i = 0; i < element.getParticipant().size(); i++) { 1903 composeActivityDefinitionParticipantComponent(t, "ActivityDefinition", "participant", element.getParticipant().get(i), i); 1904 } 1905 if (element.hasProduct()) { 1906 composeType(t, "ActivityDefinition", "product", element.getProduct(), -1); 1907 } 1908 if (element.hasQuantity()) { 1909 composeQuantity(t, "ActivityDefinition", "quantity", element.getQuantity(), -1); 1910 } 1911 for (int i = 0; i < element.getDosage().size(); i++) { 1912 composeDosage(t, "ActivityDefinition", "dosage", element.getDosage().get(i), i); 1913 } 1914 for (int i = 0; i < element.getBodySite().size(); i++) { 1915 composeCodeableConcept(t, "ActivityDefinition", "bodySite", element.getBodySite().get(i), i); 1916 } 1917 for (int i = 0; i < element.getSpecimenRequirement().size(); i++) { 1918 composeReference(t, "ActivityDefinition", "specimenRequirement", element.getSpecimenRequirement().get(i), i); 1919 } 1920 for (int i = 0; i < element.getObservationRequirement().size(); i++) { 1921 composeReference(t, "ActivityDefinition", "observationRequirement", element.getObservationRequirement().get(i), i); 1922 } 1923 for (int i = 0; i < element.getObservationResultRequirement().size(); i++) { 1924 composeReference(t, "ActivityDefinition", "observationResultRequirement", element.getObservationResultRequirement().get(i), i); 1925 } 1926 if (element.hasTransformElement()) { 1927 composeCanonical(t, "ActivityDefinition", "transform", element.getTransformElement(), -1); 1928 } 1929 for (int i = 0; i < element.getDynamicValue().size(); i++) { 1930 composeActivityDefinitionDynamicValueComponent(t, "ActivityDefinition", "dynamicValue", element.getDynamicValue().get(i), i); 1931 } 1932 } 1933 1934 protected void composeActivityDefinitionParticipantComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionParticipantComponent element, int index) { 1935 if (element == null) 1936 return; 1937 Complex t; 1938 if (Utilities.noString(parentType)) 1939 t = parent; 1940 else { 1941 t = parent.predicate("fhir:"+parentType+'.'+name); 1942 } 1943 composeBackboneElement(t, "participant", name, element, index); 1944 if (element.hasTypeElement()) { 1945 composeEnum(t, "ActivityDefinitionParticipantComponent", "type", element.getTypeElement(), -1); 1946 } 1947 if (element.hasRole()) { 1948 composeCodeableConcept(t, "ActivityDefinitionParticipantComponent", "role", element.getRole(), -1); 1949 } 1950 } 1951 1952 protected void composeActivityDefinitionDynamicValueComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionDynamicValueComponent element, int index) { 1953 if (element == null) 1954 return; 1955 Complex t; 1956 if (Utilities.noString(parentType)) 1957 t = parent; 1958 else { 1959 t = parent.predicate("fhir:"+parentType+'.'+name); 1960 } 1961 composeBackboneElement(t, "dynamicValue", name, element, index); 1962 if (element.hasPathElement()) { 1963 composeString(t, "ActivityDefinitionDynamicValueComponent", "path", element.getPathElement(), -1); 1964 } 1965 if (element.hasExpression()) { 1966 composeExpression(t, "ActivityDefinitionDynamicValueComponent", "expression", element.getExpression(), -1); 1967 } 1968 } 1969 1970 protected void composeAdministrableProductDefinition(Complex parent, String parentType, String name, AdministrableProductDefinition element, int index) { 1971 if (element == null) 1972 return; 1973 Complex t; 1974 if (Utilities.noString(parentType)) 1975 t = parent; 1976 else { 1977 t = parent.predicate("fhir:"+parentType+'.'+name); 1978 } 1979 composeDomainResource(t, "AdministrableProductDefinition", name, element, index); 1980 for (int i = 0; i < element.getIdentifier().size(); i++) { 1981 composeIdentifier(t, "AdministrableProductDefinition", "identifier", element.getIdentifier().get(i), i); 1982 } 1983 if (element.hasStatusElement()) { 1984 composeEnum(t, "AdministrableProductDefinition", "status", element.getStatusElement(), -1); 1985 } 1986 for (int i = 0; i < element.getFormOf().size(); i++) { 1987 composeReference(t, "AdministrableProductDefinition", "formOf", element.getFormOf().get(i), i); 1988 } 1989 if (element.hasAdministrableDoseForm()) { 1990 composeCodeableConcept(t, "AdministrableProductDefinition", "administrableDoseForm", element.getAdministrableDoseForm(), -1); 1991 } 1992 if (element.hasUnitOfPresentation()) { 1993 composeCodeableConcept(t, "AdministrableProductDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 1994 } 1995 for (int i = 0; i < element.getProducedFrom().size(); i++) { 1996 composeReference(t, "AdministrableProductDefinition", "producedFrom", element.getProducedFrom().get(i), i); 1997 } 1998 for (int i = 0; i < element.getIngredient().size(); i++) { 1999 composeCodeableConcept(t, "AdministrableProductDefinition", "ingredient", element.getIngredient().get(i), i); 2000 } 2001 if (element.hasDevice()) { 2002 composeReference(t, "AdministrableProductDefinition", "device", element.getDevice(), -1); 2003 } 2004 for (int i = 0; i < element.getProperty().size(); i++) { 2005 composeAdministrableProductDefinitionPropertyComponent(t, "AdministrableProductDefinition", "property", element.getProperty().get(i), i); 2006 } 2007 for (int i = 0; i < element.getRouteOfAdministration().size(); i++) { 2008 composeAdministrableProductDefinitionRouteOfAdministrationComponent(t, "AdministrableProductDefinition", "routeOfAdministration", element.getRouteOfAdministration().get(i), i); 2009 } 2010 } 2011 2012 protected void composeAdministrableProductDefinitionPropertyComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent element, int index) { 2013 if (element == null) 2014 return; 2015 Complex t; 2016 if (Utilities.noString(parentType)) 2017 t = parent; 2018 else { 2019 t = parent.predicate("fhir:"+parentType+'.'+name); 2020 } 2021 composeBackboneElement(t, "property", name, element, index); 2022 if (element.hasType()) { 2023 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "type", element.getType(), -1); 2024 } 2025 if (element.hasValue()) { 2026 composeType(t, "AdministrableProductDefinitionPropertyComponent", "value", element.getValue(), -1); 2027 } 2028 if (element.hasStatus()) { 2029 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "status", element.getStatus(), -1); 2030 } 2031 } 2032 2033 protected void composeAdministrableProductDefinitionRouteOfAdministrationComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent element, int index) { 2034 if (element == null) 2035 return; 2036 Complex t; 2037 if (Utilities.noString(parentType)) 2038 t = parent; 2039 else { 2040 t = parent.predicate("fhir:"+parentType+'.'+name); 2041 } 2042 composeBackboneElement(t, "routeOfAdministration", name, element, index); 2043 if (element.hasCode()) { 2044 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "code", element.getCode(), -1); 2045 } 2046 if (element.hasFirstDose()) { 2047 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "firstDose", element.getFirstDose(), -1); 2048 } 2049 if (element.hasMaxSingleDose()) { 2050 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxSingleDose", element.getMaxSingleDose(), -1); 2051 } 2052 if (element.hasMaxDosePerDay()) { 2053 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerDay", element.getMaxDosePerDay(), -1); 2054 } 2055 if (element.hasMaxDosePerTreatmentPeriod()) { 2056 composeRatio(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerTreatmentPeriod", element.getMaxDosePerTreatmentPeriod(), -1); 2057 } 2058 if (element.hasMaxTreatmentPeriod()) { 2059 composeDuration(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxTreatmentPeriod", element.getMaxTreatmentPeriod(), -1); 2060 } 2061 for (int i = 0; i < element.getTargetSpecies().size(); i++) { 2062 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "targetSpecies", element.getTargetSpecies().get(i), i); 2063 } 2064 } 2065 2066 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent element, int index) { 2067 if (element == null) 2068 return; 2069 Complex t; 2070 if (Utilities.noString(parentType)) 2071 t = parent; 2072 else { 2073 t = parent.predicate("fhir:"+parentType+'.'+name); 2074 } 2075 composeBackboneElement(t, "targetSpecies", name, element, index); 2076 if (element.hasCode()) { 2077 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "code", element.getCode(), -1); 2078 } 2079 for (int i = 0; i < element.getWithdrawalPeriod().size(); i++) { 2080 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "withdrawalPeriod", element.getWithdrawalPeriod().get(i), i); 2081 } 2082 } 2083 2084 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent element, int index) { 2085 if (element == null) 2086 return; 2087 Complex t; 2088 if (Utilities.noString(parentType)) 2089 t = parent; 2090 else { 2091 t = parent.predicate("fhir:"+parentType+'.'+name); 2092 } 2093 composeBackboneElement(t, "withdrawalPeriod", name, element, index); 2094 if (element.hasTissue()) { 2095 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "tissue", element.getTissue(), -1); 2096 } 2097 if (element.hasValue()) { 2098 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "value", element.getValue(), -1); 2099 } 2100 if (element.hasSupportingInformationElement()) { 2101 composeString(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "supportingInformation", element.getSupportingInformationElement(), -1); 2102 } 2103 } 2104 2105 protected void composeAdverseEvent(Complex parent, String parentType, String name, AdverseEvent element, int index) { 2106 if (element == null) 2107 return; 2108 Complex t; 2109 if (Utilities.noString(parentType)) 2110 t = parent; 2111 else { 2112 t = parent.predicate("fhir:"+parentType+'.'+name); 2113 } 2114 composeDomainResource(t, "AdverseEvent", name, element, index); 2115 if (element.hasIdentifier()) { 2116 composeIdentifier(t, "AdverseEvent", "identifier", element.getIdentifier(), -1); 2117 } 2118 if (element.hasActualityElement()) { 2119 composeEnum(t, "AdverseEvent", "actuality", element.getActualityElement(), -1); 2120 } 2121 for (int i = 0; i < element.getCategory().size(); i++) { 2122 composeCodeableConcept(t, "AdverseEvent", "category", element.getCategory().get(i), i); 2123 } 2124 if (element.hasEvent()) { 2125 composeCodeableConcept(t, "AdverseEvent", "event", element.getEvent(), -1); 2126 } 2127 if (element.hasSubject()) { 2128 composeReference(t, "AdverseEvent", "subject", element.getSubject(), -1); 2129 } 2130 if (element.hasEncounter()) { 2131 composeReference(t, "AdverseEvent", "encounter", element.getEncounter(), -1); 2132 } 2133 if (element.hasDateElement()) { 2134 composeDateTime(t, "AdverseEvent", "date", element.getDateElement(), -1); 2135 } 2136 if (element.hasDetectedElement()) { 2137 composeDateTime(t, "AdverseEvent", "detected", element.getDetectedElement(), -1); 2138 } 2139 if (element.hasRecordedDateElement()) { 2140 composeDateTime(t, "AdverseEvent", "recordedDate", element.getRecordedDateElement(), -1); 2141 } 2142 for (int i = 0; i < element.getResultingCondition().size(); i++) { 2143 composeReference(t, "AdverseEvent", "resultingCondition", element.getResultingCondition().get(i), i); 2144 } 2145 if (element.hasLocation()) { 2146 composeReference(t, "AdverseEvent", "location", element.getLocation(), -1); 2147 } 2148 if (element.hasSeriousness()) { 2149 composeCodeableConcept(t, "AdverseEvent", "seriousness", element.getSeriousness(), -1); 2150 } 2151 if (element.hasSeverity()) { 2152 composeCodeableConcept(t, "AdverseEvent", "severity", element.getSeverity(), -1); 2153 } 2154 if (element.hasOutcome()) { 2155 composeCodeableConcept(t, "AdverseEvent", "outcome", element.getOutcome(), -1); 2156 } 2157 if (element.hasRecorder()) { 2158 composeReference(t, "AdverseEvent", "recorder", element.getRecorder(), -1); 2159 } 2160 for (int i = 0; i < element.getContributor().size(); i++) { 2161 composeReference(t, "AdverseEvent", "contributor", element.getContributor().get(i), i); 2162 } 2163 for (int i = 0; i < element.getSuspectEntity().size(); i++) { 2164 composeAdverseEventSuspectEntityComponent(t, "AdverseEvent", "suspectEntity", element.getSuspectEntity().get(i), i); 2165 } 2166 for (int i = 0; i < element.getSubjectMedicalHistory().size(); i++) { 2167 composeReference(t, "AdverseEvent", "subjectMedicalHistory", element.getSubjectMedicalHistory().get(i), i); 2168 } 2169 for (int i = 0; i < element.getReferenceDocument().size(); i++) { 2170 composeReference(t, "AdverseEvent", "referenceDocument", element.getReferenceDocument().get(i), i); 2171 } 2172 for (int i = 0; i < element.getStudy().size(); i++) { 2173 composeReference(t, "AdverseEvent", "study", element.getStudy().get(i), i); 2174 } 2175 } 2176 2177 protected void composeAdverseEventSuspectEntityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityComponent element, int index) { 2178 if (element == null) 2179 return; 2180 Complex t; 2181 if (Utilities.noString(parentType)) 2182 t = parent; 2183 else { 2184 t = parent.predicate("fhir:"+parentType+'.'+name); 2185 } 2186 composeBackboneElement(t, "suspectEntity", name, element, index); 2187 if (element.hasInstance()) { 2188 composeReference(t, "AdverseEventSuspectEntityComponent", "instance", element.getInstance(), -1); 2189 } 2190 for (int i = 0; i < element.getCausality().size(); i++) { 2191 composeAdverseEventSuspectEntityCausalityComponent(t, "AdverseEventSuspectEntityComponent", "causality", element.getCausality().get(i), i); 2192 } 2193 } 2194 2195 protected void composeAdverseEventSuspectEntityCausalityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityCausalityComponent element, int index) { 2196 if (element == null) 2197 return; 2198 Complex t; 2199 if (Utilities.noString(parentType)) 2200 t = parent; 2201 else { 2202 t = parent.predicate("fhir:"+parentType+'.'+name); 2203 } 2204 composeBackboneElement(t, "causality", name, element, index); 2205 if (element.hasAssessment()) { 2206 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "assessment", element.getAssessment(), -1); 2207 } 2208 if (element.hasProductRelatednessElement()) { 2209 composeString(t, "AdverseEventSuspectEntityCausalityComponent", "productRelatedness", element.getProductRelatednessElement(), -1); 2210 } 2211 if (element.hasAuthor()) { 2212 composeReference(t, "AdverseEventSuspectEntityCausalityComponent", "author", element.getAuthor(), -1); 2213 } 2214 if (element.hasMethod()) { 2215 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "method", element.getMethod(), -1); 2216 } 2217 } 2218 2219 protected void composeAllergyIntolerance(Complex parent, String parentType, String name, AllergyIntolerance element, int index) { 2220 if (element == null) 2221 return; 2222 Complex t; 2223 if (Utilities.noString(parentType)) 2224 t = parent; 2225 else { 2226 t = parent.predicate("fhir:"+parentType+'.'+name); 2227 } 2228 composeDomainResource(t, "AllergyIntolerance", name, element, index); 2229 for (int i = 0; i < element.getIdentifier().size(); i++) { 2230 composeIdentifier(t, "AllergyIntolerance", "identifier", element.getIdentifier().get(i), i); 2231 } 2232 if (element.hasClinicalStatus()) { 2233 composeCodeableConcept(t, "AllergyIntolerance", "clinicalStatus", element.getClinicalStatus(), -1); 2234 } 2235 if (element.hasVerificationStatus()) { 2236 composeCodeableConcept(t, "AllergyIntolerance", "verificationStatus", element.getVerificationStatus(), -1); 2237 } 2238 if (element.hasTypeElement()) { 2239 composeEnum(t, "AllergyIntolerance", "type", element.getTypeElement(), -1); 2240 } 2241 for (int i = 0; i < element.getCategory().size(); i++) { 2242 composeEnum(t, "AllergyIntolerance", "category", element.getCategory().get(i), i); 2243 } 2244 if (element.hasCriticalityElement()) { 2245 composeEnum(t, "AllergyIntolerance", "criticality", element.getCriticalityElement(), -1); 2246 } 2247 if (element.hasCode()) { 2248 composeCodeableConcept(t, "AllergyIntolerance", "code", element.getCode(), -1); 2249 } 2250 if (element.hasPatient()) { 2251 composeReference(t, "AllergyIntolerance", "patient", element.getPatient(), -1); 2252 } 2253 if (element.hasEncounter()) { 2254 composeReference(t, "AllergyIntolerance", "encounter", element.getEncounter(), -1); 2255 } 2256 if (element.hasOnset()) { 2257 composeType(t, "AllergyIntolerance", "onset", element.getOnset(), -1); 2258 } 2259 if (element.hasRecordedDateElement()) { 2260 composeDateTime(t, "AllergyIntolerance", "recordedDate", element.getRecordedDateElement(), -1); 2261 } 2262 if (element.hasRecorder()) { 2263 composeReference(t, "AllergyIntolerance", "recorder", element.getRecorder(), -1); 2264 } 2265 if (element.hasAsserter()) { 2266 composeReference(t, "AllergyIntolerance", "asserter", element.getAsserter(), -1); 2267 } 2268 if (element.hasLastOccurrenceElement()) { 2269 composeDateTime(t, "AllergyIntolerance", "lastOccurrence", element.getLastOccurrenceElement(), -1); 2270 } 2271 for (int i = 0; i < element.getNote().size(); i++) { 2272 composeAnnotation(t, "AllergyIntolerance", "note", element.getNote().get(i), i); 2273 } 2274 for (int i = 0; i < element.getReaction().size(); i++) { 2275 composeAllergyIntoleranceReactionComponent(t, "AllergyIntolerance", "reaction", element.getReaction().get(i), i); 2276 } 2277 } 2278 2279 protected void composeAllergyIntoleranceReactionComponent(Complex parent, String parentType, String name, AllergyIntolerance.AllergyIntoleranceReactionComponent element, int index) { 2280 if (element == null) 2281 return; 2282 Complex t; 2283 if (Utilities.noString(parentType)) 2284 t = parent; 2285 else { 2286 t = parent.predicate("fhir:"+parentType+'.'+name); 2287 } 2288 composeBackboneElement(t, "reaction", name, element, index); 2289 if (element.hasSubstance()) { 2290 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "substance", element.getSubstance(), -1); 2291 } 2292 for (int i = 0; i < element.getManifestation().size(); i++) { 2293 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "manifestation", element.getManifestation().get(i), i); 2294 } 2295 if (element.hasDescriptionElement()) { 2296 composeString(t, "AllergyIntoleranceReactionComponent", "description", element.getDescriptionElement(), -1); 2297 } 2298 if (element.hasOnsetElement()) { 2299 composeDateTime(t, "AllergyIntoleranceReactionComponent", "onset", element.getOnsetElement(), -1); 2300 } 2301 if (element.hasSeverityElement()) { 2302 composeEnum(t, "AllergyIntoleranceReactionComponent", "severity", element.getSeverityElement(), -1); 2303 } 2304 if (element.hasExposureRoute()) { 2305 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "exposureRoute", element.getExposureRoute(), -1); 2306 } 2307 for (int i = 0; i < element.getNote().size(); i++) { 2308 composeAnnotation(t, "AllergyIntoleranceReactionComponent", "note", element.getNote().get(i), i); 2309 } 2310 } 2311 2312 protected void composeAppointment(Complex parent, String parentType, String name, Appointment element, int index) { 2313 if (element == null) 2314 return; 2315 Complex t; 2316 if (Utilities.noString(parentType)) 2317 t = parent; 2318 else { 2319 t = parent.predicate("fhir:"+parentType+'.'+name); 2320 } 2321 composeDomainResource(t, "Appointment", name, element, index); 2322 for (int i = 0; i < element.getIdentifier().size(); i++) { 2323 composeIdentifier(t, "Appointment", "identifier", element.getIdentifier().get(i), i); 2324 } 2325 if (element.hasStatusElement()) { 2326 composeEnum(t, "Appointment", "status", element.getStatusElement(), -1); 2327 } 2328 if (element.hasCancelationReason()) { 2329 composeCodeableConcept(t, "Appointment", "cancelationReason", element.getCancelationReason(), -1); 2330 } 2331 for (int i = 0; i < element.getServiceCategory().size(); i++) { 2332 composeCodeableConcept(t, "Appointment", "serviceCategory", element.getServiceCategory().get(i), i); 2333 } 2334 for (int i = 0; i < element.getServiceType().size(); i++) { 2335 composeCodeableConcept(t, "Appointment", "serviceType", element.getServiceType().get(i), i); 2336 } 2337 for (int i = 0; i < element.getSpecialty().size(); i++) { 2338 composeCodeableConcept(t, "Appointment", "specialty", element.getSpecialty().get(i), i); 2339 } 2340 if (element.hasAppointmentType()) { 2341 composeCodeableConcept(t, "Appointment", "appointmentType", element.getAppointmentType(), -1); 2342 } 2343 for (int i = 0; i < element.getReasonCode().size(); i++) { 2344 composeCodeableConcept(t, "Appointment", "reasonCode", element.getReasonCode().get(i), i); 2345 } 2346 for (int i = 0; i < element.getReasonReference().size(); i++) { 2347 composeReference(t, "Appointment", "reasonReference", element.getReasonReference().get(i), i); 2348 } 2349 if (element.hasPriorityElement()) { 2350 composeUnsignedInt(t, "Appointment", "priority", element.getPriorityElement(), -1); 2351 } 2352 if (element.hasDescriptionElement()) { 2353 composeString(t, "Appointment", "description", element.getDescriptionElement(), -1); 2354 } 2355 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 2356 composeReference(t, "Appointment", "supportingInformation", element.getSupportingInformation().get(i), i); 2357 } 2358 if (element.hasStartElement()) { 2359 composeInstant(t, "Appointment", "start", element.getStartElement(), -1); 2360 } 2361 if (element.hasEndElement()) { 2362 composeInstant(t, "Appointment", "end", element.getEndElement(), -1); 2363 } 2364 if (element.hasMinutesDurationElement()) { 2365 composePositiveInt(t, "Appointment", "minutesDuration", element.getMinutesDurationElement(), -1); 2366 } 2367 for (int i = 0; i < element.getSlot().size(); i++) { 2368 composeReference(t, "Appointment", "slot", element.getSlot().get(i), i); 2369 } 2370 if (element.hasCreatedElement()) { 2371 composeDateTime(t, "Appointment", "created", element.getCreatedElement(), -1); 2372 } 2373 if (element.hasCommentElement()) { 2374 composeString(t, "Appointment", "comment", element.getCommentElement(), -1); 2375 } 2376 if (element.hasPatientInstructionElement()) { 2377 composeString(t, "Appointment", "patientInstruction", element.getPatientInstructionElement(), -1); 2378 } 2379 for (int i = 0; i < element.getBasedOn().size(); i++) { 2380 composeReference(t, "Appointment", "basedOn", element.getBasedOn().get(i), i); 2381 } 2382 for (int i = 0; i < element.getParticipant().size(); i++) { 2383 composeAppointmentParticipantComponent(t, "Appointment", "participant", element.getParticipant().get(i), i); 2384 } 2385 for (int i = 0; i < element.getRequestedPeriod().size(); i++) { 2386 composePeriod(t, "Appointment", "requestedPeriod", element.getRequestedPeriod().get(i), i); 2387 } 2388 } 2389 2390 protected void composeAppointmentParticipantComponent(Complex parent, String parentType, String name, Appointment.AppointmentParticipantComponent element, int index) { 2391 if (element == null) 2392 return; 2393 Complex t; 2394 if (Utilities.noString(parentType)) 2395 t = parent; 2396 else { 2397 t = parent.predicate("fhir:"+parentType+'.'+name); 2398 } 2399 composeBackboneElement(t, "participant", name, element, index); 2400 for (int i = 0; i < element.getType().size(); i++) { 2401 composeCodeableConcept(t, "AppointmentParticipantComponent", "type", element.getType().get(i), i); 2402 } 2403 if (element.hasActor()) { 2404 composeReference(t, "AppointmentParticipantComponent", "actor", element.getActor(), -1); 2405 } 2406 if (element.hasRequiredElement()) { 2407 composeEnum(t, "AppointmentParticipantComponent", "required", element.getRequiredElement(), -1); 2408 } 2409 if (element.hasStatusElement()) { 2410 composeEnum(t, "AppointmentParticipantComponent", "status", element.getStatusElement(), -1); 2411 } 2412 if (element.hasPeriod()) { 2413 composePeriod(t, "AppointmentParticipantComponent", "period", element.getPeriod(), -1); 2414 } 2415 } 2416 2417 protected void composeAppointmentResponse(Complex parent, String parentType, String name, AppointmentResponse element, int index) { 2418 if (element == null) 2419 return; 2420 Complex t; 2421 if (Utilities.noString(parentType)) 2422 t = parent; 2423 else { 2424 t = parent.predicate("fhir:"+parentType+'.'+name); 2425 } 2426 composeDomainResource(t, "AppointmentResponse", name, element, index); 2427 for (int i = 0; i < element.getIdentifier().size(); i++) { 2428 composeIdentifier(t, "AppointmentResponse", "identifier", element.getIdentifier().get(i), i); 2429 } 2430 if (element.hasAppointment()) { 2431 composeReference(t, "AppointmentResponse", "appointment", element.getAppointment(), -1); 2432 } 2433 if (element.hasStartElement()) { 2434 composeInstant(t, "AppointmentResponse", "start", element.getStartElement(), -1); 2435 } 2436 if (element.hasEndElement()) { 2437 composeInstant(t, "AppointmentResponse", "end", element.getEndElement(), -1); 2438 } 2439 for (int i = 0; i < element.getParticipantType().size(); i++) { 2440 composeCodeableConcept(t, "AppointmentResponse", "participantType", element.getParticipantType().get(i), i); 2441 } 2442 if (element.hasActor()) { 2443 composeReference(t, "AppointmentResponse", "actor", element.getActor(), -1); 2444 } 2445 if (element.hasParticipantStatusElement()) { 2446 composeEnum(t, "AppointmentResponse", "participantStatus", element.getParticipantStatusElement(), -1); 2447 } 2448 if (element.hasCommentElement()) { 2449 composeString(t, "AppointmentResponse", "comment", element.getCommentElement(), -1); 2450 } 2451 } 2452 2453 protected void composeAuditEvent(Complex parent, String parentType, String name, AuditEvent element, int index) { 2454 if (element == null) 2455 return; 2456 Complex t; 2457 if (Utilities.noString(parentType)) 2458 t = parent; 2459 else { 2460 t = parent.predicate("fhir:"+parentType+'.'+name); 2461 } 2462 composeDomainResource(t, "AuditEvent", name, element, index); 2463 if (element.hasType()) { 2464 composeCoding(t, "AuditEvent", "type", element.getType(), -1); 2465 } 2466 for (int i = 0; i < element.getSubtype().size(); i++) { 2467 composeCoding(t, "AuditEvent", "subtype", element.getSubtype().get(i), i); 2468 } 2469 if (element.hasActionElement()) { 2470 composeEnum(t, "AuditEvent", "action", element.getActionElement(), -1); 2471 } 2472 if (element.hasPeriod()) { 2473 composePeriod(t, "AuditEvent", "period", element.getPeriod(), -1); 2474 } 2475 if (element.hasRecordedElement()) { 2476 composeInstant(t, "AuditEvent", "recorded", element.getRecordedElement(), -1); 2477 } 2478 if (element.hasOutcomeElement()) { 2479 composeEnum(t, "AuditEvent", "outcome", element.getOutcomeElement(), -1); 2480 } 2481 if (element.hasOutcomeDescElement()) { 2482 composeString(t, "AuditEvent", "outcomeDesc", element.getOutcomeDescElement(), -1); 2483 } 2484 for (int i = 0; i < element.getPurposeOfEvent().size(); i++) { 2485 composeCodeableConcept(t, "AuditEvent", "purposeOfEvent", element.getPurposeOfEvent().get(i), i); 2486 } 2487 for (int i = 0; i < element.getAgent().size(); i++) { 2488 composeAuditEventAgentComponent(t, "AuditEvent", "agent", element.getAgent().get(i), i); 2489 } 2490 if (element.hasSource()) { 2491 composeAuditEventSourceComponent(t, "AuditEvent", "source", element.getSource(), -1); 2492 } 2493 for (int i = 0; i < element.getEntity().size(); i++) { 2494 composeAuditEventEntityComponent(t, "AuditEvent", "entity", element.getEntity().get(i), i); 2495 } 2496 } 2497 2498 protected void composeAuditEventAgentComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventAgentComponent element, int index) { 2499 if (element == null) 2500 return; 2501 Complex t; 2502 if (Utilities.noString(parentType)) 2503 t = parent; 2504 else { 2505 t = parent.predicate("fhir:"+parentType+'.'+name); 2506 } 2507 composeBackboneElement(t, "agent", name, element, index); 2508 if (element.hasType()) { 2509 composeCodeableConcept(t, "AuditEventAgentComponent", "type", element.getType(), -1); 2510 } 2511 for (int i = 0; i < element.getRole().size(); i++) { 2512 composeCodeableConcept(t, "AuditEventAgentComponent", "role", element.getRole().get(i), i); 2513 } 2514 if (element.hasWho()) { 2515 composeReference(t, "AuditEventAgentComponent", "who", element.getWho(), -1); 2516 } 2517 if (element.hasAltIdElement()) { 2518 composeString(t, "AuditEventAgentComponent", "altId", element.getAltIdElement(), -1); 2519 } 2520 if (element.hasNameElement()) { 2521 composeString(t, "AuditEventAgentComponent", "name", element.getNameElement(), -1); 2522 } 2523 if (element.hasRequestorElement()) { 2524 composeBoolean(t, "AuditEventAgentComponent", "requestor", element.getRequestorElement(), -1); 2525 } 2526 if (element.hasLocation()) { 2527 composeReference(t, "AuditEventAgentComponent", "location", element.getLocation(), -1); 2528 } 2529 for (int i = 0; i < element.getPolicy().size(); i++) { 2530 composeUri(t, "AuditEventAgentComponent", "policy", element.getPolicy().get(i), i); 2531 } 2532 if (element.hasMedia()) { 2533 composeCoding(t, "AuditEventAgentComponent", "media", element.getMedia(), -1); 2534 } 2535 if (element.hasNetwork()) { 2536 composeAuditEventAgentNetworkComponent(t, "AuditEventAgentComponent", "network", element.getNetwork(), -1); 2537 } 2538 for (int i = 0; i < element.getPurposeOfUse().size(); i++) { 2539 composeCodeableConcept(t, "AuditEventAgentComponent", "purposeOfUse", element.getPurposeOfUse().get(i), i); 2540 } 2541 } 2542 2543 protected void composeAuditEventAgentNetworkComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventAgentNetworkComponent element, int index) { 2544 if (element == null) 2545 return; 2546 Complex t; 2547 if (Utilities.noString(parentType)) 2548 t = parent; 2549 else { 2550 t = parent.predicate("fhir:"+parentType+'.'+name); 2551 } 2552 composeBackboneElement(t, "network", name, element, index); 2553 if (element.hasAddressElement()) { 2554 composeString(t, "AuditEventAgentNetworkComponent", "address", element.getAddressElement(), -1); 2555 } 2556 if (element.hasTypeElement()) { 2557 composeEnum(t, "AuditEventAgentNetworkComponent", "type", element.getTypeElement(), -1); 2558 } 2559 } 2560 2561 protected void composeAuditEventSourceComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventSourceComponent element, int index) { 2562 if (element == null) 2563 return; 2564 Complex t; 2565 if (Utilities.noString(parentType)) 2566 t = parent; 2567 else { 2568 t = parent.predicate("fhir:"+parentType+'.'+name); 2569 } 2570 composeBackboneElement(t, "source", name, element, index); 2571 if (element.hasSiteElement()) { 2572 composeString(t, "AuditEventSourceComponent", "site", element.getSiteElement(), -1); 2573 } 2574 if (element.hasObserver()) { 2575 composeReference(t, "AuditEventSourceComponent", "observer", element.getObserver(), -1); 2576 } 2577 for (int i = 0; i < element.getType().size(); i++) { 2578 composeCoding(t, "AuditEventSourceComponent", "type", element.getType().get(i), i); 2579 } 2580 } 2581 2582 protected void composeAuditEventEntityComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityComponent element, int index) { 2583 if (element == null) 2584 return; 2585 Complex t; 2586 if (Utilities.noString(parentType)) 2587 t = parent; 2588 else { 2589 t = parent.predicate("fhir:"+parentType+'.'+name); 2590 } 2591 composeBackboneElement(t, "entity", name, element, index); 2592 if (element.hasWhat()) { 2593 composeReference(t, "AuditEventEntityComponent", "what", element.getWhat(), -1); 2594 } 2595 if (element.hasType()) { 2596 composeCoding(t, "AuditEventEntityComponent", "type", element.getType(), -1); 2597 } 2598 if (element.hasRole()) { 2599 composeCoding(t, "AuditEventEntityComponent", "role", element.getRole(), -1); 2600 } 2601 if (element.hasLifecycle()) { 2602 composeCoding(t, "AuditEventEntityComponent", "lifecycle", element.getLifecycle(), -1); 2603 } 2604 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 2605 composeCoding(t, "AuditEventEntityComponent", "securityLabel", element.getSecurityLabel().get(i), i); 2606 } 2607 if (element.hasNameElement()) { 2608 composeString(t, "AuditEventEntityComponent", "name", element.getNameElement(), -1); 2609 } 2610 if (element.hasDescriptionElement()) { 2611 composeString(t, "AuditEventEntityComponent", "description", element.getDescriptionElement(), -1); 2612 } 2613 if (element.hasQueryElement()) { 2614 composeBase64Binary(t, "AuditEventEntityComponent", "query", element.getQueryElement(), -1); 2615 } 2616 for (int i = 0; i < element.getDetail().size(); i++) { 2617 composeAuditEventEntityDetailComponent(t, "AuditEventEntityComponent", "detail", element.getDetail().get(i), i); 2618 } 2619 } 2620 2621 protected void composeAuditEventEntityDetailComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityDetailComponent element, int index) { 2622 if (element == null) 2623 return; 2624 Complex t; 2625 if (Utilities.noString(parentType)) 2626 t = parent; 2627 else { 2628 t = parent.predicate("fhir:"+parentType+'.'+name); 2629 } 2630 composeBackboneElement(t, "detail", name, element, index); 2631 if (element.hasTypeElement()) { 2632 composeString(t, "AuditEventEntityDetailComponent", "type", element.getTypeElement(), -1); 2633 } 2634 if (element.hasValue()) { 2635 composeType(t, "AuditEventEntityDetailComponent", "value", element.getValue(), -1); 2636 } 2637 } 2638 2639 protected void composeBasic(Complex parent, String parentType, String name, Basic element, int index) { 2640 if (element == null) 2641 return; 2642 Complex t; 2643 if (Utilities.noString(parentType)) 2644 t = parent; 2645 else { 2646 t = parent.predicate("fhir:"+parentType+'.'+name); 2647 } 2648 composeDomainResource(t, "Basic", name, element, index); 2649 for (int i = 0; i < element.getIdentifier().size(); i++) { 2650 composeIdentifier(t, "Basic", "identifier", element.getIdentifier().get(i), i); 2651 } 2652 if (element.hasCode()) { 2653 composeCodeableConcept(t, "Basic", "code", element.getCode(), -1); 2654 } 2655 if (element.hasSubject()) { 2656 composeReference(t, "Basic", "subject", element.getSubject(), -1); 2657 } 2658 if (element.hasCreatedElement()) { 2659 composeDate(t, "Basic", "created", element.getCreatedElement(), -1); 2660 } 2661 if (element.hasAuthor()) { 2662 composeReference(t, "Basic", "author", element.getAuthor(), -1); 2663 } 2664 } 2665 2666 protected void composeBinary(Complex parent, String parentType, String name, Binary element, int index) { 2667 if (element == null) 2668 return; 2669 Complex t; 2670 if (Utilities.noString(parentType)) 2671 t = parent; 2672 else { 2673 t = parent.predicate("fhir:"+parentType+'.'+name); 2674 } 2675 composeResource(t, "Binary", name, element, index); 2676 if (element.hasContentTypeElement()) { 2677 composeCode(t, "Binary", "contentType", element.getContentTypeElement(), -1); 2678 } 2679 if (element.hasSecurityContext()) { 2680 composeReference(t, "Binary", "securityContext", element.getSecurityContext(), -1); 2681 } 2682 if (element.hasDataElement()) { 2683 composeBase64Binary(t, "Binary", "data", element.getDataElement(), -1); 2684 } 2685 } 2686 2687 protected void composeBiologicallyDerivedProduct(Complex parent, String parentType, String name, BiologicallyDerivedProduct element, int index) { 2688 if (element == null) 2689 return; 2690 Complex t; 2691 if (Utilities.noString(parentType)) 2692 t = parent; 2693 else { 2694 t = parent.predicate("fhir:"+parentType+'.'+name); 2695 } 2696 composeDomainResource(t, "BiologicallyDerivedProduct", name, element, index); 2697 for (int i = 0; i < element.getIdentifier().size(); i++) { 2698 composeIdentifier(t, "BiologicallyDerivedProduct", "identifier", element.getIdentifier().get(i), i); 2699 } 2700 if (element.hasProductCategoryElement()) { 2701 composeEnum(t, "BiologicallyDerivedProduct", "productCategory", element.getProductCategoryElement(), -1); 2702 } 2703 if (element.hasProductCode()) { 2704 composeCodeableConcept(t, "BiologicallyDerivedProduct", "productCode", element.getProductCode(), -1); 2705 } 2706 if (element.hasStatusElement()) { 2707 composeEnum(t, "BiologicallyDerivedProduct", "status", element.getStatusElement(), -1); 2708 } 2709 for (int i = 0; i < element.getRequest().size(); i++) { 2710 composeReference(t, "BiologicallyDerivedProduct", "request", element.getRequest().get(i), i); 2711 } 2712 if (element.hasQuantityElement()) { 2713 composeInteger(t, "BiologicallyDerivedProduct", "quantity", element.getQuantityElement(), -1); 2714 } 2715 for (int i = 0; i < element.getParent().size(); i++) { 2716 composeReference(t, "BiologicallyDerivedProduct", "parent", element.getParent().get(i), i); 2717 } 2718 if (element.hasCollection()) { 2719 composeBiologicallyDerivedProductCollectionComponent(t, "BiologicallyDerivedProduct", "collection", element.getCollection(), -1); 2720 } 2721 for (int i = 0; i < element.getProcessing().size(); i++) { 2722 composeBiologicallyDerivedProductProcessingComponent(t, "BiologicallyDerivedProduct", "processing", element.getProcessing().get(i), i); 2723 } 2724 if (element.hasManipulation()) { 2725 composeBiologicallyDerivedProductManipulationComponent(t, "BiologicallyDerivedProduct", "manipulation", element.getManipulation(), -1); 2726 } 2727 for (int i = 0; i < element.getStorage().size(); i++) { 2728 composeBiologicallyDerivedProductStorageComponent(t, "BiologicallyDerivedProduct", "storage", element.getStorage().get(i), i); 2729 } 2730 } 2731 2732 protected void composeBiologicallyDerivedProductCollectionComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent element, int index) { 2733 if (element == null) 2734 return; 2735 Complex t; 2736 if (Utilities.noString(parentType)) 2737 t = parent; 2738 else { 2739 t = parent.predicate("fhir:"+parentType+'.'+name); 2740 } 2741 composeBackboneElement(t, "collection", name, element, index); 2742 if (element.hasCollector()) { 2743 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "collector", element.getCollector(), -1); 2744 } 2745 if (element.hasSource()) { 2746 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "source", element.getSource(), -1); 2747 } 2748 if (element.hasCollected()) { 2749 composeType(t, "BiologicallyDerivedProductCollectionComponent", "collected", element.getCollected(), -1); 2750 } 2751 } 2752 2753 protected void composeBiologicallyDerivedProductProcessingComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent element, int index) { 2754 if (element == null) 2755 return; 2756 Complex t; 2757 if (Utilities.noString(parentType)) 2758 t = parent; 2759 else { 2760 t = parent.predicate("fhir:"+parentType+'.'+name); 2761 } 2762 composeBackboneElement(t, "processing", name, element, index); 2763 if (element.hasDescriptionElement()) { 2764 composeString(t, "BiologicallyDerivedProductProcessingComponent", "description", element.getDescriptionElement(), -1); 2765 } 2766 if (element.hasProcedure()) { 2767 composeCodeableConcept(t, "BiologicallyDerivedProductProcessingComponent", "procedure", element.getProcedure(), -1); 2768 } 2769 if (element.hasAdditive()) { 2770 composeReference(t, "BiologicallyDerivedProductProcessingComponent", "additive", element.getAdditive(), -1); 2771 } 2772 if (element.hasTime()) { 2773 composeType(t, "BiologicallyDerivedProductProcessingComponent", "time", element.getTime(), -1); 2774 } 2775 } 2776 2777 protected void composeBiologicallyDerivedProductManipulationComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent element, int index) { 2778 if (element == null) 2779 return; 2780 Complex t; 2781 if (Utilities.noString(parentType)) 2782 t = parent; 2783 else { 2784 t = parent.predicate("fhir:"+parentType+'.'+name); 2785 } 2786 composeBackboneElement(t, "manipulation", name, element, index); 2787 if (element.hasDescriptionElement()) { 2788 composeString(t, "BiologicallyDerivedProductManipulationComponent", "description", element.getDescriptionElement(), -1); 2789 } 2790 if (element.hasTime()) { 2791 composeType(t, "BiologicallyDerivedProductManipulationComponent", "time", element.getTime(), -1); 2792 } 2793 } 2794 2795 protected void composeBiologicallyDerivedProductStorageComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent element, int index) { 2796 if (element == null) 2797 return; 2798 Complex t; 2799 if (Utilities.noString(parentType)) 2800 t = parent; 2801 else { 2802 t = parent.predicate("fhir:"+parentType+'.'+name); 2803 } 2804 composeBackboneElement(t, "storage", name, element, index); 2805 if (element.hasDescriptionElement()) { 2806 composeString(t, "BiologicallyDerivedProductStorageComponent", "description", element.getDescriptionElement(), -1); 2807 } 2808 if (element.hasTemperatureElement()) { 2809 composeDecimal(t, "BiologicallyDerivedProductStorageComponent", "temperature", element.getTemperatureElement(), -1); 2810 } 2811 if (element.hasScaleElement()) { 2812 composeEnum(t, "BiologicallyDerivedProductStorageComponent", "scale", element.getScaleElement(), -1); 2813 } 2814 if (element.hasDuration()) { 2815 composePeriod(t, "BiologicallyDerivedProductStorageComponent", "duration", element.getDuration(), -1); 2816 } 2817 } 2818 2819 protected void composeBodyStructure(Complex parent, String parentType, String name, BodyStructure element, int index) { 2820 if (element == null) 2821 return; 2822 Complex t; 2823 if (Utilities.noString(parentType)) 2824 t = parent; 2825 else { 2826 t = parent.predicate("fhir:"+parentType+'.'+name); 2827 } 2828 composeDomainResource(t, "BodyStructure", name, element, index); 2829 for (int i = 0; i < element.getIdentifier().size(); i++) { 2830 composeIdentifier(t, "BodyStructure", "identifier", element.getIdentifier().get(i), i); 2831 } 2832 if (element.hasActiveElement()) { 2833 composeBoolean(t, "BodyStructure", "active", element.getActiveElement(), -1); 2834 } 2835 if (element.hasMorphology()) { 2836 composeCodeableConcept(t, "BodyStructure", "morphology", element.getMorphology(), -1); 2837 } 2838 if (element.hasLocation()) { 2839 composeCodeableConcept(t, "BodyStructure", "location", element.getLocation(), -1); 2840 } 2841 for (int i = 0; i < element.getLocationQualifier().size(); i++) { 2842 composeCodeableConcept(t, "BodyStructure", "locationQualifier", element.getLocationQualifier().get(i), i); 2843 } 2844 if (element.hasDescriptionElement()) { 2845 composeString(t, "BodyStructure", "description", element.getDescriptionElement(), -1); 2846 } 2847 for (int i = 0; i < element.getImage().size(); i++) { 2848 composeAttachment(t, "BodyStructure", "image", element.getImage().get(i), i); 2849 } 2850 if (element.hasPatient()) { 2851 composeReference(t, "BodyStructure", "patient", element.getPatient(), -1); 2852 } 2853 } 2854 2855 protected void composeBundle(Complex parent, String parentType, String name, Bundle element, int index) { 2856 if (element == null) 2857 return; 2858 Complex t; 2859 if (Utilities.noString(parentType)) 2860 t = parent; 2861 else { 2862 t = parent.predicate("fhir:"+parentType+'.'+name); 2863 } 2864 composeResource(t, "Bundle", name, element, index); 2865 if (element.hasIdentifier()) { 2866 composeIdentifier(t, "Bundle", "identifier", element.getIdentifier(), -1); 2867 } 2868 if (element.hasTypeElement()) { 2869 composeEnum(t, "Bundle", "type", element.getTypeElement(), -1); 2870 } 2871 if (element.hasTimestampElement()) { 2872 composeInstant(t, "Bundle", "timestamp", element.getTimestampElement(), -1); 2873 } 2874 if (element.hasTotalElement()) { 2875 composeUnsignedInt(t, "Bundle", "total", element.getTotalElement(), -1); 2876 } 2877 for (int i = 0; i < element.getLink().size(); i++) { 2878 composeBundleLinkComponent(t, "Bundle", "link", element.getLink().get(i), i); 2879 } 2880 for (int i = 0; i < element.getEntry().size(); i++) { 2881 composeBundleEntryComponent(t, "Bundle", "entry", element.getEntry().get(i), i); 2882 } 2883 if (element.hasSignature()) { 2884 composeSignature(t, "Bundle", "signature", element.getSignature(), -1); 2885 } 2886 } 2887 2888 protected void composeBundleLinkComponent(Complex parent, String parentType, String name, Bundle.BundleLinkComponent element, int index) { 2889 if (element == null) 2890 return; 2891 Complex t; 2892 if (Utilities.noString(parentType)) 2893 t = parent; 2894 else { 2895 t = parent.predicate("fhir:"+parentType+'.'+name); 2896 } 2897 composeBackboneElement(t, "link", name, element, index); 2898 if (element.hasRelationElement()) { 2899 composeString(t, "BundleLinkComponent", "relation", element.getRelationElement(), -1); 2900 } 2901 if (element.hasUrlElement()) { 2902 composeUri(t, "BundleLinkComponent", "url", element.getUrlElement(), -1); 2903 } 2904 } 2905 2906 protected void composeBundleEntryComponent(Complex parent, String parentType, String name, Bundle.BundleEntryComponent element, int index) { 2907 if (element == null) 2908 return; 2909 Complex t; 2910 if (Utilities.noString(parentType)) 2911 t = parent; 2912 else { 2913 t = parent.predicate("fhir:"+parentType+'.'+name); 2914 } 2915 composeBackboneElement(t, "entry", name, element, index); 2916 for (int i = 0; i < element.getLink().size(); i++) { 2917 composeBundleLinkComponent(t, "BundleEntryComponent", "link", element.getLink().get(i), i); 2918 } 2919 if (element.hasFullUrlElement()) { 2920 composeUri(t, "BundleEntryComponent", "fullUrl", element.getFullUrlElement(), -1); 2921 } 2922 if (element.hasResource()) { 2923 composeResource(t, "BundleEntryComponent", "resource", element.getResource(), -1); 2924 } 2925 if (element.hasSearch()) { 2926 composeBundleEntrySearchComponent(t, "BundleEntryComponent", "search", element.getSearch(), -1); 2927 } 2928 if (element.hasRequest()) { 2929 composeBundleEntryRequestComponent(t, "BundleEntryComponent", "request", element.getRequest(), -1); 2930 } 2931 if (element.hasResponse()) { 2932 composeBundleEntryResponseComponent(t, "BundleEntryComponent", "response", element.getResponse(), -1); 2933 } 2934 } 2935 2936 protected void composeBundleEntrySearchComponent(Complex parent, String parentType, String name, Bundle.BundleEntrySearchComponent element, int index) { 2937 if (element == null) 2938 return; 2939 Complex t; 2940 if (Utilities.noString(parentType)) 2941 t = parent; 2942 else { 2943 t = parent.predicate("fhir:"+parentType+'.'+name); 2944 } 2945 composeBackboneElement(t, "search", name, element, index); 2946 if (element.hasModeElement()) { 2947 composeEnum(t, "BundleEntrySearchComponent", "mode", element.getModeElement(), -1); 2948 } 2949 if (element.hasScoreElement()) { 2950 composeDecimal(t, "BundleEntrySearchComponent", "score", element.getScoreElement(), -1); 2951 } 2952 } 2953 2954 protected void composeBundleEntryRequestComponent(Complex parent, String parentType, String name, Bundle.BundleEntryRequestComponent element, int index) { 2955 if (element == null) 2956 return; 2957 Complex t; 2958 if (Utilities.noString(parentType)) 2959 t = parent; 2960 else { 2961 t = parent.predicate("fhir:"+parentType+'.'+name); 2962 } 2963 composeBackboneElement(t, "request", name, element, index); 2964 if (element.hasMethodElement()) { 2965 composeEnum(t, "BundleEntryRequestComponent", "method", element.getMethodElement(), -1); 2966 } 2967 if (element.hasUrlElement()) { 2968 composeUri(t, "BundleEntryRequestComponent", "url", element.getUrlElement(), -1); 2969 } 2970 if (element.hasIfNoneMatchElement()) { 2971 composeString(t, "BundleEntryRequestComponent", "ifNoneMatch", element.getIfNoneMatchElement(), -1); 2972 } 2973 if (element.hasIfModifiedSinceElement()) { 2974 composeInstant(t, "BundleEntryRequestComponent", "ifModifiedSince", element.getIfModifiedSinceElement(), -1); 2975 } 2976 if (element.hasIfMatchElement()) { 2977 composeString(t, "BundleEntryRequestComponent", "ifMatch", element.getIfMatchElement(), -1); 2978 } 2979 if (element.hasIfNoneExistElement()) { 2980 composeString(t, "BundleEntryRequestComponent", "ifNoneExist", element.getIfNoneExistElement(), -1); 2981 } 2982 } 2983 2984 protected void composeBundleEntryResponseComponent(Complex parent, String parentType, String name, Bundle.BundleEntryResponseComponent element, int index) { 2985 if (element == null) 2986 return; 2987 Complex t; 2988 if (Utilities.noString(parentType)) 2989 t = parent; 2990 else { 2991 t = parent.predicate("fhir:"+parentType+'.'+name); 2992 } 2993 composeBackboneElement(t, "response", name, element, index); 2994 if (element.hasStatusElement()) { 2995 composeString(t, "BundleEntryResponseComponent", "status", element.getStatusElement(), -1); 2996 } 2997 if (element.hasLocationElement()) { 2998 composeUri(t, "BundleEntryResponseComponent", "location", element.getLocationElement(), -1); 2999 } 3000 if (element.hasEtagElement()) { 3001 composeString(t, "BundleEntryResponseComponent", "etag", element.getEtagElement(), -1); 3002 } 3003 if (element.hasLastModifiedElement()) { 3004 composeInstant(t, "BundleEntryResponseComponent", "lastModified", element.getLastModifiedElement(), -1); 3005 } 3006 if (element.hasOutcome()) { 3007 composeResource(t, "BundleEntryResponseComponent", "outcome", element.getOutcome(), -1); 3008 } 3009 } 3010 3011 protected void composeCapabilityStatement(Complex parent, String parentType, String name, CapabilityStatement element, int index) { 3012 if (element == null) 3013 return; 3014 Complex t; 3015 if (Utilities.noString(parentType)) 3016 t = parent; 3017 else { 3018 t = parent.predicate("fhir:"+parentType+'.'+name); 3019 } 3020 composeDomainResource(t, "CapabilityStatement", name, element, index); 3021 if (element.hasUrlElement()) { 3022 composeUri(t, "CapabilityStatement", "url", element.getUrlElement(), -1); 3023 } 3024 if (element.hasVersionElement()) { 3025 composeString(t, "CapabilityStatement", "version", element.getVersionElement(), -1); 3026 } 3027 if (element.hasNameElement()) { 3028 composeString(t, "CapabilityStatement", "name", element.getNameElement(), -1); 3029 } 3030 if (element.hasTitleElement()) { 3031 composeString(t, "CapabilityStatement", "title", element.getTitleElement(), -1); 3032 } 3033 if (element.hasStatusElement()) { 3034 composeEnum(t, "CapabilityStatement", "status", element.getStatusElement(), -1); 3035 } 3036 if (element.hasExperimentalElement()) { 3037 composeBoolean(t, "CapabilityStatement", "experimental", element.getExperimentalElement(), -1); 3038 } 3039 if (element.hasDateElement()) { 3040 composeDateTime(t, "CapabilityStatement", "date", element.getDateElement(), -1); 3041 } 3042 if (element.hasPublisherElement()) { 3043 composeString(t, "CapabilityStatement", "publisher", element.getPublisherElement(), -1); 3044 } 3045 for (int i = 0; i < element.getContact().size(); i++) { 3046 composeContactDetail(t, "CapabilityStatement", "contact", element.getContact().get(i), i); 3047 } 3048 if (element.hasDescriptionElement()) { 3049 composeMarkdown(t, "CapabilityStatement", "description", element.getDescriptionElement(), -1); 3050 } 3051 for (int i = 0; i < element.getUseContext().size(); i++) { 3052 composeUsageContext(t, "CapabilityStatement", "useContext", element.getUseContext().get(i), i); 3053 } 3054 for (int i = 0; i < element.getJurisdiction().size(); i++) { 3055 composeCodeableConcept(t, "CapabilityStatement", "jurisdiction", element.getJurisdiction().get(i), i); 3056 } 3057 if (element.hasPurposeElement()) { 3058 composeMarkdown(t, "CapabilityStatement", "purpose", element.getPurposeElement(), -1); 3059 } 3060 if (element.hasCopyrightElement()) { 3061 composeMarkdown(t, "CapabilityStatement", "copyright", element.getCopyrightElement(), -1); 3062 } 3063 if (element.hasKindElement()) { 3064 composeEnum(t, "CapabilityStatement", "kind", element.getKindElement(), -1); 3065 } 3066 for (int i = 0; i < element.getInstantiates().size(); i++) { 3067 composeCanonical(t, "CapabilityStatement", "instantiates", element.getInstantiates().get(i), i); 3068 } 3069 for (int i = 0; i < element.getImports().size(); i++) { 3070 composeCanonical(t, "CapabilityStatement", "imports", element.getImports().get(i), i); 3071 } 3072 if (element.hasSoftware()) { 3073 composeCapabilityStatementSoftwareComponent(t, "CapabilityStatement", "software", element.getSoftware(), -1); 3074 } 3075 if (element.hasImplementation()) { 3076 composeCapabilityStatementImplementationComponent(t, "CapabilityStatement", "implementation", element.getImplementation(), -1); 3077 } 3078 if (element.hasFhirVersionElement()) { 3079 composeEnum(t, "CapabilityStatement", "fhirVersion", element.getFhirVersionElement(), -1); 3080 } 3081 for (int i = 0; i < element.getFormat().size(); i++) { 3082 composeCode(t, "CapabilityStatement", "format", element.getFormat().get(i), i); 3083 } 3084 for (int i = 0; i < element.getPatchFormat().size(); i++) { 3085 composeCode(t, "CapabilityStatement", "patchFormat", element.getPatchFormat().get(i), i); 3086 } 3087 for (int i = 0; i < element.getImplementationGuide().size(); i++) { 3088 composeCanonical(t, "CapabilityStatement", "implementationGuide", element.getImplementationGuide().get(i), i); 3089 } 3090 for (int i = 0; i < element.getRest().size(); i++) { 3091 composeCapabilityStatementRestComponent(t, "CapabilityStatement", "rest", element.getRest().get(i), i); 3092 } 3093 for (int i = 0; i < element.getMessaging().size(); i++) { 3094 composeCapabilityStatementMessagingComponent(t, "CapabilityStatement", "messaging", element.getMessaging().get(i), i); 3095 } 3096 for (int i = 0; i < element.getDocument().size(); i++) { 3097 composeCapabilityStatementDocumentComponent(t, "CapabilityStatement", "document", element.getDocument().get(i), i); 3098 } 3099 } 3100 3101 protected void composeCapabilityStatementSoftwareComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementSoftwareComponent element, int index) { 3102 if (element == null) 3103 return; 3104 Complex t; 3105 if (Utilities.noString(parentType)) 3106 t = parent; 3107 else { 3108 t = parent.predicate("fhir:"+parentType+'.'+name); 3109 } 3110 composeBackboneElement(t, "software", name, element, index); 3111 if (element.hasNameElement()) { 3112 composeString(t, "CapabilityStatementSoftwareComponent", "name", element.getNameElement(), -1); 3113 } 3114 if (element.hasVersionElement()) { 3115 composeString(t, "CapabilityStatementSoftwareComponent", "version", element.getVersionElement(), -1); 3116 } 3117 if (element.hasReleaseDateElement()) { 3118 composeDateTime(t, "CapabilityStatementSoftwareComponent", "releaseDate", element.getReleaseDateElement(), -1); 3119 } 3120 } 3121 3122 protected void composeCapabilityStatementImplementationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementImplementationComponent element, int index) { 3123 if (element == null) 3124 return; 3125 Complex t; 3126 if (Utilities.noString(parentType)) 3127 t = parent; 3128 else { 3129 t = parent.predicate("fhir:"+parentType+'.'+name); 3130 } 3131 composeBackboneElement(t, "implementation", name, element, index); 3132 if (element.hasDescriptionElement()) { 3133 composeString(t, "CapabilityStatementImplementationComponent", "description", element.getDescriptionElement(), -1); 3134 } 3135 if (element.hasUrlElement()) { 3136 composeUrl(t, "CapabilityStatementImplementationComponent", "url", element.getUrlElement(), -1); 3137 } 3138 if (element.hasCustodian()) { 3139 composeReference(t, "CapabilityStatementImplementationComponent", "custodian", element.getCustodian(), -1); 3140 } 3141 } 3142 3143 protected void composeCapabilityStatementRestComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestComponent element, int index) { 3144 if (element == null) 3145 return; 3146 Complex t; 3147 if (Utilities.noString(parentType)) 3148 t = parent; 3149 else { 3150 t = parent.predicate("fhir:"+parentType+'.'+name); 3151 } 3152 composeBackboneElement(t, "rest", name, element, index); 3153 if (element.hasModeElement()) { 3154 composeEnum(t, "CapabilityStatementRestComponent", "mode", element.getModeElement(), -1); 3155 } 3156 if (element.hasDocumentationElement()) { 3157 composeMarkdown(t, "CapabilityStatementRestComponent", "documentation", element.getDocumentationElement(), -1); 3158 } 3159 if (element.hasSecurity()) { 3160 composeCapabilityStatementRestSecurityComponent(t, "CapabilityStatementRestComponent", "security", element.getSecurity(), -1); 3161 } 3162 for (int i = 0; i < element.getResource().size(); i++) { 3163 composeCapabilityStatementRestResourceComponent(t, "CapabilityStatementRestComponent", "resource", element.getResource().get(i), i); 3164 } 3165 for (int i = 0; i < element.getInteraction().size(); i++) { 3166 composeCapabilityStatementSystemInteractionComponent(t, "CapabilityStatementRestComponent", "interaction", element.getInteraction().get(i), i); 3167 } 3168 for (int i = 0; i < element.getSearchParam().size(); i++) { 3169 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestComponent", "searchParam", element.getSearchParam().get(i), i); 3170 } 3171 for (int i = 0; i < element.getOperation().size(); i++) { 3172 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestComponent", "operation", element.getOperation().get(i), i); 3173 } 3174 for (int i = 0; i < element.getCompartment().size(); i++) { 3175 composeCanonical(t, "CapabilityStatementRestComponent", "compartment", element.getCompartment().get(i), i); 3176 } 3177 } 3178 3179 protected void composeCapabilityStatementRestSecurityComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestSecurityComponent element, int index) { 3180 if (element == null) 3181 return; 3182 Complex t; 3183 if (Utilities.noString(parentType)) 3184 t = parent; 3185 else { 3186 t = parent.predicate("fhir:"+parentType+'.'+name); 3187 } 3188 composeBackboneElement(t, "security", name, element, index); 3189 if (element.hasCorsElement()) { 3190 composeBoolean(t, "CapabilityStatementRestSecurityComponent", "cors", element.getCorsElement(), -1); 3191 } 3192 for (int i = 0; i < element.getService().size(); i++) { 3193 composeCodeableConcept(t, "CapabilityStatementRestSecurityComponent", "service", element.getService().get(i), i); 3194 } 3195 if (element.hasDescriptionElement()) { 3196 composeMarkdown(t, "CapabilityStatementRestSecurityComponent", "description", element.getDescriptionElement(), -1); 3197 } 3198 } 3199 3200 protected void composeCapabilityStatementRestResourceComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceComponent element, int index) { 3201 if (element == null) 3202 return; 3203 Complex t; 3204 if (Utilities.noString(parentType)) 3205 t = parent; 3206 else { 3207 t = parent.predicate("fhir:"+parentType+'.'+name); 3208 } 3209 composeBackboneElement(t, "resource", name, element, index); 3210 if (element.hasTypeElement()) { 3211 composeCode(t, "CapabilityStatementRestResourceComponent", "type", element.getTypeElement(), -1); 3212 } 3213 if (element.hasProfileElement()) { 3214 composeCanonical(t, "CapabilityStatementRestResourceComponent", "profile", element.getProfileElement(), -1); 3215 } 3216 for (int i = 0; i < element.getSupportedProfile().size(); i++) { 3217 composeCanonical(t, "CapabilityStatementRestResourceComponent", "supportedProfile", element.getSupportedProfile().get(i), i); 3218 } 3219 if (element.hasDocumentationElement()) { 3220 composeMarkdown(t, "CapabilityStatementRestResourceComponent", "documentation", element.getDocumentationElement(), -1); 3221 } 3222 for (int i = 0; i < element.getInteraction().size(); i++) { 3223 composeCapabilityStatementResourceInteractionComponent(t, "CapabilityStatementRestResourceComponent", "interaction", element.getInteraction().get(i), i); 3224 } 3225 if (element.hasVersioningElement()) { 3226 composeEnum(t, "CapabilityStatementRestResourceComponent", "versioning", element.getVersioningElement(), -1); 3227 } 3228 if (element.hasReadHistoryElement()) { 3229 composeBoolean(t, "CapabilityStatementRestResourceComponent", "readHistory", element.getReadHistoryElement(), -1); 3230 } 3231 if (element.hasUpdateCreateElement()) { 3232 composeBoolean(t, "CapabilityStatementRestResourceComponent", "updateCreate", element.getUpdateCreateElement(), -1); 3233 } 3234 if (element.hasConditionalCreateElement()) { 3235 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalCreate", element.getConditionalCreateElement(), -1); 3236 } 3237 if (element.hasConditionalReadElement()) { 3238 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalRead", element.getConditionalReadElement(), -1); 3239 } 3240 if (element.hasConditionalUpdateElement()) { 3241 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalUpdate", element.getConditionalUpdateElement(), -1); 3242 } 3243 if (element.hasConditionalDeleteElement()) { 3244 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalDelete", element.getConditionalDeleteElement(), -1); 3245 } 3246 for (int i = 0; i < element.getReferencePolicy().size(); i++) { 3247 composeEnum(t, "CapabilityStatementRestResourceComponent", "referencePolicy", element.getReferencePolicy().get(i), i); 3248 } 3249 for (int i = 0; i < element.getSearchInclude().size(); i++) { 3250 composeString(t, "CapabilityStatementRestResourceComponent", "searchInclude", element.getSearchInclude().get(i), i); 3251 } 3252 for (int i = 0; i < element.getSearchRevInclude().size(); i++) { 3253 composeString(t, "CapabilityStatementRestResourceComponent", "searchRevInclude", element.getSearchRevInclude().get(i), i); 3254 } 3255 for (int i = 0; i < element.getSearchParam().size(); i++) { 3256 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestResourceComponent", "searchParam", element.getSearchParam().get(i), i); 3257 } 3258 for (int i = 0; i < element.getOperation().size(); i++) { 3259 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestResourceComponent", "operation", element.getOperation().get(i), i); 3260 } 3261 } 3262 3263 protected void composeCapabilityStatementResourceInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.ResourceInteractionComponent element, int index) { 3264 if (element == null) 3265 return; 3266 Complex t; 3267 if (Utilities.noString(parentType)) 3268 t = parent; 3269 else { 3270 t = parent.predicate("fhir:"+parentType+'.'+name); 3271 } 3272 composeBackboneElement(t, "interaction", name, element, index); 3273 if (element.hasCodeElement()) { 3274 composeEnum(t, "ResourceInteractionComponent", "code", element.getCodeElement(), -1); 3275 } 3276 if (element.hasDocumentationElement()) { 3277 composeMarkdown(t, "ResourceInteractionComponent", "documentation", element.getDocumentationElement(), -1); 3278 } 3279 } 3280 3281 protected void composeCapabilityStatementRestResourceSearchParamComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent element, int index) { 3282 if (element == null) 3283 return; 3284 Complex t; 3285 if (Utilities.noString(parentType)) 3286 t = parent; 3287 else { 3288 t = parent.predicate("fhir:"+parentType+'.'+name); 3289 } 3290 composeBackboneElement(t, "searchParam", name, element, index); 3291 if (element.hasNameElement()) { 3292 composeString(t, "CapabilityStatementRestResourceSearchParamComponent", "name", element.getNameElement(), -1); 3293 } 3294 if (element.hasDefinitionElement()) { 3295 composeCanonical(t, "CapabilityStatementRestResourceSearchParamComponent", "definition", element.getDefinitionElement(), -1); 3296 } 3297 if (element.hasTypeElement()) { 3298 composeEnum(t, "CapabilityStatementRestResourceSearchParamComponent", "type", element.getTypeElement(), -1); 3299 } 3300 if (element.hasDocumentationElement()) { 3301 composeMarkdown(t, "CapabilityStatementRestResourceSearchParamComponent", "documentation", element.getDocumentationElement(), -1); 3302 } 3303 } 3304 3305 protected void composeCapabilityStatementRestResourceOperationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceOperationComponent element, int index) { 3306 if (element == null) 3307 return; 3308 Complex t; 3309 if (Utilities.noString(parentType)) 3310 t = parent; 3311 else { 3312 t = parent.predicate("fhir:"+parentType+'.'+name); 3313 } 3314 composeBackboneElement(t, "operation", name, element, index); 3315 if (element.hasNameElement()) { 3316 composeString(t, "CapabilityStatementRestResourceOperationComponent", "name", element.getNameElement(), -1); 3317 } 3318 if (element.hasDefinitionElement()) { 3319 composeCanonical(t, "CapabilityStatementRestResourceOperationComponent", "definition", element.getDefinitionElement(), -1); 3320 } 3321 if (element.hasDocumentationElement()) { 3322 composeMarkdown(t, "CapabilityStatementRestResourceOperationComponent", "documentation", element.getDocumentationElement(), -1); 3323 } 3324 } 3325 3326 protected void composeCapabilityStatementSystemInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.SystemInteractionComponent element, int index) { 3327 if (element == null) 3328 return; 3329 Complex t; 3330 if (Utilities.noString(parentType)) 3331 t = parent; 3332 else { 3333 t = parent.predicate("fhir:"+parentType+'.'+name); 3334 } 3335 composeBackboneElement(t, "interaction", name, element, index); 3336 if (element.hasCodeElement()) { 3337 composeEnum(t, "SystemInteractionComponent", "code", element.getCodeElement(), -1); 3338 } 3339 if (element.hasDocumentationElement()) { 3340 composeMarkdown(t, "SystemInteractionComponent", "documentation", element.getDocumentationElement(), -1); 3341 } 3342 } 3343 3344 protected void composeCapabilityStatementMessagingComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingComponent element, int index) { 3345 if (element == null) 3346 return; 3347 Complex t; 3348 if (Utilities.noString(parentType)) 3349 t = parent; 3350 else { 3351 t = parent.predicate("fhir:"+parentType+'.'+name); 3352 } 3353 composeBackboneElement(t, "messaging", name, element, index); 3354 for (int i = 0; i < element.getEndpoint().size(); i++) { 3355 composeCapabilityStatementMessagingEndpointComponent(t, "CapabilityStatementMessagingComponent", "endpoint", element.getEndpoint().get(i), i); 3356 } 3357 if (element.hasReliableCacheElement()) { 3358 composeUnsignedInt(t, "CapabilityStatementMessagingComponent", "reliableCache", element.getReliableCacheElement(), -1); 3359 } 3360 if (element.hasDocumentationElement()) { 3361 composeMarkdown(t, "CapabilityStatementMessagingComponent", "documentation", element.getDocumentationElement(), -1); 3362 } 3363 for (int i = 0; i < element.getSupportedMessage().size(); i++) { 3364 composeCapabilityStatementMessagingSupportedMessageComponent(t, "CapabilityStatementMessagingComponent", "supportedMessage", element.getSupportedMessage().get(i), i); 3365 } 3366 } 3367 3368 protected void composeCapabilityStatementMessagingEndpointComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingEndpointComponent element, int index) { 3369 if (element == null) 3370 return; 3371 Complex t; 3372 if (Utilities.noString(parentType)) 3373 t = parent; 3374 else { 3375 t = parent.predicate("fhir:"+parentType+'.'+name); 3376 } 3377 composeBackboneElement(t, "endpoint", name, element, index); 3378 if (element.hasProtocol()) { 3379 composeCoding(t, "CapabilityStatementMessagingEndpointComponent", "protocol", element.getProtocol(), -1); 3380 } 3381 if (element.hasAddressElement()) { 3382 composeUrl(t, "CapabilityStatementMessagingEndpointComponent", "address", element.getAddressElement(), -1); 3383 } 3384 } 3385 3386 protected void composeCapabilityStatementMessagingSupportedMessageComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent element, int index) { 3387 if (element == null) 3388 return; 3389 Complex t; 3390 if (Utilities.noString(parentType)) 3391 t = parent; 3392 else { 3393 t = parent.predicate("fhir:"+parentType+'.'+name); 3394 } 3395 composeBackboneElement(t, "supportedMessage", name, element, index); 3396 if (element.hasModeElement()) { 3397 composeEnum(t, "CapabilityStatementMessagingSupportedMessageComponent", "mode", element.getModeElement(), -1); 3398 } 3399 if (element.hasDefinitionElement()) { 3400 composeCanonical(t, "CapabilityStatementMessagingSupportedMessageComponent", "definition", element.getDefinitionElement(), -1); 3401 } 3402 } 3403 3404 protected void composeCapabilityStatementDocumentComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementDocumentComponent element, int index) { 3405 if (element == null) 3406 return; 3407 Complex t; 3408 if (Utilities.noString(parentType)) 3409 t = parent; 3410 else { 3411 t = parent.predicate("fhir:"+parentType+'.'+name); 3412 } 3413 composeBackboneElement(t, "document", name, element, index); 3414 if (element.hasModeElement()) { 3415 composeEnum(t, "CapabilityStatementDocumentComponent", "mode", element.getModeElement(), -1); 3416 } 3417 if (element.hasDocumentationElement()) { 3418 composeMarkdown(t, "CapabilityStatementDocumentComponent", "documentation", element.getDocumentationElement(), -1); 3419 } 3420 if (element.hasProfileElement()) { 3421 composeCanonical(t, "CapabilityStatementDocumentComponent", "profile", element.getProfileElement(), -1); 3422 } 3423 } 3424 3425 protected void composeCarePlan(Complex parent, String parentType, String name, CarePlan element, int index) { 3426 if (element == null) 3427 return; 3428 Complex t; 3429 if (Utilities.noString(parentType)) 3430 t = parent; 3431 else { 3432 t = parent.predicate("fhir:"+parentType+'.'+name); 3433 } 3434 composeDomainResource(t, "CarePlan", name, element, index); 3435 for (int i = 0; i < element.getIdentifier().size(); i++) { 3436 composeIdentifier(t, "CarePlan", "identifier", element.getIdentifier().get(i), i); 3437 } 3438 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 3439 composeCanonical(t, "CarePlan", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 3440 } 3441 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 3442 composeUri(t, "CarePlan", "instantiatesUri", element.getInstantiatesUri().get(i), i); 3443 } 3444 for (int i = 0; i < element.getBasedOn().size(); i++) { 3445 composeReference(t, "CarePlan", "basedOn", element.getBasedOn().get(i), i); 3446 } 3447 for (int i = 0; i < element.getReplaces().size(); i++) { 3448 composeReference(t, "CarePlan", "replaces", element.getReplaces().get(i), i); 3449 } 3450 for (int i = 0; i < element.getPartOf().size(); i++) { 3451 composeReference(t, "CarePlan", "partOf", element.getPartOf().get(i), i); 3452 } 3453 if (element.hasStatusElement()) { 3454 composeEnum(t, "CarePlan", "status", element.getStatusElement(), -1); 3455 } 3456 if (element.hasIntentElement()) { 3457 composeEnum(t, "CarePlan", "intent", element.getIntentElement(), -1); 3458 } 3459 for (int i = 0; i < element.getCategory().size(); i++) { 3460 composeCodeableConcept(t, "CarePlan", "category", element.getCategory().get(i), i); 3461 } 3462 if (element.hasTitleElement()) { 3463 composeString(t, "CarePlan", "title", element.getTitleElement(), -1); 3464 } 3465 if (element.hasDescriptionElement()) { 3466 composeString(t, "CarePlan", "description", element.getDescriptionElement(), -1); 3467 } 3468 if (element.hasSubject()) { 3469 composeReference(t, "CarePlan", "subject", element.getSubject(), -1); 3470 } 3471 if (element.hasEncounter()) { 3472 composeReference(t, "CarePlan", "encounter", element.getEncounter(), -1); 3473 } 3474 if (element.hasPeriod()) { 3475 composePeriod(t, "CarePlan", "period", element.getPeriod(), -1); 3476 } 3477 if (element.hasCreatedElement()) { 3478 composeDateTime(t, "CarePlan", "created", element.getCreatedElement(), -1); 3479 } 3480 if (element.hasAuthor()) { 3481 composeReference(t, "CarePlan", "author", element.getAuthor(), -1); 3482 } 3483 for (int i = 0; i < element.getContributor().size(); i++) { 3484 composeReference(t, "CarePlan", "contributor", element.getContributor().get(i), i); 3485 } 3486 for (int i = 0; i < element.getCareTeam().size(); i++) { 3487 composeReference(t, "CarePlan", "careTeam", element.getCareTeam().get(i), i); 3488 } 3489 for (int i = 0; i < element.getAddresses().size(); i++) { 3490 composeReference(t, "CarePlan", "addresses", element.getAddresses().get(i), i); 3491 } 3492 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 3493 composeReference(t, "CarePlan", "supportingInfo", element.getSupportingInfo().get(i), i); 3494 } 3495 for (int i = 0; i < element.getGoal().size(); i++) { 3496 composeReference(t, "CarePlan", "goal", element.getGoal().get(i), i); 3497 } 3498 for (int i = 0; i < element.getActivity().size(); i++) { 3499 composeCarePlanActivityComponent(t, "CarePlan", "activity", element.getActivity().get(i), i); 3500 } 3501 for (int i = 0; i < element.getNote().size(); i++) { 3502 composeAnnotation(t, "CarePlan", "note", element.getNote().get(i), i); 3503 } 3504 } 3505 3506 protected void composeCarePlanActivityComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityComponent element, int index) { 3507 if (element == null) 3508 return; 3509 Complex t; 3510 if (Utilities.noString(parentType)) 3511 t = parent; 3512 else { 3513 t = parent.predicate("fhir:"+parentType+'.'+name); 3514 } 3515 composeBackboneElement(t, "activity", name, element, index); 3516 for (int i = 0; i < element.getOutcomeCodeableConcept().size(); i++) { 3517 composeCodeableConcept(t, "CarePlanActivityComponent", "outcomeCodeableConcept", element.getOutcomeCodeableConcept().get(i), i); 3518 } 3519 for (int i = 0; i < element.getOutcomeReference().size(); i++) { 3520 composeReference(t, "CarePlanActivityComponent", "outcomeReference", element.getOutcomeReference().get(i), i); 3521 } 3522 for (int i = 0; i < element.getProgress().size(); i++) { 3523 composeAnnotation(t, "CarePlanActivityComponent", "progress", element.getProgress().get(i), i); 3524 } 3525 if (element.hasReference()) { 3526 composeReference(t, "CarePlanActivityComponent", "reference", element.getReference(), -1); 3527 } 3528 if (element.hasDetail()) { 3529 composeCarePlanActivityDetailComponent(t, "CarePlanActivityComponent", "detail", element.getDetail(), -1); 3530 } 3531 } 3532 3533 protected void composeCarePlanActivityDetailComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityDetailComponent element, int index) { 3534 if (element == null) 3535 return; 3536 Complex t; 3537 if (Utilities.noString(parentType)) 3538 t = parent; 3539 else { 3540 t = parent.predicate("fhir:"+parentType+'.'+name); 3541 } 3542 composeBackboneElement(t, "detail", name, element, index); 3543 if (element.hasKindElement()) { 3544 composeEnum(t, "CarePlanActivityDetailComponent", "kind", element.getKindElement(), -1); 3545 } 3546 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 3547 composeCanonical(t, "CarePlanActivityDetailComponent", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 3548 } 3549 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 3550 composeUri(t, "CarePlanActivityDetailComponent", "instantiatesUri", element.getInstantiatesUri().get(i), i); 3551 } 3552 if (element.hasCode()) { 3553 composeCodeableConcept(t, "CarePlanActivityDetailComponent", "code", element.getCode(), -1); 3554 } 3555 for (int i = 0; i < element.getReasonCode().size(); i++) { 3556 composeCodeableConcept(t, "CarePlanActivityDetailComponent", "reasonCode", element.getReasonCode().get(i), i); 3557 } 3558 for (int i = 0; i < element.getReasonReference().size(); i++) { 3559 composeReference(t, "CarePlanActivityDetailComponent", "reasonReference", element.getReasonReference().get(i), i); 3560 } 3561 for (int i = 0; i < element.getGoal().size(); i++) { 3562 composeReference(t, "CarePlanActivityDetailComponent", "goal", element.getGoal().get(i), i); 3563 } 3564 if (element.hasStatusElement()) { 3565 composeEnum(t, "CarePlanActivityDetailComponent", "status", element.getStatusElement(), -1); 3566 } 3567 if (element.hasStatusReason()) { 3568 composeCodeableConcept(t, "CarePlanActivityDetailComponent", "statusReason", element.getStatusReason(), -1); 3569 } 3570 if (element.hasDoNotPerformElement()) { 3571 composeBoolean(t, "CarePlanActivityDetailComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 3572 } 3573 if (element.hasScheduled()) { 3574 composeType(t, "CarePlanActivityDetailComponent", "scheduled", element.getScheduled(), -1); 3575 } 3576 if (element.hasLocation()) { 3577 composeReference(t, "CarePlanActivityDetailComponent", "location", element.getLocation(), -1); 3578 } 3579 for (int i = 0; i < element.getPerformer().size(); i++) { 3580 composeReference(t, "CarePlanActivityDetailComponent", "performer", element.getPerformer().get(i), i); 3581 } 3582 if (element.hasProduct()) { 3583 composeType(t, "CarePlanActivityDetailComponent", "product", element.getProduct(), -1); 3584 } 3585 if (element.hasDailyAmount()) { 3586 composeQuantity(t, "CarePlanActivityDetailComponent", "dailyAmount", element.getDailyAmount(), -1); 3587 } 3588 if (element.hasQuantity()) { 3589 composeQuantity(t, "CarePlanActivityDetailComponent", "quantity", element.getQuantity(), -1); 3590 } 3591 if (element.hasDescriptionElement()) { 3592 composeString(t, "CarePlanActivityDetailComponent", "description", element.getDescriptionElement(), -1); 3593 } 3594 } 3595 3596 protected void composeCareTeam(Complex parent, String parentType, String name, CareTeam element, int index) { 3597 if (element == null) 3598 return; 3599 Complex t; 3600 if (Utilities.noString(parentType)) 3601 t = parent; 3602 else { 3603 t = parent.predicate("fhir:"+parentType+'.'+name); 3604 } 3605 composeDomainResource(t, "CareTeam", name, element, index); 3606 for (int i = 0; i < element.getIdentifier().size(); i++) { 3607 composeIdentifier(t, "CareTeam", "identifier", element.getIdentifier().get(i), i); 3608 } 3609 if (element.hasStatusElement()) { 3610 composeEnum(t, "CareTeam", "status", element.getStatusElement(), -1); 3611 } 3612 for (int i = 0; i < element.getCategory().size(); i++) { 3613 composeCodeableConcept(t, "CareTeam", "category", element.getCategory().get(i), i); 3614 } 3615 if (element.hasNameElement()) { 3616 composeString(t, "CareTeam", "name", element.getNameElement(), -1); 3617 } 3618 if (element.hasSubject()) { 3619 composeReference(t, "CareTeam", "subject", element.getSubject(), -1); 3620 } 3621 if (element.hasEncounter()) { 3622 composeReference(t, "CareTeam", "encounter", element.getEncounter(), -1); 3623 } 3624 if (element.hasPeriod()) { 3625 composePeriod(t, "CareTeam", "period", element.getPeriod(), -1); 3626 } 3627 for (int i = 0; i < element.getParticipant().size(); i++) { 3628 composeCareTeamParticipantComponent(t, "CareTeam", "participant", element.getParticipant().get(i), i); 3629 } 3630 for (int i = 0; i < element.getReasonCode().size(); i++) { 3631 composeCodeableConcept(t, "CareTeam", "reasonCode", element.getReasonCode().get(i), i); 3632 } 3633 for (int i = 0; i < element.getReasonReference().size(); i++) { 3634 composeReference(t, "CareTeam", "reasonReference", element.getReasonReference().get(i), i); 3635 } 3636 for (int i = 0; i < element.getManagingOrganization().size(); i++) { 3637 composeReference(t, "CareTeam", "managingOrganization", element.getManagingOrganization().get(i), i); 3638 } 3639 for (int i = 0; i < element.getTelecom().size(); i++) { 3640 composeContactPoint(t, "CareTeam", "telecom", element.getTelecom().get(i), i); 3641 } 3642 for (int i = 0; i < element.getNote().size(); i++) { 3643 composeAnnotation(t, "CareTeam", "note", element.getNote().get(i), i); 3644 } 3645 } 3646 3647 protected void composeCareTeamParticipantComponent(Complex parent, String parentType, String name, CareTeam.CareTeamParticipantComponent element, int index) { 3648 if (element == null) 3649 return; 3650 Complex t; 3651 if (Utilities.noString(parentType)) 3652 t = parent; 3653 else { 3654 t = parent.predicate("fhir:"+parentType+'.'+name); 3655 } 3656 composeBackboneElement(t, "participant", name, element, index); 3657 for (int i = 0; i < element.getRole().size(); i++) { 3658 composeCodeableConcept(t, "CareTeamParticipantComponent", "role", element.getRole().get(i), i); 3659 } 3660 if (element.hasMember()) { 3661 composeReference(t, "CareTeamParticipantComponent", "member", element.getMember(), -1); 3662 } 3663 if (element.hasOnBehalfOf()) { 3664 composeReference(t, "CareTeamParticipantComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 3665 } 3666 if (element.hasPeriod()) { 3667 composePeriod(t, "CareTeamParticipantComponent", "period", element.getPeriod(), -1); 3668 } 3669 } 3670 3671 protected void composeCatalogEntry(Complex parent, String parentType, String name, CatalogEntry element, int index) { 3672 if (element == null) 3673 return; 3674 Complex t; 3675 if (Utilities.noString(parentType)) 3676 t = parent; 3677 else { 3678 t = parent.predicate("fhir:"+parentType+'.'+name); 3679 } 3680 composeDomainResource(t, "CatalogEntry", name, element, index); 3681 for (int i = 0; i < element.getIdentifier().size(); i++) { 3682 composeIdentifier(t, "CatalogEntry", "identifier", element.getIdentifier().get(i), i); 3683 } 3684 if (element.hasType()) { 3685 composeCodeableConcept(t, "CatalogEntry", "type", element.getType(), -1); 3686 } 3687 if (element.hasOrderableElement()) { 3688 composeBoolean(t, "CatalogEntry", "orderable", element.getOrderableElement(), -1); 3689 } 3690 if (element.hasReferencedItem()) { 3691 composeReference(t, "CatalogEntry", "referencedItem", element.getReferencedItem(), -1); 3692 } 3693 for (int i = 0; i < element.getAdditionalIdentifier().size(); i++) { 3694 composeIdentifier(t, "CatalogEntry", "additionalIdentifier", element.getAdditionalIdentifier().get(i), i); 3695 } 3696 for (int i = 0; i < element.getClassification().size(); i++) { 3697 composeCodeableConcept(t, "CatalogEntry", "classification", element.getClassification().get(i), i); 3698 } 3699 if (element.hasStatusElement()) { 3700 composeEnum(t, "CatalogEntry", "status", element.getStatusElement(), -1); 3701 } 3702 if (element.hasValidityPeriod()) { 3703 composePeriod(t, "CatalogEntry", "validityPeriod", element.getValidityPeriod(), -1); 3704 } 3705 if (element.hasValidToElement()) { 3706 composeDateTime(t, "CatalogEntry", "validTo", element.getValidToElement(), -1); 3707 } 3708 if (element.hasLastUpdatedElement()) { 3709 composeDateTime(t, "CatalogEntry", "lastUpdated", element.getLastUpdatedElement(), -1); 3710 } 3711 for (int i = 0; i < element.getAdditionalCharacteristic().size(); i++) { 3712 composeCodeableConcept(t, "CatalogEntry", "additionalCharacteristic", element.getAdditionalCharacteristic().get(i), i); 3713 } 3714 for (int i = 0; i < element.getAdditionalClassification().size(); i++) { 3715 composeCodeableConcept(t, "CatalogEntry", "additionalClassification", element.getAdditionalClassification().get(i), i); 3716 } 3717 for (int i = 0; i < element.getRelatedEntry().size(); i++) { 3718 composeCatalogEntryRelatedEntryComponent(t, "CatalogEntry", "relatedEntry", element.getRelatedEntry().get(i), i); 3719 } 3720 } 3721 3722 protected void composeCatalogEntryRelatedEntryComponent(Complex parent, String parentType, String name, CatalogEntry.CatalogEntryRelatedEntryComponent element, int index) { 3723 if (element == null) 3724 return; 3725 Complex t; 3726 if (Utilities.noString(parentType)) 3727 t = parent; 3728 else { 3729 t = parent.predicate("fhir:"+parentType+'.'+name); 3730 } 3731 composeBackboneElement(t, "relatedEntry", name, element, index); 3732 if (element.hasRelationtypeElement()) { 3733 composeEnum(t, "CatalogEntryRelatedEntryComponent", "relationtype", element.getRelationtypeElement(), -1); 3734 } 3735 if (element.hasItem()) { 3736 composeReference(t, "CatalogEntryRelatedEntryComponent", "item", element.getItem(), -1); 3737 } 3738 } 3739 3740 protected void composeChargeItem(Complex parent, String parentType, String name, ChargeItem element, int index) { 3741 if (element == null) 3742 return; 3743 Complex t; 3744 if (Utilities.noString(parentType)) 3745 t = parent; 3746 else { 3747 t = parent.predicate("fhir:"+parentType+'.'+name); 3748 } 3749 composeDomainResource(t, "ChargeItem", name, element, index); 3750 for (int i = 0; i < element.getIdentifier().size(); i++) { 3751 composeIdentifier(t, "ChargeItem", "identifier", element.getIdentifier().get(i), i); 3752 } 3753 for (int i = 0; i < element.getDefinitionUri().size(); i++) { 3754 composeUri(t, "ChargeItem", "definitionUri", element.getDefinitionUri().get(i), i); 3755 } 3756 for (int i = 0; i < element.getDefinitionCanonical().size(); i++) { 3757 composeCanonical(t, "ChargeItem", "definitionCanonical", element.getDefinitionCanonical().get(i), i); 3758 } 3759 if (element.hasStatusElement()) { 3760 composeEnum(t, "ChargeItem", "status", element.getStatusElement(), -1); 3761 } 3762 for (int i = 0; i < element.getPartOf().size(); i++) { 3763 composeReference(t, "ChargeItem", "partOf", element.getPartOf().get(i), i); 3764 } 3765 if (element.hasCode()) { 3766 composeCodeableConcept(t, "ChargeItem", "code", element.getCode(), -1); 3767 } 3768 if (element.hasSubject()) { 3769 composeReference(t, "ChargeItem", "subject", element.getSubject(), -1); 3770 } 3771 if (element.hasContext()) { 3772 composeReference(t, "ChargeItem", "context", element.getContext(), -1); 3773 } 3774 if (element.hasOccurrence()) { 3775 composeType(t, "ChargeItem", "occurrence", element.getOccurrence(), -1); 3776 } 3777 for (int i = 0; i < element.getPerformer().size(); i++) { 3778 composeChargeItemPerformerComponent(t, "ChargeItem", "performer", element.getPerformer().get(i), i); 3779 } 3780 if (element.hasPerformingOrganization()) { 3781 composeReference(t, "ChargeItem", "performingOrganization", element.getPerformingOrganization(), -1); 3782 } 3783 if (element.hasRequestingOrganization()) { 3784 composeReference(t, "ChargeItem", "requestingOrganization", element.getRequestingOrganization(), -1); 3785 } 3786 if (element.hasCostCenter()) { 3787 composeReference(t, "ChargeItem", "costCenter", element.getCostCenter(), -1); 3788 } 3789 if (element.hasQuantity()) { 3790 composeQuantity(t, "ChargeItem", "quantity", element.getQuantity(), -1); 3791 } 3792 for (int i = 0; i < element.getBodysite().size(); i++) { 3793 composeCodeableConcept(t, "ChargeItem", "bodysite", element.getBodysite().get(i), i); 3794 } 3795 if (element.hasFactorOverrideElement()) { 3796 composeDecimal(t, "ChargeItem", "factorOverride", element.getFactorOverrideElement(), -1); 3797 } 3798 if (element.hasPriceOverride()) { 3799 composeMoney(t, "ChargeItem", "priceOverride", element.getPriceOverride(), -1); 3800 } 3801 if (element.hasOverrideReasonElement()) { 3802 composeString(t, "ChargeItem", "overrideReason", element.getOverrideReasonElement(), -1); 3803 } 3804 if (element.hasEnterer()) { 3805 composeReference(t, "ChargeItem", "enterer", element.getEnterer(), -1); 3806 } 3807 if (element.hasEnteredDateElement()) { 3808 composeDateTime(t, "ChargeItem", "enteredDate", element.getEnteredDateElement(), -1); 3809 } 3810 for (int i = 0; i < element.getReason().size(); i++) { 3811 composeCodeableConcept(t, "ChargeItem", "reason", element.getReason().get(i), i); 3812 } 3813 for (int i = 0; i < element.getService().size(); i++) { 3814 composeReference(t, "ChargeItem", "service", element.getService().get(i), i); 3815 } 3816 if (element.hasProduct()) { 3817 composeType(t, "ChargeItem", "product", element.getProduct(), -1); 3818 } 3819 for (int i = 0; i < element.getAccount().size(); i++) { 3820 composeReference(t, "ChargeItem", "account", element.getAccount().get(i), i); 3821 } 3822 for (int i = 0; i < element.getNote().size(); i++) { 3823 composeAnnotation(t, "ChargeItem", "note", element.getNote().get(i), i); 3824 } 3825 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 3826 composeReference(t, "ChargeItem", "supportingInformation", element.getSupportingInformation().get(i), i); 3827 } 3828 } 3829 3830 protected void composeChargeItemPerformerComponent(Complex parent, String parentType, String name, ChargeItem.ChargeItemPerformerComponent element, int index) { 3831 if (element == null) 3832 return; 3833 Complex t; 3834 if (Utilities.noString(parentType)) 3835 t = parent; 3836 else { 3837 t = parent.predicate("fhir:"+parentType+'.'+name); 3838 } 3839 composeBackboneElement(t, "performer", name, element, index); 3840 if (element.hasFunction()) { 3841 composeCodeableConcept(t, "ChargeItemPerformerComponent", "function", element.getFunction(), -1); 3842 } 3843 if (element.hasActor()) { 3844 composeReference(t, "ChargeItemPerformerComponent", "actor", element.getActor(), -1); 3845 } 3846 } 3847 3848 protected void composeChargeItemDefinition(Complex parent, String parentType, String name, ChargeItemDefinition element, int index) { 3849 if (element == null) 3850 return; 3851 Complex t; 3852 if (Utilities.noString(parentType)) 3853 t = parent; 3854 else { 3855 t = parent.predicate("fhir:"+parentType+'.'+name); 3856 } 3857 composeDomainResource(t, "ChargeItemDefinition", name, element, index); 3858 if (element.hasUrlElement()) { 3859 composeUri(t, "ChargeItemDefinition", "url", element.getUrlElement(), -1); 3860 } 3861 for (int i = 0; i < element.getIdentifier().size(); i++) { 3862 composeIdentifier(t, "ChargeItemDefinition", "identifier", element.getIdentifier().get(i), i); 3863 } 3864 if (element.hasVersionElement()) { 3865 composeString(t, "ChargeItemDefinition", "version", element.getVersionElement(), -1); 3866 } 3867 if (element.hasTitleElement()) { 3868 composeString(t, "ChargeItemDefinition", "title", element.getTitleElement(), -1); 3869 } 3870 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 3871 composeUri(t, "ChargeItemDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 3872 } 3873 for (int i = 0; i < element.getPartOf().size(); i++) { 3874 composeCanonical(t, "ChargeItemDefinition", "partOf", element.getPartOf().get(i), i); 3875 } 3876 for (int i = 0; i < element.getReplaces().size(); i++) { 3877 composeCanonical(t, "ChargeItemDefinition", "replaces", element.getReplaces().get(i), i); 3878 } 3879 if (element.hasStatusElement()) { 3880 composeEnum(t, "ChargeItemDefinition", "status", element.getStatusElement(), -1); 3881 } 3882 if (element.hasExperimentalElement()) { 3883 composeBoolean(t, "ChargeItemDefinition", "experimental", element.getExperimentalElement(), -1); 3884 } 3885 if (element.hasDateElement()) { 3886 composeDateTime(t, "ChargeItemDefinition", "date", element.getDateElement(), -1); 3887 } 3888 if (element.hasPublisherElement()) { 3889 composeString(t, "ChargeItemDefinition", "publisher", element.getPublisherElement(), -1); 3890 } 3891 for (int i = 0; i < element.getContact().size(); i++) { 3892 composeContactDetail(t, "ChargeItemDefinition", "contact", element.getContact().get(i), i); 3893 } 3894 if (element.hasDescriptionElement()) { 3895 composeMarkdown(t, "ChargeItemDefinition", "description", element.getDescriptionElement(), -1); 3896 } 3897 for (int i = 0; i < element.getUseContext().size(); i++) { 3898 composeUsageContext(t, "ChargeItemDefinition", "useContext", element.getUseContext().get(i), i); 3899 } 3900 for (int i = 0; i < element.getJurisdiction().size(); i++) { 3901 composeCodeableConcept(t, "ChargeItemDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 3902 } 3903 if (element.hasCopyrightElement()) { 3904 composeMarkdown(t, "ChargeItemDefinition", "copyright", element.getCopyrightElement(), -1); 3905 } 3906 if (element.hasApprovalDateElement()) { 3907 composeDate(t, "ChargeItemDefinition", "approvalDate", element.getApprovalDateElement(), -1); 3908 } 3909 if (element.hasLastReviewDateElement()) { 3910 composeDate(t, "ChargeItemDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 3911 } 3912 if (element.hasEffectivePeriod()) { 3913 composePeriod(t, "ChargeItemDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 3914 } 3915 if (element.hasCode()) { 3916 composeCodeableConcept(t, "ChargeItemDefinition", "code", element.getCode(), -1); 3917 } 3918 for (int i = 0; i < element.getInstance().size(); i++) { 3919 composeReference(t, "ChargeItemDefinition", "instance", element.getInstance().get(i), i); 3920 } 3921 for (int i = 0; i < element.getApplicability().size(); i++) { 3922 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinition", "applicability", element.getApplicability().get(i), i); 3923 } 3924 for (int i = 0; i < element.getPropertyGroup().size(); i++) { 3925 composeChargeItemDefinitionPropertyGroupComponent(t, "ChargeItemDefinition", "propertyGroup", element.getPropertyGroup().get(i), i); 3926 } 3927 } 3928 3929 protected void composeChargeItemDefinitionApplicabilityComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element, int index) { 3930 if (element == null) 3931 return; 3932 Complex t; 3933 if (Utilities.noString(parentType)) 3934 t = parent; 3935 else { 3936 t = parent.predicate("fhir:"+parentType+'.'+name); 3937 } 3938 composeBackboneElement(t, "applicability", name, element, index); 3939 if (element.hasDescriptionElement()) { 3940 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "description", element.getDescriptionElement(), -1); 3941 } 3942 if (element.hasLanguageElement()) { 3943 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "language", element.getLanguageElement(), -1); 3944 } 3945 if (element.hasExpressionElement()) { 3946 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "expression", element.getExpressionElement(), -1); 3947 } 3948 } 3949 3950 protected void composeChargeItemDefinitionPropertyGroupComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent element, int index) { 3951 if (element == null) 3952 return; 3953 Complex t; 3954 if (Utilities.noString(parentType)) 3955 t = parent; 3956 else { 3957 t = parent.predicate("fhir:"+parentType+'.'+name); 3958 } 3959 composeBackboneElement(t, "propertyGroup", name, element, index); 3960 for (int i = 0; i < element.getApplicability().size(); i++) { 3961 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "applicability", element.getApplicability().get(i), i); 3962 } 3963 for (int i = 0; i < element.getPriceComponent().size(); i++) { 3964 composeChargeItemDefinitionPropertyGroupPriceComponentComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "priceComponent", element.getPriceComponent().get(i), i); 3965 } 3966 } 3967 3968 protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element, int index) { 3969 if (element == null) 3970 return; 3971 Complex t; 3972 if (Utilities.noString(parentType)) 3973 t = parent; 3974 else { 3975 t = parent.predicate("fhir:"+parentType+'.'+name); 3976 } 3977 composeBackboneElement(t, "priceComponent", name, element, index); 3978 if (element.hasTypeElement()) { 3979 composeEnum(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "type", element.getTypeElement(), -1); 3980 } 3981 if (element.hasCode()) { 3982 composeCodeableConcept(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "code", element.getCode(), -1); 3983 } 3984 if (element.hasFactorElement()) { 3985 composeDecimal(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "factor", element.getFactorElement(), -1); 3986 } 3987 if (element.hasAmount()) { 3988 composeMoney(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "amount", element.getAmount(), -1); 3989 } 3990 } 3991 3992 protected void composeCitation(Complex parent, String parentType, String name, Citation element, int index) { 3993 if (element == null) 3994 return; 3995 Complex t; 3996 if (Utilities.noString(parentType)) 3997 t = parent; 3998 else { 3999 t = parent.predicate("fhir:"+parentType+'.'+name); 4000 } 4001 composeDomainResource(t, "Citation", name, element, index); 4002 if (element.hasUrlElement()) { 4003 composeUri(t, "Citation", "url", element.getUrlElement(), -1); 4004 } 4005 for (int i = 0; i < element.getIdentifier().size(); i++) { 4006 composeIdentifier(t, "Citation", "identifier", element.getIdentifier().get(i), i); 4007 } 4008 if (element.hasVersionElement()) { 4009 composeString(t, "Citation", "version", element.getVersionElement(), -1); 4010 } 4011 if (element.hasNameElement()) { 4012 composeString(t, "Citation", "name", element.getNameElement(), -1); 4013 } 4014 if (element.hasTitleElement()) { 4015 composeString(t, "Citation", "title", element.getTitleElement(), -1); 4016 } 4017 if (element.hasStatusElement()) { 4018 composeEnum(t, "Citation", "status", element.getStatusElement(), -1); 4019 } 4020 if (element.hasExperimentalElement()) { 4021 composeBoolean(t, "Citation", "experimental", element.getExperimentalElement(), -1); 4022 } 4023 if (element.hasDateElement()) { 4024 composeDateTime(t, "Citation", "date", element.getDateElement(), -1); 4025 } 4026 if (element.hasPublisherElement()) { 4027 composeString(t, "Citation", "publisher", element.getPublisherElement(), -1); 4028 } 4029 for (int i = 0; i < element.getContact().size(); i++) { 4030 composeContactDetail(t, "Citation", "contact", element.getContact().get(i), i); 4031 } 4032 if (element.hasDescriptionElement()) { 4033 composeMarkdown(t, "Citation", "description", element.getDescriptionElement(), -1); 4034 } 4035 for (int i = 0; i < element.getUseContext().size(); i++) { 4036 composeUsageContext(t, "Citation", "useContext", element.getUseContext().get(i), i); 4037 } 4038 for (int i = 0; i < element.getJurisdiction().size(); i++) { 4039 composeCodeableConcept(t, "Citation", "jurisdiction", element.getJurisdiction().get(i), i); 4040 } 4041 if (element.hasPurposeElement()) { 4042 composeMarkdown(t, "Citation", "purpose", element.getPurposeElement(), -1); 4043 } 4044 if (element.hasCopyrightElement()) { 4045 composeMarkdown(t, "Citation", "copyright", element.getCopyrightElement(), -1); 4046 } 4047 if (element.hasApprovalDateElement()) { 4048 composeDate(t, "Citation", "approvalDate", element.getApprovalDateElement(), -1); 4049 } 4050 if (element.hasLastReviewDateElement()) { 4051 composeDate(t, "Citation", "lastReviewDate", element.getLastReviewDateElement(), -1); 4052 } 4053 if (element.hasEffectivePeriod()) { 4054 composePeriod(t, "Citation", "effectivePeriod", element.getEffectivePeriod(), -1); 4055 } 4056 for (int i = 0; i < element.getAuthor().size(); i++) { 4057 composeContactDetail(t, "Citation", "author", element.getAuthor().get(i), i); 4058 } 4059 for (int i = 0; i < element.getEditor().size(); i++) { 4060 composeContactDetail(t, "Citation", "editor", element.getEditor().get(i), i); 4061 } 4062 for (int i = 0; i < element.getReviewer().size(); i++) { 4063 composeContactDetail(t, "Citation", "reviewer", element.getReviewer().get(i), i); 4064 } 4065 for (int i = 0; i < element.getEndorser().size(); i++) { 4066 composeContactDetail(t, "Citation", "endorser", element.getEndorser().get(i), i); 4067 } 4068 for (int i = 0; i < element.getSummary().size(); i++) { 4069 composeContactDetail(t, "Citation", "summary", element.getSummary().get(i), i); 4070 } 4071 for (int i = 0; i < element.getClassification().size(); i++) { 4072 composeCitationClassificationComponent(t, "Citation", "classification", element.getClassification().get(i), i); 4073 } 4074 for (int i = 0; i < element.getNote().size(); i++) { 4075 composeAnnotation(t, "Citation", "note", element.getNote().get(i), i); 4076 } 4077 for (int i = 0; i < element.getCurrentState().size(); i++) { 4078 composeCodeableConcept(t, "Citation", "currentState", element.getCurrentState().get(i), i); 4079 } 4080 for (int i = 0; i < element.getStatusDate().size(); i++) { 4081 composeCitationStatusDateComponent(t, "Citation", "statusDate", element.getStatusDate().get(i), i); 4082 } 4083 for (int i = 0; i < element.getRelatesTo().size(); i++) { 4084 composeCitationRelatesToComponent(t, "Citation", "relatesTo", element.getRelatesTo().get(i), i); 4085 } 4086 if (element.hasCitedArtifact()) { 4087 composeCitationCitedArtifactComponent(t, "Citation", "citedArtifact", element.getCitedArtifact(), -1); 4088 } 4089 } 4090 4091 protected void composeCitationClassificationComponent(Complex parent, String parentType, String name, Citation.CitationClassificationComponent element, int index) { 4092 if (element == null) 4093 return; 4094 Complex t; 4095 if (Utilities.noString(parentType)) 4096 t = parent; 4097 else { 4098 t = parent.predicate("fhir:"+parentType+'.'+name); 4099 } 4100 composeBackboneElement(t, "classification", name, element, index); 4101 if (element.hasType()) { 4102 composeCodeableConcept(t, "CitationClassificationComponent", "type", element.getType(), -1); 4103 } 4104 for (int i = 0; i < element.getClassifier().size(); i++) { 4105 composeCodeableConcept(t, "CitationClassificationComponent", "classifier", element.getClassifier().get(i), i); 4106 } 4107 } 4108 4109 protected void composeCitationStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationStatusDateComponent element, int index) { 4110 if (element == null) 4111 return; 4112 Complex t; 4113 if (Utilities.noString(parentType)) 4114 t = parent; 4115 else { 4116 t = parent.predicate("fhir:"+parentType+'.'+name); 4117 } 4118 composeBackboneElement(t, "statusDate", name, element, index); 4119 if (element.hasActivity()) { 4120 composeCodeableConcept(t, "CitationStatusDateComponent", "activity", element.getActivity(), -1); 4121 } 4122 if (element.hasActualElement()) { 4123 composeBoolean(t, "CitationStatusDateComponent", "actual", element.getActualElement(), -1); 4124 } 4125 if (element.hasPeriod()) { 4126 composePeriod(t, "CitationStatusDateComponent", "period", element.getPeriod(), -1); 4127 } 4128 } 4129 4130 protected void composeCitationRelatesToComponent(Complex parent, String parentType, String name, Citation.CitationRelatesToComponent element, int index) { 4131 if (element == null) 4132 return; 4133 Complex t; 4134 if (Utilities.noString(parentType)) 4135 t = parent; 4136 else { 4137 t = parent.predicate("fhir:"+parentType+'.'+name); 4138 } 4139 composeBackboneElement(t, "relatesTo", name, element, index); 4140 if (element.hasRelationshipType()) { 4141 composeCodeableConcept(t, "CitationRelatesToComponent", "relationshipType", element.getRelationshipType(), -1); 4142 } 4143 for (int i = 0; i < element.getTargetClassifier().size(); i++) { 4144 composeCodeableConcept(t, "CitationRelatesToComponent", "targetClassifier", element.getTargetClassifier().get(i), i); 4145 } 4146 if (element.hasTarget()) { 4147 composeType(t, "CitationRelatesToComponent", "target", element.getTarget(), -1); 4148 } 4149 } 4150 4151 protected void composeCitationCitedArtifactComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactComponent element, int index) { 4152 if (element == null) 4153 return; 4154 Complex t; 4155 if (Utilities.noString(parentType)) 4156 t = parent; 4157 else { 4158 t = parent.predicate("fhir:"+parentType+'.'+name); 4159 } 4160 composeBackboneElement(t, "citedArtifact", name, element, index); 4161 for (int i = 0; i < element.getIdentifier().size(); i++) { 4162 composeIdentifier(t, "CitationCitedArtifactComponent", "identifier", element.getIdentifier().get(i), i); 4163 } 4164 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 4165 composeIdentifier(t, "CitationCitedArtifactComponent", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 4166 } 4167 if (element.hasDateAccessedElement()) { 4168 composeDateTime(t, "CitationCitedArtifactComponent", "dateAccessed", element.getDateAccessedElement(), -1); 4169 } 4170 if (element.hasVersion()) { 4171 composeCitationCitedArtifactVersionComponent(t, "CitationCitedArtifactComponent", "version", element.getVersion(), -1); 4172 } 4173 for (int i = 0; i < element.getCurrentState().size(); i++) { 4174 composeCodeableConcept(t, "CitationCitedArtifactComponent", "currentState", element.getCurrentState().get(i), i); 4175 } 4176 for (int i = 0; i < element.getStatusDate().size(); i++) { 4177 composeCitationCitedArtifactStatusDateComponent(t, "CitationCitedArtifactComponent", "statusDate", element.getStatusDate().get(i), i); 4178 } 4179 for (int i = 0; i < element.getTitle().size(); i++) { 4180 composeCitationCitedArtifactTitleComponent(t, "CitationCitedArtifactComponent", "title", element.getTitle().get(i), i); 4181 } 4182 for (int i = 0; i < element.getAbstract().size(); i++) { 4183 composeCitationCitedArtifactAbstractComponent(t, "CitationCitedArtifactComponent", "abstract", element.getAbstract().get(i), i); 4184 } 4185 if (element.hasPart()) { 4186 composeCitationCitedArtifactPartComponent(t, "CitationCitedArtifactComponent", "part", element.getPart(), -1); 4187 } 4188 for (int i = 0; i < element.getRelatesTo().size(); i++) { 4189 composeCitationCitedArtifactRelatesToComponent(t, "CitationCitedArtifactComponent", "relatesTo", element.getRelatesTo().get(i), i); 4190 } 4191 for (int i = 0; i < element.getPublicationForm().size(); i++) { 4192 composeCitationCitedArtifactPublicationFormComponent(t, "CitationCitedArtifactComponent", "publicationForm", element.getPublicationForm().get(i), i); 4193 } 4194 for (int i = 0; i < element.getWebLocation().size(); i++) { 4195 composeCitationCitedArtifactWebLocationComponent(t, "CitationCitedArtifactComponent", "webLocation", element.getWebLocation().get(i), i); 4196 } 4197 for (int i = 0; i < element.getClassification().size(); i++) { 4198 composeCitationCitedArtifactClassificationComponent(t, "CitationCitedArtifactComponent", "classification", element.getClassification().get(i), i); 4199 } 4200 if (element.hasContributorship()) { 4201 composeCitationCitedArtifactContributorshipComponent(t, "CitationCitedArtifactComponent", "contributorship", element.getContributorship(), -1); 4202 } 4203 for (int i = 0; i < element.getNote().size(); i++) { 4204 composeAnnotation(t, "CitationCitedArtifactComponent", "note", element.getNote().get(i), i); 4205 } 4206 } 4207 4208 protected void composeCitationCitedArtifactVersionComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactVersionComponent element, int index) { 4209 if (element == null) 4210 return; 4211 Complex t; 4212 if (Utilities.noString(parentType)) 4213 t = parent; 4214 else { 4215 t = parent.predicate("fhir:"+parentType+'.'+name); 4216 } 4217 composeBackboneElement(t, "version", name, element, index); 4218 if (element.hasValueElement()) { 4219 composeString(t, "CitationCitedArtifactVersionComponent", "value", element.getValueElement(), -1); 4220 } 4221 if (element.hasBaseCitation()) { 4222 composeReference(t, "CitationCitedArtifactVersionComponent", "baseCitation", element.getBaseCitation(), -1); 4223 } 4224 } 4225 4226 protected void composeCitationCitedArtifactStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactStatusDateComponent element, int index) { 4227 if (element == null) 4228 return; 4229 Complex t; 4230 if (Utilities.noString(parentType)) 4231 t = parent; 4232 else { 4233 t = parent.predicate("fhir:"+parentType+'.'+name); 4234 } 4235 composeBackboneElement(t, "statusDate", name, element, index); 4236 if (element.hasActivity()) { 4237 composeCodeableConcept(t, "CitationCitedArtifactStatusDateComponent", "activity", element.getActivity(), -1); 4238 } 4239 if (element.hasActualElement()) { 4240 composeBoolean(t, "CitationCitedArtifactStatusDateComponent", "actual", element.getActualElement(), -1); 4241 } 4242 if (element.hasPeriod()) { 4243 composePeriod(t, "CitationCitedArtifactStatusDateComponent", "period", element.getPeriod(), -1); 4244 } 4245 } 4246 4247 protected void composeCitationCitedArtifactTitleComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactTitleComponent element, int index) { 4248 if (element == null) 4249 return; 4250 Complex t; 4251 if (Utilities.noString(parentType)) 4252 t = parent; 4253 else { 4254 t = parent.predicate("fhir:"+parentType+'.'+name); 4255 } 4256 composeBackboneElement(t, "title", name, element, index); 4257 for (int i = 0; i < element.getType().size(); i++) { 4258 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "type", element.getType().get(i), i); 4259 } 4260 if (element.hasLanguage()) { 4261 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "language", element.getLanguage(), -1); 4262 } 4263 if (element.hasTextElement()) { 4264 composeMarkdown(t, "CitationCitedArtifactTitleComponent", "text", element.getTextElement(), -1); 4265 } 4266 } 4267 4268 protected void composeCitationCitedArtifactAbstractComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactAbstractComponent element, int index) { 4269 if (element == null) 4270 return; 4271 Complex t; 4272 if (Utilities.noString(parentType)) 4273 t = parent; 4274 else { 4275 t = parent.predicate("fhir:"+parentType+'.'+name); 4276 } 4277 composeBackboneElement(t, "abstract", name, element, index); 4278 if (element.hasType()) { 4279 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "type", element.getType(), -1); 4280 } 4281 if (element.hasLanguage()) { 4282 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "language", element.getLanguage(), -1); 4283 } 4284 if (element.hasTextElement()) { 4285 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "text", element.getTextElement(), -1); 4286 } 4287 if (element.hasCopyrightElement()) { 4288 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "copyright", element.getCopyrightElement(), -1); 4289 } 4290 } 4291 4292 protected void composeCitationCitedArtifactPartComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPartComponent element, int index) { 4293 if (element == null) 4294 return; 4295 Complex t; 4296 if (Utilities.noString(parentType)) 4297 t = parent; 4298 else { 4299 t = parent.predicate("fhir:"+parentType+'.'+name); 4300 } 4301 composeBackboneElement(t, "part", name, element, index); 4302 if (element.hasType()) { 4303 composeCodeableConcept(t, "CitationCitedArtifactPartComponent", "type", element.getType(), -1); 4304 } 4305 if (element.hasValueElement()) { 4306 composeString(t, "CitationCitedArtifactPartComponent", "value", element.getValueElement(), -1); 4307 } 4308 if (element.hasBaseCitation()) { 4309 composeReference(t, "CitationCitedArtifactPartComponent", "baseCitation", element.getBaseCitation(), -1); 4310 } 4311 } 4312 4313 protected void composeCitationCitedArtifactRelatesToComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactRelatesToComponent element, int index) { 4314 if (element == null) 4315 return; 4316 Complex t; 4317 if (Utilities.noString(parentType)) 4318 t = parent; 4319 else { 4320 t = parent.predicate("fhir:"+parentType+'.'+name); 4321 } 4322 composeBackboneElement(t, "relatesTo", name, element, index); 4323 if (element.hasRelationshipType()) { 4324 composeCodeableConcept(t, "CitationCitedArtifactRelatesToComponent", "relationshipType", element.getRelationshipType(), -1); 4325 } 4326 for (int i = 0; i < element.getTargetClassifier().size(); i++) { 4327 composeCodeableConcept(t, "CitationCitedArtifactRelatesToComponent", "targetClassifier", element.getTargetClassifier().get(i), i); 4328 } 4329 if (element.hasTarget()) { 4330 composeType(t, "CitationCitedArtifactRelatesToComponent", "target", element.getTarget(), -1); 4331 } 4332 } 4333 4334 protected void composeCitationCitedArtifactPublicationFormComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormComponent element, int index) { 4335 if (element == null) 4336 return; 4337 Complex t; 4338 if (Utilities.noString(parentType)) 4339 t = parent; 4340 else { 4341 t = parent.predicate("fhir:"+parentType+'.'+name); 4342 } 4343 composeBackboneElement(t, "publicationForm", name, element, index); 4344 if (element.hasPublishedIn()) { 4345 composeCitationCitedArtifactPublicationFormPublishedInComponent(t, "CitationCitedArtifactPublicationFormComponent", "publishedIn", element.getPublishedIn(), -1); 4346 } 4347 if (element.hasPeriodicRelease()) { 4348 composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(t, "CitationCitedArtifactPublicationFormComponent", "periodicRelease", element.getPeriodicRelease(), -1); 4349 } 4350 if (element.hasArticleDateElement()) { 4351 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "articleDate", element.getArticleDateElement(), -1); 4352 } 4353 if (element.hasLastRevisionDateElement()) { 4354 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "lastRevisionDate", element.getLastRevisionDateElement(), -1); 4355 } 4356 for (int i = 0; i < element.getLanguage().size(); i++) { 4357 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormComponent", "language", element.getLanguage().get(i), i); 4358 } 4359 if (element.hasAccessionNumberElement()) { 4360 composeString(t, "CitationCitedArtifactPublicationFormComponent", "accessionNumber", element.getAccessionNumberElement(), -1); 4361 } 4362 if (element.hasPageStringElement()) { 4363 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageString", element.getPageStringElement(), -1); 4364 } 4365 if (element.hasFirstPageElement()) { 4366 composeString(t, "CitationCitedArtifactPublicationFormComponent", "firstPage", element.getFirstPageElement(), -1); 4367 } 4368 if (element.hasLastPageElement()) { 4369 composeString(t, "CitationCitedArtifactPublicationFormComponent", "lastPage", element.getLastPageElement(), -1); 4370 } 4371 if (element.hasPageCountElement()) { 4372 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageCount", element.getPageCountElement(), -1); 4373 } 4374 if (element.hasCopyrightElement()) { 4375 composeMarkdown(t, "CitationCitedArtifactPublicationFormComponent", "copyright", element.getCopyrightElement(), -1); 4376 } 4377 } 4378 4379 protected void composeCitationCitedArtifactPublicationFormPublishedInComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPublishedInComponent element, int index) { 4380 if (element == null) 4381 return; 4382 Complex t; 4383 if (Utilities.noString(parentType)) 4384 t = parent; 4385 else { 4386 t = parent.predicate("fhir:"+parentType+'.'+name); 4387 } 4388 composeBackboneElement(t, "publishedIn", name, element, index); 4389 if (element.hasType()) { 4390 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "type", element.getType(), -1); 4391 } 4392 for (int i = 0; i < element.getIdentifier().size(); i++) { 4393 composeIdentifier(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "identifier", element.getIdentifier().get(i), i); 4394 } 4395 if (element.hasTitleElement()) { 4396 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "title", element.getTitleElement(), -1); 4397 } 4398 if (element.hasPublisher()) { 4399 composeReference(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisher", element.getPublisher(), -1); 4400 } 4401 if (element.hasPublisherLocationElement()) { 4402 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisherLocation", element.getPublisherLocationElement(), -1); 4403 } 4404 } 4405 4406 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element, int index) { 4407 if (element == null) 4408 return; 4409 Complex t; 4410 if (Utilities.noString(parentType)) 4411 t = parent; 4412 else { 4413 t = parent.predicate("fhir:"+parentType+'.'+name); 4414 } 4415 composeBackboneElement(t, "periodicRelease", name, element, index); 4416 if (element.hasCitedMedium()) { 4417 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "citedMedium", element.getCitedMedium(), -1); 4418 } 4419 if (element.hasVolumeElement()) { 4420 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "volume", element.getVolumeElement(), -1); 4421 } 4422 if (element.hasIssueElement()) { 4423 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "issue", element.getIssueElement(), -1); 4424 } 4425 if (element.hasDateOfPublication()) { 4426 composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "dateOfPublication", element.getDateOfPublication(), -1); 4427 } 4428 } 4429 4430 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element, int index) { 4431 if (element == null) 4432 return; 4433 Complex t; 4434 if (Utilities.noString(parentType)) 4435 t = parent; 4436 else { 4437 t = parent.predicate("fhir:"+parentType+'.'+name); 4438 } 4439 composeBackboneElement(t, "dateOfPublication", name, element, index); 4440 if (element.hasDateElement()) { 4441 composeDate(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "date", element.getDateElement(), -1); 4442 } 4443 if (element.hasYearElement()) { 4444 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "year", element.getYearElement(), -1); 4445 } 4446 if (element.hasMonthElement()) { 4447 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "month", element.getMonthElement(), -1); 4448 } 4449 if (element.hasDayElement()) { 4450 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "day", element.getDayElement(), -1); 4451 } 4452 if (element.hasSeasonElement()) { 4453 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "season", element.getSeasonElement(), -1); 4454 } 4455 if (element.hasTextElement()) { 4456 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "text", element.getTextElement(), -1); 4457 } 4458 } 4459 4460 protected void composeCitationCitedArtifactWebLocationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactWebLocationComponent element, int index) { 4461 if (element == null) 4462 return; 4463 Complex t; 4464 if (Utilities.noString(parentType)) 4465 t = parent; 4466 else { 4467 t = parent.predicate("fhir:"+parentType+'.'+name); 4468 } 4469 composeBackboneElement(t, "webLocation", name, element, index); 4470 if (element.hasType()) { 4471 composeCodeableConcept(t, "CitationCitedArtifactWebLocationComponent", "type", element.getType(), -1); 4472 } 4473 if (element.hasUrlElement()) { 4474 composeUri(t, "CitationCitedArtifactWebLocationComponent", "url", element.getUrlElement(), -1); 4475 } 4476 } 4477 4478 protected void composeCitationCitedArtifactClassificationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactClassificationComponent element, int index) { 4479 if (element == null) 4480 return; 4481 Complex t; 4482 if (Utilities.noString(parentType)) 4483 t = parent; 4484 else { 4485 t = parent.predicate("fhir:"+parentType+'.'+name); 4486 } 4487 composeBackboneElement(t, "classification", name, element, index); 4488 if (element.hasType()) { 4489 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "type", element.getType(), -1); 4490 } 4491 for (int i = 0; i < element.getClassifier().size(); i++) { 4492 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "classifier", element.getClassifier().get(i), i); 4493 } 4494 if (element.hasWhoClassified()) { 4495 composeCitationCitedArtifactClassificationWhoClassifiedComponent(t, "CitationCitedArtifactClassificationComponent", "whoClassified", element.getWhoClassified(), -1); 4496 } 4497 } 4498 4499 protected void composeCitationCitedArtifactClassificationWhoClassifiedComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactClassificationWhoClassifiedComponent element, int index) { 4500 if (element == null) 4501 return; 4502 Complex t; 4503 if (Utilities.noString(parentType)) 4504 t = parent; 4505 else { 4506 t = parent.predicate("fhir:"+parentType+'.'+name); 4507 } 4508 composeBackboneElement(t, "whoClassified", name, element, index); 4509 if (element.hasPerson()) { 4510 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "person", element.getPerson(), -1); 4511 } 4512 if (element.hasOrganization()) { 4513 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "organization", element.getOrganization(), -1); 4514 } 4515 if (element.hasPublisher()) { 4516 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "publisher", element.getPublisher(), -1); 4517 } 4518 if (element.hasClassifierCopyrightElement()) { 4519 composeString(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "classifierCopyright", element.getClassifierCopyrightElement(), -1); 4520 } 4521 if (element.hasFreeToShareElement()) { 4522 composeBoolean(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "freeToShare", element.getFreeToShareElement(), -1); 4523 } 4524 } 4525 4526 protected void composeCitationCitedArtifactContributorshipComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipComponent element, int index) { 4527 if (element == null) 4528 return; 4529 Complex t; 4530 if (Utilities.noString(parentType)) 4531 t = parent; 4532 else { 4533 t = parent.predicate("fhir:"+parentType+'.'+name); 4534 } 4535 composeBackboneElement(t, "contributorship", name, element, index); 4536 if (element.hasCompleteElement()) { 4537 composeBoolean(t, "CitationCitedArtifactContributorshipComponent", "complete", element.getCompleteElement(), -1); 4538 } 4539 for (int i = 0; i < element.getEntry().size(); i++) { 4540 composeCitationCitedArtifactContributorshipEntryComponent(t, "CitationCitedArtifactContributorshipComponent", "entry", element.getEntry().get(i), i); 4541 } 4542 for (int i = 0; i < element.getSummary().size(); i++) { 4543 composeCitationCitedArtifactContributorshipSummaryComponent(t, "CitationCitedArtifactContributorshipComponent", "summary", element.getSummary().get(i), i); 4544 } 4545 } 4546 4547 protected void composeCitationCitedArtifactContributorshipEntryComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryComponent element, int index) { 4548 if (element == null) 4549 return; 4550 Complex t; 4551 if (Utilities.noString(parentType)) 4552 t = parent; 4553 else { 4554 t = parent.predicate("fhir:"+parentType+'.'+name); 4555 } 4556 composeBackboneElement(t, "entry", name, element, index); 4557 if (element.hasName()) { 4558 composeHumanName(t, "CitationCitedArtifactContributorshipEntryComponent", "name", element.getName(), -1); 4559 } 4560 if (element.hasInitialsElement()) { 4561 composeString(t, "CitationCitedArtifactContributorshipEntryComponent", "initials", element.getInitialsElement(), -1); 4562 } 4563 if (element.hasCollectiveNameElement()) { 4564 composeString(t, "CitationCitedArtifactContributorshipEntryComponent", "collectiveName", element.getCollectiveNameElement(), -1); 4565 } 4566 for (int i = 0; i < element.getIdentifier().size(); i++) { 4567 composeIdentifier(t, "CitationCitedArtifactContributorshipEntryComponent", "identifier", element.getIdentifier().get(i), i); 4568 } 4569 for (int i = 0; i < element.getAffiliationInfo().size(); i++) { 4570 composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(t, "CitationCitedArtifactContributorshipEntryComponent", "affiliationInfo", element.getAffiliationInfo().get(i), i); 4571 } 4572 for (int i = 0; i < element.getAddress().size(); i++) { 4573 composeAddress(t, "CitationCitedArtifactContributorshipEntryComponent", "address", element.getAddress().get(i), i); 4574 } 4575 for (int i = 0; i < element.getTelecom().size(); i++) { 4576 composeContactPoint(t, "CitationCitedArtifactContributorshipEntryComponent", "telecom", element.getTelecom().get(i), i); 4577 } 4578 for (int i = 0; i < element.getContributionType().size(); i++) { 4579 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionType", element.getContributionType().get(i), i); 4580 } 4581 if (element.hasRole()) { 4582 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "role", element.getRole(), -1); 4583 } 4584 for (int i = 0; i < element.getContributionInstance().size(); i++) { 4585 composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionInstance", element.getContributionInstance().get(i), i); 4586 } 4587 if (element.hasCorrespondingContactElement()) { 4588 composeBoolean(t, "CitationCitedArtifactContributorshipEntryComponent", "correspondingContact", element.getCorrespondingContactElement(), -1); 4589 } 4590 if (element.hasListOrderElement()) { 4591 composePositiveInt(t, "CitationCitedArtifactContributorshipEntryComponent", "listOrder", element.getListOrderElement(), -1); 4592 } 4593 } 4594 4595 protected void composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent element, int index) { 4596 if (element == null) 4597 return; 4598 Complex t; 4599 if (Utilities.noString(parentType)) 4600 t = parent; 4601 else { 4602 t = parent.predicate("fhir:"+parentType+'.'+name); 4603 } 4604 composeBackboneElement(t, "affiliationInfo", name, element, index); 4605 if (element.hasAffiliationElement()) { 4606 composeString(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "affiliation", element.getAffiliationElement(), -1); 4607 } 4608 if (element.hasRoleElement()) { 4609 composeString(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "role", element.getRoleElement(), -1); 4610 } 4611 for (int i = 0; i < element.getIdentifier().size(); i++) { 4612 composeIdentifier(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "identifier", element.getIdentifier().get(i), i); 4613 } 4614 } 4615 4616 protected void composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent element, int index) { 4617 if (element == null) 4618 return; 4619 Complex t; 4620 if (Utilities.noString(parentType)) 4621 t = parent; 4622 else { 4623 t = parent.predicate("fhir:"+parentType+'.'+name); 4624 } 4625 composeBackboneElement(t, "contributionInstance", name, element, index); 4626 if (element.hasType()) { 4627 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "type", element.getType(), -1); 4628 } 4629 if (element.hasTimeElement()) { 4630 composeDateTime(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "time", element.getTimeElement(), -1); 4631 } 4632 } 4633 4634 protected void composeCitationCitedArtifactContributorshipSummaryComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipSummaryComponent element, int index) { 4635 if (element == null) 4636 return; 4637 Complex t; 4638 if (Utilities.noString(parentType)) 4639 t = parent; 4640 else { 4641 t = parent.predicate("fhir:"+parentType+'.'+name); 4642 } 4643 composeBackboneElement(t, "summary", name, element, index); 4644 if (element.hasType()) { 4645 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "type", element.getType(), -1); 4646 } 4647 if (element.hasStyle()) { 4648 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "style", element.getStyle(), -1); 4649 } 4650 if (element.hasSource()) { 4651 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "source", element.getSource(), -1); 4652 } 4653 if (element.hasValueElement()) { 4654 composeMarkdown(t, "CitationCitedArtifactContributorshipSummaryComponent", "value", element.getValueElement(), -1); 4655 } 4656 } 4657 4658 protected void composeClaim(Complex parent, String parentType, String name, Claim element, int index) { 4659 if (element == null) 4660 return; 4661 Complex t; 4662 if (Utilities.noString(parentType)) 4663 t = parent; 4664 else { 4665 t = parent.predicate("fhir:"+parentType+'.'+name); 4666 } 4667 composeDomainResource(t, "Claim", name, element, index); 4668 for (int i = 0; i < element.getIdentifier().size(); i++) { 4669 composeIdentifier(t, "Claim", "identifier", element.getIdentifier().get(i), i); 4670 } 4671 if (element.hasStatusElement()) { 4672 composeEnum(t, "Claim", "status", element.getStatusElement(), -1); 4673 } 4674 if (element.hasType()) { 4675 composeCodeableConcept(t, "Claim", "type", element.getType(), -1); 4676 } 4677 if (element.hasSubType()) { 4678 composeCodeableConcept(t, "Claim", "subType", element.getSubType(), -1); 4679 } 4680 if (element.hasUseElement()) { 4681 composeEnum(t, "Claim", "use", element.getUseElement(), -1); 4682 } 4683 if (element.hasPatient()) { 4684 composeReference(t, "Claim", "patient", element.getPatient(), -1); 4685 } 4686 if (element.hasBillablePeriod()) { 4687 composePeriod(t, "Claim", "billablePeriod", element.getBillablePeriod(), -1); 4688 } 4689 if (element.hasCreatedElement()) { 4690 composeDateTime(t, "Claim", "created", element.getCreatedElement(), -1); 4691 } 4692 if (element.hasEnterer()) { 4693 composeReference(t, "Claim", "enterer", element.getEnterer(), -1); 4694 } 4695 if (element.hasInsurer()) { 4696 composeReference(t, "Claim", "insurer", element.getInsurer(), -1); 4697 } 4698 if (element.hasProvider()) { 4699 composeReference(t, "Claim", "provider", element.getProvider(), -1); 4700 } 4701 if (element.hasPriority()) { 4702 composeCodeableConcept(t, "Claim", "priority", element.getPriority(), -1); 4703 } 4704 if (element.hasFundsReserve()) { 4705 composeCodeableConcept(t, "Claim", "fundsReserve", element.getFundsReserve(), -1); 4706 } 4707 for (int i = 0; i < element.getRelated().size(); i++) { 4708 composeClaimRelatedClaimComponent(t, "Claim", "related", element.getRelated().get(i), i); 4709 } 4710 if (element.hasPrescription()) { 4711 composeReference(t, "Claim", "prescription", element.getPrescription(), -1); 4712 } 4713 if (element.hasOriginalPrescription()) { 4714 composeReference(t, "Claim", "originalPrescription", element.getOriginalPrescription(), -1); 4715 } 4716 if (element.hasPayee()) { 4717 composeClaimPayeeComponent(t, "Claim", "payee", element.getPayee(), -1); 4718 } 4719 if (element.hasReferral()) { 4720 composeReference(t, "Claim", "referral", element.getReferral(), -1); 4721 } 4722 if (element.hasFacility()) { 4723 composeReference(t, "Claim", "facility", element.getFacility(), -1); 4724 } 4725 for (int i = 0; i < element.getCareTeam().size(); i++) { 4726 composeClaimCareTeamComponent(t, "Claim", "careTeam", element.getCareTeam().get(i), i); 4727 } 4728 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 4729 composeClaimSupportingInformationComponent(t, "Claim", "supportingInfo", element.getSupportingInfo().get(i), i); 4730 } 4731 for (int i = 0; i < element.getDiagnosis().size(); i++) { 4732 composeClaimDiagnosisComponent(t, "Claim", "diagnosis", element.getDiagnosis().get(i), i); 4733 } 4734 for (int i = 0; i < element.getProcedure().size(); i++) { 4735 composeClaimProcedureComponent(t, "Claim", "procedure", element.getProcedure().get(i), i); 4736 } 4737 for (int i = 0; i < element.getInsurance().size(); i++) { 4738 composeClaimInsuranceComponent(t, "Claim", "insurance", element.getInsurance().get(i), i); 4739 } 4740 if (element.hasAccident()) { 4741 composeClaimAccidentComponent(t, "Claim", "accident", element.getAccident(), -1); 4742 } 4743 for (int i = 0; i < element.getItem().size(); i++) { 4744 composeClaimItemComponent(t, "Claim", "item", element.getItem().get(i), i); 4745 } 4746 if (element.hasTotal()) { 4747 composeMoney(t, "Claim", "total", element.getTotal(), -1); 4748 } 4749 } 4750 4751 protected void composeClaimRelatedClaimComponent(Complex parent, String parentType, String name, Claim.RelatedClaimComponent element, int index) { 4752 if (element == null) 4753 return; 4754 Complex t; 4755 if (Utilities.noString(parentType)) 4756 t = parent; 4757 else { 4758 t = parent.predicate("fhir:"+parentType+'.'+name); 4759 } 4760 composeBackboneElement(t, "related", name, element, index); 4761 if (element.hasClaim()) { 4762 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 4763 } 4764 if (element.hasRelationship()) { 4765 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 4766 } 4767 if (element.hasReference()) { 4768 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 4769 } 4770 } 4771 4772 protected void composeClaimPayeeComponent(Complex parent, String parentType, String name, Claim.PayeeComponent element, int index) { 4773 if (element == null) 4774 return; 4775 Complex t; 4776 if (Utilities.noString(parentType)) 4777 t = parent; 4778 else { 4779 t = parent.predicate("fhir:"+parentType+'.'+name); 4780 } 4781 composeBackboneElement(t, "payee", name, element, index); 4782 if (element.hasType()) { 4783 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 4784 } 4785 if (element.hasParty()) { 4786 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 4787 } 4788 } 4789 4790 protected void composeClaimCareTeamComponent(Complex parent, String parentType, String name, Claim.CareTeamComponent element, int index) { 4791 if (element == null) 4792 return; 4793 Complex t; 4794 if (Utilities.noString(parentType)) 4795 t = parent; 4796 else { 4797 t = parent.predicate("fhir:"+parentType+'.'+name); 4798 } 4799 composeBackboneElement(t, "careTeam", name, element, index); 4800 if (element.hasSequenceElement()) { 4801 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 4802 } 4803 if (element.hasProvider()) { 4804 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 4805 } 4806 if (element.hasResponsibleElement()) { 4807 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 4808 } 4809 if (element.hasRole()) { 4810 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 4811 } 4812 if (element.hasQualification()) { 4813 composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); 4814 } 4815 } 4816 4817 protected void composeClaimSupportingInformationComponent(Complex parent, String parentType, String name, Claim.SupportingInformationComponent element, int index) { 4818 if (element == null) 4819 return; 4820 Complex t; 4821 if (Utilities.noString(parentType)) 4822 t = parent; 4823 else { 4824 t = parent.predicate("fhir:"+parentType+'.'+name); 4825 } 4826 composeBackboneElement(t, "supportingInfo", name, element, index); 4827 if (element.hasSequenceElement()) { 4828 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 4829 } 4830 if (element.hasCategory()) { 4831 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 4832 } 4833 if (element.hasCode()) { 4834 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 4835 } 4836 if (element.hasTiming()) { 4837 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 4838 } 4839 if (element.hasValue()) { 4840 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 4841 } 4842 if (element.hasReason()) { 4843 composeCodeableConcept(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 4844 } 4845 } 4846 4847 protected void composeClaimDiagnosisComponent(Complex parent, String parentType, String name, Claim.DiagnosisComponent element, int index) { 4848 if (element == null) 4849 return; 4850 Complex t; 4851 if (Utilities.noString(parentType)) 4852 t = parent; 4853 else { 4854 t = parent.predicate("fhir:"+parentType+'.'+name); 4855 } 4856 composeBackboneElement(t, "diagnosis", name, element, index); 4857 if (element.hasSequenceElement()) { 4858 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 4859 } 4860 if (element.hasDiagnosis()) { 4861 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 4862 } 4863 for (int i = 0; i < element.getType().size(); i++) { 4864 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 4865 } 4866 if (element.hasOnAdmission()) { 4867 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 4868 } 4869 if (element.hasPackageCode()) { 4870 composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); 4871 } 4872 } 4873 4874 protected void composeClaimProcedureComponent(Complex parent, String parentType, String name, Claim.ProcedureComponent element, int index) { 4875 if (element == null) 4876 return; 4877 Complex t; 4878 if (Utilities.noString(parentType)) 4879 t = parent; 4880 else { 4881 t = parent.predicate("fhir:"+parentType+'.'+name); 4882 } 4883 composeBackboneElement(t, "procedure", name, element, index); 4884 if (element.hasSequenceElement()) { 4885 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 4886 } 4887 for (int i = 0; i < element.getType().size(); i++) { 4888 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 4889 } 4890 if (element.hasDateElement()) { 4891 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 4892 } 4893 if (element.hasProcedure()) { 4894 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 4895 } 4896 for (int i = 0; i < element.getUdi().size(); i++) { 4897 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 4898 } 4899 } 4900 4901 protected void composeClaimInsuranceComponent(Complex parent, String parentType, String name, Claim.InsuranceComponent element, int index) { 4902 if (element == null) 4903 return; 4904 Complex t; 4905 if (Utilities.noString(parentType)) 4906 t = parent; 4907 else { 4908 t = parent.predicate("fhir:"+parentType+'.'+name); 4909 } 4910 composeBackboneElement(t, "insurance", name, element, index); 4911 if (element.hasSequenceElement()) { 4912 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 4913 } 4914 if (element.hasFocalElement()) { 4915 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 4916 } 4917 if (element.hasIdentifier()) { 4918 composeIdentifier(t, "InsuranceComponent", "identifier", element.getIdentifier(), -1); 4919 } 4920 if (element.hasCoverage()) { 4921 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 4922 } 4923 if (element.hasBusinessArrangementElement()) { 4924 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 4925 } 4926 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 4927 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 4928 } 4929 if (element.hasClaimResponse()) { 4930 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 4931 } 4932 } 4933 4934 protected void composeClaimAccidentComponent(Complex parent, String parentType, String name, Claim.AccidentComponent element, int index) { 4935 if (element == null) 4936 return; 4937 Complex t; 4938 if (Utilities.noString(parentType)) 4939 t = parent; 4940 else { 4941 t = parent.predicate("fhir:"+parentType+'.'+name); 4942 } 4943 composeBackboneElement(t, "accident", name, element, index); 4944 if (element.hasDateElement()) { 4945 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 4946 } 4947 if (element.hasType()) { 4948 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 4949 } 4950 if (element.hasLocation()) { 4951 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 4952 } 4953 } 4954 4955 protected void composeClaimItemComponent(Complex parent, String parentType, String name, Claim.ItemComponent element, int index) { 4956 if (element == null) 4957 return; 4958 Complex t; 4959 if (Utilities.noString(parentType)) 4960 t = parent; 4961 else { 4962 t = parent.predicate("fhir:"+parentType+'.'+name); 4963 } 4964 composeBackboneElement(t, "item", name, element, index); 4965 if (element.hasSequenceElement()) { 4966 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 4967 } 4968 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 4969 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 4970 } 4971 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 4972 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 4973 } 4974 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 4975 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 4976 } 4977 for (int i = 0; i < element.getInformationSequence().size(); i++) { 4978 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 4979 } 4980 if (element.hasRevenue()) { 4981 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 4982 } 4983 if (element.hasCategory()) { 4984 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 4985 } 4986 if (element.hasProductOrService()) { 4987 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 4988 } 4989 for (int i = 0; i < element.getModifier().size(); i++) { 4990 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 4991 } 4992 for (int i = 0; i < element.getProgramCode().size(); i++) { 4993 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 4994 } 4995 if (element.hasServiced()) { 4996 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 4997 } 4998 if (element.hasLocation()) { 4999 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 5000 } 5001 if (element.hasQuantity()) { 5002 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 5003 } 5004 if (element.hasUnitPrice()) { 5005 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 5006 } 5007 if (element.hasFactorElement()) { 5008 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 5009 } 5010 if (element.hasNet()) { 5011 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 5012 } 5013 for (int i = 0; i < element.getUdi().size(); i++) { 5014 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 5015 } 5016 if (element.hasBodySite()) { 5017 composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); 5018 } 5019 for (int i = 0; i < element.getSubSite().size(); i++) { 5020 composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); 5021 } 5022 for (int i = 0; i < element.getEncounter().size(); i++) { 5023 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 5024 } 5025 for (int i = 0; i < element.getDetail().size(); i++) { 5026 composeClaimDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5027 } 5028 } 5029 5030 protected void composeClaimDetailComponent(Complex parent, String parentType, String name, Claim.DetailComponent element, int index) { 5031 if (element == null) 5032 return; 5033 Complex t; 5034 if (Utilities.noString(parentType)) 5035 t = parent; 5036 else { 5037 t = parent.predicate("fhir:"+parentType+'.'+name); 5038 } 5039 composeBackboneElement(t, "detail", name, element, index); 5040 if (element.hasSequenceElement()) { 5041 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 5042 } 5043 if (element.hasRevenue()) { 5044 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 5045 } 5046 if (element.hasCategory()) { 5047 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 5048 } 5049 if (element.hasProductOrService()) { 5050 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 5051 } 5052 for (int i = 0; i < element.getModifier().size(); i++) { 5053 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 5054 } 5055 for (int i = 0; i < element.getProgramCode().size(); i++) { 5056 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 5057 } 5058 if (element.hasQuantity()) { 5059 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 5060 } 5061 if (element.hasUnitPrice()) { 5062 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 5063 } 5064 if (element.hasFactorElement()) { 5065 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 5066 } 5067 if (element.hasNet()) { 5068 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 5069 } 5070 for (int i = 0; i < element.getUdi().size(); i++) { 5071 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 5072 } 5073 for (int i = 0; i < element.getSubDetail().size(); i++) { 5074 composeClaimSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 5075 } 5076 } 5077 5078 protected void composeClaimSubDetailComponent(Complex parent, String parentType, String name, Claim.SubDetailComponent element, int index) { 5079 if (element == null) 5080 return; 5081 Complex t; 5082 if (Utilities.noString(parentType)) 5083 t = parent; 5084 else { 5085 t = parent.predicate("fhir:"+parentType+'.'+name); 5086 } 5087 composeBackboneElement(t, "subDetail", name, element, index); 5088 if (element.hasSequenceElement()) { 5089 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 5090 } 5091 if (element.hasRevenue()) { 5092 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 5093 } 5094 if (element.hasCategory()) { 5095 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 5096 } 5097 if (element.hasProductOrService()) { 5098 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 5099 } 5100 for (int i = 0; i < element.getModifier().size(); i++) { 5101 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 5102 } 5103 for (int i = 0; i < element.getProgramCode().size(); i++) { 5104 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 5105 } 5106 if (element.hasQuantity()) { 5107 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 5108 } 5109 if (element.hasUnitPrice()) { 5110 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5111 } 5112 if (element.hasFactorElement()) { 5113 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 5114 } 5115 if (element.hasNet()) { 5116 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 5117 } 5118 for (int i = 0; i < element.getUdi().size(); i++) { 5119 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 5120 } 5121 } 5122 5123 protected void composeClaimResponse(Complex parent, String parentType, String name, ClaimResponse element, int index) { 5124 if (element == null) 5125 return; 5126 Complex t; 5127 if (Utilities.noString(parentType)) 5128 t = parent; 5129 else { 5130 t = parent.predicate("fhir:"+parentType+'.'+name); 5131 } 5132 composeDomainResource(t, "ClaimResponse", name, element, index); 5133 for (int i = 0; i < element.getIdentifier().size(); i++) { 5134 composeIdentifier(t, "ClaimResponse", "identifier", element.getIdentifier().get(i), i); 5135 } 5136 if (element.hasStatusElement()) { 5137 composeEnum(t, "ClaimResponse", "status", element.getStatusElement(), -1); 5138 } 5139 if (element.hasType()) { 5140 composeCodeableConcept(t, "ClaimResponse", "type", element.getType(), -1); 5141 } 5142 if (element.hasSubType()) { 5143 composeCodeableConcept(t, "ClaimResponse", "subType", element.getSubType(), -1); 5144 } 5145 if (element.hasUseElement()) { 5146 composeEnum(t, "ClaimResponse", "use", element.getUseElement(), -1); 5147 } 5148 if (element.hasPatient()) { 5149 composeReference(t, "ClaimResponse", "patient", element.getPatient(), -1); 5150 } 5151 if (element.hasCreatedElement()) { 5152 composeDateTime(t, "ClaimResponse", "created", element.getCreatedElement(), -1); 5153 } 5154 if (element.hasInsurer()) { 5155 composeReference(t, "ClaimResponse", "insurer", element.getInsurer(), -1); 5156 } 5157 if (element.hasRequestor()) { 5158 composeReference(t, "ClaimResponse", "requestor", element.getRequestor(), -1); 5159 } 5160 if (element.hasRequest()) { 5161 composeReference(t, "ClaimResponse", "request", element.getRequest(), -1); 5162 } 5163 if (element.hasOutcomeElement()) { 5164 composeEnum(t, "ClaimResponse", "outcome", element.getOutcomeElement(), -1); 5165 } 5166 if (element.hasDispositionElement()) { 5167 composeString(t, "ClaimResponse", "disposition", element.getDispositionElement(), -1); 5168 } 5169 if (element.hasPreAuthRefElement()) { 5170 composeString(t, "ClaimResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 5171 } 5172 if (element.hasPreAuthPeriod()) { 5173 composePeriod(t, "ClaimResponse", "preAuthPeriod", element.getPreAuthPeriod(), -1); 5174 } 5175 if (element.hasPayeeType()) { 5176 composeCodeableConcept(t, "ClaimResponse", "payeeType", element.getPayeeType(), -1); 5177 } 5178 for (int i = 0; i < element.getItem().size(); i++) { 5179 composeClaimResponseItemComponent(t, "ClaimResponse", "item", element.getItem().get(i), i); 5180 } 5181 for (int i = 0; i < element.getAddItem().size(); i++) { 5182 composeClaimResponseAddedItemComponent(t, "ClaimResponse", "addItem", element.getAddItem().get(i), i); 5183 } 5184 for (int i = 0; i < element.getAdjudication().size(); i++) { 5185 composeClaimResponseAdjudicationComponent(t, "ClaimResponse", "adjudication", element.getAdjudication().get(i), i); 5186 } 5187 for (int i = 0; i < element.getTotal().size(); i++) { 5188 composeClaimResponseTotalComponent(t, "ClaimResponse", "total", element.getTotal().get(i), i); 5189 } 5190 if (element.hasPayment()) { 5191 composeClaimResponsePaymentComponent(t, "ClaimResponse", "payment", element.getPayment(), -1); 5192 } 5193 if (element.hasFundsReserve()) { 5194 composeCodeableConcept(t, "ClaimResponse", "fundsReserve", element.getFundsReserve(), -1); 5195 } 5196 if (element.hasFormCode()) { 5197 composeCodeableConcept(t, "ClaimResponse", "formCode", element.getFormCode(), -1); 5198 } 5199 if (element.hasForm()) { 5200 composeAttachment(t, "ClaimResponse", "form", element.getForm(), -1); 5201 } 5202 for (int i = 0; i < element.getProcessNote().size(); i++) { 5203 composeClaimResponseNoteComponent(t, "ClaimResponse", "processNote", element.getProcessNote().get(i), i); 5204 } 5205 for (int i = 0; i < element.getCommunicationRequest().size(); i++) { 5206 composeReference(t, "ClaimResponse", "communicationRequest", element.getCommunicationRequest().get(i), i); 5207 } 5208 for (int i = 0; i < element.getInsurance().size(); i++) { 5209 composeClaimResponseInsuranceComponent(t, "ClaimResponse", "insurance", element.getInsurance().get(i), i); 5210 } 5211 for (int i = 0; i < element.getError().size(); i++) { 5212 composeClaimResponseErrorComponent(t, "ClaimResponse", "error", element.getError().get(i), i); 5213 } 5214 } 5215 5216 protected void composeClaimResponseItemComponent(Complex parent, String parentType, String name, ClaimResponse.ItemComponent element, int index) { 5217 if (element == null) 5218 return; 5219 Complex t; 5220 if (Utilities.noString(parentType)) 5221 t = parent; 5222 else { 5223 t = parent.predicate("fhir:"+parentType+'.'+name); 5224 } 5225 composeBackboneElement(t, "item", name, element, index); 5226 if (element.hasItemSequenceElement()) { 5227 composePositiveInt(t, "ItemComponent", "itemSequence", element.getItemSequenceElement(), -1); 5228 } 5229 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5230 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 5231 } 5232 for (int i = 0; i < element.getAdjudication().size(); i++) { 5233 composeClaimResponseAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 5234 } 5235 for (int i = 0; i < element.getDetail().size(); i++) { 5236 composeClaimResponseItemDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5237 } 5238 } 5239 5240 protected void composeClaimResponseAdjudicationComponent(Complex parent, String parentType, String name, ClaimResponse.AdjudicationComponent element, int index) { 5241 if (element == null) 5242 return; 5243 Complex t; 5244 if (Utilities.noString(parentType)) 5245 t = parent; 5246 else { 5247 t = parent.predicate("fhir:"+parentType+'.'+name); 5248 } 5249 composeBackboneElement(t, "adjudication", name, element, index); 5250 if (element.hasCategory()) { 5251 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 5252 } 5253 if (element.hasReason()) { 5254 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 5255 } 5256 if (element.hasAmount()) { 5257 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 5258 } 5259 if (element.hasValueElement()) { 5260 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 5261 } 5262 } 5263 5264 protected void composeClaimResponseItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.ItemDetailComponent element, int index) { 5265 if (element == null) 5266 return; 5267 Complex t; 5268 if (Utilities.noString(parentType)) 5269 t = parent; 5270 else { 5271 t = parent.predicate("fhir:"+parentType+'.'+name); 5272 } 5273 composeBackboneElement(t, "detail", name, element, index); 5274 if (element.hasDetailSequenceElement()) { 5275 composePositiveInt(t, "ItemDetailComponent", "detailSequence", element.getDetailSequenceElement(), -1); 5276 } 5277 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5278 composePositiveInt(t, "ItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5279 } 5280 for (int i = 0; i < element.getAdjudication().size(); i++) { 5281 composeClaimResponseAdjudicationComponent(t, "ItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5282 } 5283 for (int i = 0; i < element.getSubDetail().size(); i++) { 5284 composeClaimResponseSubDetailComponent(t, "ItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 5285 } 5286 } 5287 5288 protected void composeClaimResponseSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.SubDetailComponent element, int index) { 5289 if (element == null) 5290 return; 5291 Complex t; 5292 if (Utilities.noString(parentType)) 5293 t = parent; 5294 else { 5295 t = parent.predicate("fhir:"+parentType+'.'+name); 5296 } 5297 composeBackboneElement(t, "subDetail", name, element, index); 5298 if (element.hasSubDetailSequenceElement()) { 5299 composePositiveInt(t, "SubDetailComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 5300 } 5301 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5302 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5303 } 5304 for (int i = 0; i < element.getAdjudication().size(); i++) { 5305 composeClaimResponseAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5306 } 5307 } 5308 5309 protected void composeClaimResponseAddedItemComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemComponent element, int index) { 5310 if (element == null) 5311 return; 5312 Complex t; 5313 if (Utilities.noString(parentType)) 5314 t = parent; 5315 else { 5316 t = parent.predicate("fhir:"+parentType+'.'+name); 5317 } 5318 composeBackboneElement(t, "addItem", name, element, index); 5319 for (int i = 0; i < element.getItemSequence().size(); i++) { 5320 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 5321 } 5322 for (int i = 0; i < element.getDetailSequence().size(); i++) { 5323 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 5324 } 5325 for (int i = 0; i < element.getSubdetailSequence().size(); i++) { 5326 composePositiveInt(t, "AddedItemComponent", "subdetailSequence", element.getSubdetailSequence().get(i), i); 5327 } 5328 for (int i = 0; i < element.getProvider().size(); i++) { 5329 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 5330 } 5331 if (element.hasProductOrService()) { 5332 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 5333 } 5334 for (int i = 0; i < element.getModifier().size(); i++) { 5335 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 5336 } 5337 for (int i = 0; i < element.getProgramCode().size(); i++) { 5338 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 5339 } 5340 if (element.hasServiced()) { 5341 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 5342 } 5343 if (element.hasLocation()) { 5344 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 5345 } 5346 if (element.hasQuantity()) { 5347 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 5348 } 5349 if (element.hasUnitPrice()) { 5350 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 5351 } 5352 if (element.hasFactorElement()) { 5353 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 5354 } 5355 if (element.hasNet()) { 5356 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 5357 } 5358 if (element.hasBodySite()) { 5359 composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); 5360 } 5361 for (int i = 0; i < element.getSubSite().size(); i++) { 5362 composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); 5363 } 5364 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5365 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 5366 } 5367 for (int i = 0; i < element.getAdjudication().size(); i++) { 5368 composeClaimResponseAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 5369 } 5370 for (int i = 0; i < element.getDetail().size(); i++) { 5371 composeClaimResponseAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 5372 } 5373 } 5374 5375 protected void composeClaimResponseAddedItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemDetailComponent element, int index) { 5376 if (element == null) 5377 return; 5378 Complex t; 5379 if (Utilities.noString(parentType)) 5380 t = parent; 5381 else { 5382 t = parent.predicate("fhir:"+parentType+'.'+name); 5383 } 5384 composeBackboneElement(t, "detail", name, element, index); 5385 if (element.hasProductOrService()) { 5386 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 5387 } 5388 for (int i = 0; i < element.getModifier().size(); i++) { 5389 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 5390 } 5391 if (element.hasQuantity()) { 5392 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 5393 } 5394 if (element.hasUnitPrice()) { 5395 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5396 } 5397 if (element.hasFactorElement()) { 5398 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 5399 } 5400 if (element.hasNet()) { 5401 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 5402 } 5403 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5404 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5405 } 5406 for (int i = 0; i < element.getAdjudication().size(); i++) { 5407 composeClaimResponseAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5408 } 5409 for (int i = 0; i < element.getSubDetail().size(); i++) { 5410 composeClaimResponseAddedItemSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 5411 } 5412 } 5413 5414 protected void composeClaimResponseAddedItemSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemSubDetailComponent element, int index) { 5415 if (element == null) 5416 return; 5417 Complex t; 5418 if (Utilities.noString(parentType)) 5419 t = parent; 5420 else { 5421 t = parent.predicate("fhir:"+parentType+'.'+name); 5422 } 5423 composeBackboneElement(t, "subDetail", name, element, index); 5424 if (element.hasProductOrService()) { 5425 composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrService", element.getProductOrService(), -1); 5426 } 5427 for (int i = 0; i < element.getModifier().size(); i++) { 5428 composeCodeableConcept(t, "AddedItemSubDetailComponent", "modifier", element.getModifier().get(i), i); 5429 } 5430 if (element.hasQuantity()) { 5431 composeQuantity(t, "AddedItemSubDetailComponent", "quantity", element.getQuantity(), -1); 5432 } 5433 if (element.hasUnitPrice()) { 5434 composeMoney(t, "AddedItemSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5435 } 5436 if (element.hasFactorElement()) { 5437 composeDecimal(t, "AddedItemSubDetailComponent", "factor", element.getFactorElement(), -1); 5438 } 5439 if (element.hasNet()) { 5440 composeMoney(t, "AddedItemSubDetailComponent", "net", element.getNet(), -1); 5441 } 5442 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5443 composePositiveInt(t, "AddedItemSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5444 } 5445 for (int i = 0; i < element.getAdjudication().size(); i++) { 5446 composeClaimResponseAdjudicationComponent(t, "AddedItemSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5447 } 5448 } 5449 5450 protected void composeClaimResponseTotalComponent(Complex parent, String parentType, String name, ClaimResponse.TotalComponent element, int index) { 5451 if (element == null) 5452 return; 5453 Complex t; 5454 if (Utilities.noString(parentType)) 5455 t = parent; 5456 else { 5457 t = parent.predicate("fhir:"+parentType+'.'+name); 5458 } 5459 composeBackboneElement(t, "total", name, element, index); 5460 if (element.hasCategory()) { 5461 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 5462 } 5463 if (element.hasAmount()) { 5464 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 5465 } 5466 } 5467 5468 protected void composeClaimResponsePaymentComponent(Complex parent, String parentType, String name, ClaimResponse.PaymentComponent element, int index) { 5469 if (element == null) 5470 return; 5471 Complex t; 5472 if (Utilities.noString(parentType)) 5473 t = parent; 5474 else { 5475 t = parent.predicate("fhir:"+parentType+'.'+name); 5476 } 5477 composeBackboneElement(t, "payment", name, element, index); 5478 if (element.hasType()) { 5479 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 5480 } 5481 if (element.hasAdjustment()) { 5482 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 5483 } 5484 if (element.hasAdjustmentReason()) { 5485 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 5486 } 5487 if (element.hasDateElement()) { 5488 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 5489 } 5490 if (element.hasAmount()) { 5491 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 5492 } 5493 if (element.hasIdentifier()) { 5494 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 5495 } 5496 } 5497 5498 protected void composeClaimResponseNoteComponent(Complex parent, String parentType, String name, ClaimResponse.NoteComponent element, int index) { 5499 if (element == null) 5500 return; 5501 Complex t; 5502 if (Utilities.noString(parentType)) 5503 t = parent; 5504 else { 5505 t = parent.predicate("fhir:"+parentType+'.'+name); 5506 } 5507 composeBackboneElement(t, "processNote", name, element, index); 5508 if (element.hasNumberElement()) { 5509 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 5510 } 5511 if (element.hasTypeElement()) { 5512 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 5513 } 5514 if (element.hasTextElement()) { 5515 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 5516 } 5517 if (element.hasLanguage()) { 5518 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 5519 } 5520 } 5521 5522 protected void composeClaimResponseInsuranceComponent(Complex parent, String parentType, String name, ClaimResponse.InsuranceComponent element, int index) { 5523 if (element == null) 5524 return; 5525 Complex t; 5526 if (Utilities.noString(parentType)) 5527 t = parent; 5528 else { 5529 t = parent.predicate("fhir:"+parentType+'.'+name); 5530 } 5531 composeBackboneElement(t, "insurance", name, element, index); 5532 if (element.hasSequenceElement()) { 5533 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 5534 } 5535 if (element.hasFocalElement()) { 5536 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 5537 } 5538 if (element.hasCoverage()) { 5539 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 5540 } 5541 if (element.hasBusinessArrangementElement()) { 5542 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 5543 } 5544 if (element.hasClaimResponse()) { 5545 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 5546 } 5547 } 5548 5549 protected void composeClaimResponseErrorComponent(Complex parent, String parentType, String name, ClaimResponse.ErrorComponent element, int index) { 5550 if (element == null) 5551 return; 5552 Complex t; 5553 if (Utilities.noString(parentType)) 5554 t = parent; 5555 else { 5556 t = parent.predicate("fhir:"+parentType+'.'+name); 5557 } 5558 composeBackboneElement(t, "error", name, element, index); 5559 if (element.hasItemSequenceElement()) { 5560 composePositiveInt(t, "ErrorComponent", "itemSequence", element.getItemSequenceElement(), -1); 5561 } 5562 if (element.hasDetailSequenceElement()) { 5563 composePositiveInt(t, "ErrorComponent", "detailSequence", element.getDetailSequenceElement(), -1); 5564 } 5565 if (element.hasSubDetailSequenceElement()) { 5566 composePositiveInt(t, "ErrorComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 5567 } 5568 if (element.hasCode()) { 5569 composeCodeableConcept(t, "ErrorComponent", "code", element.getCode(), -1); 5570 } 5571 } 5572 5573 protected void composeClinicalImpression(Complex parent, String parentType, String name, ClinicalImpression element, int index) { 5574 if (element == null) 5575 return; 5576 Complex t; 5577 if (Utilities.noString(parentType)) 5578 t = parent; 5579 else { 5580 t = parent.predicate("fhir:"+parentType+'.'+name); 5581 } 5582 composeDomainResource(t, "ClinicalImpression", name, element, index); 5583 for (int i = 0; i < element.getIdentifier().size(); i++) { 5584 composeIdentifier(t, "ClinicalImpression", "identifier", element.getIdentifier().get(i), i); 5585 } 5586 if (element.hasStatusElement()) { 5587 composeEnum(t, "ClinicalImpression", "status", element.getStatusElement(), -1); 5588 } 5589 if (element.hasStatusReason()) { 5590 composeCodeableConcept(t, "ClinicalImpression", "statusReason", element.getStatusReason(), -1); 5591 } 5592 if (element.hasCode()) { 5593 composeCodeableConcept(t, "ClinicalImpression", "code", element.getCode(), -1); 5594 } 5595 if (element.hasDescriptionElement()) { 5596 composeString(t, "ClinicalImpression", "description", element.getDescriptionElement(), -1); 5597 } 5598 if (element.hasSubject()) { 5599 composeReference(t, "ClinicalImpression", "subject", element.getSubject(), -1); 5600 } 5601 if (element.hasEncounter()) { 5602 composeReference(t, "ClinicalImpression", "encounter", element.getEncounter(), -1); 5603 } 5604 if (element.hasEffective()) { 5605 composeType(t, "ClinicalImpression", "effective", element.getEffective(), -1); 5606 } 5607 if (element.hasDateElement()) { 5608 composeDateTime(t, "ClinicalImpression", "date", element.getDateElement(), -1); 5609 } 5610 if (element.hasAssessor()) { 5611 composeReference(t, "ClinicalImpression", "assessor", element.getAssessor(), -1); 5612 } 5613 if (element.hasPrevious()) { 5614 composeReference(t, "ClinicalImpression", "previous", element.getPrevious(), -1); 5615 } 5616 for (int i = 0; i < element.getProblem().size(); i++) { 5617 composeReference(t, "ClinicalImpression", "problem", element.getProblem().get(i), i); 5618 } 5619 for (int i = 0; i < element.getInvestigation().size(); i++) { 5620 composeClinicalImpressionInvestigationComponent(t, "ClinicalImpression", "investigation", element.getInvestigation().get(i), i); 5621 } 5622 for (int i = 0; i < element.getProtocol().size(); i++) { 5623 composeUri(t, "ClinicalImpression", "protocol", element.getProtocol().get(i), i); 5624 } 5625 if (element.hasSummaryElement()) { 5626 composeString(t, "ClinicalImpression", "summary", element.getSummaryElement(), -1); 5627 } 5628 for (int i = 0; i < element.getFinding().size(); i++) { 5629 composeClinicalImpressionFindingComponent(t, "ClinicalImpression", "finding", element.getFinding().get(i), i); 5630 } 5631 for (int i = 0; i < element.getPrognosisCodeableConcept().size(); i++) { 5632 composeCodeableConcept(t, "ClinicalImpression", "prognosisCodeableConcept", element.getPrognosisCodeableConcept().get(i), i); 5633 } 5634 for (int i = 0; i < element.getPrognosisReference().size(); i++) { 5635 composeReference(t, "ClinicalImpression", "prognosisReference", element.getPrognosisReference().get(i), i); 5636 } 5637 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 5638 composeReference(t, "ClinicalImpression", "supportingInfo", element.getSupportingInfo().get(i), i); 5639 } 5640 for (int i = 0; i < element.getNote().size(); i++) { 5641 composeAnnotation(t, "ClinicalImpression", "note", element.getNote().get(i), i); 5642 } 5643 } 5644 5645 protected void composeClinicalImpressionInvestigationComponent(Complex parent, String parentType, String name, ClinicalImpression.ClinicalImpressionInvestigationComponent element, int index) { 5646 if (element == null) 5647 return; 5648 Complex t; 5649 if (Utilities.noString(parentType)) 5650 t = parent; 5651 else { 5652 t = parent.predicate("fhir:"+parentType+'.'+name); 5653 } 5654 composeBackboneElement(t, "investigation", name, element, index); 5655 if (element.hasCode()) { 5656 composeCodeableConcept(t, "ClinicalImpressionInvestigationComponent", "code", element.getCode(), -1); 5657 } 5658 for (int i = 0; i < element.getItem().size(); i++) { 5659 composeReference(t, "ClinicalImpressionInvestigationComponent", "item", element.getItem().get(i), i); 5660 } 5661 } 5662 5663 protected void composeClinicalImpressionFindingComponent(Complex parent, String parentType, String name, ClinicalImpression.ClinicalImpressionFindingComponent element, int index) { 5664 if (element == null) 5665 return; 5666 Complex t; 5667 if (Utilities.noString(parentType)) 5668 t = parent; 5669 else { 5670 t = parent.predicate("fhir:"+parentType+'.'+name); 5671 } 5672 composeBackboneElement(t, "finding", name, element, index); 5673 if (element.hasItemCodeableConcept()) { 5674 composeCodeableConcept(t, "ClinicalImpressionFindingComponent", "itemCodeableConcept", element.getItemCodeableConcept(), -1); 5675 } 5676 if (element.hasItemReference()) { 5677 composeReference(t, "ClinicalImpressionFindingComponent", "itemReference", element.getItemReference(), -1); 5678 } 5679 if (element.hasBasisElement()) { 5680 composeString(t, "ClinicalImpressionFindingComponent", "basis", element.getBasisElement(), -1); 5681 } 5682 } 5683 5684 protected void composeClinicalUseDefinition(Complex parent, String parentType, String name, ClinicalUseDefinition element, int index) { 5685 if (element == null) 5686 return; 5687 Complex t; 5688 if (Utilities.noString(parentType)) 5689 t = parent; 5690 else { 5691 t = parent.predicate("fhir:"+parentType+'.'+name); 5692 } 5693 composeDomainResource(t, "ClinicalUseDefinition", name, element, index); 5694 for (int i = 0; i < element.getIdentifier().size(); i++) { 5695 composeIdentifier(t, "ClinicalUseDefinition", "identifier", element.getIdentifier().get(i), i); 5696 } 5697 if (element.hasTypeElement()) { 5698 composeEnum(t, "ClinicalUseDefinition", "type", element.getTypeElement(), -1); 5699 } 5700 for (int i = 0; i < element.getCategory().size(); i++) { 5701 composeCodeableConcept(t, "ClinicalUseDefinition", "category", element.getCategory().get(i), i); 5702 } 5703 for (int i = 0; i < element.getSubject().size(); i++) { 5704 composeReference(t, "ClinicalUseDefinition", "subject", element.getSubject().get(i), i); 5705 } 5706 if (element.hasStatus()) { 5707 composeCodeableConcept(t, "ClinicalUseDefinition", "status", element.getStatus(), -1); 5708 } 5709 if (element.hasContraindication()) { 5710 composeClinicalUseDefinitionContraindicationComponent(t, "ClinicalUseDefinition", "contraindication", element.getContraindication(), -1); 5711 } 5712 if (element.hasIndication()) { 5713 composeClinicalUseDefinitionIndicationComponent(t, "ClinicalUseDefinition", "indication", element.getIndication(), -1); 5714 } 5715 if (element.hasInteraction()) { 5716 composeClinicalUseDefinitionInteractionComponent(t, "ClinicalUseDefinition", "interaction", element.getInteraction(), -1); 5717 } 5718 for (int i = 0; i < element.getPopulation().size(); i++) { 5719 composeReference(t, "ClinicalUseDefinition", "population", element.getPopulation().get(i), i); 5720 } 5721 if (element.hasUndesirableEffect()) { 5722 composeClinicalUseDefinitionUndesirableEffectComponent(t, "ClinicalUseDefinition", "undesirableEffect", element.getUndesirableEffect(), -1); 5723 } 5724 if (element.hasWarning()) { 5725 composeClinicalUseDefinitionWarningComponent(t, "ClinicalUseDefinition", "warning", element.getWarning(), -1); 5726 } 5727 } 5728 5729 protected void composeClinicalUseDefinitionContraindicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent element, int index) { 5730 if (element == null) 5731 return; 5732 Complex t; 5733 if (Utilities.noString(parentType)) 5734 t = parent; 5735 else { 5736 t = parent.predicate("fhir:"+parentType+'.'+name); 5737 } 5738 composeBackboneElement(t, "contraindication", name, element, index); 5739 if (element.hasDiseaseSymptomProcedure()) { 5740 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 5741 } 5742 if (element.hasDiseaseStatus()) { 5743 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 5744 } 5745 for (int i = 0; i < element.getComorbidity().size(); i++) { 5746 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "comorbidity", element.getComorbidity().get(i), i); 5747 } 5748 for (int i = 0; i < element.getIndication().size(); i++) { 5749 composeReference(t, "ClinicalUseDefinitionContraindicationComponent", "indication", element.getIndication().get(i), i); 5750 } 5751 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 5752 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionContraindicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 5753 } 5754 } 5755 5756 protected void composeClinicalUseDefinitionContraindicationOtherTherapyComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent element, int index) { 5757 if (element == null) 5758 return; 5759 Complex t; 5760 if (Utilities.noString(parentType)) 5761 t = parent; 5762 else { 5763 t = parent.predicate("fhir:"+parentType+'.'+name); 5764 } 5765 composeBackboneElement(t, "otherTherapy", name, element, index); 5766 if (element.hasRelationshipType()) { 5767 composeCodeableConcept(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "relationshipType", element.getRelationshipType(), -1); 5768 } 5769 if (element.hasTherapy()) { 5770 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "therapy", element.getTherapy(), -1); 5771 } 5772 } 5773 5774 protected void composeClinicalUseDefinitionIndicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent element, int index) { 5775 if (element == null) 5776 return; 5777 Complex t; 5778 if (Utilities.noString(parentType)) 5779 t = parent; 5780 else { 5781 t = parent.predicate("fhir:"+parentType+'.'+name); 5782 } 5783 composeBackboneElement(t, "indication", name, element, index); 5784 if (element.hasDiseaseSymptomProcedure()) { 5785 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 5786 } 5787 if (element.hasDiseaseStatus()) { 5788 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 5789 } 5790 for (int i = 0; i < element.getComorbidity().size(); i++) { 5791 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "comorbidity", element.getComorbidity().get(i), i); 5792 } 5793 if (element.hasIntendedEffect()) { 5794 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "intendedEffect", element.getIntendedEffect(), -1); 5795 } 5796 if (element.hasDuration()) { 5797 composeQuantity(t, "ClinicalUseDefinitionIndicationComponent", "duration", element.getDuration(), -1); 5798 } 5799 for (int i = 0; i < element.getUndesirableEffect().size(); i++) { 5800 composeReference(t, "ClinicalUseDefinitionIndicationComponent", "undesirableEffect", element.getUndesirableEffect().get(i), i); 5801 } 5802 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 5803 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionIndicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 5804 } 5805 } 5806 5807 protected void composeClinicalUseDefinitionInteractionComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent element, int index) { 5808 if (element == null) 5809 return; 5810 Complex t; 5811 if (Utilities.noString(parentType)) 5812 t = parent; 5813 else { 5814 t = parent.predicate("fhir:"+parentType+'.'+name); 5815 } 5816 composeBackboneElement(t, "interaction", name, element, index); 5817 for (int i = 0; i < element.getInteractant().size(); i++) { 5818 composeClinicalUseDefinitionInteractionInteractantComponent(t, "ClinicalUseDefinitionInteractionComponent", "interactant", element.getInteractant().get(i), i); 5819 } 5820 if (element.hasType()) { 5821 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "type", element.getType(), -1); 5822 } 5823 if (element.hasEffect()) { 5824 composeCodeableReference(t, "ClinicalUseDefinitionInteractionComponent", "effect", element.getEffect(), -1); 5825 } 5826 if (element.hasIncidence()) { 5827 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "incidence", element.getIncidence(), -1); 5828 } 5829 for (int i = 0; i < element.getManagement().size(); i++) { 5830 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "management", element.getManagement().get(i), i); 5831 } 5832 } 5833 5834 protected void composeClinicalUseDefinitionInteractionInteractantComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent element, int index) { 5835 if (element == null) 5836 return; 5837 Complex t; 5838 if (Utilities.noString(parentType)) 5839 t = parent; 5840 else { 5841 t = parent.predicate("fhir:"+parentType+'.'+name); 5842 } 5843 composeBackboneElement(t, "interactant", name, element, index); 5844 if (element.hasItem()) { 5845 composeType(t, "ClinicalUseDefinitionInteractionInteractantComponent", "item", element.getItem(), -1); 5846 } 5847 } 5848 5849 protected void composeClinicalUseDefinitionUndesirableEffectComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent element, int index) { 5850 if (element == null) 5851 return; 5852 Complex t; 5853 if (Utilities.noString(parentType)) 5854 t = parent; 5855 else { 5856 t = parent.predicate("fhir:"+parentType+'.'+name); 5857 } 5858 composeBackboneElement(t, "undesirableEffect", name, element, index); 5859 if (element.hasSymptomConditionEffect()) { 5860 composeCodeableReference(t, "ClinicalUseDefinitionUndesirableEffectComponent", "symptomConditionEffect", element.getSymptomConditionEffect(), -1); 5861 } 5862 if (element.hasClassification()) { 5863 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "classification", element.getClassification(), -1); 5864 } 5865 if (element.hasFrequencyOfOccurrence()) { 5866 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "frequencyOfOccurrence", element.getFrequencyOfOccurrence(), -1); 5867 } 5868 } 5869 5870 protected void composeClinicalUseDefinitionWarningComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent element, int index) { 5871 if (element == null) 5872 return; 5873 Complex t; 5874 if (Utilities.noString(parentType)) 5875 t = parent; 5876 else { 5877 t = parent.predicate("fhir:"+parentType+'.'+name); 5878 } 5879 composeBackboneElement(t, "warning", name, element, index); 5880 if (element.hasDescriptionElement()) { 5881 composeMarkdown(t, "ClinicalUseDefinitionWarningComponent", "description", element.getDescriptionElement(), -1); 5882 } 5883 if (element.hasCode()) { 5884 composeCodeableConcept(t, "ClinicalUseDefinitionWarningComponent", "code", element.getCode(), -1); 5885 } 5886 } 5887 5888 protected void composeCodeSystem(Complex parent, String parentType, String name, CodeSystem element, int index) { 5889 if (element == null) 5890 return; 5891 Complex t; 5892 if (Utilities.noString(parentType)) 5893 t = parent; 5894 else { 5895 t = parent.predicate("fhir:"+parentType+'.'+name); 5896 } 5897 composeDomainResource(t, "CodeSystem", name, element, index); 5898 if (element.hasUrlElement()) { 5899 composeUri(t, "CodeSystem", "url", element.getUrlElement(), -1); 5900 } 5901 for (int i = 0; i < element.getIdentifier().size(); i++) { 5902 composeIdentifier(t, "CodeSystem", "identifier", element.getIdentifier().get(i), i); 5903 } 5904 if (element.hasVersionElement()) { 5905 composeString(t, "CodeSystem", "version", element.getVersionElement(), -1); 5906 } 5907 if (element.hasNameElement()) { 5908 composeString(t, "CodeSystem", "name", element.getNameElement(), -1); 5909 } 5910 if (element.hasTitleElement()) { 5911 composeString(t, "CodeSystem", "title", element.getTitleElement(), -1); 5912 } 5913 if (element.hasStatusElement()) { 5914 composeEnum(t, "CodeSystem", "status", element.getStatusElement(), -1); 5915 } 5916 if (element.hasExperimentalElement()) { 5917 composeBoolean(t, "CodeSystem", "experimental", element.getExperimentalElement(), -1); 5918 } 5919 if (element.hasDateElement()) { 5920 composeDateTime(t, "CodeSystem", "date", element.getDateElement(), -1); 5921 } 5922 if (element.hasPublisherElement()) { 5923 composeString(t, "CodeSystem", "publisher", element.getPublisherElement(), -1); 5924 } 5925 for (int i = 0; i < element.getContact().size(); i++) { 5926 composeContactDetail(t, "CodeSystem", "contact", element.getContact().get(i), i); 5927 } 5928 if (element.hasDescriptionElement()) { 5929 composeMarkdown(t, "CodeSystem", "description", element.getDescriptionElement(), -1); 5930 } 5931 for (int i = 0; i < element.getUseContext().size(); i++) { 5932 composeUsageContext(t, "CodeSystem", "useContext", element.getUseContext().get(i), i); 5933 } 5934 for (int i = 0; i < element.getJurisdiction().size(); i++) { 5935 composeCodeableConcept(t, "CodeSystem", "jurisdiction", element.getJurisdiction().get(i), i); 5936 } 5937 if (element.hasPurposeElement()) { 5938 composeMarkdown(t, "CodeSystem", "purpose", element.getPurposeElement(), -1); 5939 } 5940 if (element.hasCopyrightElement()) { 5941 composeMarkdown(t, "CodeSystem", "copyright", element.getCopyrightElement(), -1); 5942 } 5943 if (element.hasCaseSensitiveElement()) { 5944 composeBoolean(t, "CodeSystem", "caseSensitive", element.getCaseSensitiveElement(), -1); 5945 } 5946 if (element.hasValueSetElement()) { 5947 composeCanonical(t, "CodeSystem", "valueSet", element.getValueSetElement(), -1); 5948 } 5949 if (element.hasHierarchyMeaningElement()) { 5950 composeEnum(t, "CodeSystem", "hierarchyMeaning", element.getHierarchyMeaningElement(), -1); 5951 } 5952 if (element.hasCompositionalElement()) { 5953 composeBoolean(t, "CodeSystem", "compositional", element.getCompositionalElement(), -1); 5954 } 5955 if (element.hasVersionNeededElement()) { 5956 composeBoolean(t, "CodeSystem", "versionNeeded", element.getVersionNeededElement(), -1); 5957 } 5958 if (element.hasContentElement()) { 5959 composeEnum(t, "CodeSystem", "content", element.getContentElement(), -1); 5960 } 5961 if (element.hasSupplementsElement()) { 5962 composeCanonical(t, "CodeSystem", "supplements", element.getSupplementsElement(), -1); 5963 } 5964 if (element.hasCountElement()) { 5965 composeUnsignedInt(t, "CodeSystem", "count", element.getCountElement(), -1); 5966 } 5967 for (int i = 0; i < element.getFilter().size(); i++) { 5968 composeCodeSystemFilterComponent(t, "CodeSystem", "filter", element.getFilter().get(i), i); 5969 } 5970 for (int i = 0; i < element.getProperty().size(); i++) { 5971 composeCodeSystemPropertyComponent(t, "CodeSystem", "property", element.getProperty().get(i), i); 5972 } 5973 for (int i = 0; i < element.getConcept().size(); i++) { 5974 composeCodeSystemConceptDefinitionComponent(t, "CodeSystem", "concept", element.getConcept().get(i), i); 5975 } 5976 } 5977 5978 protected void composeCodeSystemFilterComponent(Complex parent, String parentType, String name, CodeSystem.CodeSystemFilterComponent element, int index) { 5979 if (element == null) 5980 return; 5981 Complex t; 5982 if (Utilities.noString(parentType)) 5983 t = parent; 5984 else { 5985 t = parent.predicate("fhir:"+parentType+'.'+name); 5986 } 5987 composeBackboneElement(t, "filter", name, element, index); 5988 if (element.hasCodeElement()) { 5989 composeCode(t, "CodeSystemFilterComponent", "code", element.getCodeElement(), -1); 5990 } 5991 if (element.hasDescriptionElement()) { 5992 composeString(t, "CodeSystemFilterComponent", "description", element.getDescriptionElement(), -1); 5993 } 5994 for (int i = 0; i < element.getOperator().size(); i++) { 5995 composeEnum(t, "CodeSystemFilterComponent", "operator", element.getOperator().get(i), i); 5996 } 5997 if (element.hasValueElement()) { 5998 composeString(t, "CodeSystemFilterComponent", "value", element.getValueElement(), -1); 5999 } 6000 } 6001 6002 protected void composeCodeSystemPropertyComponent(Complex parent, String parentType, String name, CodeSystem.PropertyComponent element, int index) { 6003 if (element == null) 6004 return; 6005 Complex t; 6006 if (Utilities.noString(parentType)) 6007 t = parent; 6008 else { 6009 t = parent.predicate("fhir:"+parentType+'.'+name); 6010 } 6011 composeBackboneElement(t, "property", name, element, index); 6012 if (element.hasCodeElement()) { 6013 composeCode(t, "PropertyComponent", "code", element.getCodeElement(), -1); 6014 } 6015 if (element.hasUriElement()) { 6016 composeUri(t, "PropertyComponent", "uri", element.getUriElement(), -1); 6017 } 6018 if (element.hasDescriptionElement()) { 6019 composeString(t, "PropertyComponent", "description", element.getDescriptionElement(), -1); 6020 } 6021 if (element.hasTypeElement()) { 6022 composeEnum(t, "PropertyComponent", "type", element.getTypeElement(), -1); 6023 } 6024 } 6025 6026 protected void composeCodeSystemConceptDefinitionComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionComponent element, int index) { 6027 if (element == null) 6028 return; 6029 Complex t; 6030 if (Utilities.noString(parentType)) 6031 t = parent; 6032 else { 6033 t = parent.predicate("fhir:"+parentType+'.'+name); 6034 } 6035 composeBackboneElement(t, "concept", name, element, index); 6036 if (element.hasCodeElement()) { 6037 composeCode(t, "ConceptDefinitionComponent", "code", element.getCodeElement(), -1); 6038 } 6039 if (element.hasDisplayElement()) { 6040 composeString(t, "ConceptDefinitionComponent", "display", element.getDisplayElement(), -1); 6041 } 6042 if (element.hasDefinitionElement()) { 6043 composeString(t, "ConceptDefinitionComponent", "definition", element.getDefinitionElement(), -1); 6044 } 6045 for (int i = 0; i < element.getDesignation().size(); i++) { 6046 composeCodeSystemConceptDefinitionDesignationComponent(t, "ConceptDefinitionComponent", "designation", element.getDesignation().get(i), i); 6047 } 6048 for (int i = 0; i < element.getProperty().size(); i++) { 6049 composeCodeSystemConceptPropertyComponent(t, "ConceptDefinitionComponent", "property", element.getProperty().get(i), i); 6050 } 6051 for (int i = 0; i < element.getConcept().size(); i++) { 6052 composeCodeSystemConceptDefinitionComponent(t, "ConceptDefinitionComponent", "concept", element.getConcept().get(i), i); 6053 } 6054 } 6055 6056 protected void composeCodeSystemConceptDefinitionDesignationComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionDesignationComponent element, int index) { 6057 if (element == null) 6058 return; 6059 Complex t; 6060 if (Utilities.noString(parentType)) 6061 t = parent; 6062 else { 6063 t = parent.predicate("fhir:"+parentType+'.'+name); 6064 } 6065 composeBackboneElement(t, "designation", name, element, index); 6066 if (element.hasLanguageElement()) { 6067 composeCode(t, "ConceptDefinitionDesignationComponent", "language", element.getLanguageElement(), -1); 6068 } 6069 if (element.hasUse()) { 6070 composeCoding(t, "ConceptDefinitionDesignationComponent", "use", element.getUse(), -1); 6071 } 6072 if (element.hasValueElement()) { 6073 composeString(t, "ConceptDefinitionDesignationComponent", "value", element.getValueElement(), -1); 6074 } 6075 } 6076 6077 protected void composeCodeSystemConceptPropertyComponent(Complex parent, String parentType, String name, CodeSystem.ConceptPropertyComponent element, int index) { 6078 if (element == null) 6079 return; 6080 Complex t; 6081 if (Utilities.noString(parentType)) 6082 t = parent; 6083 else { 6084 t = parent.predicate("fhir:"+parentType+'.'+name); 6085 } 6086 composeBackboneElement(t, "property", name, element, index); 6087 if (element.hasCodeElement()) { 6088 composeCode(t, "ConceptPropertyComponent", "code", element.getCodeElement(), -1); 6089 } 6090 if (element.hasValue()) { 6091 composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); 6092 } 6093 } 6094 6095 protected void composeCommunication(Complex parent, String parentType, String name, Communication element, int index) { 6096 if (element == null) 6097 return; 6098 Complex t; 6099 if (Utilities.noString(parentType)) 6100 t = parent; 6101 else { 6102 t = parent.predicate("fhir:"+parentType+'.'+name); 6103 } 6104 composeDomainResource(t, "Communication", name, element, index); 6105 for (int i = 0; i < element.getIdentifier().size(); i++) { 6106 composeIdentifier(t, "Communication", "identifier", element.getIdentifier().get(i), i); 6107 } 6108 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 6109 composeCanonical(t, "Communication", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 6110 } 6111 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 6112 composeUri(t, "Communication", "instantiatesUri", element.getInstantiatesUri().get(i), i); 6113 } 6114 for (int i = 0; i < element.getBasedOn().size(); i++) { 6115 composeReference(t, "Communication", "basedOn", element.getBasedOn().get(i), i); 6116 } 6117 for (int i = 0; i < element.getPartOf().size(); i++) { 6118 composeReference(t, "Communication", "partOf", element.getPartOf().get(i), i); 6119 } 6120 for (int i = 0; i < element.getInResponseTo().size(); i++) { 6121 composeReference(t, "Communication", "inResponseTo", element.getInResponseTo().get(i), i); 6122 } 6123 if (element.hasStatusElement()) { 6124 composeEnum(t, "Communication", "status", element.getStatusElement(), -1); 6125 } 6126 if (element.hasStatusReason()) { 6127 composeCodeableConcept(t, "Communication", "statusReason", element.getStatusReason(), -1); 6128 } 6129 for (int i = 0; i < element.getCategory().size(); i++) { 6130 composeCodeableConcept(t, "Communication", "category", element.getCategory().get(i), i); 6131 } 6132 if (element.hasPriorityElement()) { 6133 composeEnum(t, "Communication", "priority", element.getPriorityElement(), -1); 6134 } 6135 for (int i = 0; i < element.getMedium().size(); i++) { 6136 composeCodeableConcept(t, "Communication", "medium", element.getMedium().get(i), i); 6137 } 6138 if (element.hasSubject()) { 6139 composeReference(t, "Communication", "subject", element.getSubject(), -1); 6140 } 6141 if (element.hasTopic()) { 6142 composeCodeableConcept(t, "Communication", "topic", element.getTopic(), -1); 6143 } 6144 for (int i = 0; i < element.getAbout().size(); i++) { 6145 composeReference(t, "Communication", "about", element.getAbout().get(i), i); 6146 } 6147 if (element.hasEncounter()) { 6148 composeReference(t, "Communication", "encounter", element.getEncounter(), -1); 6149 } 6150 if (element.hasSentElement()) { 6151 composeDateTime(t, "Communication", "sent", element.getSentElement(), -1); 6152 } 6153 if (element.hasReceivedElement()) { 6154 composeDateTime(t, "Communication", "received", element.getReceivedElement(), -1); 6155 } 6156 for (int i = 0; i < element.getRecipient().size(); i++) { 6157 composeReference(t, "Communication", "recipient", element.getRecipient().get(i), i); 6158 } 6159 if (element.hasSender()) { 6160 composeReference(t, "Communication", "sender", element.getSender(), -1); 6161 } 6162 for (int i = 0; i < element.getReasonCode().size(); i++) { 6163 composeCodeableConcept(t, "Communication", "reasonCode", element.getReasonCode().get(i), i); 6164 } 6165 for (int i = 0; i < element.getReasonReference().size(); i++) { 6166 composeReference(t, "Communication", "reasonReference", element.getReasonReference().get(i), i); 6167 } 6168 for (int i = 0; i < element.getPayload().size(); i++) { 6169 composeCommunicationPayloadComponent(t, "Communication", "payload", element.getPayload().get(i), i); 6170 } 6171 for (int i = 0; i < element.getNote().size(); i++) { 6172 composeAnnotation(t, "Communication", "note", element.getNote().get(i), i); 6173 } 6174 } 6175 6176 protected void composeCommunicationPayloadComponent(Complex parent, String parentType, String name, Communication.CommunicationPayloadComponent element, int index) { 6177 if (element == null) 6178 return; 6179 Complex t; 6180 if (Utilities.noString(parentType)) 6181 t = parent; 6182 else { 6183 t = parent.predicate("fhir:"+parentType+'.'+name); 6184 } 6185 composeBackboneElement(t, "payload", name, element, index); 6186 if (element.hasContent()) { 6187 composeType(t, "CommunicationPayloadComponent", "content", element.getContent(), -1); 6188 } 6189 } 6190 6191 protected void composeCommunicationRequest(Complex parent, String parentType, String name, CommunicationRequest element, int index) { 6192 if (element == null) 6193 return; 6194 Complex t; 6195 if (Utilities.noString(parentType)) 6196 t = parent; 6197 else { 6198 t = parent.predicate("fhir:"+parentType+'.'+name); 6199 } 6200 composeDomainResource(t, "CommunicationRequest", name, element, index); 6201 for (int i = 0; i < element.getIdentifier().size(); i++) { 6202 composeIdentifier(t, "CommunicationRequest", "identifier", element.getIdentifier().get(i), i); 6203 } 6204 for (int i = 0; i < element.getBasedOn().size(); i++) { 6205 composeReference(t, "CommunicationRequest", "basedOn", element.getBasedOn().get(i), i); 6206 } 6207 for (int i = 0; i < element.getReplaces().size(); i++) { 6208 composeReference(t, "CommunicationRequest", "replaces", element.getReplaces().get(i), i); 6209 } 6210 if (element.hasGroupIdentifier()) { 6211 composeIdentifier(t, "CommunicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 6212 } 6213 if (element.hasStatusElement()) { 6214 composeEnum(t, "CommunicationRequest", "status", element.getStatusElement(), -1); 6215 } 6216 if (element.hasStatusReason()) { 6217 composeCodeableConcept(t, "CommunicationRequest", "statusReason", element.getStatusReason(), -1); 6218 } 6219 for (int i = 0; i < element.getCategory().size(); i++) { 6220 composeCodeableConcept(t, "CommunicationRequest", "category", element.getCategory().get(i), i); 6221 } 6222 if (element.hasPriorityElement()) { 6223 composeEnum(t, "CommunicationRequest", "priority", element.getPriorityElement(), -1); 6224 } 6225 if (element.hasDoNotPerformElement()) { 6226 composeBoolean(t, "CommunicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 6227 } 6228 for (int i = 0; i < element.getMedium().size(); i++) { 6229 composeCodeableConcept(t, "CommunicationRequest", "medium", element.getMedium().get(i), i); 6230 } 6231 if (element.hasSubject()) { 6232 composeReference(t, "CommunicationRequest", "subject", element.getSubject(), -1); 6233 } 6234 for (int i = 0; i < element.getAbout().size(); i++) { 6235 composeReference(t, "CommunicationRequest", "about", element.getAbout().get(i), i); 6236 } 6237 if (element.hasEncounter()) { 6238 composeReference(t, "CommunicationRequest", "encounter", element.getEncounter(), -1); 6239 } 6240 for (int i = 0; i < element.getPayload().size(); i++) { 6241 composeCommunicationRequestPayloadComponent(t, "CommunicationRequest", "payload", element.getPayload().get(i), i); 6242 } 6243 if (element.hasOccurrence()) { 6244 composeType(t, "CommunicationRequest", "occurrence", element.getOccurrence(), -1); 6245 } 6246 if (element.hasAuthoredOnElement()) { 6247 composeDateTime(t, "CommunicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 6248 } 6249 if (element.hasRequester()) { 6250 composeReference(t, "CommunicationRequest", "requester", element.getRequester(), -1); 6251 } 6252 for (int i = 0; i < element.getRecipient().size(); i++) { 6253 composeReference(t, "CommunicationRequest", "recipient", element.getRecipient().get(i), i); 6254 } 6255 if (element.hasSender()) { 6256 composeReference(t, "CommunicationRequest", "sender", element.getSender(), -1); 6257 } 6258 for (int i = 0; i < element.getReasonCode().size(); i++) { 6259 composeCodeableConcept(t, "CommunicationRequest", "reasonCode", element.getReasonCode().get(i), i); 6260 } 6261 for (int i = 0; i < element.getReasonReference().size(); i++) { 6262 composeReference(t, "CommunicationRequest", "reasonReference", element.getReasonReference().get(i), i); 6263 } 6264 for (int i = 0; i < element.getNote().size(); i++) { 6265 composeAnnotation(t, "CommunicationRequest", "note", element.getNote().get(i), i); 6266 } 6267 } 6268 6269 protected void composeCommunicationRequestPayloadComponent(Complex parent, String parentType, String name, CommunicationRequest.CommunicationRequestPayloadComponent element, int index) { 6270 if (element == null) 6271 return; 6272 Complex t; 6273 if (Utilities.noString(parentType)) 6274 t = parent; 6275 else { 6276 t = parent.predicate("fhir:"+parentType+'.'+name); 6277 } 6278 composeBackboneElement(t, "payload", name, element, index); 6279 if (element.hasContent()) { 6280 composeType(t, "CommunicationRequestPayloadComponent", "content", element.getContent(), -1); 6281 } 6282 } 6283 6284 protected void composeCompartmentDefinition(Complex parent, String parentType, String name, CompartmentDefinition element, int index) { 6285 if (element == null) 6286 return; 6287 Complex t; 6288 if (Utilities.noString(parentType)) 6289 t = parent; 6290 else { 6291 t = parent.predicate("fhir:"+parentType+'.'+name); 6292 } 6293 composeDomainResource(t, "CompartmentDefinition", name, element, index); 6294 if (element.hasUrlElement()) { 6295 composeUri(t, "CompartmentDefinition", "url", element.getUrlElement(), -1); 6296 } 6297 if (element.hasVersionElement()) { 6298 composeString(t, "CompartmentDefinition", "version", element.getVersionElement(), -1); 6299 } 6300 if (element.hasNameElement()) { 6301 composeString(t, "CompartmentDefinition", "name", element.getNameElement(), -1); 6302 } 6303 if (element.hasStatusElement()) { 6304 composeEnum(t, "CompartmentDefinition", "status", element.getStatusElement(), -1); 6305 } 6306 if (element.hasExperimentalElement()) { 6307 composeBoolean(t, "CompartmentDefinition", "experimental", element.getExperimentalElement(), -1); 6308 } 6309 if (element.hasDateElement()) { 6310 composeDateTime(t, "CompartmentDefinition", "date", element.getDateElement(), -1); 6311 } 6312 if (element.hasPublisherElement()) { 6313 composeString(t, "CompartmentDefinition", "publisher", element.getPublisherElement(), -1); 6314 } 6315 for (int i = 0; i < element.getContact().size(); i++) { 6316 composeContactDetail(t, "CompartmentDefinition", "contact", element.getContact().get(i), i); 6317 } 6318 if (element.hasDescriptionElement()) { 6319 composeMarkdown(t, "CompartmentDefinition", "description", element.getDescriptionElement(), -1); 6320 } 6321 for (int i = 0; i < element.getUseContext().size(); i++) { 6322 composeUsageContext(t, "CompartmentDefinition", "useContext", element.getUseContext().get(i), i); 6323 } 6324 if (element.hasPurposeElement()) { 6325 composeMarkdown(t, "CompartmentDefinition", "purpose", element.getPurposeElement(), -1); 6326 } 6327 if (element.hasCodeElement()) { 6328 composeEnum(t, "CompartmentDefinition", "code", element.getCodeElement(), -1); 6329 } 6330 if (element.hasSearchElement()) { 6331 composeBoolean(t, "CompartmentDefinition", "search", element.getSearchElement(), -1); 6332 } 6333 for (int i = 0; i < element.getResource().size(); i++) { 6334 composeCompartmentDefinitionResourceComponent(t, "CompartmentDefinition", "resource", element.getResource().get(i), i); 6335 } 6336 } 6337 6338 protected void composeCompartmentDefinitionResourceComponent(Complex parent, String parentType, String name, CompartmentDefinition.CompartmentDefinitionResourceComponent element, int index) { 6339 if (element == null) 6340 return; 6341 Complex t; 6342 if (Utilities.noString(parentType)) 6343 t = parent; 6344 else { 6345 t = parent.predicate("fhir:"+parentType+'.'+name); 6346 } 6347 composeBackboneElement(t, "resource", name, element, index); 6348 if (element.hasCodeElement()) { 6349 composeCode(t, "CompartmentDefinitionResourceComponent", "code", element.getCodeElement(), -1); 6350 } 6351 for (int i = 0; i < element.getParam().size(); i++) { 6352 composeString(t, "CompartmentDefinitionResourceComponent", "param", element.getParam().get(i), i); 6353 } 6354 if (element.hasDocumentationElement()) { 6355 composeString(t, "CompartmentDefinitionResourceComponent", "documentation", element.getDocumentationElement(), -1); 6356 } 6357 } 6358 6359 protected void composeComposition(Complex parent, String parentType, String name, Composition element, int index) { 6360 if (element == null) 6361 return; 6362 Complex t; 6363 if (Utilities.noString(parentType)) 6364 t = parent; 6365 else { 6366 t = parent.predicate("fhir:"+parentType+'.'+name); 6367 } 6368 composeDomainResource(t, "Composition", name, element, index); 6369 if (element.hasIdentifier()) { 6370 composeIdentifier(t, "Composition", "identifier", element.getIdentifier(), -1); 6371 } 6372 if (element.hasStatusElement()) { 6373 composeEnum(t, "Composition", "status", element.getStatusElement(), -1); 6374 } 6375 if (element.hasType()) { 6376 composeCodeableConcept(t, "Composition", "type", element.getType(), -1); 6377 } 6378 for (int i = 0; i < element.getCategory().size(); i++) { 6379 composeCodeableConcept(t, "Composition", "category", element.getCategory().get(i), i); 6380 } 6381 if (element.hasSubject()) { 6382 composeReference(t, "Composition", "subject", element.getSubject(), -1); 6383 } 6384 if (element.hasEncounter()) { 6385 composeReference(t, "Composition", "encounter", element.getEncounter(), -1); 6386 } 6387 if (element.hasDateElement()) { 6388 composeDateTime(t, "Composition", "date", element.getDateElement(), -1); 6389 } 6390 for (int i = 0; i < element.getAuthor().size(); i++) { 6391 composeReference(t, "Composition", "author", element.getAuthor().get(i), i); 6392 } 6393 if (element.hasTitleElement()) { 6394 composeString(t, "Composition", "title", element.getTitleElement(), -1); 6395 } 6396 if (element.hasConfidentialityElement()) { 6397 composeCode(t, "Composition", "confidentiality", element.getConfidentialityElement(), -1); 6398 } 6399 for (int i = 0; i < element.getAttester().size(); i++) { 6400 composeCompositionAttesterComponent(t, "Composition", "attester", element.getAttester().get(i), i); 6401 } 6402 if (element.hasCustodian()) { 6403 composeReference(t, "Composition", "custodian", element.getCustodian(), -1); 6404 } 6405 for (int i = 0; i < element.getRelatesTo().size(); i++) { 6406 composeCompositionRelatesToComponent(t, "Composition", "relatesTo", element.getRelatesTo().get(i), i); 6407 } 6408 for (int i = 0; i < element.getEvent().size(); i++) { 6409 composeCompositionEventComponent(t, "Composition", "event", element.getEvent().get(i), i); 6410 } 6411 for (int i = 0; i < element.getSection().size(); i++) { 6412 composeCompositionSectionComponent(t, "Composition", "section", element.getSection().get(i), i); 6413 } 6414 } 6415 6416 protected void composeCompositionAttesterComponent(Complex parent, String parentType, String name, Composition.CompositionAttesterComponent element, int index) { 6417 if (element == null) 6418 return; 6419 Complex t; 6420 if (Utilities.noString(parentType)) 6421 t = parent; 6422 else { 6423 t = parent.predicate("fhir:"+parentType+'.'+name); 6424 } 6425 composeBackboneElement(t, "attester", name, element, index); 6426 if (element.hasModeElement()) { 6427 composeEnum(t, "CompositionAttesterComponent", "mode", element.getModeElement(), -1); 6428 } 6429 if (element.hasTimeElement()) { 6430 composeDateTime(t, "CompositionAttesterComponent", "time", element.getTimeElement(), -1); 6431 } 6432 if (element.hasParty()) { 6433 composeReference(t, "CompositionAttesterComponent", "party", element.getParty(), -1); 6434 } 6435 } 6436 6437 protected void composeCompositionRelatesToComponent(Complex parent, String parentType, String name, Composition.CompositionRelatesToComponent element, int index) { 6438 if (element == null) 6439 return; 6440 Complex t; 6441 if (Utilities.noString(parentType)) 6442 t = parent; 6443 else { 6444 t = parent.predicate("fhir:"+parentType+'.'+name); 6445 } 6446 composeBackboneElement(t, "relatesTo", name, element, index); 6447 if (element.hasCodeElement()) { 6448 composeEnum(t, "CompositionRelatesToComponent", "code", element.getCodeElement(), -1); 6449 } 6450 if (element.hasTarget()) { 6451 composeType(t, "CompositionRelatesToComponent", "target", element.getTarget(), -1); 6452 } 6453 } 6454 6455 protected void composeCompositionEventComponent(Complex parent, String parentType, String name, Composition.CompositionEventComponent element, int index) { 6456 if (element == null) 6457 return; 6458 Complex t; 6459 if (Utilities.noString(parentType)) 6460 t = parent; 6461 else { 6462 t = parent.predicate("fhir:"+parentType+'.'+name); 6463 } 6464 composeBackboneElement(t, "event", name, element, index); 6465 for (int i = 0; i < element.getCode().size(); i++) { 6466 composeCodeableConcept(t, "CompositionEventComponent", "code", element.getCode().get(i), i); 6467 } 6468 if (element.hasPeriod()) { 6469 composePeriod(t, "CompositionEventComponent", "period", element.getPeriod(), -1); 6470 } 6471 for (int i = 0; i < element.getDetail().size(); i++) { 6472 composeReference(t, "CompositionEventComponent", "detail", element.getDetail().get(i), i); 6473 } 6474 } 6475 6476 protected void composeCompositionSectionComponent(Complex parent, String parentType, String name, Composition.SectionComponent element, int index) { 6477 if (element == null) 6478 return; 6479 Complex t; 6480 if (Utilities.noString(parentType)) 6481 t = parent; 6482 else { 6483 t = parent.predicate("fhir:"+parentType+'.'+name); 6484 } 6485 composeBackboneElement(t, "section", name, element, index); 6486 if (element.hasTitleElement()) { 6487 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 6488 } 6489 if (element.hasCode()) { 6490 composeCodeableConcept(t, "SectionComponent", "code", element.getCode(), -1); 6491 } 6492 for (int i = 0; i < element.getAuthor().size(); i++) { 6493 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 6494 } 6495 if (element.hasFocus()) { 6496 composeReference(t, "SectionComponent", "focus", element.getFocus(), -1); 6497 } 6498 if (element.hasText()) { 6499 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 6500 } 6501 if (element.hasModeElement()) { 6502 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 6503 } 6504 if (element.hasOrderedBy()) { 6505 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 6506 } 6507 for (int i = 0; i < element.getEntry().size(); i++) { 6508 composeReference(t, "SectionComponent", "entry", element.getEntry().get(i), i); 6509 } 6510 if (element.hasEmptyReason()) { 6511 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 6512 } 6513 for (int i = 0; i < element.getSection().size(); i++) { 6514 composeCompositionSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 6515 } 6516 } 6517 6518 protected void composeConceptMap(Complex parent, String parentType, String name, ConceptMap element, int index) { 6519 if (element == null) 6520 return; 6521 Complex t; 6522 if (Utilities.noString(parentType)) 6523 t = parent; 6524 else { 6525 t = parent.predicate("fhir:"+parentType+'.'+name); 6526 } 6527 composeDomainResource(t, "ConceptMap", name, element, index); 6528 if (element.hasUrlElement()) { 6529 composeUri(t, "ConceptMap", "url", element.getUrlElement(), -1); 6530 } 6531 if (element.hasIdentifier()) { 6532 composeIdentifier(t, "ConceptMap", "identifier", element.getIdentifierFirstRep(), -1); 6533 } 6534 if (element.hasVersionElement()) { 6535 composeString(t, "ConceptMap", "version", element.getVersionElement(), -1); 6536 } 6537 if (element.hasNameElement()) { 6538 composeString(t, "ConceptMap", "name", element.getNameElement(), -1); 6539 } 6540 if (element.hasTitleElement()) { 6541 composeString(t, "ConceptMap", "title", element.getTitleElement(), -1); 6542 } 6543 if (element.hasStatusElement()) { 6544 composeEnum(t, "ConceptMap", "status", element.getStatusElement(), -1); 6545 } 6546 if (element.hasExperimentalElement()) { 6547 composeBoolean(t, "ConceptMap", "experimental", element.getExperimentalElement(), -1); 6548 } 6549 if (element.hasDateElement()) { 6550 composeDateTime(t, "ConceptMap", "date", element.getDateElement(), -1); 6551 } 6552 if (element.hasPublisherElement()) { 6553 composeString(t, "ConceptMap", "publisher", element.getPublisherElement(), -1); 6554 } 6555 for (int i = 0; i < element.getContact().size(); i++) { 6556 composeContactDetail(t, "ConceptMap", "contact", element.getContact().get(i), i); 6557 } 6558 if (element.hasDescriptionElement()) { 6559 composeMarkdown(t, "ConceptMap", "description", element.getDescriptionElement(), -1); 6560 } 6561 for (int i = 0; i < element.getUseContext().size(); i++) { 6562 composeUsageContext(t, "ConceptMap", "useContext", element.getUseContext().get(i), i); 6563 } 6564 for (int i = 0; i < element.getJurisdiction().size(); i++) { 6565 composeCodeableConcept(t, "ConceptMap", "jurisdiction", element.getJurisdiction().get(i), i); 6566 } 6567 if (element.hasPurposeElement()) { 6568 composeMarkdown(t, "ConceptMap", "purpose", element.getPurposeElement(), -1); 6569 } 6570 if (element.hasCopyrightElement()) { 6571 composeMarkdown(t, "ConceptMap", "copyright", element.getCopyrightElement(), -1); 6572 } 6573 if (element.hasSource()) { 6574 composeType(t, "ConceptMap", "source", element.getSource(), -1); 6575 } 6576 if (element.hasTarget()) { 6577 composeType(t, "ConceptMap", "target", element.getTarget(), -1); 6578 } 6579 for (int i = 0; i < element.getGroup().size(); i++) { 6580 composeConceptMapGroupComponent(t, "ConceptMap", "group", element.getGroup().get(i), i); 6581 } 6582 } 6583 6584 protected void composeConceptMapGroupComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupComponent element, int index) { 6585 if (element == null) 6586 return; 6587 Complex t; 6588 if (Utilities.noString(parentType)) 6589 t = parent; 6590 else { 6591 t = parent.predicate("fhir:"+parentType+'.'+name); 6592 } 6593 composeBackboneElement(t, "group", name, element, index); 6594 if (element.hasSourceElement()) { 6595 composeUri(t, "ConceptMapGroupComponent", "source", element.getSourceElement(), -1); 6596 } 6597 if (element.hasSourceVersionElement()) { 6598 composeString(t, "ConceptMapGroupComponent", "sourceVersion", element.getSourceVersionElement(), -1); 6599 } 6600 if (element.hasTargetElement()) { 6601 composeUri(t, "ConceptMapGroupComponent", "target", element.getTargetElement(), -1); 6602 } 6603 if (element.hasTargetVersionElement()) { 6604 composeString(t, "ConceptMapGroupComponent", "targetVersion", element.getTargetVersionElement(), -1); 6605 } 6606 for (int i = 0; i < element.getElement().size(); i++) { 6607 composeConceptMapSourceElementComponent(t, "ConceptMapGroupComponent", "element", element.getElement().get(i), i); 6608 } 6609 if (element.hasUnmapped()) { 6610 composeConceptMapGroupUnmappedComponent(t, "ConceptMapGroupComponent", "unmapped", element.getUnmapped(), -1); 6611 } 6612 } 6613 6614 protected void composeConceptMapSourceElementComponent(Complex parent, String parentType, String name, ConceptMap.SourceElementComponent element, int index) { 6615 if (element == null) 6616 return; 6617 Complex t; 6618 if (Utilities.noString(parentType)) 6619 t = parent; 6620 else { 6621 t = parent.predicate("fhir:"+parentType+'.'+name); 6622 } 6623 composeBackboneElement(t, "element", name, element, index); 6624 if (element.hasCodeElement()) { 6625 composeCode(t, "SourceElementComponent", "code", element.getCodeElement(), -1); 6626 } 6627 if (element.hasDisplayElement()) { 6628 composeString(t, "SourceElementComponent", "display", element.getDisplayElement(), -1); 6629 } 6630 for (int i = 0; i < element.getTarget().size(); i++) { 6631 composeConceptMapTargetElementComponent(t, "SourceElementComponent", "target", element.getTarget().get(i), i); 6632 } 6633 } 6634 6635 protected void composeConceptMapTargetElementComponent(Complex parent, String parentType, String name, ConceptMap.TargetElementComponent element, int index) { 6636 if (element == null) 6637 return; 6638 Complex t; 6639 if (Utilities.noString(parentType)) 6640 t = parent; 6641 else { 6642 t = parent.predicate("fhir:"+parentType+'.'+name); 6643 } 6644 composeBackboneElement(t, "target", name, element, index); 6645 if (element.hasCodeElement()) { 6646 composeCode(t, "TargetElementComponent", "code", element.getCodeElement(), -1); 6647 } 6648 if (element.hasDisplayElement()) { 6649 composeString(t, "TargetElementComponent", "display", element.getDisplayElement(), -1); 6650 } 6651 if (element.hasEquivalenceElement()) { 6652 composeEnum(t, "TargetElementComponent", "equivalence", element.getEquivalenceElement(), -1); 6653 } 6654 if (element.hasCommentElement()) { 6655 composeString(t, "TargetElementComponent", "comment", element.getCommentElement(), -1); 6656 } 6657 for (int i = 0; i < element.getDependsOn().size(); i++) { 6658 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "dependsOn", element.getDependsOn().get(i), i); 6659 } 6660 for (int i = 0; i < element.getProduct().size(); i++) { 6661 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "product", element.getProduct().get(i), i); 6662 } 6663 } 6664 6665 protected void composeConceptMapOtherElementComponent(Complex parent, String parentType, String name, ConceptMap.OtherElementComponent element, int index) { 6666 if (element == null) 6667 return; 6668 Complex t; 6669 if (Utilities.noString(parentType)) 6670 t = parent; 6671 else { 6672 t = parent.predicate("fhir:"+parentType+'.'+name); 6673 } 6674 composeBackboneElement(t, "dependsOn", name, element, index); 6675 if (element.hasPropertyElement()) { 6676 composeUri(t, "OtherElementComponent", "property", element.getPropertyElement(), -1); 6677 } 6678 if (element.hasSystemElement()) { 6679 composeCanonical(t, "OtherElementComponent", "system", element.getSystemElement(), -1); 6680 } 6681 if (element.hasValueElement()) { 6682 composeString(t, "OtherElementComponent", "value", element.getValueElement(), -1); 6683 } 6684 if (element.hasDisplayElement()) { 6685 composeString(t, "OtherElementComponent", "display", element.getDisplayElement(), -1); 6686 } 6687 } 6688 6689 protected void composeConceptMapGroupUnmappedComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupUnmappedComponent element, int index) { 6690 if (element == null) 6691 return; 6692 Complex t; 6693 if (Utilities.noString(parentType)) 6694 t = parent; 6695 else { 6696 t = parent.predicate("fhir:"+parentType+'.'+name); 6697 } 6698 composeBackboneElement(t, "unmapped", name, element, index); 6699 if (element.hasModeElement()) { 6700 composeEnum(t, "ConceptMapGroupUnmappedComponent", "mode", element.getModeElement(), -1); 6701 } 6702 if (element.hasCodeElement()) { 6703 composeCode(t, "ConceptMapGroupUnmappedComponent", "code", element.getCodeElement(), -1); 6704 } 6705 if (element.hasDisplayElement()) { 6706 composeString(t, "ConceptMapGroupUnmappedComponent", "display", element.getDisplayElement(), -1); 6707 } 6708 if (element.hasUrlElement()) { 6709 composeCanonical(t, "ConceptMapGroupUnmappedComponent", "url", element.getUrlElement(), -1); 6710 } 6711 } 6712 6713 protected void composeCondition(Complex parent, String parentType, String name, Condition element, int index) { 6714 if (element == null) 6715 return; 6716 Complex t; 6717 if (Utilities.noString(parentType)) 6718 t = parent; 6719 else { 6720 t = parent.predicate("fhir:"+parentType+'.'+name); 6721 } 6722 composeDomainResource(t, "Condition", name, element, index); 6723 for (int i = 0; i < element.getIdentifier().size(); i++) { 6724 composeIdentifier(t, "Condition", "identifier", element.getIdentifier().get(i), i); 6725 } 6726 if (element.hasClinicalStatus()) { 6727 composeCodeableConcept(t, "Condition", "clinicalStatus", element.getClinicalStatus(), -1); 6728 } 6729 if (element.hasVerificationStatus()) { 6730 composeCodeableConcept(t, "Condition", "verificationStatus", element.getVerificationStatus(), -1); 6731 } 6732 for (int i = 0; i < element.getCategory().size(); i++) { 6733 composeCodeableConcept(t, "Condition", "category", element.getCategory().get(i), i); 6734 } 6735 if (element.hasSeverity()) { 6736 composeCodeableConcept(t, "Condition", "severity", element.getSeverity(), -1); 6737 } 6738 if (element.hasCode()) { 6739 composeCodeableConcept(t, "Condition", "code", element.getCode(), -1); 6740 } 6741 for (int i = 0; i < element.getBodySite().size(); i++) { 6742 composeCodeableConcept(t, "Condition", "bodySite", element.getBodySite().get(i), i); 6743 } 6744 if (element.hasSubject()) { 6745 composeReference(t, "Condition", "subject", element.getSubject(), -1); 6746 } 6747 if (element.hasEncounter()) { 6748 composeReference(t, "Condition", "encounter", element.getEncounter(), -1); 6749 } 6750 if (element.hasOnset()) { 6751 composeType(t, "Condition", "onset", element.getOnset(), -1); 6752 } 6753 if (element.hasAbatement()) { 6754 composeType(t, "Condition", "abatement", element.getAbatement(), -1); 6755 } 6756 if (element.hasRecordedDateElement()) { 6757 composeDateTime(t, "Condition", "recordedDate", element.getRecordedDateElement(), -1); 6758 } 6759 if (element.hasRecorder()) { 6760 composeReference(t, "Condition", "recorder", element.getRecorder(), -1); 6761 } 6762 if (element.hasAsserter()) { 6763 composeReference(t, "Condition", "asserter", element.getAsserter(), -1); 6764 } 6765 for (int i = 0; i < element.getStage().size(); i++) { 6766 composeConditionStageComponent(t, "Condition", "stage", element.getStage().get(i), i); 6767 } 6768 for (int i = 0; i < element.getEvidence().size(); i++) { 6769 composeConditionEvidenceComponent(t, "Condition", "evidence", element.getEvidence().get(i), i); 6770 } 6771 for (int i = 0; i < element.getNote().size(); i++) { 6772 composeAnnotation(t, "Condition", "note", element.getNote().get(i), i); 6773 } 6774 } 6775 6776 protected void composeConditionStageComponent(Complex parent, String parentType, String name, Condition.ConditionStageComponent element, int index) { 6777 if (element == null) 6778 return; 6779 Complex t; 6780 if (Utilities.noString(parentType)) 6781 t = parent; 6782 else { 6783 t = parent.predicate("fhir:"+parentType+'.'+name); 6784 } 6785 composeBackboneElement(t, "stage", name, element, index); 6786 if (element.hasSummary()) { 6787 composeCodeableConcept(t, "ConditionStageComponent", "summary", element.getSummary(), -1); 6788 } 6789 for (int i = 0; i < element.getAssessment().size(); i++) { 6790 composeReference(t, "ConditionStageComponent", "assessment", element.getAssessment().get(i), i); 6791 } 6792 if (element.hasType()) { 6793 composeCodeableConcept(t, "ConditionStageComponent", "type", element.getType(), -1); 6794 } 6795 } 6796 6797 protected void composeConditionEvidenceComponent(Complex parent, String parentType, String name, Condition.ConditionEvidenceComponent element, int index) { 6798 if (element == null) 6799 return; 6800 Complex t; 6801 if (Utilities.noString(parentType)) 6802 t = parent; 6803 else { 6804 t = parent.predicate("fhir:"+parentType+'.'+name); 6805 } 6806 composeBackboneElement(t, "evidence", name, element, index); 6807 for (int i = 0; i < element.getCode().size(); i++) { 6808 composeCodeableConcept(t, "ConditionEvidenceComponent", "code", element.getCode().get(i), i); 6809 } 6810 for (int i = 0; i < element.getDetail().size(); i++) { 6811 composeReference(t, "ConditionEvidenceComponent", "detail", element.getDetail().get(i), i); 6812 } 6813 } 6814 6815 protected void composeConsent(Complex parent, String parentType, String name, Consent element, int index) { 6816 if (element == null) 6817 return; 6818 Complex t; 6819 if (Utilities.noString(parentType)) 6820 t = parent; 6821 else { 6822 t = parent.predicate("fhir:"+parentType+'.'+name); 6823 } 6824 composeDomainResource(t, "Consent", name, element, index); 6825 for (int i = 0; i < element.getIdentifier().size(); i++) { 6826 composeIdentifier(t, "Consent", "identifier", element.getIdentifier().get(i), i); 6827 } 6828 if (element.hasStatusElement()) { 6829 composeEnum(t, "Consent", "status", element.getStatusElement(), -1); 6830 } 6831 if (element.hasScope()) { 6832 composeCodeableConcept(t, "Consent", "scope", element.getScope(), -1); 6833 } 6834 for (int i = 0; i < element.getCategory().size(); i++) { 6835 composeCodeableConcept(t, "Consent", "category", element.getCategory().get(i), i); 6836 } 6837 if (element.hasPatient()) { 6838 composeReference(t, "Consent", "patient", element.getPatient(), -1); 6839 } 6840 if (element.hasDateTimeElement()) { 6841 composeDateTime(t, "Consent", "dateTime", element.getDateTimeElement(), -1); 6842 } 6843 for (int i = 0; i < element.getPerformer().size(); i++) { 6844 composeReference(t, "Consent", "performer", element.getPerformer().get(i), i); 6845 } 6846 for (int i = 0; i < element.getOrganization().size(); i++) { 6847 composeReference(t, "Consent", "organization", element.getOrganization().get(i), i); 6848 } 6849 if (element.hasSource()) { 6850 composeType(t, "Consent", "source", element.getSource(), -1); 6851 } 6852 for (int i = 0; i < element.getPolicy().size(); i++) { 6853 composeConsentPolicyComponent(t, "Consent", "policy", element.getPolicy().get(i), i); 6854 } 6855 if (element.hasPolicyRule()) { 6856 composeCodeableConcept(t, "Consent", "policyRule", element.getPolicyRule(), -1); 6857 } 6858 for (int i = 0; i < element.getVerification().size(); i++) { 6859 composeConsentVerificationComponent(t, "Consent", "verification", element.getVerification().get(i), i); 6860 } 6861 if (element.hasProvision()) { 6862 composeConsentProvisionComponent(t, "Consent", "provision", element.getProvision(), -1); 6863 } 6864 } 6865 6866 protected void composeConsentPolicyComponent(Complex parent, String parentType, String name, Consent.ConsentPolicyComponent element, int index) { 6867 if (element == null) 6868 return; 6869 Complex t; 6870 if (Utilities.noString(parentType)) 6871 t = parent; 6872 else { 6873 t = parent.predicate("fhir:"+parentType+'.'+name); 6874 } 6875 composeBackboneElement(t, "policy", name, element, index); 6876 if (element.hasAuthorityElement()) { 6877 composeUri(t, "ConsentPolicyComponent", "authority", element.getAuthorityElement(), -1); 6878 } 6879 if (element.hasUriElement()) { 6880 composeUri(t, "ConsentPolicyComponent", "uri", element.getUriElement(), -1); 6881 } 6882 } 6883 6884 protected void composeConsentVerificationComponent(Complex parent, String parentType, String name, Consent.ConsentVerificationComponent element, int index) { 6885 if (element == null) 6886 return; 6887 Complex t; 6888 if (Utilities.noString(parentType)) 6889 t = parent; 6890 else { 6891 t = parent.predicate("fhir:"+parentType+'.'+name); 6892 } 6893 composeBackboneElement(t, "verification", name, element, index); 6894 if (element.hasVerifiedElement()) { 6895 composeBoolean(t, "ConsentVerificationComponent", "verified", element.getVerifiedElement(), -1); 6896 } 6897 if (element.hasVerifiedWith()) { 6898 composeReference(t, "ConsentVerificationComponent", "verifiedWith", element.getVerifiedWith(), -1); 6899 } 6900 if (element.hasVerificationDateElement()) { 6901 composeDateTime(t, "ConsentVerificationComponent", "verificationDate", element.getVerificationDateElement(), -1); 6902 } 6903 } 6904 6905 protected void composeConsentProvisionComponent(Complex parent, String parentType, String name, Consent.ProvisionComponent element, int index) { 6906 if (element == null) 6907 return; 6908 Complex t; 6909 if (Utilities.noString(parentType)) 6910 t = parent; 6911 else { 6912 t = parent.predicate("fhir:"+parentType+'.'+name); 6913 } 6914 composeBackboneElement(t, "provision", name, element, index); 6915 if (element.hasTypeElement()) { 6916 composeEnum(t, "ProvisionComponent", "type", element.getTypeElement(), -1); 6917 } 6918 if (element.hasPeriod()) { 6919 composePeriod(t, "ProvisionComponent", "period", element.getPeriod(), -1); 6920 } 6921 for (int i = 0; i < element.getActor().size(); i++) { 6922 composeConsentProvisionActorComponent(t, "ProvisionComponent", "actor", element.getActor().get(i), i); 6923 } 6924 for (int i = 0; i < element.getAction().size(); i++) { 6925 composeCodeableConcept(t, "ProvisionComponent", "action", element.getAction().get(i), i); 6926 } 6927 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 6928 composeCoding(t, "ProvisionComponent", "securityLabel", element.getSecurityLabel().get(i), i); 6929 } 6930 for (int i = 0; i < element.getPurpose().size(); i++) { 6931 composeCoding(t, "ProvisionComponent", "purpose", element.getPurpose().get(i), i); 6932 } 6933 for (int i = 0; i < element.getClass_().size(); i++) { 6934 composeCoding(t, "ProvisionComponent", "class", element.getClass_().get(i), i); 6935 } 6936 for (int i = 0; i < element.getCode().size(); i++) { 6937 composeCodeableConcept(t, "ProvisionComponent", "code", element.getCode().get(i), i); 6938 } 6939 if (element.hasDataPeriod()) { 6940 composePeriod(t, "ProvisionComponent", "dataPeriod", element.getDataPeriod(), -1); 6941 } 6942 for (int i = 0; i < element.getData().size(); i++) { 6943 composeConsentProvisionDataComponent(t, "ProvisionComponent", "data", element.getData().get(i), i); 6944 } 6945 for (int i = 0; i < element.getProvision().size(); i++) { 6946 composeConsentProvisionComponent(t, "ProvisionComponent", "provision", element.getProvision().get(i), i); 6947 } 6948 } 6949 6950 protected void composeConsentProvisionActorComponent(Complex parent, String parentType, String name, Consent.ProvisionActorComponent element, int index) { 6951 if (element == null) 6952 return; 6953 Complex t; 6954 if (Utilities.noString(parentType)) 6955 t = parent; 6956 else { 6957 t = parent.predicate("fhir:"+parentType+'.'+name); 6958 } 6959 composeBackboneElement(t, "actor", name, element, index); 6960 if (element.hasRole()) { 6961 composeCodeableConcept(t, "ProvisionActorComponent", "role", element.getRole(), -1); 6962 } 6963 if (element.hasReference()) { 6964 composeReference(t, "ProvisionActorComponent", "reference", element.getReference(), -1); 6965 } 6966 } 6967 6968 protected void composeConsentProvisionDataComponent(Complex parent, String parentType, String name, Consent.ProvisionDataComponent element, int index) { 6969 if (element == null) 6970 return; 6971 Complex t; 6972 if (Utilities.noString(parentType)) 6973 t = parent; 6974 else { 6975 t = parent.predicate("fhir:"+parentType+'.'+name); 6976 } 6977 composeBackboneElement(t, "data", name, element, index); 6978 if (element.hasMeaningElement()) { 6979 composeEnum(t, "ProvisionDataComponent", "meaning", element.getMeaningElement(), -1); 6980 } 6981 if (element.hasReference()) { 6982 composeReference(t, "ProvisionDataComponent", "reference", element.getReference(), -1); 6983 } 6984 } 6985 6986 protected void composeContract(Complex parent, String parentType, String name, Contract element, int index) { 6987 if (element == null) 6988 return; 6989 Complex t; 6990 if (Utilities.noString(parentType)) 6991 t = parent; 6992 else { 6993 t = parent.predicate("fhir:"+parentType+'.'+name); 6994 } 6995 composeDomainResource(t, "Contract", name, element, index); 6996 for (int i = 0; i < element.getIdentifier().size(); i++) { 6997 composeIdentifier(t, "Contract", "identifier", element.getIdentifier().get(i), i); 6998 } 6999 if (element.hasUrlElement()) { 7000 composeUri(t, "Contract", "url", element.getUrlElement(), -1); 7001 } 7002 if (element.hasVersionElement()) { 7003 composeString(t, "Contract", "version", element.getVersionElement(), -1); 7004 } 7005 if (element.hasStatusElement()) { 7006 composeEnum(t, "Contract", "status", element.getStatusElement(), -1); 7007 } 7008 if (element.hasLegalState()) { 7009 composeCodeableConcept(t, "Contract", "legalState", element.getLegalState(), -1); 7010 } 7011 if (element.hasInstantiatesCanonical()) { 7012 composeReference(t, "Contract", "instantiatesCanonical", element.getInstantiatesCanonical(), -1); 7013 } 7014 if (element.hasInstantiatesUriElement()) { 7015 composeUri(t, "Contract", "instantiatesUri", element.getInstantiatesUriElement(), -1); 7016 } 7017 if (element.hasContentDerivative()) { 7018 composeCodeableConcept(t, "Contract", "contentDerivative", element.getContentDerivative(), -1); 7019 } 7020 if (element.hasIssuedElement()) { 7021 composeDateTime(t, "Contract", "issued", element.getIssuedElement(), -1); 7022 } 7023 if (element.hasApplies()) { 7024 composePeriod(t, "Contract", "applies", element.getApplies(), -1); 7025 } 7026 if (element.hasExpirationType()) { 7027 composeCodeableConcept(t, "Contract", "expirationType", element.getExpirationType(), -1); 7028 } 7029 for (int i = 0; i < element.getSubject().size(); i++) { 7030 composeReference(t, "Contract", "subject", element.getSubject().get(i), i); 7031 } 7032 for (int i = 0; i < element.getAuthority().size(); i++) { 7033 composeReference(t, "Contract", "authority", element.getAuthority().get(i), i); 7034 } 7035 for (int i = 0; i < element.getDomain().size(); i++) { 7036 composeReference(t, "Contract", "domain", element.getDomain().get(i), i); 7037 } 7038 for (int i = 0; i < element.getSite().size(); i++) { 7039 composeReference(t, "Contract", "site", element.getSite().get(i), i); 7040 } 7041 if (element.hasNameElement()) { 7042 composeString(t, "Contract", "name", element.getNameElement(), -1); 7043 } 7044 if (element.hasTitleElement()) { 7045 composeString(t, "Contract", "title", element.getTitleElement(), -1); 7046 } 7047 if (element.hasSubtitleElement()) { 7048 composeString(t, "Contract", "subtitle", element.getSubtitleElement(), -1); 7049 } 7050 for (int i = 0; i < element.getAlias().size(); i++) { 7051 composeString(t, "Contract", "alias", element.getAlias().get(i), i); 7052 } 7053 if (element.hasAuthor()) { 7054 composeReference(t, "Contract", "author", element.getAuthor(), -1); 7055 } 7056 if (element.hasScope()) { 7057 composeCodeableConcept(t, "Contract", "scope", element.getScope(), -1); 7058 } 7059 if (element.hasTopic()) { 7060 composeType(t, "Contract", "topic", element.getTopic(), -1); 7061 } 7062 if (element.hasType()) { 7063 composeCodeableConcept(t, "Contract", "type", element.getType(), -1); 7064 } 7065 for (int i = 0; i < element.getSubType().size(); i++) { 7066 composeCodeableConcept(t, "Contract", "subType", element.getSubType().get(i), i); 7067 } 7068 if (element.hasContentDefinition()) { 7069 composeContractContentDefinitionComponent(t, "Contract", "contentDefinition", element.getContentDefinition(), -1); 7070 } 7071 for (int i = 0; i < element.getTerm().size(); i++) { 7072 composeContractTermComponent(t, "Contract", "term", element.getTerm().get(i), i); 7073 } 7074 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 7075 composeReference(t, "Contract", "supportingInfo", element.getSupportingInfo().get(i), i); 7076 } 7077 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 7078 composeReference(t, "Contract", "relevantHistory", element.getRelevantHistory().get(i), i); 7079 } 7080 for (int i = 0; i < element.getSigner().size(); i++) { 7081 composeContractSignatoryComponent(t, "Contract", "signer", element.getSigner().get(i), i); 7082 } 7083 for (int i = 0; i < element.getFriendly().size(); i++) { 7084 composeContractFriendlyLanguageComponent(t, "Contract", "friendly", element.getFriendly().get(i), i); 7085 } 7086 for (int i = 0; i < element.getLegal().size(); i++) { 7087 composeContractLegalLanguageComponent(t, "Contract", "legal", element.getLegal().get(i), i); 7088 } 7089 for (int i = 0; i < element.getRule().size(); i++) { 7090 composeContractComputableLanguageComponent(t, "Contract", "rule", element.getRule().get(i), i); 7091 } 7092 if (element.hasLegallyBinding()) { 7093 composeType(t, "Contract", "legallyBinding", element.getLegallyBinding(), -1); 7094 } 7095 } 7096 7097 protected void composeContractContentDefinitionComponent(Complex parent, String parentType, String name, Contract.ContentDefinitionComponent element, int index) { 7098 if (element == null) 7099 return; 7100 Complex t; 7101 if (Utilities.noString(parentType)) 7102 t = parent; 7103 else { 7104 t = parent.predicate("fhir:"+parentType+'.'+name); 7105 } 7106 composeBackboneElement(t, "contentDefinition", name, element, index); 7107 if (element.hasType()) { 7108 composeCodeableConcept(t, "ContentDefinitionComponent", "type", element.getType(), -1); 7109 } 7110 if (element.hasSubType()) { 7111 composeCodeableConcept(t, "ContentDefinitionComponent", "subType", element.getSubType(), -1); 7112 } 7113 if (element.hasPublisher()) { 7114 composeReference(t, "ContentDefinitionComponent", "publisher", element.getPublisher(), -1); 7115 } 7116 if (element.hasPublicationDateElement()) { 7117 composeDateTime(t, "ContentDefinitionComponent", "publicationDate", element.getPublicationDateElement(), -1); 7118 } 7119 if (element.hasPublicationStatusElement()) { 7120 composeEnum(t, "ContentDefinitionComponent", "publicationStatus", element.getPublicationStatusElement(), -1); 7121 } 7122 if (element.hasCopyrightElement()) { 7123 composeMarkdown(t, "ContentDefinitionComponent", "copyright", element.getCopyrightElement(), -1); 7124 } 7125 } 7126 7127 protected void composeContractTermComponent(Complex parent, String parentType, String name, Contract.TermComponent element, int index) { 7128 if (element == null) 7129 return; 7130 Complex t; 7131 if (Utilities.noString(parentType)) 7132 t = parent; 7133 else { 7134 t = parent.predicate("fhir:"+parentType+'.'+name); 7135 } 7136 composeBackboneElement(t, "term", name, element, index); 7137 if (element.hasIdentifier()) { 7138 composeIdentifier(t, "TermComponent", "identifier", element.getIdentifier(), -1); 7139 } 7140 if (element.hasIssuedElement()) { 7141 composeDateTime(t, "TermComponent", "issued", element.getIssuedElement(), -1); 7142 } 7143 if (element.hasApplies()) { 7144 composePeriod(t, "TermComponent", "applies", element.getApplies(), -1); 7145 } 7146 if (element.hasTopic()) { 7147 composeType(t, "TermComponent", "topic", element.getTopic(), -1); 7148 } 7149 if (element.hasType()) { 7150 composeCodeableConcept(t, "TermComponent", "type", element.getType(), -1); 7151 } 7152 if (element.hasSubType()) { 7153 composeCodeableConcept(t, "TermComponent", "subType", element.getSubType(), -1); 7154 } 7155 if (element.hasTextElement()) { 7156 composeString(t, "TermComponent", "text", element.getTextElement(), -1); 7157 } 7158 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 7159 composeContractSecurityLabelComponent(t, "TermComponent", "securityLabel", element.getSecurityLabel().get(i), i); 7160 } 7161 if (element.hasOffer()) { 7162 composeContractOfferComponent(t, "TermComponent", "offer", element.getOffer(), -1); 7163 } 7164 for (int i = 0; i < element.getAsset().size(); i++) { 7165 composeContractAssetComponent(t, "TermComponent", "asset", element.getAsset().get(i), i); 7166 } 7167 for (int i = 0; i < element.getAction().size(); i++) { 7168 composeContractActionComponent(t, "TermComponent", "action", element.getAction().get(i), i); 7169 } 7170 for (int i = 0; i < element.getGroup().size(); i++) { 7171 composeContractTermComponent(t, "TermComponent", "group", element.getGroup().get(i), i); 7172 } 7173 } 7174 7175 protected void composeContractSecurityLabelComponent(Complex parent, String parentType, String name, Contract.SecurityLabelComponent element, int index) { 7176 if (element == null) 7177 return; 7178 Complex t; 7179 if (Utilities.noString(parentType)) 7180 t = parent; 7181 else { 7182 t = parent.predicate("fhir:"+parentType+'.'+name); 7183 } 7184 composeBackboneElement(t, "securityLabel", name, element, index); 7185 for (int i = 0; i < element.getNumber().size(); i++) { 7186 composeUnsignedInt(t, "SecurityLabelComponent", "number", element.getNumber().get(i), i); 7187 } 7188 if (element.hasClassification()) { 7189 composeCoding(t, "SecurityLabelComponent", "classification", element.getClassification(), -1); 7190 } 7191 for (int i = 0; i < element.getCategory().size(); i++) { 7192 composeCoding(t, "SecurityLabelComponent", "category", element.getCategory().get(i), i); 7193 } 7194 for (int i = 0; i < element.getControl().size(); i++) { 7195 composeCoding(t, "SecurityLabelComponent", "control", element.getControl().get(i), i); 7196 } 7197 } 7198 7199 protected void composeContractOfferComponent(Complex parent, String parentType, String name, Contract.ContractOfferComponent element, int index) { 7200 if (element == null) 7201 return; 7202 Complex t; 7203 if (Utilities.noString(parentType)) 7204 t = parent; 7205 else { 7206 t = parent.predicate("fhir:"+parentType+'.'+name); 7207 } 7208 composeBackboneElement(t, "offer", name, element, index); 7209 for (int i = 0; i < element.getIdentifier().size(); i++) { 7210 composeIdentifier(t, "ContractOfferComponent", "identifier", element.getIdentifier().get(i), i); 7211 } 7212 for (int i = 0; i < element.getParty().size(); i++) { 7213 composeContractPartyComponent(t, "ContractOfferComponent", "party", element.getParty().get(i), i); 7214 } 7215 if (element.hasTopic()) { 7216 composeReference(t, "ContractOfferComponent", "topic", element.getTopic(), -1); 7217 } 7218 if (element.hasType()) { 7219 composeCodeableConcept(t, "ContractOfferComponent", "type", element.getType(), -1); 7220 } 7221 if (element.hasDecision()) { 7222 composeCodeableConcept(t, "ContractOfferComponent", "decision", element.getDecision(), -1); 7223 } 7224 for (int i = 0; i < element.getDecisionMode().size(); i++) { 7225 composeCodeableConcept(t, "ContractOfferComponent", "decisionMode", element.getDecisionMode().get(i), i); 7226 } 7227 for (int i = 0; i < element.getAnswer().size(); i++) { 7228 composeContractAnswerComponent(t, "ContractOfferComponent", "answer", element.getAnswer().get(i), i); 7229 } 7230 if (element.hasTextElement()) { 7231 composeString(t, "ContractOfferComponent", "text", element.getTextElement(), -1); 7232 } 7233 for (int i = 0; i < element.getLinkId().size(); i++) { 7234 composeString(t, "ContractOfferComponent", "linkId", element.getLinkId().get(i), i); 7235 } 7236 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 7237 composeUnsignedInt(t, "ContractOfferComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 7238 } 7239 } 7240 7241 protected void composeContractPartyComponent(Complex parent, String parentType, String name, Contract.ContractPartyComponent element, int index) { 7242 if (element == null) 7243 return; 7244 Complex t; 7245 if (Utilities.noString(parentType)) 7246 t = parent; 7247 else { 7248 t = parent.predicate("fhir:"+parentType+'.'+name); 7249 } 7250 composeBackboneElement(t, "party", name, element, index); 7251 for (int i = 0; i < element.getReference().size(); i++) { 7252 composeReference(t, "ContractPartyComponent", "reference", element.getReference().get(i), i); 7253 } 7254 if (element.hasRole()) { 7255 composeCodeableConcept(t, "ContractPartyComponent", "role", element.getRole(), -1); 7256 } 7257 } 7258 7259 protected void composeContractAnswerComponent(Complex parent, String parentType, String name, Contract.AnswerComponent element, int index) { 7260 if (element == null) 7261 return; 7262 Complex t; 7263 if (Utilities.noString(parentType)) 7264 t = parent; 7265 else { 7266 t = parent.predicate("fhir:"+parentType+'.'+name); 7267 } 7268 composeBackboneElement(t, "answer", name, element, index); 7269 if (element.hasValue()) { 7270 composeType(t, "AnswerComponent", "value", element.getValue(), -1); 7271 } 7272 } 7273 7274 protected void composeContractAssetComponent(Complex parent, String parentType, String name, Contract.ContractAssetComponent element, int index) { 7275 if (element == null) 7276 return; 7277 Complex t; 7278 if (Utilities.noString(parentType)) 7279 t = parent; 7280 else { 7281 t = parent.predicate("fhir:"+parentType+'.'+name); 7282 } 7283 composeBackboneElement(t, "asset", name, element, index); 7284 if (element.hasScope()) { 7285 composeCodeableConcept(t, "ContractAssetComponent", "scope", element.getScope(), -1); 7286 } 7287 for (int i = 0; i < element.getType().size(); i++) { 7288 composeCodeableConcept(t, "ContractAssetComponent", "type", element.getType().get(i), i); 7289 } 7290 for (int i = 0; i < element.getTypeReference().size(); i++) { 7291 composeReference(t, "ContractAssetComponent", "typeReference", element.getTypeReference().get(i), i); 7292 } 7293 for (int i = 0; i < element.getSubtype().size(); i++) { 7294 composeCodeableConcept(t, "ContractAssetComponent", "subtype", element.getSubtype().get(i), i); 7295 } 7296 if (element.hasRelationship()) { 7297 composeCoding(t, "ContractAssetComponent", "relationship", element.getRelationship(), -1); 7298 } 7299 for (int i = 0; i < element.getContext().size(); i++) { 7300 composeContractAssetContextComponent(t, "ContractAssetComponent", "context", element.getContext().get(i), i); 7301 } 7302 if (element.hasConditionElement()) { 7303 composeString(t, "ContractAssetComponent", "condition", element.getConditionElement(), -1); 7304 } 7305 for (int i = 0; i < element.getPeriodType().size(); i++) { 7306 composeCodeableConcept(t, "ContractAssetComponent", "periodType", element.getPeriodType().get(i), i); 7307 } 7308 for (int i = 0; i < element.getPeriod().size(); i++) { 7309 composePeriod(t, "ContractAssetComponent", "period", element.getPeriod().get(i), i); 7310 } 7311 for (int i = 0; i < element.getUsePeriod().size(); i++) { 7312 composePeriod(t, "ContractAssetComponent", "usePeriod", element.getUsePeriod().get(i), i); 7313 } 7314 if (element.hasTextElement()) { 7315 composeString(t, "ContractAssetComponent", "text", element.getTextElement(), -1); 7316 } 7317 for (int i = 0; i < element.getLinkId().size(); i++) { 7318 composeString(t, "ContractAssetComponent", "linkId", element.getLinkId().get(i), i); 7319 } 7320 for (int i = 0; i < element.getAnswer().size(); i++) { 7321 composeContractAnswerComponent(t, "ContractAssetComponent", "answer", element.getAnswer().get(i), i); 7322 } 7323 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 7324 composeUnsignedInt(t, "ContractAssetComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 7325 } 7326 for (int i = 0; i < element.getValuedItem().size(); i++) { 7327 composeContractValuedItemComponent(t, "ContractAssetComponent", "valuedItem", element.getValuedItem().get(i), i); 7328 } 7329 } 7330 7331 protected void composeContractAssetContextComponent(Complex parent, String parentType, String name, Contract.AssetContextComponent element, int index) { 7332 if (element == null) 7333 return; 7334 Complex t; 7335 if (Utilities.noString(parentType)) 7336 t = parent; 7337 else { 7338 t = parent.predicate("fhir:"+parentType+'.'+name); 7339 } 7340 composeBackboneElement(t, "context", name, element, index); 7341 if (element.hasReference()) { 7342 composeReference(t, "AssetContextComponent", "reference", element.getReference(), -1); 7343 } 7344 for (int i = 0; i < element.getCode().size(); i++) { 7345 composeCodeableConcept(t, "AssetContextComponent", "code", element.getCode().get(i), i); 7346 } 7347 if (element.hasTextElement()) { 7348 composeString(t, "AssetContextComponent", "text", element.getTextElement(), -1); 7349 } 7350 } 7351 7352 protected void composeContractValuedItemComponent(Complex parent, String parentType, String name, Contract.ValuedItemComponent element, int index) { 7353 if (element == null) 7354 return; 7355 Complex t; 7356 if (Utilities.noString(parentType)) 7357 t = parent; 7358 else { 7359 t = parent.predicate("fhir:"+parentType+'.'+name); 7360 } 7361 composeBackboneElement(t, "valuedItem", name, element, index); 7362 if (element.hasEntity()) { 7363 composeType(t, "ValuedItemComponent", "entity", element.getEntity(), -1); 7364 } 7365 if (element.hasIdentifier()) { 7366 composeIdentifier(t, "ValuedItemComponent", "identifier", element.getIdentifier(), -1); 7367 } 7368 if (element.hasEffectiveTimeElement()) { 7369 composeDateTime(t, "ValuedItemComponent", "effectiveTime", element.getEffectiveTimeElement(), -1); 7370 } 7371 if (element.hasQuantity()) { 7372 composeQuantity(t, "ValuedItemComponent", "quantity", element.getQuantity(), -1); 7373 } 7374 if (element.hasUnitPrice()) { 7375 composeMoney(t, "ValuedItemComponent", "unitPrice", element.getUnitPrice(), -1); 7376 } 7377 if (element.hasFactorElement()) { 7378 composeDecimal(t, "ValuedItemComponent", "factor", element.getFactorElement(), -1); 7379 } 7380 if (element.hasPointsElement()) { 7381 composeDecimal(t, "ValuedItemComponent", "points", element.getPointsElement(), -1); 7382 } 7383 if (element.hasNet()) { 7384 composeMoney(t, "ValuedItemComponent", "net", element.getNet(), -1); 7385 } 7386 if (element.hasPaymentElement()) { 7387 composeString(t, "ValuedItemComponent", "payment", element.getPaymentElement(), -1); 7388 } 7389 if (element.hasPaymentDateElement()) { 7390 composeDateTime(t, "ValuedItemComponent", "paymentDate", element.getPaymentDateElement(), -1); 7391 } 7392 if (element.hasResponsible()) { 7393 composeReference(t, "ValuedItemComponent", "responsible", element.getResponsible(), -1); 7394 } 7395 if (element.hasRecipient()) { 7396 composeReference(t, "ValuedItemComponent", "recipient", element.getRecipient(), -1); 7397 } 7398 for (int i = 0; i < element.getLinkId().size(); i++) { 7399 composeString(t, "ValuedItemComponent", "linkId", element.getLinkId().get(i), i); 7400 } 7401 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 7402 composeUnsignedInt(t, "ValuedItemComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 7403 } 7404 } 7405 7406 protected void composeContractActionComponent(Complex parent, String parentType, String name, Contract.ActionComponent element, int index) { 7407 if (element == null) 7408 return; 7409 Complex t; 7410 if (Utilities.noString(parentType)) 7411 t = parent; 7412 else { 7413 t = parent.predicate("fhir:"+parentType+'.'+name); 7414 } 7415 composeBackboneElement(t, "action", name, element, index); 7416 if (element.hasDoNotPerformElement()) { 7417 composeBoolean(t, "ActionComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 7418 } 7419 if (element.hasType()) { 7420 composeCodeableConcept(t, "ActionComponent", "type", element.getType(), -1); 7421 } 7422 for (int i = 0; i < element.getSubject().size(); i++) { 7423 composeContractActionSubjectComponent(t, "ActionComponent", "subject", element.getSubject().get(i), i); 7424 } 7425 if (element.hasIntent()) { 7426 composeCodeableConcept(t, "ActionComponent", "intent", element.getIntent(), -1); 7427 } 7428 for (int i = 0; i < element.getLinkId().size(); i++) { 7429 composeString(t, "ActionComponent", "linkId", element.getLinkId().get(i), i); 7430 } 7431 if (element.hasStatus()) { 7432 composeCodeableConcept(t, "ActionComponent", "status", element.getStatus(), -1); 7433 } 7434 if (element.hasContext()) { 7435 composeReference(t, "ActionComponent", "context", element.getContext(), -1); 7436 } 7437 for (int i = 0; i < element.getContextLinkId().size(); i++) { 7438 composeString(t, "ActionComponent", "contextLinkId", element.getContextLinkId().get(i), i); 7439 } 7440 if (element.hasOccurrence()) { 7441 composeType(t, "ActionComponent", "occurrence", element.getOccurrence(), -1); 7442 } 7443 for (int i = 0; i < element.getRequester().size(); i++) { 7444 composeReference(t, "ActionComponent", "requester", element.getRequester().get(i), i); 7445 } 7446 for (int i = 0; i < element.getRequesterLinkId().size(); i++) { 7447 composeString(t, "ActionComponent", "requesterLinkId", element.getRequesterLinkId().get(i), i); 7448 } 7449 for (int i = 0; i < element.getPerformerType().size(); i++) { 7450 composeCodeableConcept(t, "ActionComponent", "performerType", element.getPerformerType().get(i), i); 7451 } 7452 if (element.hasPerformerRole()) { 7453 composeCodeableConcept(t, "ActionComponent", "performerRole", element.getPerformerRole(), -1); 7454 } 7455 if (element.hasPerformer()) { 7456 composeReference(t, "ActionComponent", "performer", element.getPerformer(), -1); 7457 } 7458 for (int i = 0; i < element.getPerformerLinkId().size(); i++) { 7459 composeString(t, "ActionComponent", "performerLinkId", element.getPerformerLinkId().get(i), i); 7460 } 7461 for (int i = 0; i < element.getReasonCode().size(); i++) { 7462 composeCodeableConcept(t, "ActionComponent", "reasonCode", element.getReasonCode().get(i), i); 7463 } 7464 for (int i = 0; i < element.getReasonReference().size(); i++) { 7465 composeReference(t, "ActionComponent", "reasonReference", element.getReasonReference().get(i), i); 7466 } 7467 for (int i = 0; i < element.getReason().size(); i++) { 7468 composeString(t, "ActionComponent", "reason", element.getReason().get(i), i); 7469 } 7470 for (int i = 0; i < element.getReasonLinkId().size(); i++) { 7471 composeString(t, "ActionComponent", "reasonLinkId", element.getReasonLinkId().get(i), i); 7472 } 7473 for (int i = 0; i < element.getNote().size(); i++) { 7474 composeAnnotation(t, "ActionComponent", "note", element.getNote().get(i), i); 7475 } 7476 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 7477 composeUnsignedInt(t, "ActionComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 7478 } 7479 } 7480 7481 protected void composeContractActionSubjectComponent(Complex parent, String parentType, String name, Contract.ActionSubjectComponent element, int index) { 7482 if (element == null) 7483 return; 7484 Complex t; 7485 if (Utilities.noString(parentType)) 7486 t = parent; 7487 else { 7488 t = parent.predicate("fhir:"+parentType+'.'+name); 7489 } 7490 composeBackboneElement(t, "subject", name, element, index); 7491 for (int i = 0; i < element.getReference().size(); i++) { 7492 composeReference(t, "ActionSubjectComponent", "reference", element.getReference().get(i), i); 7493 } 7494 if (element.hasRole()) { 7495 composeCodeableConcept(t, "ActionSubjectComponent", "role", element.getRole(), -1); 7496 } 7497 } 7498 7499 protected void composeContractSignatoryComponent(Complex parent, String parentType, String name, Contract.SignatoryComponent element, int index) { 7500 if (element == null) 7501 return; 7502 Complex t; 7503 if (Utilities.noString(parentType)) 7504 t = parent; 7505 else { 7506 t = parent.predicate("fhir:"+parentType+'.'+name); 7507 } 7508 composeBackboneElement(t, "signer", name, element, index); 7509 if (element.hasType()) { 7510 composeCoding(t, "SignatoryComponent", "type", element.getType(), -1); 7511 } 7512 if (element.hasParty()) { 7513 composeReference(t, "SignatoryComponent", "party", element.getParty(), -1); 7514 } 7515 for (int i = 0; i < element.getSignature().size(); i++) { 7516 composeSignature(t, "SignatoryComponent", "signature", element.getSignature().get(i), i); 7517 } 7518 } 7519 7520 protected void composeContractFriendlyLanguageComponent(Complex parent, String parentType, String name, Contract.FriendlyLanguageComponent element, int index) { 7521 if (element == null) 7522 return; 7523 Complex t; 7524 if (Utilities.noString(parentType)) 7525 t = parent; 7526 else { 7527 t = parent.predicate("fhir:"+parentType+'.'+name); 7528 } 7529 composeBackboneElement(t, "friendly", name, element, index); 7530 if (element.hasContent()) { 7531 composeType(t, "FriendlyLanguageComponent", "content", element.getContent(), -1); 7532 } 7533 } 7534 7535 protected void composeContractLegalLanguageComponent(Complex parent, String parentType, String name, Contract.LegalLanguageComponent element, int index) { 7536 if (element == null) 7537 return; 7538 Complex t; 7539 if (Utilities.noString(parentType)) 7540 t = parent; 7541 else { 7542 t = parent.predicate("fhir:"+parentType+'.'+name); 7543 } 7544 composeBackboneElement(t, "legal", name, element, index); 7545 if (element.hasContent()) { 7546 composeType(t, "LegalLanguageComponent", "content", element.getContent(), -1); 7547 } 7548 } 7549 7550 protected void composeContractComputableLanguageComponent(Complex parent, String parentType, String name, Contract.ComputableLanguageComponent element, int index) { 7551 if (element == null) 7552 return; 7553 Complex t; 7554 if (Utilities.noString(parentType)) 7555 t = parent; 7556 else { 7557 t = parent.predicate("fhir:"+parentType+'.'+name); 7558 } 7559 composeBackboneElement(t, "rule", name, element, index); 7560 if (element.hasContent()) { 7561 composeType(t, "ComputableLanguageComponent", "content", element.getContent(), -1); 7562 } 7563 } 7564 7565 protected void composeCoverage(Complex parent, String parentType, String name, Coverage element, int index) { 7566 if (element == null) 7567 return; 7568 Complex t; 7569 if (Utilities.noString(parentType)) 7570 t = parent; 7571 else { 7572 t = parent.predicate("fhir:"+parentType+'.'+name); 7573 } 7574 composeDomainResource(t, "Coverage", name, element, index); 7575 for (int i = 0; i < element.getIdentifier().size(); i++) { 7576 composeIdentifier(t, "Coverage", "identifier", element.getIdentifier().get(i), i); 7577 } 7578 if (element.hasStatusElement()) { 7579 composeEnum(t, "Coverage", "status", element.getStatusElement(), -1); 7580 } 7581 if (element.hasType()) { 7582 composeCodeableConcept(t, "Coverage", "type", element.getType(), -1); 7583 } 7584 if (element.hasPolicyHolder()) { 7585 composeReference(t, "Coverage", "policyHolder", element.getPolicyHolder(), -1); 7586 } 7587 if (element.hasSubscriber()) { 7588 composeReference(t, "Coverage", "subscriber", element.getSubscriber(), -1); 7589 } 7590 if (element.hasSubscriberIdElement()) { 7591 composeString(t, "Coverage", "subscriberId", element.getSubscriberIdElement(), -1); 7592 } 7593 if (element.hasBeneficiary()) { 7594 composeReference(t, "Coverage", "beneficiary", element.getBeneficiary(), -1); 7595 } 7596 if (element.hasDependentElement()) { 7597 composeString(t, "Coverage", "dependent", element.getDependentElement(), -1); 7598 } 7599 if (element.hasRelationship()) { 7600 composeCodeableConcept(t, "Coverage", "relationship", element.getRelationship(), -1); 7601 } 7602 if (element.hasPeriod()) { 7603 composePeriod(t, "Coverage", "period", element.getPeriod(), -1); 7604 } 7605 for (int i = 0; i < element.getPayor().size(); i++) { 7606 composeReference(t, "Coverage", "payor", element.getPayor().get(i), i); 7607 } 7608 for (int i = 0; i < element.getClass_().size(); i++) { 7609 composeCoverageClassComponent(t, "Coverage", "class", element.getClass_().get(i), i); 7610 } 7611 if (element.hasOrderElement()) { 7612 composePositiveInt(t, "Coverage", "order", element.getOrderElement(), -1); 7613 } 7614 if (element.hasNetworkElement()) { 7615 composeString(t, "Coverage", "network", element.getNetworkElement(), -1); 7616 } 7617 for (int i = 0; i < element.getCostToBeneficiary().size(); i++) { 7618 composeCoverageCostToBeneficiaryComponent(t, "Coverage", "costToBeneficiary", element.getCostToBeneficiary().get(i), i); 7619 } 7620 if (element.hasSubrogationElement()) { 7621 composeBoolean(t, "Coverage", "subrogation", element.getSubrogationElement(), -1); 7622 } 7623 for (int i = 0; i < element.getContract().size(); i++) { 7624 composeReference(t, "Coverage", "contract", element.getContract().get(i), i); 7625 } 7626 } 7627 7628 protected void composeCoverageClassComponent(Complex parent, String parentType, String name, Coverage.ClassComponent element, int index) { 7629 if (element == null) 7630 return; 7631 Complex t; 7632 if (Utilities.noString(parentType)) 7633 t = parent; 7634 else { 7635 t = parent.predicate("fhir:"+parentType+'.'+name); 7636 } 7637 composeBackboneElement(t, "class", name, element, index); 7638 if (element.hasType()) { 7639 composeCodeableConcept(t, "ClassComponent", "type", element.getType(), -1); 7640 } 7641 if (element.hasValueElement()) { 7642 composeString(t, "ClassComponent", "value", element.getValueElement(), -1); 7643 } 7644 if (element.hasNameElement()) { 7645 composeString(t, "ClassComponent", "name", element.getNameElement(), -1); 7646 } 7647 } 7648 7649 protected void composeCoverageCostToBeneficiaryComponent(Complex parent, String parentType, String name, Coverage.CostToBeneficiaryComponent element, int index) { 7650 if (element == null) 7651 return; 7652 Complex t; 7653 if (Utilities.noString(parentType)) 7654 t = parent; 7655 else { 7656 t = parent.predicate("fhir:"+parentType+'.'+name); 7657 } 7658 composeBackboneElement(t, "costToBeneficiary", name, element, index); 7659 if (element.hasType()) { 7660 composeCodeableConcept(t, "CostToBeneficiaryComponent", "type", element.getType(), -1); 7661 } 7662 if (element.hasValue()) { 7663 composeType(t, "CostToBeneficiaryComponent", "value", element.getValue(), -1); 7664 } 7665 for (int i = 0; i < element.getException().size(); i++) { 7666 composeCoverageExemptionComponent(t, "CostToBeneficiaryComponent", "exception", element.getException().get(i), i); 7667 } 7668 } 7669 7670 protected void composeCoverageExemptionComponent(Complex parent, String parentType, String name, Coverage.ExemptionComponent element, int index) { 7671 if (element == null) 7672 return; 7673 Complex t; 7674 if (Utilities.noString(parentType)) 7675 t = parent; 7676 else { 7677 t = parent.predicate("fhir:"+parentType+'.'+name); 7678 } 7679 composeBackboneElement(t, "exception", name, element, index); 7680 if (element.hasType()) { 7681 composeCodeableConcept(t, "ExemptionComponent", "type", element.getType(), -1); 7682 } 7683 if (element.hasPeriod()) { 7684 composePeriod(t, "ExemptionComponent", "period", element.getPeriod(), -1); 7685 } 7686 } 7687 7688 protected void composeCoverageEligibilityRequest(Complex parent, String parentType, String name, CoverageEligibilityRequest element, int index) { 7689 if (element == null) 7690 return; 7691 Complex t; 7692 if (Utilities.noString(parentType)) 7693 t = parent; 7694 else { 7695 t = parent.predicate("fhir:"+parentType+'.'+name); 7696 } 7697 composeDomainResource(t, "CoverageEligibilityRequest", name, element, index); 7698 for (int i = 0; i < element.getIdentifier().size(); i++) { 7699 composeIdentifier(t, "CoverageEligibilityRequest", "identifier", element.getIdentifier().get(i), i); 7700 } 7701 if (element.hasStatusElement()) { 7702 composeEnum(t, "CoverageEligibilityRequest", "status", element.getStatusElement(), -1); 7703 } 7704 if (element.hasPriority()) { 7705 composeCodeableConcept(t, "CoverageEligibilityRequest", "priority", element.getPriority(), -1); 7706 } 7707 for (int i = 0; i < element.getPurpose().size(); i++) { 7708 composeEnum(t, "CoverageEligibilityRequest", "purpose", element.getPurpose().get(i), i); 7709 } 7710 if (element.hasPatient()) { 7711 composeReference(t, "CoverageEligibilityRequest", "patient", element.getPatient(), -1); 7712 } 7713 if (element.hasServiced()) { 7714 composeType(t, "CoverageEligibilityRequest", "serviced", element.getServiced(), -1); 7715 } 7716 if (element.hasCreatedElement()) { 7717 composeDateTime(t, "CoverageEligibilityRequest", "created", element.getCreatedElement(), -1); 7718 } 7719 if (element.hasEnterer()) { 7720 composeReference(t, "CoverageEligibilityRequest", "enterer", element.getEnterer(), -1); 7721 } 7722 if (element.hasProvider()) { 7723 composeReference(t, "CoverageEligibilityRequest", "provider", element.getProvider(), -1); 7724 } 7725 if (element.hasInsurer()) { 7726 composeReference(t, "CoverageEligibilityRequest", "insurer", element.getInsurer(), -1); 7727 } 7728 if (element.hasFacility()) { 7729 composeReference(t, "CoverageEligibilityRequest", "facility", element.getFacility(), -1); 7730 } 7731 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 7732 composeCoverageEligibilityRequestSupportingInformationComponent(t, "CoverageEligibilityRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 7733 } 7734 for (int i = 0; i < element.getInsurance().size(); i++) { 7735 composeCoverageEligibilityRequestInsuranceComponent(t, "CoverageEligibilityRequest", "insurance", element.getInsurance().get(i), i); 7736 } 7737 for (int i = 0; i < element.getItem().size(); i++) { 7738 composeCoverageEligibilityRequestDetailsComponent(t, "CoverageEligibilityRequest", "item", element.getItem().get(i), i); 7739 } 7740 } 7741 7742 protected void composeCoverageEligibilityRequestSupportingInformationComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.SupportingInformationComponent element, int index) { 7743 if (element == null) 7744 return; 7745 Complex t; 7746 if (Utilities.noString(parentType)) 7747 t = parent; 7748 else { 7749 t = parent.predicate("fhir:"+parentType+'.'+name); 7750 } 7751 composeBackboneElement(t, "supportingInfo", name, element, index); 7752 if (element.hasSequenceElement()) { 7753 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 7754 } 7755 if (element.hasInformation()) { 7756 composeReference(t, "SupportingInformationComponent", "information", element.getInformation(), -1); 7757 } 7758 if (element.hasAppliesToAllElement()) { 7759 composeBoolean(t, "SupportingInformationComponent", "appliesToAll", element.getAppliesToAllElement(), -1); 7760 } 7761 } 7762 7763 protected void composeCoverageEligibilityRequestInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.InsuranceComponent element, int index) { 7764 if (element == null) 7765 return; 7766 Complex t; 7767 if (Utilities.noString(parentType)) 7768 t = parent; 7769 else { 7770 t = parent.predicate("fhir:"+parentType+'.'+name); 7771 } 7772 composeBackboneElement(t, "insurance", name, element, index); 7773 if (element.hasFocalElement()) { 7774 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 7775 } 7776 if (element.hasCoverage()) { 7777 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 7778 } 7779 if (element.hasBusinessArrangementElement()) { 7780 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 7781 } 7782 } 7783 7784 protected void composeCoverageEligibilityRequestDetailsComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DetailsComponent element, int index) { 7785 if (element == null) 7786 return; 7787 Complex t; 7788 if (Utilities.noString(parentType)) 7789 t = parent; 7790 else { 7791 t = parent.predicate("fhir:"+parentType+'.'+name); 7792 } 7793 composeBackboneElement(t, "item", name, element, index); 7794 for (int i = 0; i < element.getSupportingInfoSequence().size(); i++) { 7795 composePositiveInt(t, "DetailsComponent", "supportingInfoSequence", element.getSupportingInfoSequence().get(i), i); 7796 } 7797 if (element.hasCategory()) { 7798 composeCodeableConcept(t, "DetailsComponent", "category", element.getCategory(), -1); 7799 } 7800 if (element.hasProductOrService()) { 7801 composeCodeableConcept(t, "DetailsComponent", "productOrService", element.getProductOrService(), -1); 7802 } 7803 for (int i = 0; i < element.getModifier().size(); i++) { 7804 composeCodeableConcept(t, "DetailsComponent", "modifier", element.getModifier().get(i), i); 7805 } 7806 if (element.hasProvider()) { 7807 composeReference(t, "DetailsComponent", "provider", element.getProvider(), -1); 7808 } 7809 if (element.hasQuantity()) { 7810 composeQuantity(t, "DetailsComponent", "quantity", element.getQuantity(), -1); 7811 } 7812 if (element.hasUnitPrice()) { 7813 composeMoney(t, "DetailsComponent", "unitPrice", element.getUnitPrice(), -1); 7814 } 7815 if (element.hasFacility()) { 7816 composeReference(t, "DetailsComponent", "facility", element.getFacility(), -1); 7817 } 7818 for (int i = 0; i < element.getDiagnosis().size(); i++) { 7819 composeCoverageEligibilityRequestDiagnosisComponent(t, "DetailsComponent", "diagnosis", element.getDiagnosis().get(i), i); 7820 } 7821 for (int i = 0; i < element.getDetail().size(); i++) { 7822 composeReference(t, "DetailsComponent", "detail", element.getDetail().get(i), i); 7823 } 7824 } 7825 7826 protected void composeCoverageEligibilityRequestDiagnosisComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DiagnosisComponent element, int index) { 7827 if (element == null) 7828 return; 7829 Complex t; 7830 if (Utilities.noString(parentType)) 7831 t = parent; 7832 else { 7833 t = parent.predicate("fhir:"+parentType+'.'+name); 7834 } 7835 composeBackboneElement(t, "diagnosis", name, element, index); 7836 if (element.hasDiagnosis()) { 7837 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 7838 } 7839 } 7840 7841 protected void composeCoverageEligibilityResponse(Complex parent, String parentType, String name, CoverageEligibilityResponse element, int index) { 7842 if (element == null) 7843 return; 7844 Complex t; 7845 if (Utilities.noString(parentType)) 7846 t = parent; 7847 else { 7848 t = parent.predicate("fhir:"+parentType+'.'+name); 7849 } 7850 composeDomainResource(t, "CoverageEligibilityResponse", name, element, index); 7851 for (int i = 0; i < element.getIdentifier().size(); i++) { 7852 composeIdentifier(t, "CoverageEligibilityResponse", "identifier", element.getIdentifier().get(i), i); 7853 } 7854 if (element.hasStatusElement()) { 7855 composeEnum(t, "CoverageEligibilityResponse", "status", element.getStatusElement(), -1); 7856 } 7857 for (int i = 0; i < element.getPurpose().size(); i++) { 7858 composeEnum(t, "CoverageEligibilityResponse", "purpose", element.getPurpose().get(i), i); 7859 } 7860 if (element.hasPatient()) { 7861 composeReference(t, "CoverageEligibilityResponse", "patient", element.getPatient(), -1); 7862 } 7863 if (element.hasServiced()) { 7864 composeType(t, "CoverageEligibilityResponse", "serviced", element.getServiced(), -1); 7865 } 7866 if (element.hasCreatedElement()) { 7867 composeDateTime(t, "CoverageEligibilityResponse", "created", element.getCreatedElement(), -1); 7868 } 7869 if (element.hasRequestor()) { 7870 composeReference(t, "CoverageEligibilityResponse", "requestor", element.getRequestor(), -1); 7871 } 7872 if (element.hasRequest()) { 7873 composeReference(t, "CoverageEligibilityResponse", "request", element.getRequest(), -1); 7874 } 7875 if (element.hasOutcomeElement()) { 7876 composeEnum(t, "CoverageEligibilityResponse", "outcome", element.getOutcomeElement(), -1); 7877 } 7878 if (element.hasDispositionElement()) { 7879 composeString(t, "CoverageEligibilityResponse", "disposition", element.getDispositionElement(), -1); 7880 } 7881 if (element.hasInsurer()) { 7882 composeReference(t, "CoverageEligibilityResponse", "insurer", element.getInsurer(), -1); 7883 } 7884 for (int i = 0; i < element.getInsurance().size(); i++) { 7885 composeCoverageEligibilityResponseInsuranceComponent(t, "CoverageEligibilityResponse", "insurance", element.getInsurance().get(i), i); 7886 } 7887 if (element.hasPreAuthRefElement()) { 7888 composeString(t, "CoverageEligibilityResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 7889 } 7890 if (element.hasForm()) { 7891 composeCodeableConcept(t, "CoverageEligibilityResponse", "form", element.getForm(), -1); 7892 } 7893 for (int i = 0; i < element.getError().size(); i++) { 7894 composeCoverageEligibilityResponseErrorsComponent(t, "CoverageEligibilityResponse", "error", element.getError().get(i), i); 7895 } 7896 } 7897 7898 protected void composeCoverageEligibilityResponseInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.InsuranceComponent element, int index) { 7899 if (element == null) 7900 return; 7901 Complex t; 7902 if (Utilities.noString(parentType)) 7903 t = parent; 7904 else { 7905 t = parent.predicate("fhir:"+parentType+'.'+name); 7906 } 7907 composeBackboneElement(t, "insurance", name, element, index); 7908 if (element.hasCoverage()) { 7909 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 7910 } 7911 if (element.hasInforceElement()) { 7912 composeBoolean(t, "InsuranceComponent", "inforce", element.getInforceElement(), -1); 7913 } 7914 if (element.hasBenefitPeriod()) { 7915 composePeriod(t, "InsuranceComponent", "benefitPeriod", element.getBenefitPeriod(), -1); 7916 } 7917 for (int i = 0; i < element.getItem().size(); i++) { 7918 composeCoverageEligibilityResponseItemsComponent(t, "InsuranceComponent", "item", element.getItem().get(i), i); 7919 } 7920 } 7921 7922 protected void composeCoverageEligibilityResponseItemsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ItemsComponent element, int index) { 7923 if (element == null) 7924 return; 7925 Complex t; 7926 if (Utilities.noString(parentType)) 7927 t = parent; 7928 else { 7929 t = parent.predicate("fhir:"+parentType+'.'+name); 7930 } 7931 composeBackboneElement(t, "item", name, element, index); 7932 if (element.hasCategory()) { 7933 composeCodeableConcept(t, "ItemsComponent", "category", element.getCategory(), -1); 7934 } 7935 if (element.hasProductOrService()) { 7936 composeCodeableConcept(t, "ItemsComponent", "productOrService", element.getProductOrService(), -1); 7937 } 7938 for (int i = 0; i < element.getModifier().size(); i++) { 7939 composeCodeableConcept(t, "ItemsComponent", "modifier", element.getModifier().get(i), i); 7940 } 7941 if (element.hasProvider()) { 7942 composeReference(t, "ItemsComponent", "provider", element.getProvider(), -1); 7943 } 7944 if (element.hasExcludedElement()) { 7945 composeBoolean(t, "ItemsComponent", "excluded", element.getExcludedElement(), -1); 7946 } 7947 if (element.hasNameElement()) { 7948 composeString(t, "ItemsComponent", "name", element.getNameElement(), -1); 7949 } 7950 if (element.hasDescriptionElement()) { 7951 composeString(t, "ItemsComponent", "description", element.getDescriptionElement(), -1); 7952 } 7953 if (element.hasNetwork()) { 7954 composeCodeableConcept(t, "ItemsComponent", "network", element.getNetwork(), -1); 7955 } 7956 if (element.hasUnit()) { 7957 composeCodeableConcept(t, "ItemsComponent", "unit", element.getUnit(), -1); 7958 } 7959 if (element.hasTerm()) { 7960 composeCodeableConcept(t, "ItemsComponent", "term", element.getTerm(), -1); 7961 } 7962 for (int i = 0; i < element.getBenefit().size(); i++) { 7963 composeCoverageEligibilityResponseBenefitComponent(t, "ItemsComponent", "benefit", element.getBenefit().get(i), i); 7964 } 7965 if (element.hasAuthorizationRequiredElement()) { 7966 composeBoolean(t, "ItemsComponent", "authorizationRequired", element.getAuthorizationRequiredElement(), -1); 7967 } 7968 for (int i = 0; i < element.getAuthorizationSupporting().size(); i++) { 7969 composeCodeableConcept(t, "ItemsComponent", "authorizationSupporting", element.getAuthorizationSupporting().get(i), i); 7970 } 7971 if (element.hasAuthorizationUrlElement()) { 7972 composeUri(t, "ItemsComponent", "authorizationUrl", element.getAuthorizationUrlElement(), -1); 7973 } 7974 } 7975 7976 protected void composeCoverageEligibilityResponseBenefitComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.BenefitComponent element, int index) { 7977 if (element == null) 7978 return; 7979 Complex t; 7980 if (Utilities.noString(parentType)) 7981 t = parent; 7982 else { 7983 t = parent.predicate("fhir:"+parentType+'.'+name); 7984 } 7985 composeBackboneElement(t, "benefit", name, element, index); 7986 if (element.hasType()) { 7987 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 7988 } 7989 if (element.hasAllowed()) { 7990 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 7991 } 7992 if (element.hasUsed()) { 7993 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 7994 } 7995 } 7996 7997 protected void composeCoverageEligibilityResponseErrorsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ErrorsComponent element, int index) { 7998 if (element == null) 7999 return; 8000 Complex t; 8001 if (Utilities.noString(parentType)) 8002 t = parent; 8003 else { 8004 t = parent.predicate("fhir:"+parentType+'.'+name); 8005 } 8006 composeBackboneElement(t, "error", name, element, index); 8007 if (element.hasCode()) { 8008 composeCodeableConcept(t, "ErrorsComponent", "code", element.getCode(), -1); 8009 } 8010 } 8011 8012 protected void composeDetectedIssue(Complex parent, String parentType, String name, DetectedIssue element, int index) { 8013 if (element == null) 8014 return; 8015 Complex t; 8016 if (Utilities.noString(parentType)) 8017 t = parent; 8018 else { 8019 t = parent.predicate("fhir:"+parentType+'.'+name); 8020 } 8021 composeDomainResource(t, "DetectedIssue", name, element, index); 8022 for (int i = 0; i < element.getIdentifier().size(); i++) { 8023 composeIdentifier(t, "DetectedIssue", "identifier", element.getIdentifier().get(i), i); 8024 } 8025 if (element.hasStatusElement()) { 8026 composeEnum(t, "DetectedIssue", "status", element.getStatusElement(), -1); 8027 } 8028 if (element.hasCode()) { 8029 composeCodeableConcept(t, "DetectedIssue", "code", element.getCode(), -1); 8030 } 8031 if (element.hasSeverityElement()) { 8032 composeEnum(t, "DetectedIssue", "severity", element.getSeverityElement(), -1); 8033 } 8034 if (element.hasPatient()) { 8035 composeReference(t, "DetectedIssue", "patient", element.getPatient(), -1); 8036 } 8037 if (element.hasIdentified()) { 8038 composeType(t, "DetectedIssue", "identified", element.getIdentified(), -1); 8039 } 8040 if (element.hasAuthor()) { 8041 composeReference(t, "DetectedIssue", "author", element.getAuthor(), -1); 8042 } 8043 for (int i = 0; i < element.getImplicated().size(); i++) { 8044 composeReference(t, "DetectedIssue", "implicated", element.getImplicated().get(i), i); 8045 } 8046 for (int i = 0; i < element.getEvidence().size(); i++) { 8047 composeDetectedIssueEvidenceComponent(t, "DetectedIssue", "evidence", element.getEvidence().get(i), i); 8048 } 8049 if (element.hasDetailElement()) { 8050 composeString(t, "DetectedIssue", "detail", element.getDetailElement(), -1); 8051 } 8052 if (element.hasReferenceElement()) { 8053 composeUri(t, "DetectedIssue", "reference", element.getReferenceElement(), -1); 8054 } 8055 for (int i = 0; i < element.getMitigation().size(); i++) { 8056 composeDetectedIssueMitigationComponent(t, "DetectedIssue", "mitigation", element.getMitigation().get(i), i); 8057 } 8058 } 8059 8060 protected void composeDetectedIssueEvidenceComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueEvidenceComponent element, int index) { 8061 if (element == null) 8062 return; 8063 Complex t; 8064 if (Utilities.noString(parentType)) 8065 t = parent; 8066 else { 8067 t = parent.predicate("fhir:"+parentType+'.'+name); 8068 } 8069 composeBackboneElement(t, "evidence", name, element, index); 8070 for (int i = 0; i < element.getCode().size(); i++) { 8071 composeCodeableConcept(t, "DetectedIssueEvidenceComponent", "code", element.getCode().get(i), i); 8072 } 8073 for (int i = 0; i < element.getDetail().size(); i++) { 8074 composeReference(t, "DetectedIssueEvidenceComponent", "detail", element.getDetail().get(i), i); 8075 } 8076 } 8077 8078 protected void composeDetectedIssueMitigationComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueMitigationComponent element, int index) { 8079 if (element == null) 8080 return; 8081 Complex t; 8082 if (Utilities.noString(parentType)) 8083 t = parent; 8084 else { 8085 t = parent.predicate("fhir:"+parentType+'.'+name); 8086 } 8087 composeBackboneElement(t, "mitigation", name, element, index); 8088 if (element.hasAction()) { 8089 composeCodeableConcept(t, "DetectedIssueMitigationComponent", "action", element.getAction(), -1); 8090 } 8091 if (element.hasDateElement()) { 8092 composeDateTime(t, "DetectedIssueMitigationComponent", "date", element.getDateElement(), -1); 8093 } 8094 if (element.hasAuthor()) { 8095 composeReference(t, "DetectedIssueMitigationComponent", "author", element.getAuthor(), -1); 8096 } 8097 } 8098 8099 protected void composeDevice(Complex parent, String parentType, String name, Device element, int index) { 8100 if (element == null) 8101 return; 8102 Complex t; 8103 if (Utilities.noString(parentType)) 8104 t = parent; 8105 else { 8106 t = parent.predicate("fhir:"+parentType+'.'+name); 8107 } 8108 composeDomainResource(t, "Device", name, element, index); 8109 for (int i = 0; i < element.getIdentifier().size(); i++) { 8110 composeIdentifier(t, "Device", "identifier", element.getIdentifier().get(i), i); 8111 } 8112 if (element.hasDefinition()) { 8113 composeReference(t, "Device", "definition", element.getDefinition(), -1); 8114 } 8115 for (int i = 0; i < element.getUdiCarrier().size(); i++) { 8116 composeDeviceUdiCarrierComponent(t, "Device", "udiCarrier", element.getUdiCarrier().get(i), i); 8117 } 8118 if (element.hasStatusElement()) { 8119 composeEnum(t, "Device", "status", element.getStatusElement(), -1); 8120 } 8121 for (int i = 0; i < element.getStatusReason().size(); i++) { 8122 composeCodeableConcept(t, "Device", "statusReason", element.getStatusReason().get(i), i); 8123 } 8124 if (element.hasDistinctIdentifierElement()) { 8125 composeString(t, "Device", "distinctIdentifier", element.getDistinctIdentifierElement(), -1); 8126 } 8127 if (element.hasManufacturerElement()) { 8128 composeString(t, "Device", "manufacturer", element.getManufacturerElement(), -1); 8129 } 8130 if (element.hasManufactureDateElement()) { 8131 composeDateTime(t, "Device", "manufactureDate", element.getManufactureDateElement(), -1); 8132 } 8133 if (element.hasExpirationDateElement()) { 8134 composeDateTime(t, "Device", "expirationDate", element.getExpirationDateElement(), -1); 8135 } 8136 if (element.hasLotNumberElement()) { 8137 composeString(t, "Device", "lotNumber", element.getLotNumberElement(), -1); 8138 } 8139 if (element.hasSerialNumberElement()) { 8140 composeString(t, "Device", "serialNumber", element.getSerialNumberElement(), -1); 8141 } 8142 for (int i = 0; i < element.getDeviceName().size(); i++) { 8143 composeDeviceDeviceNameComponent(t, "Device", "deviceName", element.getDeviceName().get(i), i); 8144 } 8145 if (element.hasModelNumberElement()) { 8146 composeString(t, "Device", "modelNumber", element.getModelNumberElement(), -1); 8147 } 8148 if (element.hasPartNumberElement()) { 8149 composeString(t, "Device", "partNumber", element.getPartNumberElement(), -1); 8150 } 8151 if (element.hasType()) { 8152 composeCodeableConcept(t, "Device", "type", element.getType(), -1); 8153 } 8154 for (int i = 0; i < element.getSpecialization().size(); i++) { 8155 composeDeviceSpecializationComponent(t, "Device", "specialization", element.getSpecialization().get(i), i); 8156 } 8157 for (int i = 0; i < element.getVersion().size(); i++) { 8158 composeDeviceVersionComponent(t, "Device", "version", element.getVersion().get(i), i); 8159 } 8160 for (int i = 0; i < element.getProperty().size(); i++) { 8161 composeDevicePropertyComponent(t, "Device", "property", element.getProperty().get(i), i); 8162 } 8163 if (element.hasPatient()) { 8164 composeReference(t, "Device", "patient", element.getPatient(), -1); 8165 } 8166 if (element.hasOwner()) { 8167 composeReference(t, "Device", "owner", element.getOwner(), -1); 8168 } 8169 for (int i = 0; i < element.getContact().size(); i++) { 8170 composeContactPoint(t, "Device", "contact", element.getContact().get(i), i); 8171 } 8172 if (element.hasLocation()) { 8173 composeReference(t, "Device", "location", element.getLocation(), -1); 8174 } 8175 if (element.hasUrlElement()) { 8176 composeUri(t, "Device", "url", element.getUrlElement(), -1); 8177 } 8178 for (int i = 0; i < element.getNote().size(); i++) { 8179 composeAnnotation(t, "Device", "note", element.getNote().get(i), i); 8180 } 8181 for (int i = 0; i < element.getSafety().size(); i++) { 8182 composeCodeableConcept(t, "Device", "safety", element.getSafety().get(i), i); 8183 } 8184 if (element.hasParent()) { 8185 composeReference(t, "Device", "parent", element.getParent(), -1); 8186 } 8187 } 8188 8189 protected void composeDeviceUdiCarrierComponent(Complex parent, String parentType, String name, Device.DeviceUdiCarrierComponent element, int index) { 8190 if (element == null) 8191 return; 8192 Complex t; 8193 if (Utilities.noString(parentType)) 8194 t = parent; 8195 else { 8196 t = parent.predicate("fhir:"+parentType+'.'+name); 8197 } 8198 composeBackboneElement(t, "udiCarrier", name, element, index); 8199 if (element.hasDeviceIdentifierElement()) { 8200 composeString(t, "DeviceUdiCarrierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 8201 } 8202 if (element.hasIssuerElement()) { 8203 composeUri(t, "DeviceUdiCarrierComponent", "issuer", element.getIssuerElement(), -1); 8204 } 8205 if (element.hasJurisdictionElement()) { 8206 composeUri(t, "DeviceUdiCarrierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 8207 } 8208 if (element.hasCarrierAIDCElement()) { 8209 composeBase64Binary(t, "DeviceUdiCarrierComponent", "carrierAIDC", element.getCarrierAIDCElement(), -1); 8210 } 8211 if (element.hasCarrierHRFElement()) { 8212 composeString(t, "DeviceUdiCarrierComponent", "carrierHRF", element.getCarrierHRFElement(), -1); 8213 } 8214 if (element.hasEntryTypeElement()) { 8215 composeEnum(t, "DeviceUdiCarrierComponent", "entryType", element.getEntryTypeElement(), -1); 8216 } 8217 } 8218 8219 protected void composeDeviceDeviceNameComponent(Complex parent, String parentType, String name, Device.DeviceDeviceNameComponent element, int index) { 8220 if (element == null) 8221 return; 8222 Complex t; 8223 if (Utilities.noString(parentType)) 8224 t = parent; 8225 else { 8226 t = parent.predicate("fhir:"+parentType+'.'+name); 8227 } 8228 composeBackboneElement(t, "deviceName", name, element, index); 8229 if (element.hasNameElement()) { 8230 composeString(t, "DeviceDeviceNameComponent", "name", element.getNameElement(), -1); 8231 } 8232 if (element.hasTypeElement()) { 8233 composeEnum(t, "DeviceDeviceNameComponent", "type", element.getTypeElement(), -1); 8234 } 8235 } 8236 8237 protected void composeDeviceSpecializationComponent(Complex parent, String parentType, String name, Device.DeviceSpecializationComponent element, int index) { 8238 if (element == null) 8239 return; 8240 Complex t; 8241 if (Utilities.noString(parentType)) 8242 t = parent; 8243 else { 8244 t = parent.predicate("fhir:"+parentType+'.'+name); 8245 } 8246 composeBackboneElement(t, "specialization", name, element, index); 8247 if (element.hasSystemType()) { 8248 composeCodeableConcept(t, "DeviceSpecializationComponent", "systemType", element.getSystemType(), -1); 8249 } 8250 if (element.hasVersionElement()) { 8251 composeString(t, "DeviceSpecializationComponent", "version", element.getVersionElement(), -1); 8252 } 8253 } 8254 8255 protected void composeDeviceVersionComponent(Complex parent, String parentType, String name, Device.DeviceVersionComponent element, int index) { 8256 if (element == null) 8257 return; 8258 Complex t; 8259 if (Utilities.noString(parentType)) 8260 t = parent; 8261 else { 8262 t = parent.predicate("fhir:"+parentType+'.'+name); 8263 } 8264 composeBackboneElement(t, "version", name, element, index); 8265 if (element.hasType()) { 8266 composeCodeableConcept(t, "DeviceVersionComponent", "type", element.getType(), -1); 8267 } 8268 if (element.hasComponent()) { 8269 composeIdentifier(t, "DeviceVersionComponent", "component", element.getComponent(), -1); 8270 } 8271 if (element.hasValueElement()) { 8272 composeString(t, "DeviceVersionComponent", "value", element.getValueElement(), -1); 8273 } 8274 } 8275 8276 protected void composeDevicePropertyComponent(Complex parent, String parentType, String name, Device.DevicePropertyComponent element, int index) { 8277 if (element == null) 8278 return; 8279 Complex t; 8280 if (Utilities.noString(parentType)) 8281 t = parent; 8282 else { 8283 t = parent.predicate("fhir:"+parentType+'.'+name); 8284 } 8285 composeBackboneElement(t, "property", name, element, index); 8286 if (element.hasType()) { 8287 composeCodeableConcept(t, "DevicePropertyComponent", "type", element.getType(), -1); 8288 } 8289 for (int i = 0; i < element.getValueQuantity().size(); i++) { 8290 composeQuantity(t, "DevicePropertyComponent", "valueQuantity", element.getValueQuantity().get(i), i); 8291 } 8292 for (int i = 0; i < element.getValueCode().size(); i++) { 8293 composeCodeableConcept(t, "DevicePropertyComponent", "valueCode", element.getValueCode().get(i), i); 8294 } 8295 } 8296 8297 protected void composeDeviceDefinition(Complex parent, String parentType, String name, DeviceDefinition element, int index) { 8298 if (element == null) 8299 return; 8300 Complex t; 8301 if (Utilities.noString(parentType)) 8302 t = parent; 8303 else { 8304 t = parent.predicate("fhir:"+parentType+'.'+name); 8305 } 8306 composeDomainResource(t, "DeviceDefinition", name, element, index); 8307 for (int i = 0; i < element.getIdentifier().size(); i++) { 8308 composeIdentifier(t, "DeviceDefinition", "identifier", element.getIdentifier().get(i), i); 8309 } 8310 for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { 8311 composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinition", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); 8312 } 8313 if (element.hasManufacturer()) { 8314 composeType(t, "DeviceDefinition", "manufacturer", element.getManufacturer(), -1); 8315 } 8316 for (int i = 0; i < element.getDeviceName().size(); i++) { 8317 composeDeviceDefinitionDeviceNameComponent(t, "DeviceDefinition", "deviceName", element.getDeviceName().get(i), i); 8318 } 8319 if (element.hasModelNumberElement()) { 8320 composeString(t, "DeviceDefinition", "modelNumber", element.getModelNumberElement(), -1); 8321 } 8322 if (element.hasType()) { 8323 composeCodeableConcept(t, "DeviceDefinition", "type", element.getType(), -1); 8324 } 8325 for (int i = 0; i < element.getSpecialization().size(); i++) { 8326 composeDeviceDefinitionSpecializationComponent(t, "DeviceDefinition", "specialization", element.getSpecialization().get(i), i); 8327 } 8328 for (int i = 0; i < element.getVersion().size(); i++) { 8329 composeString(t, "DeviceDefinition", "version", element.getVersion().get(i), i); 8330 } 8331 for (int i = 0; i < element.getSafety().size(); i++) { 8332 composeCodeableConcept(t, "DeviceDefinition", "safety", element.getSafety().get(i), i); 8333 } 8334 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 8335 composeProductShelfLife(t, "DeviceDefinition", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 8336 } 8337 if (element.hasPhysicalCharacteristics()) { 8338 composeProdCharacteristic(t, "DeviceDefinition", "physicalCharacteristics", element.getPhysicalCharacteristics(), -1); 8339 } 8340 for (int i = 0; i < element.getLanguageCode().size(); i++) { 8341 composeCodeableConcept(t, "DeviceDefinition", "languageCode", element.getLanguageCode().get(i), i); 8342 } 8343 for (int i = 0; i < element.getCapability().size(); i++) { 8344 composeDeviceDefinitionCapabilityComponent(t, "DeviceDefinition", "capability", element.getCapability().get(i), i); 8345 } 8346 for (int i = 0; i < element.getProperty().size(); i++) { 8347 composeDeviceDefinitionPropertyComponent(t, "DeviceDefinition", "property", element.getProperty().get(i), i); 8348 } 8349 if (element.hasOwner()) { 8350 composeReference(t, "DeviceDefinition", "owner", element.getOwner(), -1); 8351 } 8352 for (int i = 0; i < element.getContact().size(); i++) { 8353 composeContactPoint(t, "DeviceDefinition", "contact", element.getContact().get(i), i); 8354 } 8355 if (element.hasUrlElement()) { 8356 composeUri(t, "DeviceDefinition", "url", element.getUrlElement(), -1); 8357 } 8358 if (element.hasOnlineInformationElement()) { 8359 composeUri(t, "DeviceDefinition", "onlineInformation", element.getOnlineInformationElement(), -1); 8360 } 8361 for (int i = 0; i < element.getNote().size(); i++) { 8362 composeAnnotation(t, "DeviceDefinition", "note", element.getNote().get(i), i); 8363 } 8364 if (element.hasQuantity()) { 8365 composeQuantity(t, "DeviceDefinition", "quantity", element.getQuantity(), -1); 8366 } 8367 if (element.hasParentDevice()) { 8368 composeReference(t, "DeviceDefinition", "parentDevice", element.getParentDevice(), -1); 8369 } 8370 for (int i = 0; i < element.getMaterial().size(); i++) { 8371 composeDeviceDefinitionMaterialComponent(t, "DeviceDefinition", "material", element.getMaterial().get(i), i); 8372 } 8373 } 8374 8375 protected void composeDeviceDefinitionUdiDeviceIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent element, int index) { 8376 if (element == null) 8377 return; 8378 Complex t; 8379 if (Utilities.noString(parentType)) 8380 t = parent; 8381 else { 8382 t = parent.predicate("fhir:"+parentType+'.'+name); 8383 } 8384 composeBackboneElement(t, "udiDeviceIdentifier", name, element, index); 8385 if (element.hasDeviceIdentifierElement()) { 8386 composeString(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 8387 } 8388 if (element.hasIssuerElement()) { 8389 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "issuer", element.getIssuerElement(), -1); 8390 } 8391 if (element.hasJurisdictionElement()) { 8392 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 8393 } 8394 } 8395 8396 protected void composeDeviceDefinitionDeviceNameComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element, int index) { 8397 if (element == null) 8398 return; 8399 Complex t; 8400 if (Utilities.noString(parentType)) 8401 t = parent; 8402 else { 8403 t = parent.predicate("fhir:"+parentType+'.'+name); 8404 } 8405 composeBackboneElement(t, "deviceName", name, element, index); 8406 if (element.hasNameElement()) { 8407 composeString(t, "DeviceDefinitionDeviceNameComponent", "name", element.getNameElement(), -1); 8408 } 8409 if (element.hasTypeElement()) { 8410 composeEnum(t, "DeviceDefinitionDeviceNameComponent", "type", element.getTypeElement(), -1); 8411 } 8412 } 8413 8414 protected void composeDeviceDefinitionSpecializationComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionSpecializationComponent element, int index) { 8415 if (element == null) 8416 return; 8417 Complex t; 8418 if (Utilities.noString(parentType)) 8419 t = parent; 8420 else { 8421 t = parent.predicate("fhir:"+parentType+'.'+name); 8422 } 8423 composeBackboneElement(t, "specialization", name, element, index); 8424 if (element.hasSystemTypeElement()) { 8425 composeString(t, "DeviceDefinitionSpecializationComponent", "systemType", element.getSystemTypeElement(), -1); 8426 } 8427 if (element.hasVersionElement()) { 8428 composeString(t, "DeviceDefinitionSpecializationComponent", "version", element.getVersionElement(), -1); 8429 } 8430 } 8431 8432 protected void composeDeviceDefinitionCapabilityComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionCapabilityComponent element, int index) { 8433 if (element == null) 8434 return; 8435 Complex t; 8436 if (Utilities.noString(parentType)) 8437 t = parent; 8438 else { 8439 t = parent.predicate("fhir:"+parentType+'.'+name); 8440 } 8441 composeBackboneElement(t, "capability", name, element, index); 8442 if (element.hasType()) { 8443 composeCodeableConcept(t, "DeviceDefinitionCapabilityComponent", "type", element.getType(), -1); 8444 } 8445 for (int i = 0; i < element.getDescription().size(); i++) { 8446 composeCodeableConcept(t, "DeviceDefinitionCapabilityComponent", "description", element.getDescription().get(i), i); 8447 } 8448 } 8449 8450 protected void composeDeviceDefinitionPropertyComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPropertyComponent element, int index) { 8451 if (element == null) 8452 return; 8453 Complex t; 8454 if (Utilities.noString(parentType)) 8455 t = parent; 8456 else { 8457 t = parent.predicate("fhir:"+parentType+'.'+name); 8458 } 8459 composeBackboneElement(t, "property", name, element, index); 8460 if (element.hasType()) { 8461 composeCodeableConcept(t, "DeviceDefinitionPropertyComponent", "type", element.getType(), -1); 8462 } 8463 for (int i = 0; i < element.getValueQuantity().size(); i++) { 8464 composeQuantity(t, "DeviceDefinitionPropertyComponent", "valueQuantity", element.getValueQuantity().get(i), i); 8465 } 8466 for (int i = 0; i < element.getValueCode().size(); i++) { 8467 composeCodeableConcept(t, "DeviceDefinitionPropertyComponent", "valueCode", element.getValueCode().get(i), i); 8468 } 8469 } 8470 8471 protected void composeDeviceDefinitionMaterialComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionMaterialComponent element, int index) { 8472 if (element == null) 8473 return; 8474 Complex t; 8475 if (Utilities.noString(parentType)) 8476 t = parent; 8477 else { 8478 t = parent.predicate("fhir:"+parentType+'.'+name); 8479 } 8480 composeBackboneElement(t, "material", name, element, index); 8481 if (element.hasSubstance()) { 8482 composeCodeableConcept(t, "DeviceDefinitionMaterialComponent", "substance", element.getSubstance(), -1); 8483 } 8484 if (element.hasAlternateElement()) { 8485 composeBoolean(t, "DeviceDefinitionMaterialComponent", "alternate", element.getAlternateElement(), -1); 8486 } 8487 if (element.hasAllergenicIndicatorElement()) { 8488 composeBoolean(t, "DeviceDefinitionMaterialComponent", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 8489 } 8490 } 8491 8492 protected void composeDeviceMetric(Complex parent, String parentType, String name, DeviceMetric element, int index) { 8493 if (element == null) 8494 return; 8495 Complex t; 8496 if (Utilities.noString(parentType)) 8497 t = parent; 8498 else { 8499 t = parent.predicate("fhir:"+parentType+'.'+name); 8500 } 8501 composeDomainResource(t, "DeviceMetric", name, element, index); 8502 for (int i = 0; i < element.getIdentifier().size(); i++) { 8503 composeIdentifier(t, "DeviceMetric", "identifier", element.getIdentifier().get(i), i); 8504 } 8505 if (element.hasType()) { 8506 composeCodeableConcept(t, "DeviceMetric", "type", element.getType(), -1); 8507 } 8508 if (element.hasUnit()) { 8509 composeCodeableConcept(t, "DeviceMetric", "unit", element.getUnit(), -1); 8510 } 8511 if (element.hasSource()) { 8512 composeReference(t, "DeviceMetric", "source", element.getSource(), -1); 8513 } 8514 if (element.hasParent()) { 8515 composeReference(t, "DeviceMetric", "parent", element.getParent(), -1); 8516 } 8517 if (element.hasOperationalStatusElement()) { 8518 composeEnum(t, "DeviceMetric", "operationalStatus", element.getOperationalStatusElement(), -1); 8519 } 8520 if (element.hasColorElement()) { 8521 composeEnum(t, "DeviceMetric", "color", element.getColorElement(), -1); 8522 } 8523 if (element.hasCategoryElement()) { 8524 composeEnum(t, "DeviceMetric", "category", element.getCategoryElement(), -1); 8525 } 8526 if (element.hasMeasurementPeriod()) { 8527 composeTiming(t, "DeviceMetric", "measurementPeriod", element.getMeasurementPeriod(), -1); 8528 } 8529 for (int i = 0; i < element.getCalibration().size(); i++) { 8530 composeDeviceMetricCalibrationComponent(t, "DeviceMetric", "calibration", element.getCalibration().get(i), i); 8531 } 8532 } 8533 8534 protected void composeDeviceMetricCalibrationComponent(Complex parent, String parentType, String name, DeviceMetric.DeviceMetricCalibrationComponent element, int index) { 8535 if (element == null) 8536 return; 8537 Complex t; 8538 if (Utilities.noString(parentType)) 8539 t = parent; 8540 else { 8541 t = parent.predicate("fhir:"+parentType+'.'+name); 8542 } 8543 composeBackboneElement(t, "calibration", name, element, index); 8544 if (element.hasTypeElement()) { 8545 composeEnum(t, "DeviceMetricCalibrationComponent", "type", element.getTypeElement(), -1); 8546 } 8547 if (element.hasStateElement()) { 8548 composeEnum(t, "DeviceMetricCalibrationComponent", "state", element.getStateElement(), -1); 8549 } 8550 if (element.hasTimeElement()) { 8551 composeInstant(t, "DeviceMetricCalibrationComponent", "time", element.getTimeElement(), -1); 8552 } 8553 } 8554 8555 protected void composeDeviceRequest(Complex parent, String parentType, String name, DeviceRequest element, int index) { 8556 if (element == null) 8557 return; 8558 Complex t; 8559 if (Utilities.noString(parentType)) 8560 t = parent; 8561 else { 8562 t = parent.predicate("fhir:"+parentType+'.'+name); 8563 } 8564 composeDomainResource(t, "DeviceRequest", name, element, index); 8565 for (int i = 0; i < element.getIdentifier().size(); i++) { 8566 composeIdentifier(t, "DeviceRequest", "identifier", element.getIdentifier().get(i), i); 8567 } 8568 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 8569 composeCanonical(t, "DeviceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 8570 } 8571 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 8572 composeUri(t, "DeviceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 8573 } 8574 for (int i = 0; i < element.getBasedOn().size(); i++) { 8575 composeReference(t, "DeviceRequest", "basedOn", element.getBasedOn().get(i), i); 8576 } 8577 for (int i = 0; i < element.getPriorRequest().size(); i++) { 8578 composeReference(t, "DeviceRequest", "priorRequest", element.getPriorRequest().get(i), i); 8579 } 8580 if (element.hasGroupIdentifier()) { 8581 composeIdentifier(t, "DeviceRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 8582 } 8583 if (element.hasStatusElement()) { 8584 composeEnum(t, "DeviceRequest", "status", element.getStatusElement(), -1); 8585 } 8586 if (element.hasIntentElement()) { 8587 composeEnum(t, "DeviceRequest", "intent", element.getIntentElement(), -1); 8588 } 8589 if (element.hasPriorityElement()) { 8590 composeEnum(t, "DeviceRequest", "priority", element.getPriorityElement(), -1); 8591 } 8592 if (element.hasCode()) { 8593 composeType(t, "DeviceRequest", "code", element.getCode(), -1); 8594 } 8595 for (int i = 0; i < element.getParameter().size(); i++) { 8596 composeDeviceRequestParameterComponent(t, "DeviceRequest", "parameter", element.getParameter().get(i), i); 8597 } 8598 if (element.hasSubject()) { 8599 composeReference(t, "DeviceRequest", "subject", element.getSubject(), -1); 8600 } 8601 if (element.hasEncounter()) { 8602 composeReference(t, "DeviceRequest", "encounter", element.getEncounter(), -1); 8603 } 8604 if (element.hasOccurrence()) { 8605 composeType(t, "DeviceRequest", "occurrence", element.getOccurrence(), -1); 8606 } 8607 if (element.hasAuthoredOnElement()) { 8608 composeDateTime(t, "DeviceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 8609 } 8610 if (element.hasRequester()) { 8611 composeReference(t, "DeviceRequest", "requester", element.getRequester(), -1); 8612 } 8613 if (element.hasPerformerType()) { 8614 composeCodeableConcept(t, "DeviceRequest", "performerType", element.getPerformerType(), -1); 8615 } 8616 if (element.hasPerformer()) { 8617 composeReference(t, "DeviceRequest", "performer", element.getPerformer(), -1); 8618 } 8619 for (int i = 0; i < element.getReasonCode().size(); i++) { 8620 composeCodeableConcept(t, "DeviceRequest", "reasonCode", element.getReasonCode().get(i), i); 8621 } 8622 for (int i = 0; i < element.getReasonReference().size(); i++) { 8623 composeReference(t, "DeviceRequest", "reasonReference", element.getReasonReference().get(i), i); 8624 } 8625 for (int i = 0; i < element.getInsurance().size(); i++) { 8626 composeReference(t, "DeviceRequest", "insurance", element.getInsurance().get(i), i); 8627 } 8628 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 8629 composeReference(t, "DeviceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 8630 } 8631 for (int i = 0; i < element.getNote().size(); i++) { 8632 composeAnnotation(t, "DeviceRequest", "note", element.getNote().get(i), i); 8633 } 8634 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 8635 composeReference(t, "DeviceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 8636 } 8637 } 8638 8639 protected void composeDeviceRequestParameterComponent(Complex parent, String parentType, String name, DeviceRequest.DeviceRequestParameterComponent element, int index) { 8640 if (element == null) 8641 return; 8642 Complex t; 8643 if (Utilities.noString(parentType)) 8644 t = parent; 8645 else { 8646 t = parent.predicate("fhir:"+parentType+'.'+name); 8647 } 8648 composeBackboneElement(t, "parameter", name, element, index); 8649 if (element.hasCode()) { 8650 composeCodeableConcept(t, "DeviceRequestParameterComponent", "code", element.getCode(), -1); 8651 } 8652 if (element.hasValue()) { 8653 composeType(t, "DeviceRequestParameterComponent", "value", element.getValue(), -1); 8654 } 8655 } 8656 8657 protected void composeDeviceUseStatement(Complex parent, String parentType, String name, DeviceUseStatement element, int index) { 8658 if (element == null) 8659 return; 8660 Complex t; 8661 if (Utilities.noString(parentType)) 8662 t = parent; 8663 else { 8664 t = parent.predicate("fhir:"+parentType+'.'+name); 8665 } 8666 composeDomainResource(t, "DeviceUseStatement", name, element, index); 8667 for (int i = 0; i < element.getIdentifier().size(); i++) { 8668 composeIdentifier(t, "DeviceUseStatement", "identifier", element.getIdentifier().get(i), i); 8669 } 8670 for (int i = 0; i < element.getBasedOn().size(); i++) { 8671 composeReference(t, "DeviceUseStatement", "basedOn", element.getBasedOn().get(i), i); 8672 } 8673 if (element.hasStatusElement()) { 8674 composeEnum(t, "DeviceUseStatement", "status", element.getStatusElement(), -1); 8675 } 8676 if (element.hasSubject()) { 8677 composeReference(t, "DeviceUseStatement", "subject", element.getSubject(), -1); 8678 } 8679 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 8680 composeReference(t, "DeviceUseStatement", "derivedFrom", element.getDerivedFrom().get(i), i); 8681 } 8682 if (element.hasTiming()) { 8683 composeType(t, "DeviceUseStatement", "timing", element.getTiming(), -1); 8684 } 8685 if (element.hasRecordedOnElement()) { 8686 composeDateTime(t, "DeviceUseStatement", "recordedOn", element.getRecordedOnElement(), -1); 8687 } 8688 if (element.hasSource()) { 8689 composeReference(t, "DeviceUseStatement", "source", element.getSource(), -1); 8690 } 8691 if (element.hasDevice()) { 8692 composeReference(t, "DeviceUseStatement", "device", element.getDevice(), -1); 8693 } 8694 for (int i = 0; i < element.getReasonCode().size(); i++) { 8695 composeCodeableConcept(t, "DeviceUseStatement", "reasonCode", element.getReasonCode().get(i), i); 8696 } 8697 for (int i = 0; i < element.getReasonReference().size(); i++) { 8698 composeReference(t, "DeviceUseStatement", "reasonReference", element.getReasonReference().get(i), i); 8699 } 8700 if (element.hasBodySite()) { 8701 composeCodeableConcept(t, "DeviceUseStatement", "bodySite", element.getBodySite(), -1); 8702 } 8703 for (int i = 0; i < element.getNote().size(); i++) { 8704 composeAnnotation(t, "DeviceUseStatement", "note", element.getNote().get(i), i); 8705 } 8706 } 8707 8708 protected void composeDiagnosticReport(Complex parent, String parentType, String name, DiagnosticReport element, int index) { 8709 if (element == null) 8710 return; 8711 Complex t; 8712 if (Utilities.noString(parentType)) 8713 t = parent; 8714 else { 8715 t = parent.predicate("fhir:"+parentType+'.'+name); 8716 } 8717 composeDomainResource(t, "DiagnosticReport", name, element, index); 8718 for (int i = 0; i < element.getIdentifier().size(); i++) { 8719 composeIdentifier(t, "DiagnosticReport", "identifier", element.getIdentifier().get(i), i); 8720 } 8721 for (int i = 0; i < element.getBasedOn().size(); i++) { 8722 composeReference(t, "DiagnosticReport", "basedOn", element.getBasedOn().get(i), i); 8723 } 8724 if (element.hasStatusElement()) { 8725 composeEnum(t, "DiagnosticReport", "status", element.getStatusElement(), -1); 8726 } 8727 for (int i = 0; i < element.getCategory().size(); i++) { 8728 composeCodeableConcept(t, "DiagnosticReport", "category", element.getCategory().get(i), i); 8729 } 8730 if (element.hasCode()) { 8731 composeCodeableConcept(t, "DiagnosticReport", "code", element.getCode(), -1); 8732 } 8733 if (element.hasSubject()) { 8734 composeReference(t, "DiagnosticReport", "subject", element.getSubject(), -1); 8735 } 8736 if (element.hasEncounter()) { 8737 composeReference(t, "DiagnosticReport", "encounter", element.getEncounter(), -1); 8738 } 8739 if (element.hasEffective()) { 8740 composeType(t, "DiagnosticReport", "effective", element.getEffective(), -1); 8741 } 8742 if (element.hasIssuedElement()) { 8743 composeInstant(t, "DiagnosticReport", "issued", element.getIssuedElement(), -1); 8744 } 8745 for (int i = 0; i < element.getPerformer().size(); i++) { 8746 composeReference(t, "DiagnosticReport", "performer", element.getPerformer().get(i), i); 8747 } 8748 for (int i = 0; i < element.getResultsInterpreter().size(); i++) { 8749 composeReference(t, "DiagnosticReport", "resultsInterpreter", element.getResultsInterpreter().get(i), i); 8750 } 8751 for (int i = 0; i < element.getSpecimen().size(); i++) { 8752 composeReference(t, "DiagnosticReport", "specimen", element.getSpecimen().get(i), i); 8753 } 8754 for (int i = 0; i < element.getResult().size(); i++) { 8755 composeReference(t, "DiagnosticReport", "result", element.getResult().get(i), i); 8756 } 8757 for (int i = 0; i < element.getImagingStudy().size(); i++) { 8758 composeReference(t, "DiagnosticReport", "imagingStudy", element.getImagingStudy().get(i), i); 8759 } 8760 for (int i = 0; i < element.getMedia().size(); i++) { 8761 composeDiagnosticReportMediaComponent(t, "DiagnosticReport", "media", element.getMedia().get(i), i); 8762 } 8763 if (element.hasConclusionElement()) { 8764 composeString(t, "DiagnosticReport", "conclusion", element.getConclusionElement(), -1); 8765 } 8766 for (int i = 0; i < element.getConclusionCode().size(); i++) { 8767 composeCodeableConcept(t, "DiagnosticReport", "conclusionCode", element.getConclusionCode().get(i), i); 8768 } 8769 for (int i = 0; i < element.getPresentedForm().size(); i++) { 8770 composeAttachment(t, "DiagnosticReport", "presentedForm", element.getPresentedForm().get(i), i); 8771 } 8772 } 8773 8774 protected void composeDiagnosticReportMediaComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportMediaComponent element, int index) { 8775 if (element == null) 8776 return; 8777 Complex t; 8778 if (Utilities.noString(parentType)) 8779 t = parent; 8780 else { 8781 t = parent.predicate("fhir:"+parentType+'.'+name); 8782 } 8783 composeBackboneElement(t, "media", name, element, index); 8784 if (element.hasCommentElement()) { 8785 composeString(t, "DiagnosticReportMediaComponent", "comment", element.getCommentElement(), -1); 8786 } 8787 if (element.hasLink()) { 8788 composeReference(t, "DiagnosticReportMediaComponent", "link", element.getLink(), -1); 8789 } 8790 } 8791 8792 protected void composeDocumentManifest(Complex parent, String parentType, String name, DocumentManifest element, int index) { 8793 if (element == null) 8794 return; 8795 Complex t; 8796 if (Utilities.noString(parentType)) 8797 t = parent; 8798 else { 8799 t = parent.predicate("fhir:"+parentType+'.'+name); 8800 } 8801 composeDomainResource(t, "DocumentManifest", name, element, index); 8802 if (element.hasMasterIdentifier()) { 8803 composeIdentifier(t, "DocumentManifest", "masterIdentifier", element.getMasterIdentifier(), -1); 8804 } 8805 for (int i = 0; i < element.getIdentifier().size(); i++) { 8806 composeIdentifier(t, "DocumentManifest", "identifier", element.getIdentifier().get(i), i); 8807 } 8808 if (element.hasStatusElement()) { 8809 composeEnum(t, "DocumentManifest", "status", element.getStatusElement(), -1); 8810 } 8811 if (element.hasType()) { 8812 composeCodeableConcept(t, "DocumentManifest", "type", element.getType(), -1); 8813 } 8814 if (element.hasSubject()) { 8815 composeReference(t, "DocumentManifest", "subject", element.getSubject(), -1); 8816 } 8817 if (element.hasCreatedElement()) { 8818 composeDateTime(t, "DocumentManifest", "created", element.getCreatedElement(), -1); 8819 } 8820 for (int i = 0; i < element.getAuthor().size(); i++) { 8821 composeReference(t, "DocumentManifest", "author", element.getAuthor().get(i), i); 8822 } 8823 for (int i = 0; i < element.getRecipient().size(); i++) { 8824 composeReference(t, "DocumentManifest", "recipient", element.getRecipient().get(i), i); 8825 } 8826 if (element.hasSourceElement()) { 8827 composeUri(t, "DocumentManifest", "source", element.getSourceElement(), -1); 8828 } 8829 if (element.hasDescriptionElement()) { 8830 composeString(t, "DocumentManifest", "description", element.getDescriptionElement(), -1); 8831 } 8832 for (int i = 0; i < element.getContent().size(); i++) { 8833 composeReference(t, "DocumentManifest", "content", element.getContent().get(i), i); 8834 } 8835 for (int i = 0; i < element.getRelated().size(); i++) { 8836 composeDocumentManifestRelatedComponent(t, "DocumentManifest", "related", element.getRelated().get(i), i); 8837 } 8838 } 8839 8840 protected void composeDocumentManifestRelatedComponent(Complex parent, String parentType, String name, DocumentManifest.DocumentManifestRelatedComponent element, int index) { 8841 if (element == null) 8842 return; 8843 Complex t; 8844 if (Utilities.noString(parentType)) 8845 t = parent; 8846 else { 8847 t = parent.predicate("fhir:"+parentType+'.'+name); 8848 } 8849 composeBackboneElement(t, "related", name, element, index); 8850 if (element.hasIdentifier()) { 8851 composeIdentifier(t, "DocumentManifestRelatedComponent", "identifier", element.getIdentifier(), -1); 8852 } 8853 if (element.hasRef()) { 8854 composeReference(t, "DocumentManifestRelatedComponent", "ref", element.getRef(), -1); 8855 } 8856 } 8857 8858 protected void composeDocumentReference(Complex parent, String parentType, String name, DocumentReference element, int index) { 8859 if (element == null) 8860 return; 8861 Complex t; 8862 if (Utilities.noString(parentType)) 8863 t = parent; 8864 else { 8865 t = parent.predicate("fhir:"+parentType+'.'+name); 8866 } 8867 composeDomainResource(t, "DocumentReference", name, element, index); 8868 if (element.hasMasterIdentifier()) { 8869 composeIdentifier(t, "DocumentReference", "masterIdentifier", element.getMasterIdentifier(), -1); 8870 } 8871 for (int i = 0; i < element.getIdentifier().size(); i++) { 8872 composeIdentifier(t, "DocumentReference", "identifier", element.getIdentifier().get(i), i); 8873 } 8874 if (element.hasStatusElement()) { 8875 composeEnum(t, "DocumentReference", "status", element.getStatusElement(), -1); 8876 } 8877 if (element.hasDocStatusElement()) { 8878 composeEnum(t, "DocumentReference", "docStatus", element.getDocStatusElement(), -1); 8879 } 8880 if (element.hasType()) { 8881 composeCodeableConcept(t, "DocumentReference", "type", element.getType(), -1); 8882 } 8883 for (int i = 0; i < element.getCategory().size(); i++) { 8884 composeCodeableConcept(t, "DocumentReference", "category", element.getCategory().get(i), i); 8885 } 8886 if (element.hasSubject()) { 8887 composeReference(t, "DocumentReference", "subject", element.getSubject(), -1); 8888 } 8889 if (element.hasDateElement()) { 8890 composeInstant(t, "DocumentReference", "date", element.getDateElement(), -1); 8891 } 8892 for (int i = 0; i < element.getAuthor().size(); i++) { 8893 composeReference(t, "DocumentReference", "author", element.getAuthor().get(i), i); 8894 } 8895 if (element.hasAuthenticator()) { 8896 composeReference(t, "DocumentReference", "authenticator", element.getAuthenticator(), -1); 8897 } 8898 if (element.hasCustodian()) { 8899 composeReference(t, "DocumentReference", "custodian", element.getCustodian(), -1); 8900 } 8901 for (int i = 0; i < element.getRelatesTo().size(); i++) { 8902 composeDocumentReferenceRelatesToComponent(t, "DocumentReference", "relatesTo", element.getRelatesTo().get(i), i); 8903 } 8904 if (element.hasDescriptionElement()) { 8905 composeString(t, "DocumentReference", "description", element.getDescriptionElement(), -1); 8906 } 8907 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 8908 composeCodeableConcept(t, "DocumentReference", "securityLabel", element.getSecurityLabel().get(i), i); 8909 } 8910 for (int i = 0; i < element.getContent().size(); i++) { 8911 composeDocumentReferenceContentComponent(t, "DocumentReference", "content", element.getContent().get(i), i); 8912 } 8913 if (element.hasContext()) { 8914 composeDocumentReferenceContextComponent(t, "DocumentReference", "context", element.getContext(), -1); 8915 } 8916 } 8917 8918 protected void composeDocumentReferenceRelatesToComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceRelatesToComponent element, int index) { 8919 if (element == null) 8920 return; 8921 Complex t; 8922 if (Utilities.noString(parentType)) 8923 t = parent; 8924 else { 8925 t = parent.predicate("fhir:"+parentType+'.'+name); 8926 } 8927 composeBackboneElement(t, "relatesTo", name, element, index); 8928 if (element.hasCodeElement()) { 8929 composeEnum(t, "DocumentReferenceRelatesToComponent", "code", element.getCodeElement(), -1); 8930 } 8931 if (element.hasTarget()) { 8932 composeReference(t, "DocumentReferenceRelatesToComponent", "target", element.getTarget(), -1); 8933 } 8934 } 8935 8936 protected void composeDocumentReferenceContentComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceContentComponent element, int index) { 8937 if (element == null) 8938 return; 8939 Complex t; 8940 if (Utilities.noString(parentType)) 8941 t = parent; 8942 else { 8943 t = parent.predicate("fhir:"+parentType+'.'+name); 8944 } 8945 composeBackboneElement(t, "content", name, element, index); 8946 if (element.hasAttachment()) { 8947 composeAttachment(t, "DocumentReferenceContentComponent", "attachment", element.getAttachment(), -1); 8948 } 8949 if (element.hasFormat()) { 8950 composeCoding(t, "DocumentReferenceContentComponent", "format", element.getFormat(), -1); 8951 } 8952 } 8953 8954 protected void composeDocumentReferenceContextComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceContextComponent element, int index) { 8955 if (element == null) 8956 return; 8957 Complex t; 8958 if (Utilities.noString(parentType)) 8959 t = parent; 8960 else { 8961 t = parent.predicate("fhir:"+parentType+'.'+name); 8962 } 8963 composeBackboneElement(t, "context", name, element, index); 8964 for (int i = 0; i < element.getEncounter().size(); i++) { 8965 composeReference(t, "DocumentReferenceContextComponent", "encounter", element.getEncounter().get(i), i); 8966 } 8967 for (int i = 0; i < element.getEvent().size(); i++) { 8968 composeCodeableConcept(t, "DocumentReferenceContextComponent", "event", element.getEvent().get(i), i); 8969 } 8970 if (element.hasPeriod()) { 8971 composePeriod(t, "DocumentReferenceContextComponent", "period", element.getPeriod(), -1); 8972 } 8973 if (element.hasFacilityType()) { 8974 composeCodeableConcept(t, "DocumentReferenceContextComponent", "facilityType", element.getFacilityType(), -1); 8975 } 8976 if (element.hasPracticeSetting()) { 8977 composeCodeableConcept(t, "DocumentReferenceContextComponent", "practiceSetting", element.getPracticeSetting(), -1); 8978 } 8979 if (element.hasSourcePatientInfo()) { 8980 composeReference(t, "DocumentReferenceContextComponent", "sourcePatientInfo", element.getSourcePatientInfo(), -1); 8981 } 8982 for (int i = 0; i < element.getRelated().size(); i++) { 8983 composeReference(t, "DocumentReferenceContextComponent", "related", element.getRelated().get(i), i); 8984 } 8985 } 8986 8987 protected void composeEncounter(Complex parent, String parentType, String name, Encounter element, int index) { 8988 if (element == null) 8989 return; 8990 Complex t; 8991 if (Utilities.noString(parentType)) 8992 t = parent; 8993 else { 8994 t = parent.predicate("fhir:"+parentType+'.'+name); 8995 } 8996 composeDomainResource(t, "Encounter", name, element, index); 8997 for (int i = 0; i < element.getIdentifier().size(); i++) { 8998 composeIdentifier(t, "Encounter", "identifier", element.getIdentifier().get(i), i); 8999 } 9000 if (element.hasStatusElement()) { 9001 composeEnum(t, "Encounter", "status", element.getStatusElement(), -1); 9002 } 9003 for (int i = 0; i < element.getStatusHistory().size(); i++) { 9004 composeEncounterStatusHistoryComponent(t, "Encounter", "statusHistory", element.getStatusHistory().get(i), i); 9005 } 9006 if (element.hasClass_()) { 9007 composeCoding(t, "Encounter", "class", element.getClass_(), -1); 9008 } 9009 for (int i = 0; i < element.getClassHistory().size(); i++) { 9010 composeEncounterClassHistoryComponent(t, "Encounter", "classHistory", element.getClassHistory().get(i), i); 9011 } 9012 for (int i = 0; i < element.getType().size(); i++) { 9013 composeCodeableConcept(t, "Encounter", "type", element.getType().get(i), i); 9014 } 9015 if (element.hasServiceType()) { 9016 composeCodeableConcept(t, "Encounter", "serviceType", element.getServiceType(), -1); 9017 } 9018 if (element.hasPriority()) { 9019 composeCodeableConcept(t, "Encounter", "priority", element.getPriority(), -1); 9020 } 9021 if (element.hasSubject()) { 9022 composeReference(t, "Encounter", "subject", element.getSubject(), -1); 9023 } 9024 for (int i = 0; i < element.getEpisodeOfCare().size(); i++) { 9025 composeReference(t, "Encounter", "episodeOfCare", element.getEpisodeOfCare().get(i), i); 9026 } 9027 for (int i = 0; i < element.getBasedOn().size(); i++) { 9028 composeReference(t, "Encounter", "basedOn", element.getBasedOn().get(i), i); 9029 } 9030 for (int i = 0; i < element.getParticipant().size(); i++) { 9031 composeEncounterParticipantComponent(t, "Encounter", "participant", element.getParticipant().get(i), i); 9032 } 9033 for (int i = 0; i < element.getAppointment().size(); i++) { 9034 composeReference(t, "Encounter", "appointment", element.getAppointment().get(i), i); 9035 } 9036 if (element.hasPeriod()) { 9037 composePeriod(t, "Encounter", "period", element.getPeriod(), -1); 9038 } 9039 if (element.hasLength()) { 9040 composeDuration(t, "Encounter", "length", element.getLength(), -1); 9041 } 9042 for (int i = 0; i < element.getReasonCode().size(); i++) { 9043 composeCodeableConcept(t, "Encounter", "reasonCode", element.getReasonCode().get(i), i); 9044 } 9045 for (int i = 0; i < element.getReasonReference().size(); i++) { 9046 composeReference(t, "Encounter", "reasonReference", element.getReasonReference().get(i), i); 9047 } 9048 for (int i = 0; i < element.getDiagnosis().size(); i++) { 9049 composeEncounterDiagnosisComponent(t, "Encounter", "diagnosis", element.getDiagnosis().get(i), i); 9050 } 9051 for (int i = 0; i < element.getAccount().size(); i++) { 9052 composeReference(t, "Encounter", "account", element.getAccount().get(i), i); 9053 } 9054 if (element.hasHospitalization()) { 9055 composeEncounterHospitalizationComponent(t, "Encounter", "hospitalization", element.getHospitalization(), -1); 9056 } 9057 for (int i = 0; i < element.getLocation().size(); i++) { 9058 composeEncounterLocationComponent(t, "Encounter", "location", element.getLocation().get(i), i); 9059 } 9060 if (element.hasServiceProvider()) { 9061 composeReference(t, "Encounter", "serviceProvider", element.getServiceProvider(), -1); 9062 } 9063 if (element.hasPartOf()) { 9064 composeReference(t, "Encounter", "partOf", element.getPartOf(), -1); 9065 } 9066 } 9067 9068 protected void composeEncounterStatusHistoryComponent(Complex parent, String parentType, String name, Encounter.StatusHistoryComponent element, int index) { 9069 if (element == null) 9070 return; 9071 Complex t; 9072 if (Utilities.noString(parentType)) 9073 t = parent; 9074 else { 9075 t = parent.predicate("fhir:"+parentType+'.'+name); 9076 } 9077 composeBackboneElement(t, "statusHistory", name, element, index); 9078 if (element.hasStatusElement()) { 9079 composeEnum(t, "StatusHistoryComponent", "status", element.getStatusElement(), -1); 9080 } 9081 if (element.hasPeriod()) { 9082 composePeriod(t, "StatusHistoryComponent", "period", element.getPeriod(), -1); 9083 } 9084 } 9085 9086 protected void composeEncounterClassHistoryComponent(Complex parent, String parentType, String name, Encounter.ClassHistoryComponent element, int index) { 9087 if (element == null) 9088 return; 9089 Complex t; 9090 if (Utilities.noString(parentType)) 9091 t = parent; 9092 else { 9093 t = parent.predicate("fhir:"+parentType+'.'+name); 9094 } 9095 composeBackboneElement(t, "classHistory", name, element, index); 9096 if (element.hasClass_()) { 9097 composeCoding(t, "ClassHistoryComponent", "class", element.getClass_(), -1); 9098 } 9099 if (element.hasPeriod()) { 9100 composePeriod(t, "ClassHistoryComponent", "period", element.getPeriod(), -1); 9101 } 9102 } 9103 9104 protected void composeEncounterParticipantComponent(Complex parent, String parentType, String name, Encounter.EncounterParticipantComponent element, int index) { 9105 if (element == null) 9106 return; 9107 Complex t; 9108 if (Utilities.noString(parentType)) 9109 t = parent; 9110 else { 9111 t = parent.predicate("fhir:"+parentType+'.'+name); 9112 } 9113 composeBackboneElement(t, "participant", name, element, index); 9114 for (int i = 0; i < element.getType().size(); i++) { 9115 composeCodeableConcept(t, "EncounterParticipantComponent", "type", element.getType().get(i), i); 9116 } 9117 if (element.hasPeriod()) { 9118 composePeriod(t, "EncounterParticipantComponent", "period", element.getPeriod(), -1); 9119 } 9120 if (element.hasIndividual()) { 9121 composeReference(t, "EncounterParticipantComponent", "individual", element.getIndividual(), -1); 9122 } 9123 } 9124 9125 protected void composeEncounterDiagnosisComponent(Complex parent, String parentType, String name, Encounter.DiagnosisComponent element, int index) { 9126 if (element == null) 9127 return; 9128 Complex t; 9129 if (Utilities.noString(parentType)) 9130 t = parent; 9131 else { 9132 t = parent.predicate("fhir:"+parentType+'.'+name); 9133 } 9134 composeBackboneElement(t, "diagnosis", name, element, index); 9135 if (element.hasCondition()) { 9136 composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 9137 } 9138 if (element.hasUse()) { 9139 composeCodeableConcept(t, "DiagnosisComponent", "use", element.getUse(), -1); 9140 } 9141 if (element.hasRankElement()) { 9142 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 9143 } 9144 } 9145 9146 protected void composeEncounterHospitalizationComponent(Complex parent, String parentType, String name, Encounter.EncounterHospitalizationComponent element, int index) { 9147 if (element == null) 9148 return; 9149 Complex t; 9150 if (Utilities.noString(parentType)) 9151 t = parent; 9152 else { 9153 t = parent.predicate("fhir:"+parentType+'.'+name); 9154 } 9155 composeBackboneElement(t, "hospitalization", name, element, index); 9156 if (element.hasPreAdmissionIdentifier()) { 9157 composeIdentifier(t, "EncounterHospitalizationComponent", "preAdmissionIdentifier", element.getPreAdmissionIdentifier(), -1); 9158 } 9159 if (element.hasOrigin()) { 9160 composeReference(t, "EncounterHospitalizationComponent", "origin", element.getOrigin(), -1); 9161 } 9162 if (element.hasAdmitSource()) { 9163 composeCodeableConcept(t, "EncounterHospitalizationComponent", "admitSource", element.getAdmitSource(), -1); 9164 } 9165 if (element.hasReAdmission()) { 9166 composeCodeableConcept(t, "EncounterHospitalizationComponent", "reAdmission", element.getReAdmission(), -1); 9167 } 9168 for (int i = 0; i < element.getDietPreference().size(); i++) { 9169 composeCodeableConcept(t, "EncounterHospitalizationComponent", "dietPreference", element.getDietPreference().get(i), i); 9170 } 9171 for (int i = 0; i < element.getSpecialCourtesy().size(); i++) { 9172 composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialCourtesy", element.getSpecialCourtesy().get(i), i); 9173 } 9174 for (int i = 0; i < element.getSpecialArrangement().size(); i++) { 9175 composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialArrangement", element.getSpecialArrangement().get(i), i); 9176 } 9177 if (element.hasDestination()) { 9178 composeReference(t, "EncounterHospitalizationComponent", "destination", element.getDestination(), -1); 9179 } 9180 if (element.hasDischargeDisposition()) { 9181 composeCodeableConcept(t, "EncounterHospitalizationComponent", "dischargeDisposition", element.getDischargeDisposition(), -1); 9182 } 9183 } 9184 9185 protected void composeEncounterLocationComponent(Complex parent, String parentType, String name, Encounter.EncounterLocationComponent element, int index) { 9186 if (element == null) 9187 return; 9188 Complex t; 9189 if (Utilities.noString(parentType)) 9190 t = parent; 9191 else { 9192 t = parent.predicate("fhir:"+parentType+'.'+name); 9193 } 9194 composeBackboneElement(t, "location", name, element, index); 9195 if (element.hasLocation()) { 9196 composeReference(t, "EncounterLocationComponent", "location", element.getLocation(), -1); 9197 } 9198 if (element.hasStatusElement()) { 9199 composeEnum(t, "EncounterLocationComponent", "status", element.getStatusElement(), -1); 9200 } 9201 if (element.hasPhysicalType()) { 9202 composeCodeableConcept(t, "EncounterLocationComponent", "physicalType", element.getPhysicalType(), -1); 9203 } 9204 if (element.hasPeriod()) { 9205 composePeriod(t, "EncounterLocationComponent", "period", element.getPeriod(), -1); 9206 } 9207 } 9208 9209 protected void composeEndpoint(Complex parent, String parentType, String name, Endpoint element, int index) { 9210 if (element == null) 9211 return; 9212 Complex t; 9213 if (Utilities.noString(parentType)) 9214 t = parent; 9215 else { 9216 t = parent.predicate("fhir:"+parentType+'.'+name); 9217 } 9218 composeDomainResource(t, "Endpoint", name, element, index); 9219 for (int i = 0; i < element.getIdentifier().size(); i++) { 9220 composeIdentifier(t, "Endpoint", "identifier", element.getIdentifier().get(i), i); 9221 } 9222 if (element.hasStatusElement()) { 9223 composeEnum(t, "Endpoint", "status", element.getStatusElement(), -1); 9224 } 9225 if (element.hasConnectionType()) { 9226 composeCoding(t, "Endpoint", "connectionType", element.getConnectionType(), -1); 9227 } 9228 if (element.hasNameElement()) { 9229 composeString(t, "Endpoint", "name", element.getNameElement(), -1); 9230 } 9231 if (element.hasManagingOrganization()) { 9232 composeReference(t, "Endpoint", "managingOrganization", element.getManagingOrganization(), -1); 9233 } 9234 for (int i = 0; i < element.getContact().size(); i++) { 9235 composeContactPoint(t, "Endpoint", "contact", element.getContact().get(i), i); 9236 } 9237 if (element.hasPeriod()) { 9238 composePeriod(t, "Endpoint", "period", element.getPeriod(), -1); 9239 } 9240 for (int i = 0; i < element.getPayloadType().size(); i++) { 9241 composeCodeableConcept(t, "Endpoint", "payloadType", element.getPayloadType().get(i), i); 9242 } 9243 for (int i = 0; i < element.getPayloadMimeType().size(); i++) { 9244 composeCode(t, "Endpoint", "payloadMimeType", element.getPayloadMimeType().get(i), i); 9245 } 9246 if (element.hasAddressElement()) { 9247 composeUrl(t, "Endpoint", "address", element.getAddressElement(), -1); 9248 } 9249 for (int i = 0; i < element.getHeader().size(); i++) { 9250 composeString(t, "Endpoint", "header", element.getHeader().get(i), i); 9251 } 9252 } 9253 9254 protected void composeEnrollmentRequest(Complex parent, String parentType, String name, EnrollmentRequest element, int index) { 9255 if (element == null) 9256 return; 9257 Complex t; 9258 if (Utilities.noString(parentType)) 9259 t = parent; 9260 else { 9261 t = parent.predicate("fhir:"+parentType+'.'+name); 9262 } 9263 composeDomainResource(t, "EnrollmentRequest", name, element, index); 9264 for (int i = 0; i < element.getIdentifier().size(); i++) { 9265 composeIdentifier(t, "EnrollmentRequest", "identifier", element.getIdentifier().get(i), i); 9266 } 9267 if (element.hasStatusElement()) { 9268 composeEnum(t, "EnrollmentRequest", "status", element.getStatusElement(), -1); 9269 } 9270 if (element.hasCreatedElement()) { 9271 composeDateTime(t, "EnrollmentRequest", "created", element.getCreatedElement(), -1); 9272 } 9273 if (element.hasInsurer()) { 9274 composeReference(t, "EnrollmentRequest", "insurer", element.getInsurer(), -1); 9275 } 9276 if (element.hasProvider()) { 9277 composeReference(t, "EnrollmentRequest", "provider", element.getProvider(), -1); 9278 } 9279 if (element.hasCandidate()) { 9280 composeReference(t, "EnrollmentRequest", "candidate", element.getCandidate(), -1); 9281 } 9282 if (element.hasCoverage()) { 9283 composeReference(t, "EnrollmentRequest", "coverage", element.getCoverage(), -1); 9284 } 9285 } 9286 9287 protected void composeEnrollmentResponse(Complex parent, String parentType, String name, EnrollmentResponse element, int index) { 9288 if (element == null) 9289 return; 9290 Complex t; 9291 if (Utilities.noString(parentType)) 9292 t = parent; 9293 else { 9294 t = parent.predicate("fhir:"+parentType+'.'+name); 9295 } 9296 composeDomainResource(t, "EnrollmentResponse", name, element, index); 9297 for (int i = 0; i < element.getIdentifier().size(); i++) { 9298 composeIdentifier(t, "EnrollmentResponse", "identifier", element.getIdentifier().get(i), i); 9299 } 9300 if (element.hasStatusElement()) { 9301 composeEnum(t, "EnrollmentResponse", "status", element.getStatusElement(), -1); 9302 } 9303 if (element.hasRequest()) { 9304 composeReference(t, "EnrollmentResponse", "request", element.getRequest(), -1); 9305 } 9306 if (element.hasOutcomeElement()) { 9307 composeEnum(t, "EnrollmentResponse", "outcome", element.getOutcomeElement(), -1); 9308 } 9309 if (element.hasDispositionElement()) { 9310 composeString(t, "EnrollmentResponse", "disposition", element.getDispositionElement(), -1); 9311 } 9312 if (element.hasCreatedElement()) { 9313 composeDateTime(t, "EnrollmentResponse", "created", element.getCreatedElement(), -1); 9314 } 9315 if (element.hasOrganization()) { 9316 composeReference(t, "EnrollmentResponse", "organization", element.getOrganization(), -1); 9317 } 9318 if (element.hasRequestProvider()) { 9319 composeReference(t, "EnrollmentResponse", "requestProvider", element.getRequestProvider(), -1); 9320 } 9321 } 9322 9323 protected void composeEpisodeOfCare(Complex parent, String parentType, String name, EpisodeOfCare element, int index) { 9324 if (element == null) 9325 return; 9326 Complex t; 9327 if (Utilities.noString(parentType)) 9328 t = parent; 9329 else { 9330 t = parent.predicate("fhir:"+parentType+'.'+name); 9331 } 9332 composeDomainResource(t, "EpisodeOfCare", name, element, index); 9333 for (int i = 0; i < element.getIdentifier().size(); i++) { 9334 composeIdentifier(t, "EpisodeOfCare", "identifier", element.getIdentifier().get(i), i); 9335 } 9336 if (element.hasStatusElement()) { 9337 composeEnum(t, "EpisodeOfCare", "status", element.getStatusElement(), -1); 9338 } 9339 for (int i = 0; i < element.getStatusHistory().size(); i++) { 9340 composeEpisodeOfCareStatusHistoryComponent(t, "EpisodeOfCare", "statusHistory", element.getStatusHistory().get(i), i); 9341 } 9342 for (int i = 0; i < element.getType().size(); i++) { 9343 composeCodeableConcept(t, "EpisodeOfCare", "type", element.getType().get(i), i); 9344 } 9345 for (int i = 0; i < element.getDiagnosis().size(); i++) { 9346 composeEpisodeOfCareDiagnosisComponent(t, "EpisodeOfCare", "diagnosis", element.getDiagnosis().get(i), i); 9347 } 9348 if (element.hasPatient()) { 9349 composeReference(t, "EpisodeOfCare", "patient", element.getPatient(), -1); 9350 } 9351 if (element.hasManagingOrganization()) { 9352 composeReference(t, "EpisodeOfCare", "managingOrganization", element.getManagingOrganization(), -1); 9353 } 9354 if (element.hasPeriod()) { 9355 composePeriod(t, "EpisodeOfCare", "period", element.getPeriod(), -1); 9356 } 9357 for (int i = 0; i < element.getReferralRequest().size(); i++) { 9358 composeReference(t, "EpisodeOfCare", "referralRequest", element.getReferralRequest().get(i), i); 9359 } 9360 if (element.hasCareManager()) { 9361 composeReference(t, "EpisodeOfCare", "careManager", element.getCareManager(), -1); 9362 } 9363 for (int i = 0; i < element.getTeam().size(); i++) { 9364 composeReference(t, "EpisodeOfCare", "team", element.getTeam().get(i), i); 9365 } 9366 for (int i = 0; i < element.getAccount().size(); i++) { 9367 composeReference(t, "EpisodeOfCare", "account", element.getAccount().get(i), i); 9368 } 9369 } 9370 9371 protected void composeEpisodeOfCareStatusHistoryComponent(Complex parent, String parentType, String name, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element, int index) { 9372 if (element == null) 9373 return; 9374 Complex t; 9375 if (Utilities.noString(parentType)) 9376 t = parent; 9377 else { 9378 t = parent.predicate("fhir:"+parentType+'.'+name); 9379 } 9380 composeBackboneElement(t, "statusHistory", name, element, index); 9381 if (element.hasStatusElement()) { 9382 composeEnum(t, "EpisodeOfCareStatusHistoryComponent", "status", element.getStatusElement(), -1); 9383 } 9384 if (element.hasPeriod()) { 9385 composePeriod(t, "EpisodeOfCareStatusHistoryComponent", "period", element.getPeriod(), -1); 9386 } 9387 } 9388 9389 protected void composeEpisodeOfCareDiagnosisComponent(Complex parent, String parentType, String name, EpisodeOfCare.DiagnosisComponent element, int index) { 9390 if (element == null) 9391 return; 9392 Complex t; 9393 if (Utilities.noString(parentType)) 9394 t = parent; 9395 else { 9396 t = parent.predicate("fhir:"+parentType+'.'+name); 9397 } 9398 composeBackboneElement(t, "diagnosis", name, element, index); 9399 if (element.hasCondition()) { 9400 composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 9401 } 9402 if (element.hasRole()) { 9403 composeCodeableConcept(t, "DiagnosisComponent", "role", element.getRole(), -1); 9404 } 9405 if (element.hasRankElement()) { 9406 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 9407 } 9408 } 9409 9410 protected void composeEventDefinition(Complex parent, String parentType, String name, EventDefinition element, int index) { 9411 if (element == null) 9412 return; 9413 Complex t; 9414 if (Utilities.noString(parentType)) 9415 t = parent; 9416 else { 9417 t = parent.predicate("fhir:"+parentType+'.'+name); 9418 } 9419 composeDomainResource(t, "EventDefinition", name, element, index); 9420 if (element.hasUrlElement()) { 9421 composeUri(t, "EventDefinition", "url", element.getUrlElement(), -1); 9422 } 9423 for (int i = 0; i < element.getIdentifier().size(); i++) { 9424 composeIdentifier(t, "EventDefinition", "identifier", element.getIdentifier().get(i), i); 9425 } 9426 if (element.hasVersionElement()) { 9427 composeString(t, "EventDefinition", "version", element.getVersionElement(), -1); 9428 } 9429 if (element.hasNameElement()) { 9430 composeString(t, "EventDefinition", "name", element.getNameElement(), -1); 9431 } 9432 if (element.hasTitleElement()) { 9433 composeString(t, "EventDefinition", "title", element.getTitleElement(), -1); 9434 } 9435 if (element.hasSubtitleElement()) { 9436 composeString(t, "EventDefinition", "subtitle", element.getSubtitleElement(), -1); 9437 } 9438 if (element.hasStatusElement()) { 9439 composeEnum(t, "EventDefinition", "status", element.getStatusElement(), -1); 9440 } 9441 if (element.hasExperimentalElement()) { 9442 composeBoolean(t, "EventDefinition", "experimental", element.getExperimentalElement(), -1); 9443 } 9444 if (element.hasSubject()) { 9445 composeType(t, "EventDefinition", "subject", element.getSubject(), -1); 9446 } 9447 if (element.hasDateElement()) { 9448 composeDateTime(t, "EventDefinition", "date", element.getDateElement(), -1); 9449 } 9450 if (element.hasPublisherElement()) { 9451 composeString(t, "EventDefinition", "publisher", element.getPublisherElement(), -1); 9452 } 9453 for (int i = 0; i < element.getContact().size(); i++) { 9454 composeContactDetail(t, "EventDefinition", "contact", element.getContact().get(i), i); 9455 } 9456 if (element.hasDescriptionElement()) { 9457 composeMarkdown(t, "EventDefinition", "description", element.getDescriptionElement(), -1); 9458 } 9459 for (int i = 0; i < element.getUseContext().size(); i++) { 9460 composeUsageContext(t, "EventDefinition", "useContext", element.getUseContext().get(i), i); 9461 } 9462 for (int i = 0; i < element.getJurisdiction().size(); i++) { 9463 composeCodeableConcept(t, "EventDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 9464 } 9465 if (element.hasPurposeElement()) { 9466 composeMarkdown(t, "EventDefinition", "purpose", element.getPurposeElement(), -1); 9467 } 9468 if (element.hasUsageElement()) { 9469 composeString(t, "EventDefinition", "usage", element.getUsageElement(), -1); 9470 } 9471 if (element.hasCopyrightElement()) { 9472 composeMarkdown(t, "EventDefinition", "copyright", element.getCopyrightElement(), -1); 9473 } 9474 if (element.hasApprovalDateElement()) { 9475 composeDate(t, "EventDefinition", "approvalDate", element.getApprovalDateElement(), -1); 9476 } 9477 if (element.hasLastReviewDateElement()) { 9478 composeDate(t, "EventDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 9479 } 9480 if (element.hasEffectivePeriod()) { 9481 composePeriod(t, "EventDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 9482 } 9483 for (int i = 0; i < element.getTopic().size(); i++) { 9484 composeCodeableConcept(t, "EventDefinition", "topic", element.getTopic().get(i), i); 9485 } 9486 for (int i = 0; i < element.getAuthor().size(); i++) { 9487 composeContactDetail(t, "EventDefinition", "author", element.getAuthor().get(i), i); 9488 } 9489 for (int i = 0; i < element.getEditor().size(); i++) { 9490 composeContactDetail(t, "EventDefinition", "editor", element.getEditor().get(i), i); 9491 } 9492 for (int i = 0; i < element.getReviewer().size(); i++) { 9493 composeContactDetail(t, "EventDefinition", "reviewer", element.getReviewer().get(i), i); 9494 } 9495 for (int i = 0; i < element.getEndorser().size(); i++) { 9496 composeContactDetail(t, "EventDefinition", "endorser", element.getEndorser().get(i), i); 9497 } 9498 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 9499 composeRelatedArtifact(t, "EventDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 9500 } 9501 for (int i = 0; i < element.getTrigger().size(); i++) { 9502 composeTriggerDefinition(t, "EventDefinition", "trigger", element.getTrigger().get(i), i); 9503 } 9504 } 9505 9506 protected void composeEvidence(Complex parent, String parentType, String name, Evidence element, int index) { 9507 if (element == null) 9508 return; 9509 Complex t; 9510 if (Utilities.noString(parentType)) 9511 t = parent; 9512 else { 9513 t = parent.predicate("fhir:"+parentType+'.'+name); 9514 } 9515 composeDomainResource(t, "Evidence", name, element, index); 9516 if (element.hasUrlElement()) { 9517 composeUri(t, "Evidence", "url", element.getUrlElement(), -1); 9518 } 9519 for (int i = 0; i < element.getIdentifier().size(); i++) { 9520 composeIdentifier(t, "Evidence", "identifier", element.getIdentifier().get(i), i); 9521 } 9522 if (element.hasVersionElement()) { 9523 composeString(t, "Evidence", "version", element.getVersionElement(), -1); 9524 } 9525 if (element.hasTitleElement()) { 9526 composeString(t, "Evidence", "title", element.getTitleElement(), -1); 9527 } 9528 if (element.hasCiteAs()) { 9529 composeType(t, "Evidence", "citeAs", element.getCiteAs(), -1); 9530 } 9531 if (element.hasStatusElement()) { 9532 composeEnum(t, "Evidence", "status", element.getStatusElement(), -1); 9533 } 9534 if (element.hasDateElement()) { 9535 composeDateTime(t, "Evidence", "date", element.getDateElement(), -1); 9536 } 9537 for (int i = 0; i < element.getUseContext().size(); i++) { 9538 composeUsageContext(t, "Evidence", "useContext", element.getUseContext().get(i), i); 9539 } 9540 if (element.hasApprovalDateElement()) { 9541 composeDate(t, "Evidence", "approvalDate", element.getApprovalDateElement(), -1); 9542 } 9543 if (element.hasLastReviewDateElement()) { 9544 composeDate(t, "Evidence", "lastReviewDate", element.getLastReviewDateElement(), -1); 9545 } 9546 if (element.hasPublisherElement()) { 9547 composeString(t, "Evidence", "publisher", element.getPublisherElement(), -1); 9548 } 9549 for (int i = 0; i < element.getContact().size(); i++) { 9550 composeContactDetail(t, "Evidence", "contact", element.getContact().get(i), i); 9551 } 9552 for (int i = 0; i < element.getAuthor().size(); i++) { 9553 composeContactDetail(t, "Evidence", "author", element.getAuthor().get(i), i); 9554 } 9555 for (int i = 0; i < element.getEditor().size(); i++) { 9556 composeContactDetail(t, "Evidence", "editor", element.getEditor().get(i), i); 9557 } 9558 for (int i = 0; i < element.getReviewer().size(); i++) { 9559 composeContactDetail(t, "Evidence", "reviewer", element.getReviewer().get(i), i); 9560 } 9561 for (int i = 0; i < element.getEndorser().size(); i++) { 9562 composeContactDetail(t, "Evidence", "endorser", element.getEndorser().get(i), i); 9563 } 9564 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 9565 composeRelatedArtifact(t, "Evidence", "relatedArtifact", element.getRelatedArtifact().get(i), i); 9566 } 9567 if (element.hasDescriptionElement()) { 9568 composeMarkdown(t, "Evidence", "description", element.getDescriptionElement(), -1); 9569 } 9570 if (element.hasAssertionElement()) { 9571 composeMarkdown(t, "Evidence", "assertion", element.getAssertionElement(), -1); 9572 } 9573 for (int i = 0; i < element.getNote().size(); i++) { 9574 composeAnnotation(t, "Evidence", "note", element.getNote().get(i), i); 9575 } 9576 for (int i = 0; i < element.getVariableDefinition().size(); i++) { 9577 composeEvidenceVariableDefinitionComponent(t, "Evidence", "variableDefinition", element.getVariableDefinition().get(i), i); 9578 } 9579 if (element.hasSynthesisType()) { 9580 composeCodeableConcept(t, "Evidence", "synthesisType", element.getSynthesisType(), -1); 9581 } 9582 if (element.hasStudyType()) { 9583 composeCodeableConcept(t, "Evidence", "studyType", element.getStudyType(), -1); 9584 } 9585 for (int i = 0; i < element.getStatistic().size(); i++) { 9586 composeEvidenceStatisticComponent(t, "Evidence", "statistic", element.getStatistic().get(i), i); 9587 } 9588 for (int i = 0; i < element.getCertainty().size(); i++) { 9589 composeEvidenceCertaintyComponent(t, "Evidence", "certainty", element.getCertainty().get(i), i); 9590 } 9591 } 9592 9593 protected void composeEvidenceVariableDefinitionComponent(Complex parent, String parentType, String name, Evidence.EvidenceVariableDefinitionComponent element, int index) { 9594 if (element == null) 9595 return; 9596 Complex t; 9597 if (Utilities.noString(parentType)) 9598 t = parent; 9599 else { 9600 t = parent.predicate("fhir:"+parentType+'.'+name); 9601 } 9602 composeBackboneElement(t, "variableDefinition", name, element, index); 9603 if (element.hasDescriptionElement()) { 9604 composeMarkdown(t, "EvidenceVariableDefinitionComponent", "description", element.getDescriptionElement(), -1); 9605 } 9606 for (int i = 0; i < element.getNote().size(); i++) { 9607 composeAnnotation(t, "EvidenceVariableDefinitionComponent", "note", element.getNote().get(i), i); 9608 } 9609 if (element.hasVariableRole()) { 9610 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "variableRole", element.getVariableRole(), -1); 9611 } 9612 if (element.hasObserved()) { 9613 composeReference(t, "EvidenceVariableDefinitionComponent", "observed", element.getObserved(), -1); 9614 } 9615 if (element.hasIntended()) { 9616 composeReference(t, "EvidenceVariableDefinitionComponent", "intended", element.getIntended(), -1); 9617 } 9618 if (element.hasDirectnessMatch()) { 9619 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "directnessMatch", element.getDirectnessMatch(), -1); 9620 } 9621 } 9622 9623 protected void composeEvidenceStatisticComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticComponent element, int index) { 9624 if (element == null) 9625 return; 9626 Complex t; 9627 if (Utilities.noString(parentType)) 9628 t = parent; 9629 else { 9630 t = parent.predicate("fhir:"+parentType+'.'+name); 9631 } 9632 composeBackboneElement(t, "statistic", name, element, index); 9633 if (element.hasDescriptionElement()) { 9634 composeString(t, "EvidenceStatisticComponent", "description", element.getDescriptionElement(), -1); 9635 } 9636 for (int i = 0; i < element.getNote().size(); i++) { 9637 composeAnnotation(t, "EvidenceStatisticComponent", "note", element.getNote().get(i), i); 9638 } 9639 if (element.hasStatisticType()) { 9640 composeCodeableConcept(t, "EvidenceStatisticComponent", "statisticType", element.getStatisticType(), -1); 9641 } 9642 if (element.hasCategory()) { 9643 composeCodeableConcept(t, "EvidenceStatisticComponent", "category", element.getCategory(), -1); 9644 } 9645 if (element.hasQuantity()) { 9646 composeQuantity(t, "EvidenceStatisticComponent", "quantity", element.getQuantity(), -1); 9647 } 9648 if (element.hasNumberOfEventsElement()) { 9649 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberOfEvents", element.getNumberOfEventsElement(), -1); 9650 } 9651 if (element.hasNumberAffectedElement()) { 9652 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberAffected", element.getNumberAffectedElement(), -1); 9653 } 9654 if (element.hasSampleSize()) { 9655 composeEvidenceStatisticSampleSizeComponent(t, "EvidenceStatisticComponent", "sampleSize", element.getSampleSize(), -1); 9656 } 9657 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 9658 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 9659 } 9660 for (int i = 0; i < element.getModelCharacteristic().size(); i++) { 9661 composeEvidenceStatisticModelCharacteristicComponent(t, "EvidenceStatisticComponent", "modelCharacteristic", element.getModelCharacteristic().get(i), i); 9662 } 9663 } 9664 9665 protected void composeEvidenceStatisticSampleSizeComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticSampleSizeComponent element, int index) { 9666 if (element == null) 9667 return; 9668 Complex t; 9669 if (Utilities.noString(parentType)) 9670 t = parent; 9671 else { 9672 t = parent.predicate("fhir:"+parentType+'.'+name); 9673 } 9674 composeBackboneElement(t, "sampleSize", name, element, index); 9675 if (element.hasDescriptionElement()) { 9676 composeString(t, "EvidenceStatisticSampleSizeComponent", "description", element.getDescriptionElement(), -1); 9677 } 9678 for (int i = 0; i < element.getNote().size(); i++) { 9679 composeAnnotation(t, "EvidenceStatisticSampleSizeComponent", "note", element.getNote().get(i), i); 9680 } 9681 if (element.hasNumberOfStudiesElement()) { 9682 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfStudies", element.getNumberOfStudiesElement(), -1); 9683 } 9684 if (element.hasNumberOfParticipantsElement()) { 9685 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfParticipants", element.getNumberOfParticipantsElement(), -1); 9686 } 9687 if (element.hasKnownDataCountElement()) { 9688 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "knownDataCount", element.getKnownDataCountElement(), -1); 9689 } 9690 } 9691 9692 protected void composeEvidenceStatisticAttributeEstimateComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticAttributeEstimateComponent element, int index) { 9693 if (element == null) 9694 return; 9695 Complex t; 9696 if (Utilities.noString(parentType)) 9697 t = parent; 9698 else { 9699 t = parent.predicate("fhir:"+parentType+'.'+name); 9700 } 9701 composeBackboneElement(t, "attributeEstimate", name, element, index); 9702 if (element.hasDescriptionElement()) { 9703 composeString(t, "EvidenceStatisticAttributeEstimateComponent", "description", element.getDescriptionElement(), -1); 9704 } 9705 for (int i = 0; i < element.getNote().size(); i++) { 9706 composeAnnotation(t, "EvidenceStatisticAttributeEstimateComponent", "note", element.getNote().get(i), i); 9707 } 9708 if (element.hasType()) { 9709 composeCodeableConcept(t, "EvidenceStatisticAttributeEstimateComponent", "type", element.getType(), -1); 9710 } 9711 if (element.hasQuantity()) { 9712 composeQuantity(t, "EvidenceStatisticAttributeEstimateComponent", "quantity", element.getQuantity(), -1); 9713 } 9714 if (element.hasLevelElement()) { 9715 composeDecimal(t, "EvidenceStatisticAttributeEstimateComponent", "level", element.getLevelElement(), -1); 9716 } 9717 if (element.hasRange()) { 9718 composeRange(t, "EvidenceStatisticAttributeEstimateComponent", "range", element.getRange(), -1); 9719 } 9720 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 9721 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticAttributeEstimateComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 9722 } 9723 } 9724 9725 protected void composeEvidenceStatisticModelCharacteristicComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicComponent element, int index) { 9726 if (element == null) 9727 return; 9728 Complex t; 9729 if (Utilities.noString(parentType)) 9730 t = parent; 9731 else { 9732 t = parent.predicate("fhir:"+parentType+'.'+name); 9733 } 9734 composeBackboneElement(t, "modelCharacteristic", name, element, index); 9735 if (element.hasCode()) { 9736 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicComponent", "code", element.getCode(), -1); 9737 } 9738 if (element.hasValue()) { 9739 composeQuantity(t, "EvidenceStatisticModelCharacteristicComponent", "value", element.getValue(), -1); 9740 } 9741 for (int i = 0; i < element.getVariable().size(); i++) { 9742 composeEvidenceStatisticModelCharacteristicVariableComponent(t, "EvidenceStatisticModelCharacteristicComponent", "variable", element.getVariable().get(i), i); 9743 } 9744 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 9745 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticModelCharacteristicComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 9746 } 9747 } 9748 9749 protected void composeEvidenceStatisticModelCharacteristicVariableComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicVariableComponent element, int index) { 9750 if (element == null) 9751 return; 9752 Complex t; 9753 if (Utilities.noString(parentType)) 9754 t = parent; 9755 else { 9756 t = parent.predicate("fhir:"+parentType+'.'+name); 9757 } 9758 composeBackboneElement(t, "variable", name, element, index); 9759 if (element.hasVariableDefinition()) { 9760 composeReference(t, "EvidenceStatisticModelCharacteristicVariableComponent", "variableDefinition", element.getVariableDefinition(), -1); 9761 } 9762 if (element.hasHandlingElement()) { 9763 composeEnum(t, "EvidenceStatisticModelCharacteristicVariableComponent", "handling", element.getHandlingElement(), -1); 9764 } 9765 for (int i = 0; i < element.getValueCategory().size(); i++) { 9766 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueCategory", element.getValueCategory().get(i), i); 9767 } 9768 for (int i = 0; i < element.getValueQuantity().size(); i++) { 9769 composeQuantity(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueQuantity", element.getValueQuantity().get(i), i); 9770 } 9771 for (int i = 0; i < element.getValueRange().size(); i++) { 9772 composeRange(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueRange", element.getValueRange().get(i), i); 9773 } 9774 } 9775 9776 protected void composeEvidenceCertaintyComponent(Complex parent, String parentType, String name, Evidence.EvidenceCertaintyComponent element, int index) { 9777 if (element == null) 9778 return; 9779 Complex t; 9780 if (Utilities.noString(parentType)) 9781 t = parent; 9782 else { 9783 t = parent.predicate("fhir:"+parentType+'.'+name); 9784 } 9785 composeBackboneElement(t, "certainty", name, element, index); 9786 if (element.hasDescriptionElement()) { 9787 composeString(t, "EvidenceCertaintyComponent", "description", element.getDescriptionElement(), -1); 9788 } 9789 for (int i = 0; i < element.getNote().size(); i++) { 9790 composeAnnotation(t, "EvidenceCertaintyComponent", "note", element.getNote().get(i), i); 9791 } 9792 if (element.hasType()) { 9793 composeCodeableConcept(t, "EvidenceCertaintyComponent", "type", element.getType(), -1); 9794 } 9795 if (element.hasRating()) { 9796 composeCodeableConcept(t, "EvidenceCertaintyComponent", "rating", element.getRating(), -1); 9797 } 9798 if (element.hasRaterElement()) { 9799 composeString(t, "EvidenceCertaintyComponent", "rater", element.getRaterElement(), -1); 9800 } 9801 for (int i = 0; i < element.getSubcomponent().size(); i++) { 9802 composeEvidenceCertaintyComponent(t, "EvidenceCertaintyComponent", "subcomponent", element.getSubcomponent().get(i), i); 9803 } 9804 } 9805 9806 protected void composeEvidenceReport(Complex parent, String parentType, String name, EvidenceReport element, int index) { 9807 if (element == null) 9808 return; 9809 Complex t; 9810 if (Utilities.noString(parentType)) 9811 t = parent; 9812 else { 9813 t = parent.predicate("fhir:"+parentType+'.'+name); 9814 } 9815 composeDomainResource(t, "EvidenceReport", name, element, index); 9816 if (element.hasUrlElement()) { 9817 composeUri(t, "EvidenceReport", "url", element.getUrlElement(), -1); 9818 } 9819 if (element.hasStatusElement()) { 9820 composeEnum(t, "EvidenceReport", "status", element.getStatusElement(), -1); 9821 } 9822 for (int i = 0; i < element.getUseContext().size(); i++) { 9823 composeUsageContext(t, "EvidenceReport", "useContext", element.getUseContext().get(i), i); 9824 } 9825 for (int i = 0; i < element.getIdentifier().size(); i++) { 9826 composeIdentifier(t, "EvidenceReport", "identifier", element.getIdentifier().get(i), i); 9827 } 9828 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 9829 composeIdentifier(t, "EvidenceReport", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 9830 } 9831 if (element.hasCiteAs()) { 9832 composeType(t, "EvidenceReport", "citeAs", element.getCiteAs(), -1); 9833 } 9834 if (element.hasType()) { 9835 composeCodeableConcept(t, "EvidenceReport", "type", element.getType(), -1); 9836 } 9837 for (int i = 0; i < element.getNote().size(); i++) { 9838 composeAnnotation(t, "EvidenceReport", "note", element.getNote().get(i), i); 9839 } 9840 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 9841 composeRelatedArtifact(t, "EvidenceReport", "relatedArtifact", element.getRelatedArtifact().get(i), i); 9842 } 9843 if (element.hasSubject()) { 9844 composeEvidenceReportSubjectComponent(t, "EvidenceReport", "subject", element.getSubject(), -1); 9845 } 9846 if (element.hasPublisherElement()) { 9847 composeString(t, "EvidenceReport", "publisher", element.getPublisherElement(), -1); 9848 } 9849 for (int i = 0; i < element.getContact().size(); i++) { 9850 composeContactDetail(t, "EvidenceReport", "contact", element.getContact().get(i), i); 9851 } 9852 for (int i = 0; i < element.getAuthor().size(); i++) { 9853 composeContactDetail(t, "EvidenceReport", "author", element.getAuthor().get(i), i); 9854 } 9855 for (int i = 0; i < element.getEditor().size(); i++) { 9856 composeContactDetail(t, "EvidenceReport", "editor", element.getEditor().get(i), i); 9857 } 9858 for (int i = 0; i < element.getReviewer().size(); i++) { 9859 composeContactDetail(t, "EvidenceReport", "reviewer", element.getReviewer().get(i), i); 9860 } 9861 for (int i = 0; i < element.getEndorser().size(); i++) { 9862 composeContactDetail(t, "EvidenceReport", "endorser", element.getEndorser().get(i), i); 9863 } 9864 for (int i = 0; i < element.getRelatesTo().size(); i++) { 9865 composeEvidenceReportRelatesToComponent(t, "EvidenceReport", "relatesTo", element.getRelatesTo().get(i), i); 9866 } 9867 for (int i = 0; i < element.getSection().size(); i++) { 9868 composeEvidenceReportSectionComponent(t, "EvidenceReport", "section", element.getSection().get(i), i); 9869 } 9870 } 9871 9872 protected void composeEvidenceReportSubjectComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectComponent element, int index) { 9873 if (element == null) 9874 return; 9875 Complex t; 9876 if (Utilities.noString(parentType)) 9877 t = parent; 9878 else { 9879 t = parent.predicate("fhir:"+parentType+'.'+name); 9880 } 9881 composeBackboneElement(t, "subject", name, element, index); 9882 for (int i = 0; i < element.getCharacteristic().size(); i++) { 9883 composeEvidenceReportSubjectCharacteristicComponent(t, "EvidenceReportSubjectComponent", "characteristic", element.getCharacteristic().get(i), i); 9884 } 9885 for (int i = 0; i < element.getNote().size(); i++) { 9886 composeAnnotation(t, "EvidenceReportSubjectComponent", "note", element.getNote().get(i), i); 9887 } 9888 } 9889 9890 protected void composeEvidenceReportSubjectCharacteristicComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectCharacteristicComponent element, int index) { 9891 if (element == null) 9892 return; 9893 Complex t; 9894 if (Utilities.noString(parentType)) 9895 t = parent; 9896 else { 9897 t = parent.predicate("fhir:"+parentType+'.'+name); 9898 } 9899 composeBackboneElement(t, "characteristic", name, element, index); 9900 if (element.hasCode()) { 9901 composeCodeableConcept(t, "EvidenceReportSubjectCharacteristicComponent", "code", element.getCode(), -1); 9902 } 9903 if (element.hasValue()) { 9904 composeType(t, "EvidenceReportSubjectCharacteristicComponent", "value", element.getValue(), -1); 9905 } 9906 if (element.hasExcludeElement()) { 9907 composeBoolean(t, "EvidenceReportSubjectCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 9908 } 9909 if (element.hasPeriod()) { 9910 composePeriod(t, "EvidenceReportSubjectCharacteristicComponent", "period", element.getPeriod(), -1); 9911 } 9912 } 9913 9914 protected void composeEvidenceReportRelatesToComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportRelatesToComponent element, int index) { 9915 if (element == null) 9916 return; 9917 Complex t; 9918 if (Utilities.noString(parentType)) 9919 t = parent; 9920 else { 9921 t = parent.predicate("fhir:"+parentType+'.'+name); 9922 } 9923 composeBackboneElement(t, "relatesTo", name, element, index); 9924 if (element.hasCodeElement()) { 9925 composeEnum(t, "EvidenceReportRelatesToComponent", "code", element.getCodeElement(), -1); 9926 } 9927 if (element.hasTarget()) { 9928 composeType(t, "EvidenceReportRelatesToComponent", "target", element.getTarget(), -1); 9929 } 9930 } 9931 9932 protected void composeEvidenceReportSectionComponent(Complex parent, String parentType, String name, EvidenceReport.SectionComponent element, int index) { 9933 if (element == null) 9934 return; 9935 Complex t; 9936 if (Utilities.noString(parentType)) 9937 t = parent; 9938 else { 9939 t = parent.predicate("fhir:"+parentType+'.'+name); 9940 } 9941 composeBackboneElement(t, "section", name, element, index); 9942 if (element.hasTitleElement()) { 9943 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 9944 } 9945 if (element.hasFocus()) { 9946 composeCodeableConcept(t, "SectionComponent", "focus", element.getFocus(), -1); 9947 } 9948 if (element.hasFocusReference()) { 9949 composeReference(t, "SectionComponent", "focusReference", element.getFocusReference(), -1); 9950 } 9951 for (int i = 0; i < element.getAuthor().size(); i++) { 9952 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 9953 } 9954 if (element.hasText()) { 9955 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 9956 } 9957 if (element.hasModeElement()) { 9958 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 9959 } 9960 if (element.hasOrderedBy()) { 9961 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 9962 } 9963 for (int i = 0; i < element.getEntryClassifier().size(); i++) { 9964 composeCodeableConcept(t, "SectionComponent", "entryClassifier", element.getEntryClassifier().get(i), i); 9965 } 9966 for (int i = 0; i < element.getEntryReference().size(); i++) { 9967 composeReference(t, "SectionComponent", "entryReference", element.getEntryReference().get(i), i); 9968 } 9969 for (int i = 0; i < element.getEntryQuantity().size(); i++) { 9970 composeQuantity(t, "SectionComponent", "entryQuantity", element.getEntryQuantity().get(i), i); 9971 } 9972 if (element.hasEmptyReason()) { 9973 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 9974 } 9975 for (int i = 0; i < element.getSection().size(); i++) { 9976 composeEvidenceReportSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 9977 } 9978 } 9979 9980 protected void composeEvidenceVariable(Complex parent, String parentType, String name, EvidenceVariable element, int index) { 9981 if (element == null) 9982 return; 9983 Complex t; 9984 if (Utilities.noString(parentType)) 9985 t = parent; 9986 else { 9987 t = parent.predicate("fhir:"+parentType+'.'+name); 9988 } 9989 composeDomainResource(t, "EvidenceVariable", name, element, index); 9990 if (element.hasUrlElement()) { 9991 composeUri(t, "EvidenceVariable", "url", element.getUrlElement(), -1); 9992 } 9993 for (int i = 0; i < element.getIdentifier().size(); i++) { 9994 composeIdentifier(t, "EvidenceVariable", "identifier", element.getIdentifier().get(i), i); 9995 } 9996 if (element.hasVersionElement()) { 9997 composeString(t, "EvidenceVariable", "version", element.getVersionElement(), -1); 9998 } 9999 if (element.hasNameElement()) { 10000 composeString(t, "EvidenceVariable", "name", element.getNameElement(), -1); 10001 } 10002 if (element.hasTitleElement()) { 10003 composeString(t, "EvidenceVariable", "title", element.getTitleElement(), -1); 10004 } 10005 if (element.hasShortTitleElement()) { 10006 composeString(t, "EvidenceVariable", "shortTitle", element.getShortTitleElement(), -1); 10007 } 10008 if (element.hasSubtitleElement()) { 10009 composeString(t, "EvidenceVariable", "subtitle", element.getSubtitleElement(), -1); 10010 } 10011 if (element.hasStatusElement()) { 10012 composeEnum(t, "EvidenceVariable", "status", element.getStatusElement(), -1); 10013 } 10014 if (element.hasDateElement()) { 10015 composeDateTime(t, "EvidenceVariable", "date", element.getDateElement(), -1); 10016 } 10017 if (element.hasDescriptionElement()) { 10018 composeMarkdown(t, "EvidenceVariable", "description", element.getDescriptionElement(), -1); 10019 } 10020 for (int i = 0; i < element.getNote().size(); i++) { 10021 composeAnnotation(t, "EvidenceVariable", "note", element.getNote().get(i), i); 10022 } 10023 for (int i = 0; i < element.getUseContext().size(); i++) { 10024 composeUsageContext(t, "EvidenceVariable", "useContext", element.getUseContext().get(i), i); 10025 } 10026 if (element.hasPublisherElement()) { 10027 composeString(t, "EvidenceVariable", "publisher", element.getPublisherElement(), -1); 10028 } 10029 for (int i = 0; i < element.getContact().size(); i++) { 10030 composeContactDetail(t, "EvidenceVariable", "contact", element.getContact().get(i), i); 10031 } 10032 for (int i = 0; i < element.getAuthor().size(); i++) { 10033 composeContactDetail(t, "EvidenceVariable", "author", element.getAuthor().get(i), i); 10034 } 10035 for (int i = 0; i < element.getEditor().size(); i++) { 10036 composeContactDetail(t, "EvidenceVariable", "editor", element.getEditor().get(i), i); 10037 } 10038 for (int i = 0; i < element.getReviewer().size(); i++) { 10039 composeContactDetail(t, "EvidenceVariable", "reviewer", element.getReviewer().get(i), i); 10040 } 10041 for (int i = 0; i < element.getEndorser().size(); i++) { 10042 composeContactDetail(t, "EvidenceVariable", "endorser", element.getEndorser().get(i), i); 10043 } 10044 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 10045 composeRelatedArtifact(t, "EvidenceVariable", "relatedArtifact", element.getRelatedArtifact().get(i), i); 10046 } 10047 if (element.hasActualElement()) { 10048 composeBoolean(t, "EvidenceVariable", "actual", element.getActualElement(), -1); 10049 } 10050 if (element.hasCharacteristicCombinationElement()) { 10051 composeEnum(t, "EvidenceVariable", "characteristicCombination", element.getCharacteristicCombinationElement(), -1); 10052 } 10053 for (int i = 0; i < element.getCharacteristic().size(); i++) { 10054 composeEvidenceVariableCharacteristicComponent(t, "EvidenceVariable", "characteristic", element.getCharacteristic().get(i), i); 10055 } 10056 if (element.hasHandlingElement()) { 10057 composeEnum(t, "EvidenceVariable", "handling", element.getHandlingElement(), -1); 10058 } 10059 for (int i = 0; i < element.getCategory().size(); i++) { 10060 composeEvidenceVariableCategoryComponent(t, "EvidenceVariable", "category", element.getCategory().get(i), i); 10061 } 10062 } 10063 10064 protected void composeEvidenceVariableCharacteristicComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicComponent element, int index) { 10065 if (element == null) 10066 return; 10067 Complex t; 10068 if (Utilities.noString(parentType)) 10069 t = parent; 10070 else { 10071 t = parent.predicate("fhir:"+parentType+'.'+name); 10072 } 10073 composeBackboneElement(t, "characteristic", name, element, index); 10074 if (element.hasDescriptionElement()) { 10075 composeString(t, "EvidenceVariableCharacteristicComponent", "description", element.getDescriptionElement(), -1); 10076 } 10077 if (element.hasDefinition()) { 10078 composeType(t, "EvidenceVariableCharacteristicComponent", "definition", element.getDefinition(), -1); 10079 } 10080 if (element.hasMethod()) { 10081 composeCodeableConcept(t, "EvidenceVariableCharacteristicComponent", "method", element.getMethod(), -1); 10082 } 10083 if (element.hasDevice()) { 10084 composeReference(t, "EvidenceVariableCharacteristicComponent", "device", element.getDevice(), -1); 10085 } 10086 if (element.hasExcludeElement()) { 10087 composeBoolean(t, "EvidenceVariableCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 10088 } 10089 if (element.hasTimeFromStart()) { 10090 composeEvidenceVariableCharacteristicTimeFromStartComponent(t, "EvidenceVariableCharacteristicComponent", "timeFromStart", element.getTimeFromStart(), -1); 10091 } 10092 if (element.hasGroupMeasureElement()) { 10093 composeEnum(t, "EvidenceVariableCharacteristicComponent", "groupMeasure", element.getGroupMeasureElement(), -1); 10094 } 10095 } 10096 10097 protected void composeEvidenceVariableCharacteristicTimeFromStartComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent element, int index) { 10098 if (element == null) 10099 return; 10100 Complex t; 10101 if (Utilities.noString(parentType)) 10102 t = parent; 10103 else { 10104 t = parent.predicate("fhir:"+parentType+'.'+name); 10105 } 10106 composeBackboneElement(t, "timeFromStart", name, element, index); 10107 if (element.hasDescriptionElement()) { 10108 composeString(t, "EvidenceVariableCharacteristicTimeFromStartComponent", "description", element.getDescriptionElement(), -1); 10109 } 10110 if (element.hasQuantity()) { 10111 composeQuantity(t, "EvidenceVariableCharacteristicTimeFromStartComponent", "quantity", element.getQuantity(), -1); 10112 } 10113 if (element.hasRange()) { 10114 composeRange(t, "EvidenceVariableCharacteristicTimeFromStartComponent", "range", element.getRange(), -1); 10115 } 10116 for (int i = 0; i < element.getNote().size(); i++) { 10117 composeAnnotation(t, "EvidenceVariableCharacteristicTimeFromStartComponent", "note", element.getNote().get(i), i); 10118 } 10119 } 10120 10121 protected void composeEvidenceVariableCategoryComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCategoryComponent element, int index) { 10122 if (element == null) 10123 return; 10124 Complex t; 10125 if (Utilities.noString(parentType)) 10126 t = parent; 10127 else { 10128 t = parent.predicate("fhir:"+parentType+'.'+name); 10129 } 10130 composeBackboneElement(t, "category", name, element, index); 10131 if (element.hasNameElement()) { 10132 composeString(t, "EvidenceVariableCategoryComponent", "name", element.getNameElement(), -1); 10133 } 10134 if (element.hasValue()) { 10135 composeType(t, "EvidenceVariableCategoryComponent", "value", element.getValue(), -1); 10136 } 10137 } 10138 10139 protected void composeExampleScenario(Complex parent, String parentType, String name, ExampleScenario element, int index) { 10140 if (element == null) 10141 return; 10142 Complex t; 10143 if (Utilities.noString(parentType)) 10144 t = parent; 10145 else { 10146 t = parent.predicate("fhir:"+parentType+'.'+name); 10147 } 10148 composeDomainResource(t, "ExampleScenario", name, element, index); 10149 if (element.hasUrlElement()) { 10150 composeUri(t, "ExampleScenario", "url", element.getUrlElement(), -1); 10151 } 10152 for (int i = 0; i < element.getIdentifier().size(); i++) { 10153 composeIdentifier(t, "ExampleScenario", "identifier", element.getIdentifier().get(i), i); 10154 } 10155 if (element.hasVersionElement()) { 10156 composeString(t, "ExampleScenario", "version", element.getVersionElement(), -1); 10157 } 10158 if (element.hasNameElement()) { 10159 composeString(t, "ExampleScenario", "name", element.getNameElement(), -1); 10160 } 10161 if (element.hasStatusElement()) { 10162 composeEnum(t, "ExampleScenario", "status", element.getStatusElement(), -1); 10163 } 10164 if (element.hasExperimentalElement()) { 10165 composeBoolean(t, "ExampleScenario", "experimental", element.getExperimentalElement(), -1); 10166 } 10167 if (element.hasDateElement()) { 10168 composeDateTime(t, "ExampleScenario", "date", element.getDateElement(), -1); 10169 } 10170 if (element.hasPublisherElement()) { 10171 composeString(t, "ExampleScenario", "publisher", element.getPublisherElement(), -1); 10172 } 10173 for (int i = 0; i < element.getContact().size(); i++) { 10174 composeContactDetail(t, "ExampleScenario", "contact", element.getContact().get(i), i); 10175 } 10176 for (int i = 0; i < element.getUseContext().size(); i++) { 10177 composeUsageContext(t, "ExampleScenario", "useContext", element.getUseContext().get(i), i); 10178 } 10179 for (int i = 0; i < element.getJurisdiction().size(); i++) { 10180 composeCodeableConcept(t, "ExampleScenario", "jurisdiction", element.getJurisdiction().get(i), i); 10181 } 10182 if (element.hasCopyrightElement()) { 10183 composeMarkdown(t, "ExampleScenario", "copyright", element.getCopyrightElement(), -1); 10184 } 10185 if (element.hasPurposeElement()) { 10186 composeMarkdown(t, "ExampleScenario", "purpose", element.getPurposeElement(), -1); 10187 } 10188 for (int i = 0; i < element.getActor().size(); i++) { 10189 composeExampleScenarioActorComponent(t, "ExampleScenario", "actor", element.getActor().get(i), i); 10190 } 10191 for (int i = 0; i < element.getInstance().size(); i++) { 10192 composeExampleScenarioInstanceComponent(t, "ExampleScenario", "instance", element.getInstance().get(i), i); 10193 } 10194 for (int i = 0; i < element.getProcess().size(); i++) { 10195 composeExampleScenarioProcessComponent(t, "ExampleScenario", "process", element.getProcess().get(i), i); 10196 } 10197 for (int i = 0; i < element.getWorkflow().size(); i++) { 10198 composeCanonical(t, "ExampleScenario", "workflow", element.getWorkflow().get(i), i); 10199 } 10200 } 10201 10202 protected void composeExampleScenarioActorComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioActorComponent element, int index) { 10203 if (element == null) 10204 return; 10205 Complex t; 10206 if (Utilities.noString(parentType)) 10207 t = parent; 10208 else { 10209 t = parent.predicate("fhir:"+parentType+'.'+name); 10210 } 10211 composeBackboneElement(t, "actor", name, element, index); 10212 if (element.hasActorIdElement()) { 10213 composeString(t, "ExampleScenarioActorComponent", "actorId", element.getActorIdElement(), -1); 10214 } 10215 if (element.hasTypeElement()) { 10216 composeEnum(t, "ExampleScenarioActorComponent", "type", element.getTypeElement(), -1); 10217 } 10218 if (element.hasNameElement()) { 10219 composeString(t, "ExampleScenarioActorComponent", "name", element.getNameElement(), -1); 10220 } 10221 if (element.hasDescriptionElement()) { 10222 composeMarkdown(t, "ExampleScenarioActorComponent", "description", element.getDescriptionElement(), -1); 10223 } 10224 } 10225 10226 protected void composeExampleScenarioInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceComponent element, int index) { 10227 if (element == null) 10228 return; 10229 Complex t; 10230 if (Utilities.noString(parentType)) 10231 t = parent; 10232 else { 10233 t = parent.predicate("fhir:"+parentType+'.'+name); 10234 } 10235 composeBackboneElement(t, "instance", name, element, index); 10236 if (element.hasResourceIdElement()) { 10237 composeString(t, "ExampleScenarioInstanceComponent", "resourceId", element.getResourceIdElement(), -1); 10238 } 10239 if (element.hasResourceTypeElement()) { 10240 composeCode(t, "ExampleScenarioInstanceComponent", "resourceType", element.getResourceTypeElement(), -1); 10241 } 10242 if (element.hasNameElement()) { 10243 composeString(t, "ExampleScenarioInstanceComponent", "name", element.getNameElement(), -1); 10244 } 10245 if (element.hasDescriptionElement()) { 10246 composeMarkdown(t, "ExampleScenarioInstanceComponent", "description", element.getDescriptionElement(), -1); 10247 } 10248 for (int i = 0; i < element.getVersion().size(); i++) { 10249 composeExampleScenarioInstanceVersionComponent(t, "ExampleScenarioInstanceComponent", "version", element.getVersion().get(i), i); 10250 } 10251 for (int i = 0; i < element.getContainedInstance().size(); i++) { 10252 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioInstanceComponent", "containedInstance", element.getContainedInstance().get(i), i); 10253 } 10254 } 10255 10256 protected void composeExampleScenarioInstanceVersionComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceVersionComponent element, int index) { 10257 if (element == null) 10258 return; 10259 Complex t; 10260 if (Utilities.noString(parentType)) 10261 t = parent; 10262 else { 10263 t = parent.predicate("fhir:"+parentType+'.'+name); 10264 } 10265 composeBackboneElement(t, "version", name, element, index); 10266 if (element.hasVersionIdElement()) { 10267 composeString(t, "ExampleScenarioInstanceVersionComponent", "versionId", element.getVersionIdElement(), -1); 10268 } 10269 if (element.hasDescriptionElement()) { 10270 composeMarkdown(t, "ExampleScenarioInstanceVersionComponent", "description", element.getDescriptionElement(), -1); 10271 } 10272 } 10273 10274 protected void composeExampleScenarioInstanceContainedInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element, int index) { 10275 if (element == null) 10276 return; 10277 Complex t; 10278 if (Utilities.noString(parentType)) 10279 t = parent; 10280 else { 10281 t = parent.predicate("fhir:"+parentType+'.'+name); 10282 } 10283 composeBackboneElement(t, "containedInstance", name, element, index); 10284 if (element.hasResourceIdElement()) { 10285 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "resourceId", element.getResourceIdElement(), -1); 10286 } 10287 if (element.hasVersionIdElement()) { 10288 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "versionId", element.getVersionIdElement(), -1); 10289 } 10290 } 10291 10292 protected void composeExampleScenarioProcessComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessComponent element, int index) { 10293 if (element == null) 10294 return; 10295 Complex t; 10296 if (Utilities.noString(parentType)) 10297 t = parent; 10298 else { 10299 t = parent.predicate("fhir:"+parentType+'.'+name); 10300 } 10301 composeBackboneElement(t, "process", name, element, index); 10302 if (element.hasTitleElement()) { 10303 composeString(t, "ExampleScenarioProcessComponent", "title", element.getTitleElement(), -1); 10304 } 10305 if (element.hasDescriptionElement()) { 10306 composeMarkdown(t, "ExampleScenarioProcessComponent", "description", element.getDescriptionElement(), -1); 10307 } 10308 if (element.hasPreConditionsElement()) { 10309 composeMarkdown(t, "ExampleScenarioProcessComponent", "preConditions", element.getPreConditionsElement(), -1); 10310 } 10311 if (element.hasPostConditionsElement()) { 10312 composeMarkdown(t, "ExampleScenarioProcessComponent", "postConditions", element.getPostConditionsElement(), -1); 10313 } 10314 for (int i = 0; i < element.getStep().size(); i++) { 10315 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessComponent", "step", element.getStep().get(i), i); 10316 } 10317 } 10318 10319 protected void composeExampleScenarioProcessStepComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepComponent element, int index) { 10320 if (element == null) 10321 return; 10322 Complex t; 10323 if (Utilities.noString(parentType)) 10324 t = parent; 10325 else { 10326 t = parent.predicate("fhir:"+parentType+'.'+name); 10327 } 10328 composeBackboneElement(t, "step", name, element, index); 10329 for (int i = 0; i < element.getProcess().size(); i++) { 10330 composeExampleScenarioProcessComponent(t, "ExampleScenarioProcessStepComponent", "process", element.getProcess().get(i), i); 10331 } 10332 if (element.hasPauseElement()) { 10333 composeBoolean(t, "ExampleScenarioProcessStepComponent", "pause", element.getPauseElement(), -1); 10334 } 10335 if (element.hasOperation()) { 10336 composeExampleScenarioProcessStepOperationComponent(t, "ExampleScenarioProcessStepComponent", "operation", element.getOperation(), -1); 10337 } 10338 for (int i = 0; i < element.getAlternative().size(); i++) { 10339 composeExampleScenarioProcessStepAlternativeComponent(t, "ExampleScenarioProcessStepComponent", "alternative", element.getAlternative().get(i), i); 10340 } 10341 } 10342 10343 protected void composeExampleScenarioProcessStepOperationComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element, int index) { 10344 if (element == null) 10345 return; 10346 Complex t; 10347 if (Utilities.noString(parentType)) 10348 t = parent; 10349 else { 10350 t = parent.predicate("fhir:"+parentType+'.'+name); 10351 } 10352 composeBackboneElement(t, "operation", name, element, index); 10353 if (element.hasNumberElement()) { 10354 composeString(t, "ExampleScenarioProcessStepOperationComponent", "number", element.getNumberElement(), -1); 10355 } 10356 if (element.hasTypeElement()) { 10357 composeString(t, "ExampleScenarioProcessStepOperationComponent", "type", element.getTypeElement(), -1); 10358 } 10359 if (element.hasNameElement()) { 10360 composeString(t, "ExampleScenarioProcessStepOperationComponent", "name", element.getNameElement(), -1); 10361 } 10362 if (element.hasInitiatorElement()) { 10363 composeString(t, "ExampleScenarioProcessStepOperationComponent", "initiator", element.getInitiatorElement(), -1); 10364 } 10365 if (element.hasReceiverElement()) { 10366 composeString(t, "ExampleScenarioProcessStepOperationComponent", "receiver", element.getReceiverElement(), -1); 10367 } 10368 if (element.hasDescriptionElement()) { 10369 composeMarkdown(t, "ExampleScenarioProcessStepOperationComponent", "description", element.getDescriptionElement(), -1); 10370 } 10371 if (element.hasInitiatorActiveElement()) { 10372 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "initiatorActive", element.getInitiatorActiveElement(), -1); 10373 } 10374 if (element.hasReceiverActiveElement()) { 10375 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "receiverActive", element.getReceiverActiveElement(), -1); 10376 } 10377 if (element.hasRequest()) { 10378 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "request", element.getRequest(), -1); 10379 } 10380 if (element.hasResponse()) { 10381 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "response", element.getResponse(), -1); 10382 } 10383 } 10384 10385 protected void composeExampleScenarioProcessStepAlternativeComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepAlternativeComponent element, int index) { 10386 if (element == null) 10387 return; 10388 Complex t; 10389 if (Utilities.noString(parentType)) 10390 t = parent; 10391 else { 10392 t = parent.predicate("fhir:"+parentType+'.'+name); 10393 } 10394 composeBackboneElement(t, "alternative", name, element, index); 10395 if (element.hasTitleElement()) { 10396 composeString(t, "ExampleScenarioProcessStepAlternativeComponent", "title", element.getTitleElement(), -1); 10397 } 10398 if (element.hasDescriptionElement()) { 10399 composeMarkdown(t, "ExampleScenarioProcessStepAlternativeComponent", "description", element.getDescriptionElement(), -1); 10400 } 10401 for (int i = 0; i < element.getStep().size(); i++) { 10402 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessStepAlternativeComponent", "step", element.getStep().get(i), i); 10403 } 10404 } 10405 10406 protected void composeExplanationOfBenefit(Complex parent, String parentType, String name, ExplanationOfBenefit element, int index) { 10407 if (element == null) 10408 return; 10409 Complex t; 10410 if (Utilities.noString(parentType)) 10411 t = parent; 10412 else { 10413 t = parent.predicate("fhir:"+parentType+'.'+name); 10414 } 10415 composeDomainResource(t, "ExplanationOfBenefit", name, element, index); 10416 for (int i = 0; i < element.getIdentifier().size(); i++) { 10417 composeIdentifier(t, "ExplanationOfBenefit", "identifier", element.getIdentifier().get(i), i); 10418 } 10419 if (element.hasStatusElement()) { 10420 composeEnum(t, "ExplanationOfBenefit", "status", element.getStatusElement(), -1); 10421 } 10422 if (element.hasType()) { 10423 composeCodeableConcept(t, "ExplanationOfBenefit", "type", element.getType(), -1); 10424 } 10425 if (element.hasSubType()) { 10426 composeCodeableConcept(t, "ExplanationOfBenefit", "subType", element.getSubType(), -1); 10427 } 10428 if (element.hasUseElement()) { 10429 composeEnum(t, "ExplanationOfBenefit", "use", element.getUseElement(), -1); 10430 } 10431 if (element.hasPatient()) { 10432 composeReference(t, "ExplanationOfBenefit", "patient", element.getPatient(), -1); 10433 } 10434 if (element.hasBillablePeriod()) { 10435 composePeriod(t, "ExplanationOfBenefit", "billablePeriod", element.getBillablePeriod(), -1); 10436 } 10437 if (element.hasCreatedElement()) { 10438 composeDateTime(t, "ExplanationOfBenefit", "created", element.getCreatedElement(), -1); 10439 } 10440 if (element.hasEnterer()) { 10441 composeReference(t, "ExplanationOfBenefit", "enterer", element.getEnterer(), -1); 10442 } 10443 if (element.hasInsurer()) { 10444 composeReference(t, "ExplanationOfBenefit", "insurer", element.getInsurer(), -1); 10445 } 10446 if (element.hasProvider()) { 10447 composeReference(t, "ExplanationOfBenefit", "provider", element.getProvider(), -1); 10448 } 10449 if (element.hasPriority()) { 10450 composeCodeableConcept(t, "ExplanationOfBenefit", "priority", element.getPriority(), -1); 10451 } 10452 if (element.hasFundsReserveRequested()) { 10453 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserveRequested", element.getFundsReserveRequested(), -1); 10454 } 10455 if (element.hasFundsReserve()) { 10456 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserve", element.getFundsReserve(), -1); 10457 } 10458 for (int i = 0; i < element.getRelated().size(); i++) { 10459 composeExplanationOfBenefitRelatedClaimComponent(t, "ExplanationOfBenefit", "related", element.getRelated().get(i), i); 10460 } 10461 if (element.hasPrescription()) { 10462 composeReference(t, "ExplanationOfBenefit", "prescription", element.getPrescription(), -1); 10463 } 10464 if (element.hasOriginalPrescription()) { 10465 composeReference(t, "ExplanationOfBenefit", "originalPrescription", element.getOriginalPrescription(), -1); 10466 } 10467 if (element.hasPayee()) { 10468 composeExplanationOfBenefitPayeeComponent(t, "ExplanationOfBenefit", "payee", element.getPayee(), -1); 10469 } 10470 if (element.hasReferral()) { 10471 composeReference(t, "ExplanationOfBenefit", "referral", element.getReferral(), -1); 10472 } 10473 if (element.hasFacility()) { 10474 composeReference(t, "ExplanationOfBenefit", "facility", element.getFacility(), -1); 10475 } 10476 if (element.hasClaim()) { 10477 composeReference(t, "ExplanationOfBenefit", "claim", element.getClaim(), -1); 10478 } 10479 if (element.hasClaimResponse()) { 10480 composeReference(t, "ExplanationOfBenefit", "claimResponse", element.getClaimResponse(), -1); 10481 } 10482 if (element.hasOutcomeElement()) { 10483 composeEnum(t, "ExplanationOfBenefit", "outcome", element.getOutcomeElement(), -1); 10484 } 10485 if (element.hasDispositionElement()) { 10486 composeString(t, "ExplanationOfBenefit", "disposition", element.getDispositionElement(), -1); 10487 } 10488 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 10489 composeString(t, "ExplanationOfBenefit", "preAuthRef", element.getPreAuthRef().get(i), i); 10490 } 10491 for (int i = 0; i < element.getPreAuthRefPeriod().size(); i++) { 10492 composePeriod(t, "ExplanationOfBenefit", "preAuthRefPeriod", element.getPreAuthRefPeriod().get(i), i); 10493 } 10494 for (int i = 0; i < element.getCareTeam().size(); i++) { 10495 composeExplanationOfBenefitCareTeamComponent(t, "ExplanationOfBenefit", "careTeam", element.getCareTeam().get(i), i); 10496 } 10497 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 10498 composeExplanationOfBenefitSupportingInformationComponent(t, "ExplanationOfBenefit", "supportingInfo", element.getSupportingInfo().get(i), i); 10499 } 10500 for (int i = 0; i < element.getDiagnosis().size(); i++) { 10501 composeExplanationOfBenefitDiagnosisComponent(t, "ExplanationOfBenefit", "diagnosis", element.getDiagnosis().get(i), i); 10502 } 10503 for (int i = 0; i < element.getProcedure().size(); i++) { 10504 composeExplanationOfBenefitProcedureComponent(t, "ExplanationOfBenefit", "procedure", element.getProcedure().get(i), i); 10505 } 10506 if (element.hasPrecedenceElement()) { 10507 composePositiveInt(t, "ExplanationOfBenefit", "precedence", element.getPrecedenceElement(), -1); 10508 } 10509 for (int i = 0; i < element.getInsurance().size(); i++) { 10510 composeExplanationOfBenefitInsuranceComponent(t, "ExplanationOfBenefit", "insurance", element.getInsurance().get(i), i); 10511 } 10512 if (element.hasAccident()) { 10513 composeExplanationOfBenefitAccidentComponent(t, "ExplanationOfBenefit", "accident", element.getAccident(), -1); 10514 } 10515 for (int i = 0; i < element.getItem().size(); i++) { 10516 composeExplanationOfBenefitItemComponent(t, "ExplanationOfBenefit", "item", element.getItem().get(i), i); 10517 } 10518 for (int i = 0; i < element.getAddItem().size(); i++) { 10519 composeExplanationOfBenefitAddedItemComponent(t, "ExplanationOfBenefit", "addItem", element.getAddItem().get(i), i); 10520 } 10521 for (int i = 0; i < element.getAdjudication().size(); i++) { 10522 composeExplanationOfBenefitAdjudicationComponent(t, "ExplanationOfBenefit", "adjudication", element.getAdjudication().get(i), i); 10523 } 10524 for (int i = 0; i < element.getTotal().size(); i++) { 10525 composeExplanationOfBenefitTotalComponent(t, "ExplanationOfBenefit", "total", element.getTotal().get(i), i); 10526 } 10527 if (element.hasPayment()) { 10528 composeExplanationOfBenefitPaymentComponent(t, "ExplanationOfBenefit", "payment", element.getPayment(), -1); 10529 } 10530 if (element.hasFormCode()) { 10531 composeCodeableConcept(t, "ExplanationOfBenefit", "formCode", element.getFormCode(), -1); 10532 } 10533 if (element.hasForm()) { 10534 composeAttachment(t, "ExplanationOfBenefit", "form", element.getForm(), -1); 10535 } 10536 for (int i = 0; i < element.getProcessNote().size(); i++) { 10537 composeExplanationOfBenefitNoteComponent(t, "ExplanationOfBenefit", "processNote", element.getProcessNote().get(i), i); 10538 } 10539 if (element.hasBenefitPeriod()) { 10540 composePeriod(t, "ExplanationOfBenefit", "benefitPeriod", element.getBenefitPeriod(), -1); 10541 } 10542 for (int i = 0; i < element.getBenefitBalance().size(); i++) { 10543 composeExplanationOfBenefitBenefitBalanceComponent(t, "ExplanationOfBenefit", "benefitBalance", element.getBenefitBalance().get(i), i); 10544 } 10545 } 10546 10547 protected void composeExplanationOfBenefitRelatedClaimComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.RelatedClaimComponent element, int index) { 10548 if (element == null) 10549 return; 10550 Complex t; 10551 if (Utilities.noString(parentType)) 10552 t = parent; 10553 else { 10554 t = parent.predicate("fhir:"+parentType+'.'+name); 10555 } 10556 composeBackboneElement(t, "related", name, element, index); 10557 if (element.hasClaim()) { 10558 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 10559 } 10560 if (element.hasRelationship()) { 10561 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 10562 } 10563 if (element.hasReference()) { 10564 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 10565 } 10566 } 10567 10568 protected void composeExplanationOfBenefitPayeeComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PayeeComponent element, int index) { 10569 if (element == null) 10570 return; 10571 Complex t; 10572 if (Utilities.noString(parentType)) 10573 t = parent; 10574 else { 10575 t = parent.predicate("fhir:"+parentType+'.'+name); 10576 } 10577 composeBackboneElement(t, "payee", name, element, index); 10578 if (element.hasType()) { 10579 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 10580 } 10581 if (element.hasParty()) { 10582 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 10583 } 10584 } 10585 10586 protected void composeExplanationOfBenefitCareTeamComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.CareTeamComponent element, int index) { 10587 if (element == null) 10588 return; 10589 Complex t; 10590 if (Utilities.noString(parentType)) 10591 t = parent; 10592 else { 10593 t = parent.predicate("fhir:"+parentType+'.'+name); 10594 } 10595 composeBackboneElement(t, "careTeam", name, element, index); 10596 if (element.hasSequenceElement()) { 10597 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 10598 } 10599 if (element.hasProvider()) { 10600 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 10601 } 10602 if (element.hasResponsibleElement()) { 10603 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 10604 } 10605 if (element.hasRole()) { 10606 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 10607 } 10608 if (element.hasQualification()) { 10609 composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); 10610 } 10611 } 10612 10613 protected void composeExplanationOfBenefitSupportingInformationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SupportingInformationComponent element, int index) { 10614 if (element == null) 10615 return; 10616 Complex t; 10617 if (Utilities.noString(parentType)) 10618 t = parent; 10619 else { 10620 t = parent.predicate("fhir:"+parentType+'.'+name); 10621 } 10622 composeBackboneElement(t, "supportingInfo", name, element, index); 10623 if (element.hasSequenceElement()) { 10624 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 10625 } 10626 if (element.hasCategory()) { 10627 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 10628 } 10629 if (element.hasCode()) { 10630 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 10631 } 10632 if (element.hasTiming()) { 10633 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 10634 } 10635 if (element.hasValue()) { 10636 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 10637 } 10638 if (element.hasReason()) { 10639 composeCoding(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 10640 } 10641 } 10642 10643 protected void composeExplanationOfBenefitDiagnosisComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DiagnosisComponent element, int index) { 10644 if (element == null) 10645 return; 10646 Complex t; 10647 if (Utilities.noString(parentType)) 10648 t = parent; 10649 else { 10650 t = parent.predicate("fhir:"+parentType+'.'+name); 10651 } 10652 composeBackboneElement(t, "diagnosis", name, element, index); 10653 if (element.hasSequenceElement()) { 10654 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 10655 } 10656 if (element.hasDiagnosis()) { 10657 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 10658 } 10659 for (int i = 0; i < element.getType().size(); i++) { 10660 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 10661 } 10662 if (element.hasOnAdmission()) { 10663 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 10664 } 10665 if (element.hasPackageCode()) { 10666 composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); 10667 } 10668 } 10669 10670 protected void composeExplanationOfBenefitProcedureComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ProcedureComponent element, int index) { 10671 if (element == null) 10672 return; 10673 Complex t; 10674 if (Utilities.noString(parentType)) 10675 t = parent; 10676 else { 10677 t = parent.predicate("fhir:"+parentType+'.'+name); 10678 } 10679 composeBackboneElement(t, "procedure", name, element, index); 10680 if (element.hasSequenceElement()) { 10681 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 10682 } 10683 for (int i = 0; i < element.getType().size(); i++) { 10684 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 10685 } 10686 if (element.hasDateElement()) { 10687 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 10688 } 10689 if (element.hasProcedure()) { 10690 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 10691 } 10692 for (int i = 0; i < element.getUdi().size(); i++) { 10693 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 10694 } 10695 } 10696 10697 protected void composeExplanationOfBenefitInsuranceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.InsuranceComponent element, int index) { 10698 if (element == null) 10699 return; 10700 Complex t; 10701 if (Utilities.noString(parentType)) 10702 t = parent; 10703 else { 10704 t = parent.predicate("fhir:"+parentType+'.'+name); 10705 } 10706 composeBackboneElement(t, "insurance", name, element, index); 10707 if (element.hasFocalElement()) { 10708 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 10709 } 10710 if (element.hasCoverage()) { 10711 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 10712 } 10713 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 10714 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 10715 } 10716 } 10717 10718 protected void composeExplanationOfBenefitAccidentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AccidentComponent element, int index) { 10719 if (element == null) 10720 return; 10721 Complex t; 10722 if (Utilities.noString(parentType)) 10723 t = parent; 10724 else { 10725 t = parent.predicate("fhir:"+parentType+'.'+name); 10726 } 10727 composeBackboneElement(t, "accident", name, element, index); 10728 if (element.hasDateElement()) { 10729 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 10730 } 10731 if (element.hasType()) { 10732 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 10733 } 10734 if (element.hasLocation()) { 10735 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 10736 } 10737 } 10738 10739 protected void composeExplanationOfBenefitItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ItemComponent element, int index) { 10740 if (element == null) 10741 return; 10742 Complex t; 10743 if (Utilities.noString(parentType)) 10744 t = parent; 10745 else { 10746 t = parent.predicate("fhir:"+parentType+'.'+name); 10747 } 10748 composeBackboneElement(t, "item", name, element, index); 10749 if (element.hasSequenceElement()) { 10750 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 10751 } 10752 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 10753 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 10754 } 10755 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 10756 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 10757 } 10758 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 10759 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 10760 } 10761 for (int i = 0; i < element.getInformationSequence().size(); i++) { 10762 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 10763 } 10764 if (element.hasRevenue()) { 10765 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 10766 } 10767 if (element.hasCategory()) { 10768 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 10769 } 10770 if (element.hasProductOrService()) { 10771 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 10772 } 10773 for (int i = 0; i < element.getModifier().size(); i++) { 10774 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 10775 } 10776 for (int i = 0; i < element.getProgramCode().size(); i++) { 10777 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 10778 } 10779 if (element.hasServiced()) { 10780 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 10781 } 10782 if (element.hasLocation()) { 10783 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 10784 } 10785 if (element.hasQuantity()) { 10786 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 10787 } 10788 if (element.hasUnitPrice()) { 10789 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 10790 } 10791 if (element.hasFactorElement()) { 10792 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 10793 } 10794 if (element.hasNet()) { 10795 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 10796 } 10797 for (int i = 0; i < element.getUdi().size(); i++) { 10798 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 10799 } 10800 if (element.hasBodySite()) { 10801 composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); 10802 } 10803 for (int i = 0; i < element.getSubSite().size(); i++) { 10804 composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); 10805 } 10806 for (int i = 0; i < element.getEncounter().size(); i++) { 10807 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 10808 } 10809 for (int i = 0; i < element.getNoteNumber().size(); i++) { 10810 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 10811 } 10812 for (int i = 0; i < element.getAdjudication().size(); i++) { 10813 composeExplanationOfBenefitAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 10814 } 10815 for (int i = 0; i < element.getDetail().size(); i++) { 10816 composeExplanationOfBenefitDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 10817 } 10818 } 10819 10820 protected void composeExplanationOfBenefitAdjudicationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AdjudicationComponent element, int index) { 10821 if (element == null) 10822 return; 10823 Complex t; 10824 if (Utilities.noString(parentType)) 10825 t = parent; 10826 else { 10827 t = parent.predicate("fhir:"+parentType+'.'+name); 10828 } 10829 composeBackboneElement(t, "adjudication", name, element, index); 10830 if (element.hasCategory()) { 10831 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 10832 } 10833 if (element.hasReason()) { 10834 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 10835 } 10836 if (element.hasAmount()) { 10837 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 10838 } 10839 if (element.hasValueElement()) { 10840 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 10841 } 10842 } 10843 10844 protected void composeExplanationOfBenefitDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DetailComponent element, int index) { 10845 if (element == null) 10846 return; 10847 Complex t; 10848 if (Utilities.noString(parentType)) 10849 t = parent; 10850 else { 10851 t = parent.predicate("fhir:"+parentType+'.'+name); 10852 } 10853 composeBackboneElement(t, "detail", name, element, index); 10854 if (element.hasSequenceElement()) { 10855 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 10856 } 10857 if (element.hasRevenue()) { 10858 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 10859 } 10860 if (element.hasCategory()) { 10861 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 10862 } 10863 if (element.hasProductOrService()) { 10864 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 10865 } 10866 for (int i = 0; i < element.getModifier().size(); i++) { 10867 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 10868 } 10869 for (int i = 0; i < element.getProgramCode().size(); i++) { 10870 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 10871 } 10872 if (element.hasQuantity()) { 10873 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 10874 } 10875 if (element.hasUnitPrice()) { 10876 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 10877 } 10878 if (element.hasFactorElement()) { 10879 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 10880 } 10881 if (element.hasNet()) { 10882 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 10883 } 10884 for (int i = 0; i < element.getUdi().size(); i++) { 10885 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 10886 } 10887 for (int i = 0; i < element.getNoteNumber().size(); i++) { 10888 composePositiveInt(t, "DetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 10889 } 10890 for (int i = 0; i < element.getAdjudication().size(); i++) { 10891 composeExplanationOfBenefitAdjudicationComponent(t, "DetailComponent", "adjudication", element.getAdjudication().get(i), i); 10892 } 10893 for (int i = 0; i < element.getSubDetail().size(); i++) { 10894 composeExplanationOfBenefitSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 10895 } 10896 } 10897 10898 protected void composeExplanationOfBenefitSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SubDetailComponent element, int index) { 10899 if (element == null) 10900 return; 10901 Complex t; 10902 if (Utilities.noString(parentType)) 10903 t = parent; 10904 else { 10905 t = parent.predicate("fhir:"+parentType+'.'+name); 10906 } 10907 composeBackboneElement(t, "subDetail", name, element, index); 10908 if (element.hasSequenceElement()) { 10909 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 10910 } 10911 if (element.hasRevenue()) { 10912 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 10913 } 10914 if (element.hasCategory()) { 10915 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 10916 } 10917 if (element.hasProductOrService()) { 10918 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 10919 } 10920 for (int i = 0; i < element.getModifier().size(); i++) { 10921 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 10922 } 10923 for (int i = 0; i < element.getProgramCode().size(); i++) { 10924 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 10925 } 10926 if (element.hasQuantity()) { 10927 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 10928 } 10929 if (element.hasUnitPrice()) { 10930 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 10931 } 10932 if (element.hasFactorElement()) { 10933 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 10934 } 10935 if (element.hasNet()) { 10936 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 10937 } 10938 for (int i = 0; i < element.getUdi().size(); i++) { 10939 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 10940 } 10941 for (int i = 0; i < element.getNoteNumber().size(); i++) { 10942 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 10943 } 10944 for (int i = 0; i < element.getAdjudication().size(); i++) { 10945 composeExplanationOfBenefitAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 10946 } 10947 } 10948 10949 protected void composeExplanationOfBenefitAddedItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemComponent element, int index) { 10950 if (element == null) 10951 return; 10952 Complex t; 10953 if (Utilities.noString(parentType)) 10954 t = parent; 10955 else { 10956 t = parent.predicate("fhir:"+parentType+'.'+name); 10957 } 10958 composeBackboneElement(t, "addItem", name, element, index); 10959 for (int i = 0; i < element.getItemSequence().size(); i++) { 10960 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 10961 } 10962 for (int i = 0; i < element.getDetailSequence().size(); i++) { 10963 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 10964 } 10965 for (int i = 0; i < element.getSubDetailSequence().size(); i++) { 10966 composePositiveInt(t, "AddedItemComponent", "subDetailSequence", element.getSubDetailSequence().get(i), i); 10967 } 10968 for (int i = 0; i < element.getProvider().size(); i++) { 10969 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 10970 } 10971 if (element.hasProductOrService()) { 10972 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 10973 } 10974 for (int i = 0; i < element.getModifier().size(); i++) { 10975 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 10976 } 10977 for (int i = 0; i < element.getProgramCode().size(); i++) { 10978 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 10979 } 10980 if (element.hasServiced()) { 10981 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 10982 } 10983 if (element.hasLocation()) { 10984 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 10985 } 10986 if (element.hasQuantity()) { 10987 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 10988 } 10989 if (element.hasUnitPrice()) { 10990 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 10991 } 10992 if (element.hasFactorElement()) { 10993 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 10994 } 10995 if (element.hasNet()) { 10996 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 10997 } 10998 if (element.hasBodySite()) { 10999 composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); 11000 } 11001 for (int i = 0; i < element.getSubSite().size(); i++) { 11002 composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); 11003 } 11004 for (int i = 0; i < element.getNoteNumber().size(); i++) { 11005 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 11006 } 11007 for (int i = 0; i < element.getAdjudication().size(); i++) { 11008 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 11009 } 11010 for (int i = 0; i < element.getDetail().size(); i++) { 11011 composeExplanationOfBenefitAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 11012 } 11013 } 11014 11015 protected void composeExplanationOfBenefitAddedItemDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailComponent element, int index) { 11016 if (element == null) 11017 return; 11018 Complex t; 11019 if (Utilities.noString(parentType)) 11020 t = parent; 11021 else { 11022 t = parent.predicate("fhir:"+parentType+'.'+name); 11023 } 11024 composeBackboneElement(t, "detail", name, element, index); 11025 if (element.hasProductOrService()) { 11026 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 11027 } 11028 for (int i = 0; i < element.getModifier().size(); i++) { 11029 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 11030 } 11031 if (element.hasQuantity()) { 11032 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 11033 } 11034 if (element.hasUnitPrice()) { 11035 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 11036 } 11037 if (element.hasFactorElement()) { 11038 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 11039 } 11040 if (element.hasNet()) { 11041 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 11042 } 11043 for (int i = 0; i < element.getNoteNumber().size(); i++) { 11044 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 11045 } 11046 for (int i = 0; i < element.getAdjudication().size(); i++) { 11047 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 11048 } 11049 for (int i = 0; i < element.getSubDetail().size(); i++) { 11050 composeExplanationOfBenefitAddedItemDetailSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 11051 } 11052 } 11053 11054 protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailSubDetailComponent element, int index) { 11055 if (element == null) 11056 return; 11057 Complex t; 11058 if (Utilities.noString(parentType)) 11059 t = parent; 11060 else { 11061 t = parent.predicate("fhir:"+parentType+'.'+name); 11062 } 11063 composeBackboneElement(t, "subDetail", name, element, index); 11064 if (element.hasProductOrService()) { 11065 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrService", element.getProductOrService(), -1); 11066 } 11067 for (int i = 0; i < element.getModifier().size(); i++) { 11068 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "modifier", element.getModifier().get(i), i); 11069 } 11070 if (element.hasQuantity()) { 11071 composeQuantity(t, "AddedItemDetailSubDetailComponent", "quantity", element.getQuantity(), -1); 11072 } 11073 if (element.hasUnitPrice()) { 11074 composeMoney(t, "AddedItemDetailSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 11075 } 11076 if (element.hasFactorElement()) { 11077 composeDecimal(t, "AddedItemDetailSubDetailComponent", "factor", element.getFactorElement(), -1); 11078 } 11079 if (element.hasNet()) { 11080 composeMoney(t, "AddedItemDetailSubDetailComponent", "net", element.getNet(), -1); 11081 } 11082 for (int i = 0; i < element.getNoteNumber().size(); i++) { 11083 composePositiveInt(t, "AddedItemDetailSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 11084 } 11085 for (int i = 0; i < element.getAdjudication().size(); i++) { 11086 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 11087 } 11088 } 11089 11090 protected void composeExplanationOfBenefitTotalComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.TotalComponent element, int index) { 11091 if (element == null) 11092 return; 11093 Complex t; 11094 if (Utilities.noString(parentType)) 11095 t = parent; 11096 else { 11097 t = parent.predicate("fhir:"+parentType+'.'+name); 11098 } 11099 composeBackboneElement(t, "total", name, element, index); 11100 if (element.hasCategory()) { 11101 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 11102 } 11103 if (element.hasAmount()) { 11104 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 11105 } 11106 } 11107 11108 protected void composeExplanationOfBenefitPaymentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PaymentComponent element, int index) { 11109 if (element == null) 11110 return; 11111 Complex t; 11112 if (Utilities.noString(parentType)) 11113 t = parent; 11114 else { 11115 t = parent.predicate("fhir:"+parentType+'.'+name); 11116 } 11117 composeBackboneElement(t, "payment", name, element, index); 11118 if (element.hasType()) { 11119 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 11120 } 11121 if (element.hasAdjustment()) { 11122 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 11123 } 11124 if (element.hasAdjustmentReason()) { 11125 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 11126 } 11127 if (element.hasDateElement()) { 11128 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 11129 } 11130 if (element.hasAmount()) { 11131 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 11132 } 11133 if (element.hasIdentifier()) { 11134 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 11135 } 11136 } 11137 11138 protected void composeExplanationOfBenefitNoteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.NoteComponent element, int index) { 11139 if (element == null) 11140 return; 11141 Complex t; 11142 if (Utilities.noString(parentType)) 11143 t = parent; 11144 else { 11145 t = parent.predicate("fhir:"+parentType+'.'+name); 11146 } 11147 composeBackboneElement(t, "processNote", name, element, index); 11148 if (element.hasNumberElement()) { 11149 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 11150 } 11151 if (element.hasTypeElement()) { 11152 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 11153 } 11154 if (element.hasTextElement()) { 11155 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 11156 } 11157 if (element.hasLanguage()) { 11158 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 11159 } 11160 } 11161 11162 protected void composeExplanationOfBenefitBenefitBalanceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitBalanceComponent element, int index) { 11163 if (element == null) 11164 return; 11165 Complex t; 11166 if (Utilities.noString(parentType)) 11167 t = parent; 11168 else { 11169 t = parent.predicate("fhir:"+parentType+'.'+name); 11170 } 11171 composeBackboneElement(t, "benefitBalance", name, element, index); 11172 if (element.hasCategory()) { 11173 composeCodeableConcept(t, "BenefitBalanceComponent", "category", element.getCategory(), -1); 11174 } 11175 if (element.hasExcludedElement()) { 11176 composeBoolean(t, "BenefitBalanceComponent", "excluded", element.getExcludedElement(), -1); 11177 } 11178 if (element.hasNameElement()) { 11179 composeString(t, "BenefitBalanceComponent", "name", element.getNameElement(), -1); 11180 } 11181 if (element.hasDescriptionElement()) { 11182 composeString(t, "BenefitBalanceComponent", "description", element.getDescriptionElement(), -1); 11183 } 11184 if (element.hasNetwork()) { 11185 composeCodeableConcept(t, "BenefitBalanceComponent", "network", element.getNetwork(), -1); 11186 } 11187 if (element.hasUnit()) { 11188 composeCodeableConcept(t, "BenefitBalanceComponent", "unit", element.getUnit(), -1); 11189 } 11190 if (element.hasTerm()) { 11191 composeCodeableConcept(t, "BenefitBalanceComponent", "term", element.getTerm(), -1); 11192 } 11193 for (int i = 0; i < element.getFinancial().size(); i++) { 11194 composeExplanationOfBenefitBenefitComponent(t, "BenefitBalanceComponent", "financial", element.getFinancial().get(i), i); 11195 } 11196 } 11197 11198 protected void composeExplanationOfBenefitBenefitComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitComponent element, int index) { 11199 if (element == null) 11200 return; 11201 Complex t; 11202 if (Utilities.noString(parentType)) 11203 t = parent; 11204 else { 11205 t = parent.predicate("fhir:"+parentType+'.'+name); 11206 } 11207 composeBackboneElement(t, "financial", name, element, index); 11208 if (element.hasType()) { 11209 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 11210 } 11211 if (element.hasAllowed()) { 11212 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 11213 } 11214 if (element.hasUsed()) { 11215 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 11216 } 11217 } 11218 11219 protected void composeFamilyMemberHistory(Complex parent, String parentType, String name, FamilyMemberHistory element, int index) { 11220 if (element == null) 11221 return; 11222 Complex t; 11223 if (Utilities.noString(parentType)) 11224 t = parent; 11225 else { 11226 t = parent.predicate("fhir:"+parentType+'.'+name); 11227 } 11228 composeDomainResource(t, "FamilyMemberHistory", name, element, index); 11229 for (int i = 0; i < element.getIdentifier().size(); i++) { 11230 composeIdentifier(t, "FamilyMemberHistory", "identifier", element.getIdentifier().get(i), i); 11231 } 11232 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 11233 composeCanonical(t, "FamilyMemberHistory", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 11234 } 11235 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 11236 composeUri(t, "FamilyMemberHistory", "instantiatesUri", element.getInstantiatesUri().get(i), i); 11237 } 11238 if (element.hasStatusElement()) { 11239 composeEnum(t, "FamilyMemberHistory", "status", element.getStatusElement(), -1); 11240 } 11241 if (element.hasDataAbsentReason()) { 11242 composeCodeableConcept(t, "FamilyMemberHistory", "dataAbsentReason", element.getDataAbsentReason(), -1); 11243 } 11244 if (element.hasPatient()) { 11245 composeReference(t, "FamilyMemberHistory", "patient", element.getPatient(), -1); 11246 } 11247 if (element.hasDateElement()) { 11248 composeDateTime(t, "FamilyMemberHistory", "date", element.getDateElement(), -1); 11249 } 11250 if (element.hasNameElement()) { 11251 composeString(t, "FamilyMemberHistory", "name", element.getNameElement(), -1); 11252 } 11253 if (element.hasRelationship()) { 11254 composeCodeableConcept(t, "FamilyMemberHistory", "relationship", element.getRelationship(), -1); 11255 } 11256 if (element.hasSex()) { 11257 composeCodeableConcept(t, "FamilyMemberHistory", "sex", element.getSex(), -1); 11258 } 11259 if (element.hasBorn()) { 11260 composeType(t, "FamilyMemberHistory", "born", element.getBorn(), -1); 11261 } 11262 if (element.hasAge()) { 11263 composeType(t, "FamilyMemberHistory", "age", element.getAge(), -1); 11264 } 11265 if (element.hasEstimatedAgeElement()) { 11266 composeBoolean(t, "FamilyMemberHistory", "estimatedAge", element.getEstimatedAgeElement(), -1); 11267 } 11268 if (element.hasDeceased()) { 11269 composeType(t, "FamilyMemberHistory", "deceased", element.getDeceased(), -1); 11270 } 11271 for (int i = 0; i < element.getReasonCode().size(); i++) { 11272 composeCodeableConcept(t, "FamilyMemberHistory", "reasonCode", element.getReasonCode().get(i), i); 11273 } 11274 for (int i = 0; i < element.getReasonReference().size(); i++) { 11275 composeReference(t, "FamilyMemberHistory", "reasonReference", element.getReasonReference().get(i), i); 11276 } 11277 for (int i = 0; i < element.getNote().size(); i++) { 11278 composeAnnotation(t, "FamilyMemberHistory", "note", element.getNote().get(i), i); 11279 } 11280 for (int i = 0; i < element.getCondition().size(); i++) { 11281 composeFamilyMemberHistoryConditionComponent(t, "FamilyMemberHistory", "condition", element.getCondition().get(i), i); 11282 } 11283 } 11284 11285 protected void composeFamilyMemberHistoryConditionComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryConditionComponent element, int index) { 11286 if (element == null) 11287 return; 11288 Complex t; 11289 if (Utilities.noString(parentType)) 11290 t = parent; 11291 else { 11292 t = parent.predicate("fhir:"+parentType+'.'+name); 11293 } 11294 composeBackboneElement(t, "condition", name, element, index); 11295 if (element.hasCode()) { 11296 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "code", element.getCode(), -1); 11297 } 11298 if (element.hasOutcome()) { 11299 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "outcome", element.getOutcome(), -1); 11300 } 11301 if (element.hasContributedToDeathElement()) { 11302 composeBoolean(t, "FamilyMemberHistoryConditionComponent", "contributedToDeath", element.getContributedToDeathElement(), -1); 11303 } 11304 if (element.hasOnset()) { 11305 composeType(t, "FamilyMemberHistoryConditionComponent", "onset", element.getOnset(), -1); 11306 } 11307 for (int i = 0; i < element.getNote().size(); i++) { 11308 composeAnnotation(t, "FamilyMemberHistoryConditionComponent", "note", element.getNote().get(i), i); 11309 } 11310 } 11311 11312 protected void composeFlag(Complex parent, String parentType, String name, Flag element, int index) { 11313 if (element == null) 11314 return; 11315 Complex t; 11316 if (Utilities.noString(parentType)) 11317 t = parent; 11318 else { 11319 t = parent.predicate("fhir:"+parentType+'.'+name); 11320 } 11321 composeDomainResource(t, "Flag", name, element, index); 11322 for (int i = 0; i < element.getIdentifier().size(); i++) { 11323 composeIdentifier(t, "Flag", "identifier", element.getIdentifier().get(i), i); 11324 } 11325 if (element.hasStatusElement()) { 11326 composeEnum(t, "Flag", "status", element.getStatusElement(), -1); 11327 } 11328 for (int i = 0; i < element.getCategory().size(); i++) { 11329 composeCodeableConcept(t, "Flag", "category", element.getCategory().get(i), i); 11330 } 11331 if (element.hasCode()) { 11332 composeCodeableConcept(t, "Flag", "code", element.getCode(), -1); 11333 } 11334 if (element.hasSubject()) { 11335 composeReference(t, "Flag", "subject", element.getSubject(), -1); 11336 } 11337 if (element.hasPeriod()) { 11338 composePeriod(t, "Flag", "period", element.getPeriod(), -1); 11339 } 11340 if (element.hasEncounter()) { 11341 composeReference(t, "Flag", "encounter", element.getEncounter(), -1); 11342 } 11343 if (element.hasAuthor()) { 11344 composeReference(t, "Flag", "author", element.getAuthor(), -1); 11345 } 11346 } 11347 11348 protected void composeGoal(Complex parent, String parentType, String name, Goal element, int index) { 11349 if (element == null) 11350 return; 11351 Complex t; 11352 if (Utilities.noString(parentType)) 11353 t = parent; 11354 else { 11355 t = parent.predicate("fhir:"+parentType+'.'+name); 11356 } 11357 composeDomainResource(t, "Goal", name, element, index); 11358 for (int i = 0; i < element.getIdentifier().size(); i++) { 11359 composeIdentifier(t, "Goal", "identifier", element.getIdentifier().get(i), i); 11360 } 11361 if (element.hasLifecycleStatusElement()) { 11362 composeEnum(t, "Goal", "lifecycleStatus", element.getLifecycleStatusElement(), -1); 11363 } 11364 if (element.hasAchievementStatus()) { 11365 composeCodeableConcept(t, "Goal", "achievementStatus", element.getAchievementStatus(), -1); 11366 } 11367 for (int i = 0; i < element.getCategory().size(); i++) { 11368 composeCodeableConcept(t, "Goal", "category", element.getCategory().get(i), i); 11369 } 11370 if (element.hasPriority()) { 11371 composeCodeableConcept(t, "Goal", "priority", element.getPriority(), -1); 11372 } 11373 if (element.hasDescription()) { 11374 composeCodeableConcept(t, "Goal", "description", element.getDescription(), -1); 11375 } 11376 if (element.hasSubject()) { 11377 composeReference(t, "Goal", "subject", element.getSubject(), -1); 11378 } 11379 if (element.hasStart()) { 11380 composeType(t, "Goal", "start", element.getStart(), -1); 11381 } 11382 for (int i = 0; i < element.getTarget().size(); i++) { 11383 composeGoalTargetComponent(t, "Goal", "target", element.getTarget().get(i), i); 11384 } 11385 if (element.hasStatusDateElement()) { 11386 composeDate(t, "Goal", "statusDate", element.getStatusDateElement(), -1); 11387 } 11388 if (element.hasStatusReasonElement()) { 11389 composeString(t, "Goal", "statusReason", element.getStatusReasonElement(), -1); 11390 } 11391 if (element.hasExpressedBy()) { 11392 composeReference(t, "Goal", "expressedBy", element.getExpressedBy(), -1); 11393 } 11394 for (int i = 0; i < element.getAddresses().size(); i++) { 11395 composeReference(t, "Goal", "addresses", element.getAddresses().get(i), i); 11396 } 11397 for (int i = 0; i < element.getNote().size(); i++) { 11398 composeAnnotation(t, "Goal", "note", element.getNote().get(i), i); 11399 } 11400 for (int i = 0; i < element.getOutcomeCode().size(); i++) { 11401 composeCodeableConcept(t, "Goal", "outcomeCode", element.getOutcomeCode().get(i), i); 11402 } 11403 for (int i = 0; i < element.getOutcomeReference().size(); i++) { 11404 composeReference(t, "Goal", "outcomeReference", element.getOutcomeReference().get(i), i); 11405 } 11406 } 11407 11408 protected void composeGoalTargetComponent(Complex parent, String parentType, String name, Goal.GoalTargetComponent element, int index) { 11409 if (element == null) 11410 return; 11411 Complex t; 11412 if (Utilities.noString(parentType)) 11413 t = parent; 11414 else { 11415 t = parent.predicate("fhir:"+parentType+'.'+name); 11416 } 11417 composeBackboneElement(t, "target", name, element, index); 11418 if (element.hasMeasure()) { 11419 composeCodeableConcept(t, "GoalTargetComponent", "measure", element.getMeasure(), -1); 11420 } 11421 if (element.hasDetail()) { 11422 composeType(t, "GoalTargetComponent", "detail", element.getDetail(), -1); 11423 } 11424 if (element.hasDue()) { 11425 composeType(t, "GoalTargetComponent", "due", element.getDue(), -1); 11426 } 11427 } 11428 11429 protected void composeGraphDefinition(Complex parent, String parentType, String name, GraphDefinition element, int index) { 11430 if (element == null) 11431 return; 11432 Complex t; 11433 if (Utilities.noString(parentType)) 11434 t = parent; 11435 else { 11436 t = parent.predicate("fhir:"+parentType+'.'+name); 11437 } 11438 composeDomainResource(t, "GraphDefinition", name, element, index); 11439 if (element.hasUrlElement()) { 11440 composeUri(t, "GraphDefinition", "url", element.getUrlElement(), -1); 11441 } 11442 if (element.hasVersionElement()) { 11443 composeString(t, "GraphDefinition", "version", element.getVersionElement(), -1); 11444 } 11445 if (element.hasNameElement()) { 11446 composeString(t, "GraphDefinition", "name", element.getNameElement(), -1); 11447 } 11448 if (element.hasStatusElement()) { 11449 composeEnum(t, "GraphDefinition", "status", element.getStatusElement(), -1); 11450 } 11451 if (element.hasExperimentalElement()) { 11452 composeBoolean(t, "GraphDefinition", "experimental", element.getExperimentalElement(), -1); 11453 } 11454 if (element.hasDateElement()) { 11455 composeDateTime(t, "GraphDefinition", "date", element.getDateElement(), -1); 11456 } 11457 if (element.hasPublisherElement()) { 11458 composeString(t, "GraphDefinition", "publisher", element.getPublisherElement(), -1); 11459 } 11460 for (int i = 0; i < element.getContact().size(); i++) { 11461 composeContactDetail(t, "GraphDefinition", "contact", element.getContact().get(i), i); 11462 } 11463 if (element.hasDescriptionElement()) { 11464 composeMarkdown(t, "GraphDefinition", "description", element.getDescriptionElement(), -1); 11465 } 11466 for (int i = 0; i < element.getUseContext().size(); i++) { 11467 composeUsageContext(t, "GraphDefinition", "useContext", element.getUseContext().get(i), i); 11468 } 11469 for (int i = 0; i < element.getJurisdiction().size(); i++) { 11470 composeCodeableConcept(t, "GraphDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 11471 } 11472 if (element.hasPurposeElement()) { 11473 composeMarkdown(t, "GraphDefinition", "purpose", element.getPurposeElement(), -1); 11474 } 11475 if (element.hasStartElement()) { 11476 composeCode(t, "GraphDefinition", "start", element.getStartElement(), -1); 11477 } 11478 if (element.hasProfileElement()) { 11479 composeCanonical(t, "GraphDefinition", "profile", element.getProfileElement(), -1); 11480 } 11481 for (int i = 0; i < element.getLink().size(); i++) { 11482 composeGraphDefinitionLinkComponent(t, "GraphDefinition", "link", element.getLink().get(i), i); 11483 } 11484 } 11485 11486 protected void composeGraphDefinitionLinkComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkComponent element, int index) { 11487 if (element == null) 11488 return; 11489 Complex t; 11490 if (Utilities.noString(parentType)) 11491 t = parent; 11492 else { 11493 t = parent.predicate("fhir:"+parentType+'.'+name); 11494 } 11495 composeBackboneElement(t, "link", name, element, index); 11496 if (element.hasPathElement()) { 11497 composeString(t, "GraphDefinitionLinkComponent", "path", element.getPathElement(), -1); 11498 } 11499 if (element.hasSliceNameElement()) { 11500 composeString(t, "GraphDefinitionLinkComponent", "sliceName", element.getSliceNameElement(), -1); 11501 } 11502 if (element.hasMinElement()) { 11503 composeInteger(t, "GraphDefinitionLinkComponent", "min", element.getMinElement(), -1); 11504 } 11505 if (element.hasMaxElement()) { 11506 composeString(t, "GraphDefinitionLinkComponent", "max", element.getMaxElement(), -1); 11507 } 11508 if (element.hasDescriptionElement()) { 11509 composeString(t, "GraphDefinitionLinkComponent", "description", element.getDescriptionElement(), -1); 11510 } 11511 for (int i = 0; i < element.getTarget().size(); i++) { 11512 composeGraphDefinitionLinkTargetComponent(t, "GraphDefinitionLinkComponent", "target", element.getTarget().get(i), i); 11513 } 11514 } 11515 11516 protected void composeGraphDefinitionLinkTargetComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkTargetComponent element, int index) { 11517 if (element == null) 11518 return; 11519 Complex t; 11520 if (Utilities.noString(parentType)) 11521 t = parent; 11522 else { 11523 t = parent.predicate("fhir:"+parentType+'.'+name); 11524 } 11525 composeBackboneElement(t, "target", name, element, index); 11526 if (element.hasTypeElement()) { 11527 composeCode(t, "GraphDefinitionLinkTargetComponent", "type", element.getTypeElement(), -1); 11528 } 11529 if (element.hasParamsElement()) { 11530 composeString(t, "GraphDefinitionLinkTargetComponent", "params", element.getParamsElement(), -1); 11531 } 11532 if (element.hasProfileElement()) { 11533 composeCanonical(t, "GraphDefinitionLinkTargetComponent", "profile", element.getProfileElement(), -1); 11534 } 11535 for (int i = 0; i < element.getCompartment().size(); i++) { 11536 composeGraphDefinitionLinkTargetCompartmentComponent(t, "GraphDefinitionLinkTargetComponent", "compartment", element.getCompartment().get(i), i); 11537 } 11538 for (int i = 0; i < element.getLink().size(); i++) { 11539 composeGraphDefinitionLinkComponent(t, "GraphDefinitionLinkTargetComponent", "link", element.getLink().get(i), i); 11540 } 11541 } 11542 11543 protected void composeGraphDefinitionLinkTargetCompartmentComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent element, int index) { 11544 if (element == null) 11545 return; 11546 Complex t; 11547 if (Utilities.noString(parentType)) 11548 t = parent; 11549 else { 11550 t = parent.predicate("fhir:"+parentType+'.'+name); 11551 } 11552 composeBackboneElement(t, "compartment", name, element, index); 11553 if (element.hasUseElement()) { 11554 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "use", element.getUseElement(), -1); 11555 } 11556 if (element.hasCodeElement()) { 11557 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "code", element.getCodeElement(), -1); 11558 } 11559 if (element.hasRuleElement()) { 11560 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "rule", element.getRuleElement(), -1); 11561 } 11562 if (element.hasExpressionElement()) { 11563 composeString(t, "GraphDefinitionLinkTargetCompartmentComponent", "expression", element.getExpressionElement(), -1); 11564 } 11565 if (element.hasDescriptionElement()) { 11566 composeString(t, "GraphDefinitionLinkTargetCompartmentComponent", "description", element.getDescriptionElement(), -1); 11567 } 11568 } 11569 11570 protected void composeGroup(Complex parent, String parentType, String name, Group element, int index) { 11571 if (element == null) 11572 return; 11573 Complex t; 11574 if (Utilities.noString(parentType)) 11575 t = parent; 11576 else { 11577 t = parent.predicate("fhir:"+parentType+'.'+name); 11578 } 11579 composeDomainResource(t, "Group", name, element, index); 11580 for (int i = 0; i < element.getIdentifier().size(); i++) { 11581 composeIdentifier(t, "Group", "identifier", element.getIdentifier().get(i), i); 11582 } 11583 if (element.hasActiveElement()) { 11584 composeBoolean(t, "Group", "active", element.getActiveElement(), -1); 11585 } 11586 if (element.hasTypeElement()) { 11587 composeEnum(t, "Group", "type", element.getTypeElement(), -1); 11588 } 11589 if (element.hasActualElement()) { 11590 composeBoolean(t, "Group", "actual", element.getActualElement(), -1); 11591 } 11592 if (element.hasCode()) { 11593 composeCodeableConcept(t, "Group", "code", element.getCode(), -1); 11594 } 11595 if (element.hasNameElement()) { 11596 composeString(t, "Group", "name", element.getNameElement(), -1); 11597 } 11598 if (element.hasQuantityElement()) { 11599 composeUnsignedInt(t, "Group", "quantity", element.getQuantityElement(), -1); 11600 } 11601 if (element.hasManagingEntity()) { 11602 composeReference(t, "Group", "managingEntity", element.getManagingEntity(), -1); 11603 } 11604 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11605 composeGroupCharacteristicComponent(t, "Group", "characteristic", element.getCharacteristic().get(i), i); 11606 } 11607 for (int i = 0; i < element.getMember().size(); i++) { 11608 composeGroupMemberComponent(t, "Group", "member", element.getMember().get(i), i); 11609 } 11610 } 11611 11612 protected void composeGroupCharacteristicComponent(Complex parent, String parentType, String name, Group.GroupCharacteristicComponent element, int index) { 11613 if (element == null) 11614 return; 11615 Complex t; 11616 if (Utilities.noString(parentType)) 11617 t = parent; 11618 else { 11619 t = parent.predicate("fhir:"+parentType+'.'+name); 11620 } 11621 composeBackboneElement(t, "characteristic", name, element, index); 11622 if (element.hasCode()) { 11623 composeCodeableConcept(t, "GroupCharacteristicComponent", "code", element.getCode(), -1); 11624 } 11625 if (element.hasValue()) { 11626 composeType(t, "GroupCharacteristicComponent", "value", element.getValue(), -1); 11627 } 11628 if (element.hasExcludeElement()) { 11629 composeBoolean(t, "GroupCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 11630 } 11631 if (element.hasPeriod()) { 11632 composePeriod(t, "GroupCharacteristicComponent", "period", element.getPeriod(), -1); 11633 } 11634 } 11635 11636 protected void composeGroupMemberComponent(Complex parent, String parentType, String name, Group.GroupMemberComponent element, int index) { 11637 if (element == null) 11638 return; 11639 Complex t; 11640 if (Utilities.noString(parentType)) 11641 t = parent; 11642 else { 11643 t = parent.predicate("fhir:"+parentType+'.'+name); 11644 } 11645 composeBackboneElement(t, "member", name, element, index); 11646 if (element.hasEntity()) { 11647 composeReference(t, "GroupMemberComponent", "entity", element.getEntity(), -1); 11648 } 11649 if (element.hasPeriod()) { 11650 composePeriod(t, "GroupMemberComponent", "period", element.getPeriod(), -1); 11651 } 11652 if (element.hasInactiveElement()) { 11653 composeBoolean(t, "GroupMemberComponent", "inactive", element.getInactiveElement(), -1); 11654 } 11655 } 11656 11657 protected void composeGuidanceResponse(Complex parent, String parentType, String name, GuidanceResponse element, int index) { 11658 if (element == null) 11659 return; 11660 Complex t; 11661 if (Utilities.noString(parentType)) 11662 t = parent; 11663 else { 11664 t = parent.predicate("fhir:"+parentType+'.'+name); 11665 } 11666 composeDomainResource(t, "GuidanceResponse", name, element, index); 11667 if (element.hasRequestIdentifier()) { 11668 composeIdentifier(t, "GuidanceResponse", "requestIdentifier", element.getRequestIdentifier(), -1); 11669 } 11670 for (int i = 0; i < element.getIdentifier().size(); i++) { 11671 composeIdentifier(t, "GuidanceResponse", "identifier", element.getIdentifier().get(i), i); 11672 } 11673 if (element.hasModule()) { 11674 composeType(t, "GuidanceResponse", "module", element.getModule(), -1); 11675 } 11676 if (element.hasStatusElement()) { 11677 composeEnum(t, "GuidanceResponse", "status", element.getStatusElement(), -1); 11678 } 11679 if (element.hasSubject()) { 11680 composeReference(t, "GuidanceResponse", "subject", element.getSubject(), -1); 11681 } 11682 if (element.hasEncounter()) { 11683 composeReference(t, "GuidanceResponse", "encounter", element.getEncounter(), -1); 11684 } 11685 if (element.hasOccurrenceDateTimeElement()) { 11686 composeDateTime(t, "GuidanceResponse", "occurrenceDateTime", element.getOccurrenceDateTimeElement(), -1); 11687 } 11688 if (element.hasPerformer()) { 11689 composeReference(t, "GuidanceResponse", "performer", element.getPerformer(), -1); 11690 } 11691 for (int i = 0; i < element.getReasonCode().size(); i++) { 11692 composeCodeableConcept(t, "GuidanceResponse", "reasonCode", element.getReasonCode().get(i), i); 11693 } 11694 for (int i = 0; i < element.getReasonReference().size(); i++) { 11695 composeReference(t, "GuidanceResponse", "reasonReference", element.getReasonReference().get(i), i); 11696 } 11697 for (int i = 0; i < element.getNote().size(); i++) { 11698 composeAnnotation(t, "GuidanceResponse", "note", element.getNote().get(i), i); 11699 } 11700 for (int i = 0; i < element.getEvaluationMessage().size(); i++) { 11701 composeReference(t, "GuidanceResponse", "evaluationMessage", element.getEvaluationMessage().get(i), i); 11702 } 11703 if (element.hasOutputParameters()) { 11704 composeReference(t, "GuidanceResponse", "outputParameters", element.getOutputParameters(), -1); 11705 } 11706 if (element.hasResult()) { 11707 composeReference(t, "GuidanceResponse", "result", element.getResult(), -1); 11708 } 11709 for (int i = 0; i < element.getDataRequirement().size(); i++) { 11710 composeDataRequirement(t, "GuidanceResponse", "dataRequirement", element.getDataRequirement().get(i), i); 11711 } 11712 } 11713 11714 protected void composeHealthcareService(Complex parent, String parentType, String name, HealthcareService element, int index) { 11715 if (element == null) 11716 return; 11717 Complex t; 11718 if (Utilities.noString(parentType)) 11719 t = parent; 11720 else { 11721 t = parent.predicate("fhir:"+parentType+'.'+name); 11722 } 11723 composeDomainResource(t, "HealthcareService", name, element, index); 11724 for (int i = 0; i < element.getIdentifier().size(); i++) { 11725 composeIdentifier(t, "HealthcareService", "identifier", element.getIdentifier().get(i), i); 11726 } 11727 if (element.hasActiveElement()) { 11728 composeBoolean(t, "HealthcareService", "active", element.getActiveElement(), -1); 11729 } 11730 if (element.hasProvidedBy()) { 11731 composeReference(t, "HealthcareService", "providedBy", element.getProvidedBy(), -1); 11732 } 11733 for (int i = 0; i < element.getCategory().size(); i++) { 11734 composeCodeableConcept(t, "HealthcareService", "category", element.getCategory().get(i), i); 11735 } 11736 for (int i = 0; i < element.getType().size(); i++) { 11737 composeCodeableConcept(t, "HealthcareService", "type", element.getType().get(i), i); 11738 } 11739 for (int i = 0; i < element.getSpecialty().size(); i++) { 11740 composeCodeableConcept(t, "HealthcareService", "specialty", element.getSpecialty().get(i), i); 11741 } 11742 for (int i = 0; i < element.getLocation().size(); i++) { 11743 composeReference(t, "HealthcareService", "location", element.getLocation().get(i), i); 11744 } 11745 if (element.hasNameElement()) { 11746 composeString(t, "HealthcareService", "name", element.getNameElement(), -1); 11747 } 11748 if (element.hasCommentElement()) { 11749 composeString(t, "HealthcareService", "comment", element.getCommentElement(), -1); 11750 } 11751 if (element.hasExtraDetailsElement()) { 11752 composeMarkdown(t, "HealthcareService", "extraDetails", element.getExtraDetailsElement(), -1); 11753 } 11754 if (element.hasPhoto()) { 11755 composeAttachment(t, "HealthcareService", "photo", element.getPhoto(), -1); 11756 } 11757 for (int i = 0; i < element.getTelecom().size(); i++) { 11758 composeContactPoint(t, "HealthcareService", "telecom", element.getTelecom().get(i), i); 11759 } 11760 for (int i = 0; i < element.getCoverageArea().size(); i++) { 11761 composeReference(t, "HealthcareService", "coverageArea", element.getCoverageArea().get(i), i); 11762 } 11763 for (int i = 0; i < element.getServiceProvisionCode().size(); i++) { 11764 composeCodeableConcept(t, "HealthcareService", "serviceProvisionCode", element.getServiceProvisionCode().get(i), i); 11765 } 11766 for (int i = 0; i < element.getEligibility().size(); i++) { 11767 composeHealthcareServiceEligibilityComponent(t, "HealthcareService", "eligibility", element.getEligibility().get(i), i); 11768 } 11769 for (int i = 0; i < element.getProgram().size(); i++) { 11770 composeCodeableConcept(t, "HealthcareService", "program", element.getProgram().get(i), i); 11771 } 11772 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11773 composeCodeableConcept(t, "HealthcareService", "characteristic", element.getCharacteristic().get(i), i); 11774 } 11775 for (int i = 0; i < element.getCommunication().size(); i++) { 11776 composeCodeableConcept(t, "HealthcareService", "communication", element.getCommunication().get(i), i); 11777 } 11778 for (int i = 0; i < element.getReferralMethod().size(); i++) { 11779 composeCodeableConcept(t, "HealthcareService", "referralMethod", element.getReferralMethod().get(i), i); 11780 } 11781 if (element.hasAppointmentRequiredElement()) { 11782 composeBoolean(t, "HealthcareService", "appointmentRequired", element.getAppointmentRequiredElement(), -1); 11783 } 11784 for (int i = 0; i < element.getAvailableTime().size(); i++) { 11785 composeHealthcareServiceAvailableTimeComponent(t, "HealthcareService", "availableTime", element.getAvailableTime().get(i), i); 11786 } 11787 for (int i = 0; i < element.getNotAvailable().size(); i++) { 11788 composeHealthcareServiceNotAvailableComponent(t, "HealthcareService", "notAvailable", element.getNotAvailable().get(i), i); 11789 } 11790 if (element.hasAvailabilityExceptionsElement()) { 11791 composeString(t, "HealthcareService", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 11792 } 11793 for (int i = 0; i < element.getEndpoint().size(); i++) { 11794 composeReference(t, "HealthcareService", "endpoint", element.getEndpoint().get(i), i); 11795 } 11796 } 11797 11798 protected void composeHealthcareServiceEligibilityComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceEligibilityComponent element, int index) { 11799 if (element == null) 11800 return; 11801 Complex t; 11802 if (Utilities.noString(parentType)) 11803 t = parent; 11804 else { 11805 t = parent.predicate("fhir:"+parentType+'.'+name); 11806 } 11807 composeBackboneElement(t, "eligibility", name, element, index); 11808 if (element.hasCode()) { 11809 composeCodeableConcept(t, "HealthcareServiceEligibilityComponent", "code", element.getCode(), -1); 11810 } 11811 if (element.hasCommentElement()) { 11812 composeMarkdown(t, "HealthcareServiceEligibilityComponent", "comment", element.getCommentElement(), -1); 11813 } 11814 } 11815 11816 protected void composeHealthcareServiceAvailableTimeComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceAvailableTimeComponent element, int index) { 11817 if (element == null) 11818 return; 11819 Complex t; 11820 if (Utilities.noString(parentType)) 11821 t = parent; 11822 else { 11823 t = parent.predicate("fhir:"+parentType+'.'+name); 11824 } 11825 composeBackboneElement(t, "availableTime", name, element, index); 11826 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 11827 composeEnum(t, "HealthcareServiceAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 11828 } 11829 if (element.hasAllDayElement()) { 11830 composeBoolean(t, "HealthcareServiceAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); 11831 } 11832 if (element.hasAvailableStartTimeElement()) { 11833 composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); 11834 } 11835 if (element.hasAvailableEndTimeElement()) { 11836 composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); 11837 } 11838 } 11839 11840 protected void composeHealthcareServiceNotAvailableComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceNotAvailableComponent element, int index) { 11841 if (element == null) 11842 return; 11843 Complex t; 11844 if (Utilities.noString(parentType)) 11845 t = parent; 11846 else { 11847 t = parent.predicate("fhir:"+parentType+'.'+name); 11848 } 11849 composeBackboneElement(t, "notAvailable", name, element, index); 11850 if (element.hasDescriptionElement()) { 11851 composeString(t, "HealthcareServiceNotAvailableComponent", "description", element.getDescriptionElement(), -1); 11852 } 11853 if (element.hasDuring()) { 11854 composePeriod(t, "HealthcareServiceNotAvailableComponent", "during", element.getDuring(), -1); 11855 } 11856 } 11857 11858 protected void composeImagingStudy(Complex parent, String parentType, String name, ImagingStudy element, int index) { 11859 if (element == null) 11860 return; 11861 Complex t; 11862 if (Utilities.noString(parentType)) 11863 t = parent; 11864 else { 11865 t = parent.predicate("fhir:"+parentType+'.'+name); 11866 } 11867 composeDomainResource(t, "ImagingStudy", name, element, index); 11868 for (int i = 0; i < element.getIdentifier().size(); i++) { 11869 composeIdentifier(t, "ImagingStudy", "identifier", element.getIdentifier().get(i), i); 11870 } 11871 if (element.hasStatusElement()) { 11872 composeEnum(t, "ImagingStudy", "status", element.getStatusElement(), -1); 11873 } 11874 for (int i = 0; i < element.getModality().size(); i++) { 11875 composeCoding(t, "ImagingStudy", "modality", element.getModality().get(i), i); 11876 } 11877 if (element.hasSubject()) { 11878 composeReference(t, "ImagingStudy", "subject", element.getSubject(), -1); 11879 } 11880 if (element.hasEncounter()) { 11881 composeReference(t, "ImagingStudy", "encounter", element.getEncounter(), -1); 11882 } 11883 if (element.hasStartedElement()) { 11884 composeDateTime(t, "ImagingStudy", "started", element.getStartedElement(), -1); 11885 } 11886 for (int i = 0; i < element.getBasedOn().size(); i++) { 11887 composeReference(t, "ImagingStudy", "basedOn", element.getBasedOn().get(i), i); 11888 } 11889 if (element.hasReferrer()) { 11890 composeReference(t, "ImagingStudy", "referrer", element.getReferrer(), -1); 11891 } 11892 for (int i = 0; i < element.getInterpreter().size(); i++) { 11893 composeReference(t, "ImagingStudy", "interpreter", element.getInterpreter().get(i), i); 11894 } 11895 for (int i = 0; i < element.getEndpoint().size(); i++) { 11896 composeReference(t, "ImagingStudy", "endpoint", element.getEndpoint().get(i), i); 11897 } 11898 if (element.hasNumberOfSeriesElement()) { 11899 composeUnsignedInt(t, "ImagingStudy", "numberOfSeries", element.getNumberOfSeriesElement(), -1); 11900 } 11901 if (element.hasNumberOfInstancesElement()) { 11902 composeUnsignedInt(t, "ImagingStudy", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 11903 } 11904 if (element.hasProcedureReference()) { 11905 composeReference(t, "ImagingStudy", "procedureReference", element.getProcedureReference(), -1); 11906 } 11907 for (int i = 0; i < element.getProcedureCode().size(); i++) { 11908 composeCodeableConcept(t, "ImagingStudy", "procedureCode", element.getProcedureCode().get(i), i); 11909 } 11910 if (element.hasLocation()) { 11911 composeReference(t, "ImagingStudy", "location", element.getLocation(), -1); 11912 } 11913 for (int i = 0; i < element.getReasonCode().size(); i++) { 11914 composeCodeableConcept(t, "ImagingStudy", "reasonCode", element.getReasonCode().get(i), i); 11915 } 11916 for (int i = 0; i < element.getReasonReference().size(); i++) { 11917 composeReference(t, "ImagingStudy", "reasonReference", element.getReasonReference().get(i), i); 11918 } 11919 for (int i = 0; i < element.getNote().size(); i++) { 11920 composeAnnotation(t, "ImagingStudy", "note", element.getNote().get(i), i); 11921 } 11922 if (element.hasDescriptionElement()) { 11923 composeString(t, "ImagingStudy", "description", element.getDescriptionElement(), -1); 11924 } 11925 for (int i = 0; i < element.getSeries().size(); i++) { 11926 composeImagingStudySeriesComponent(t, "ImagingStudy", "series", element.getSeries().get(i), i); 11927 } 11928 } 11929 11930 protected void composeImagingStudySeriesComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesComponent element, int index) { 11931 if (element == null) 11932 return; 11933 Complex t; 11934 if (Utilities.noString(parentType)) 11935 t = parent; 11936 else { 11937 t = parent.predicate("fhir:"+parentType+'.'+name); 11938 } 11939 composeBackboneElement(t, "series", name, element, index); 11940 if (element.hasUidElement()) { 11941 composeId(t, "ImagingStudySeriesComponent", "uid", element.getUidElement(), -1); 11942 } 11943 if (element.hasNumberElement()) { 11944 composeUnsignedInt(t, "ImagingStudySeriesComponent", "number", element.getNumberElement(), -1); 11945 } 11946 if (element.hasModality()) { 11947 composeCoding(t, "ImagingStudySeriesComponent", "modality", element.getModality(), -1); 11948 } 11949 if (element.hasDescriptionElement()) { 11950 composeString(t, "ImagingStudySeriesComponent", "description", element.getDescriptionElement(), -1); 11951 } 11952 if (element.hasNumberOfInstancesElement()) { 11953 composeUnsignedInt(t, "ImagingStudySeriesComponent", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 11954 } 11955 for (int i = 0; i < element.getEndpoint().size(); i++) { 11956 composeReference(t, "ImagingStudySeriesComponent", "endpoint", element.getEndpoint().get(i), i); 11957 } 11958 if (element.hasBodySite()) { 11959 composeCoding(t, "ImagingStudySeriesComponent", "bodySite", element.getBodySite(), -1); 11960 } 11961 if (element.hasLaterality()) { 11962 composeCoding(t, "ImagingStudySeriesComponent", "laterality", element.getLaterality(), -1); 11963 } 11964 for (int i = 0; i < element.getSpecimen().size(); i++) { 11965 composeReference(t, "ImagingStudySeriesComponent", "specimen", element.getSpecimen().get(i), i); 11966 } 11967 if (element.hasStartedElement()) { 11968 composeDateTime(t, "ImagingStudySeriesComponent", "started", element.getStartedElement(), -1); 11969 } 11970 for (int i = 0; i < element.getPerformer().size(); i++) { 11971 composeImagingStudySeriesPerformerComponent(t, "ImagingStudySeriesComponent", "performer", element.getPerformer().get(i), i); 11972 } 11973 for (int i = 0; i < element.getInstance().size(); i++) { 11974 composeImagingStudySeriesInstanceComponent(t, "ImagingStudySeriesComponent", "instance", element.getInstance().get(i), i); 11975 } 11976 } 11977 11978 protected void composeImagingStudySeriesPerformerComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesPerformerComponent element, int index) { 11979 if (element == null) 11980 return; 11981 Complex t; 11982 if (Utilities.noString(parentType)) 11983 t = parent; 11984 else { 11985 t = parent.predicate("fhir:"+parentType+'.'+name); 11986 } 11987 composeBackboneElement(t, "performer", name, element, index); 11988 if (element.hasFunction()) { 11989 composeCodeableConcept(t, "ImagingStudySeriesPerformerComponent", "function", element.getFunction(), -1); 11990 } 11991 if (element.hasActor()) { 11992 composeReference(t, "ImagingStudySeriesPerformerComponent", "actor", element.getActor(), -1); 11993 } 11994 } 11995 11996 protected void composeImagingStudySeriesInstanceComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesInstanceComponent element, int index) { 11997 if (element == null) 11998 return; 11999 Complex t; 12000 if (Utilities.noString(parentType)) 12001 t = parent; 12002 else { 12003 t = parent.predicate("fhir:"+parentType+'.'+name); 12004 } 12005 composeBackboneElement(t, "instance", name, element, index); 12006 if (element.hasUidElement()) { 12007 composeId(t, "ImagingStudySeriesInstanceComponent", "uid", element.getUidElement(), -1); 12008 } 12009 if (element.hasSopClass()) { 12010 composeCoding(t, "ImagingStudySeriesInstanceComponent", "sopClass", element.getSopClass(), -1); 12011 } 12012 if (element.hasNumberElement()) { 12013 composeUnsignedInt(t, "ImagingStudySeriesInstanceComponent", "number", element.getNumberElement(), -1); 12014 } 12015 if (element.hasTitleElement()) { 12016 composeString(t, "ImagingStudySeriesInstanceComponent", "title", element.getTitleElement(), -1); 12017 } 12018 } 12019 12020 protected void composeImmunization(Complex parent, String parentType, String name, Immunization element, int index) { 12021 if (element == null) 12022 return; 12023 Complex t; 12024 if (Utilities.noString(parentType)) 12025 t = parent; 12026 else { 12027 t = parent.predicate("fhir:"+parentType+'.'+name); 12028 } 12029 composeDomainResource(t, "Immunization", name, element, index); 12030 for (int i = 0; i < element.getIdentifier().size(); i++) { 12031 composeIdentifier(t, "Immunization", "identifier", element.getIdentifier().get(i), i); 12032 } 12033 if (element.hasStatusElement()) { 12034 composeEnum(t, "Immunization", "status", element.getStatusElement(), -1); 12035 } 12036 if (element.hasStatusReason()) { 12037 composeCodeableConcept(t, "Immunization", "statusReason", element.getStatusReason(), -1); 12038 } 12039 if (element.hasVaccineCode()) { 12040 composeCodeableConcept(t, "Immunization", "vaccineCode", element.getVaccineCode(), -1); 12041 } 12042 if (element.hasPatient()) { 12043 composeReference(t, "Immunization", "patient", element.getPatient(), -1); 12044 } 12045 if (element.hasEncounter()) { 12046 composeReference(t, "Immunization", "encounter", element.getEncounter(), -1); 12047 } 12048 if (element.hasOccurrence()) { 12049 composeType(t, "Immunization", "occurrence", element.getOccurrence(), -1); 12050 } 12051 if (element.hasRecordedElement()) { 12052 composeDateTime(t, "Immunization", "recorded", element.getRecordedElement(), -1); 12053 } 12054 if (element.hasPrimarySourceElement()) { 12055 composeBoolean(t, "Immunization", "primarySource", element.getPrimarySourceElement(), -1); 12056 } 12057 if (element.hasReportOrigin()) { 12058 composeCodeableConcept(t, "Immunization", "reportOrigin", element.getReportOrigin(), -1); 12059 } 12060 if (element.hasLocation()) { 12061 composeReference(t, "Immunization", "location", element.getLocation(), -1); 12062 } 12063 if (element.hasManufacturer()) { 12064 composeReference(t, "Immunization", "manufacturer", element.getManufacturer(), -1); 12065 } 12066 if (element.hasLotNumberElement()) { 12067 composeString(t, "Immunization", "lotNumber", element.getLotNumberElement(), -1); 12068 } 12069 if (element.hasExpirationDateElement()) { 12070 composeDate(t, "Immunization", "expirationDate", element.getExpirationDateElement(), -1); 12071 } 12072 if (element.hasSite()) { 12073 composeCodeableConcept(t, "Immunization", "site", element.getSite(), -1); 12074 } 12075 if (element.hasRoute()) { 12076 composeCodeableConcept(t, "Immunization", "route", element.getRoute(), -1); 12077 } 12078 if (element.hasDoseQuantity()) { 12079 composeQuantity(t, "Immunization", "doseQuantity", element.getDoseQuantity(), -1); 12080 } 12081 for (int i = 0; i < element.getPerformer().size(); i++) { 12082 composeImmunizationPerformerComponent(t, "Immunization", "performer", element.getPerformer().get(i), i); 12083 } 12084 for (int i = 0; i < element.getNote().size(); i++) { 12085 composeAnnotation(t, "Immunization", "note", element.getNote().get(i), i); 12086 } 12087 for (int i = 0; i < element.getReasonCode().size(); i++) { 12088 composeCodeableConcept(t, "Immunization", "reasonCode", element.getReasonCode().get(i), i); 12089 } 12090 for (int i = 0; i < element.getReasonReference().size(); i++) { 12091 composeReference(t, "Immunization", "reasonReference", element.getReasonReference().get(i), i); 12092 } 12093 if (element.hasIsSubpotentElement()) { 12094 composeBoolean(t, "Immunization", "isSubpotent", element.getIsSubpotentElement(), -1); 12095 } 12096 for (int i = 0; i < element.getSubpotentReason().size(); i++) { 12097 composeCodeableConcept(t, "Immunization", "subpotentReason", element.getSubpotentReason().get(i), i); 12098 } 12099 for (int i = 0; i < element.getEducation().size(); i++) { 12100 composeImmunizationEducationComponent(t, "Immunization", "education", element.getEducation().get(i), i); 12101 } 12102 for (int i = 0; i < element.getProgramEligibility().size(); i++) { 12103 composeCodeableConcept(t, "Immunization", "programEligibility", element.getProgramEligibility().get(i), i); 12104 } 12105 if (element.hasFundingSource()) { 12106 composeCodeableConcept(t, "Immunization", "fundingSource", element.getFundingSource(), -1); 12107 } 12108 for (int i = 0; i < element.getReaction().size(); i++) { 12109 composeImmunizationReactionComponent(t, "Immunization", "reaction", element.getReaction().get(i), i); 12110 } 12111 for (int i = 0; i < element.getProtocolApplied().size(); i++) { 12112 composeImmunizationProtocolAppliedComponent(t, "Immunization", "protocolApplied", element.getProtocolApplied().get(i), i); 12113 } 12114 } 12115 12116 protected void composeImmunizationPerformerComponent(Complex parent, String parentType, String name, Immunization.ImmunizationPerformerComponent element, int index) { 12117 if (element == null) 12118 return; 12119 Complex t; 12120 if (Utilities.noString(parentType)) 12121 t = parent; 12122 else { 12123 t = parent.predicate("fhir:"+parentType+'.'+name); 12124 } 12125 composeBackboneElement(t, "performer", name, element, index); 12126 if (element.hasFunction()) { 12127 composeCodeableConcept(t, "ImmunizationPerformerComponent", "function", element.getFunction(), -1); 12128 } 12129 if (element.hasActor()) { 12130 composeReference(t, "ImmunizationPerformerComponent", "actor", element.getActor(), -1); 12131 } 12132 } 12133 12134 protected void composeImmunizationEducationComponent(Complex parent, String parentType, String name, Immunization.ImmunizationEducationComponent element, int index) { 12135 if (element == null) 12136 return; 12137 Complex t; 12138 if (Utilities.noString(parentType)) 12139 t = parent; 12140 else { 12141 t = parent.predicate("fhir:"+parentType+'.'+name); 12142 } 12143 composeBackboneElement(t, "education", name, element, index); 12144 if (element.hasDocumentTypeElement()) { 12145 composeString(t, "ImmunizationEducationComponent", "documentType", element.getDocumentTypeElement(), -1); 12146 } 12147 if (element.hasReferenceElement()) { 12148 composeUri(t, "ImmunizationEducationComponent", "reference", element.getReferenceElement(), -1); 12149 } 12150 if (element.hasPublicationDateElement()) { 12151 composeDateTime(t, "ImmunizationEducationComponent", "publicationDate", element.getPublicationDateElement(), -1); 12152 } 12153 if (element.hasPresentationDateElement()) { 12154 composeDateTime(t, "ImmunizationEducationComponent", "presentationDate", element.getPresentationDateElement(), -1); 12155 } 12156 } 12157 12158 protected void composeImmunizationReactionComponent(Complex parent, String parentType, String name, Immunization.ImmunizationReactionComponent element, int index) { 12159 if (element == null) 12160 return; 12161 Complex t; 12162 if (Utilities.noString(parentType)) 12163 t = parent; 12164 else { 12165 t = parent.predicate("fhir:"+parentType+'.'+name); 12166 } 12167 composeBackboneElement(t, "reaction", name, element, index); 12168 if (element.hasDateElement()) { 12169 composeDateTime(t, "ImmunizationReactionComponent", "date", element.getDateElement(), -1); 12170 } 12171 if (element.hasDetail()) { 12172 composeReference(t, "ImmunizationReactionComponent", "detail", element.getDetail(), -1); 12173 } 12174 if (element.hasReportedElement()) { 12175 composeBoolean(t, "ImmunizationReactionComponent", "reported", element.getReportedElement(), -1); 12176 } 12177 } 12178 12179 protected void composeImmunizationProtocolAppliedComponent(Complex parent, String parentType, String name, Immunization.ImmunizationProtocolAppliedComponent element, int index) { 12180 if (element == null) 12181 return; 12182 Complex t; 12183 if (Utilities.noString(parentType)) 12184 t = parent; 12185 else { 12186 t = parent.predicate("fhir:"+parentType+'.'+name); 12187 } 12188 composeBackboneElement(t, "protocolApplied", name, element, index); 12189 if (element.hasSeriesElement()) { 12190 composeString(t, "ImmunizationProtocolAppliedComponent", "series", element.getSeriesElement(), -1); 12191 } 12192 if (element.hasAuthority()) { 12193 composeReference(t, "ImmunizationProtocolAppliedComponent", "authority", element.getAuthority(), -1); 12194 } 12195 for (int i = 0; i < element.getTargetDisease().size(); i++) { 12196 composeCodeableConcept(t, "ImmunizationProtocolAppliedComponent", "targetDisease", element.getTargetDisease().get(i), i); 12197 } 12198 if (element.hasDoseNumber()) { 12199 composeType(t, "ImmunizationProtocolAppliedComponent", "doseNumber", element.getDoseNumber(), -1); 12200 } 12201 if (element.hasSeriesDoses()) { 12202 composeType(t, "ImmunizationProtocolAppliedComponent", "seriesDoses", element.getSeriesDoses(), -1); 12203 } 12204 } 12205 12206 protected void composeImmunizationEvaluation(Complex parent, String parentType, String name, ImmunizationEvaluation element, int index) { 12207 if (element == null) 12208 return; 12209 Complex t; 12210 if (Utilities.noString(parentType)) 12211 t = parent; 12212 else { 12213 t = parent.predicate("fhir:"+parentType+'.'+name); 12214 } 12215 composeDomainResource(t, "ImmunizationEvaluation", name, element, index); 12216 for (int i = 0; i < element.getIdentifier().size(); i++) { 12217 composeIdentifier(t, "ImmunizationEvaluation", "identifier", element.getIdentifier().get(i), i); 12218 } 12219 if (element.hasStatusElement()) { 12220 composeEnum(t, "ImmunizationEvaluation", "status", element.getStatusElement(), -1); 12221 } 12222 if (element.hasPatient()) { 12223 composeReference(t, "ImmunizationEvaluation", "patient", element.getPatient(), -1); 12224 } 12225 if (element.hasDateElement()) { 12226 composeDateTime(t, "ImmunizationEvaluation", "date", element.getDateElement(), -1); 12227 } 12228 if (element.hasAuthority()) { 12229 composeReference(t, "ImmunizationEvaluation", "authority", element.getAuthority(), -1); 12230 } 12231 if (element.hasTargetDisease()) { 12232 composeCodeableConcept(t, "ImmunizationEvaluation", "targetDisease", element.getTargetDisease(), -1); 12233 } 12234 if (element.hasImmunizationEvent()) { 12235 composeReference(t, "ImmunizationEvaluation", "immunizationEvent", element.getImmunizationEvent(), -1); 12236 } 12237 if (element.hasDoseStatus()) { 12238 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatus", element.getDoseStatus(), -1); 12239 } 12240 for (int i = 0; i < element.getDoseStatusReason().size(); i++) { 12241 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatusReason", element.getDoseStatusReason().get(i), i); 12242 } 12243 if (element.hasDescriptionElement()) { 12244 composeString(t, "ImmunizationEvaluation", "description", element.getDescriptionElement(), -1); 12245 } 12246 if (element.hasSeriesElement()) { 12247 composeString(t, "ImmunizationEvaluation", "series", element.getSeriesElement(), -1); 12248 } 12249 if (element.hasDoseNumber()) { 12250 composeType(t, "ImmunizationEvaluation", "doseNumber", element.getDoseNumber(), -1); 12251 } 12252 if (element.hasSeriesDoses()) { 12253 composeType(t, "ImmunizationEvaluation", "seriesDoses", element.getSeriesDoses(), -1); 12254 } 12255 } 12256 12257 protected void composeImmunizationRecommendation(Complex parent, String parentType, String name, ImmunizationRecommendation element, int index) { 12258 if (element == null) 12259 return; 12260 Complex t; 12261 if (Utilities.noString(parentType)) 12262 t = parent; 12263 else { 12264 t = parent.predicate("fhir:"+parentType+'.'+name); 12265 } 12266 composeDomainResource(t, "ImmunizationRecommendation", name, element, index); 12267 for (int i = 0; i < element.getIdentifier().size(); i++) { 12268 composeIdentifier(t, "ImmunizationRecommendation", "identifier", element.getIdentifier().get(i), i); 12269 } 12270 if (element.hasPatient()) { 12271 composeReference(t, "ImmunizationRecommendation", "patient", element.getPatient(), -1); 12272 } 12273 if (element.hasDateElement()) { 12274 composeDateTime(t, "ImmunizationRecommendation", "date", element.getDateElement(), -1); 12275 } 12276 if (element.hasAuthority()) { 12277 composeReference(t, "ImmunizationRecommendation", "authority", element.getAuthority(), -1); 12278 } 12279 for (int i = 0; i < element.getRecommendation().size(); i++) { 12280 composeImmunizationRecommendationRecommendationComponent(t, "ImmunizationRecommendation", "recommendation", element.getRecommendation().get(i), i); 12281 } 12282 } 12283 12284 protected void composeImmunizationRecommendationRecommendationComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element, int index) { 12285 if (element == null) 12286 return; 12287 Complex t; 12288 if (Utilities.noString(parentType)) 12289 t = parent; 12290 else { 12291 t = parent.predicate("fhir:"+parentType+'.'+name); 12292 } 12293 composeBackboneElement(t, "recommendation", name, element, index); 12294 for (int i = 0; i < element.getVaccineCode().size(); i++) { 12295 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "vaccineCode", element.getVaccineCode().get(i), i); 12296 } 12297 if (element.hasTargetDisease()) { 12298 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "targetDisease", element.getTargetDisease(), -1); 12299 } 12300 for (int i = 0; i < element.getContraindicatedVaccineCode().size(); i++) { 12301 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "contraindicatedVaccineCode", element.getContraindicatedVaccineCode().get(i), i); 12302 } 12303 if (element.hasForecastStatus()) { 12304 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastStatus", element.getForecastStatus(), -1); 12305 } 12306 for (int i = 0; i < element.getForecastReason().size(); i++) { 12307 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastReason", element.getForecastReason().get(i), i); 12308 } 12309 for (int i = 0; i < element.getDateCriterion().size(); i++) { 12310 composeImmunizationRecommendationRecommendationDateCriterionComponent(t, "ImmunizationRecommendationRecommendationComponent", "dateCriterion", element.getDateCriterion().get(i), i); 12311 } 12312 if (element.hasDescriptionElement()) { 12313 composeString(t, "ImmunizationRecommendationRecommendationComponent", "description", element.getDescriptionElement(), -1); 12314 } 12315 if (element.hasSeriesElement()) { 12316 composeString(t, "ImmunizationRecommendationRecommendationComponent", "series", element.getSeriesElement(), -1); 12317 } 12318 if (element.hasDoseNumber()) { 12319 composeType(t, "ImmunizationRecommendationRecommendationComponent", "doseNumber", element.getDoseNumber(), -1); 12320 } 12321 if (element.hasSeriesDoses()) { 12322 composeType(t, "ImmunizationRecommendationRecommendationComponent", "seriesDoses", element.getSeriesDoses(), -1); 12323 } 12324 for (int i = 0; i < element.getSupportingImmunization().size(); i++) { 12325 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingImmunization", element.getSupportingImmunization().get(i), i); 12326 } 12327 for (int i = 0; i < element.getSupportingPatientInformation().size(); i++) { 12328 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingPatientInformation", element.getSupportingPatientInformation().get(i), i); 12329 } 12330 } 12331 12332 protected void composeImmunizationRecommendationRecommendationDateCriterionComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element, int index) { 12333 if (element == null) 12334 return; 12335 Complex t; 12336 if (Utilities.noString(parentType)) 12337 t = parent; 12338 else { 12339 t = parent.predicate("fhir:"+parentType+'.'+name); 12340 } 12341 composeBackboneElement(t, "dateCriterion", name, element, index); 12342 if (element.hasCode()) { 12343 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "code", element.getCode(), -1); 12344 } 12345 if (element.hasValueElement()) { 12346 composeDateTime(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "value", element.getValueElement(), -1); 12347 } 12348 } 12349 12350 protected void composeImplementationGuide(Complex parent, String parentType, String name, ImplementationGuide element, int index) { 12351 if (element == null) 12352 return; 12353 Complex t; 12354 if (Utilities.noString(parentType)) 12355 t = parent; 12356 else { 12357 t = parent.predicate("fhir:"+parentType+'.'+name); 12358 } 12359 composeDomainResource(t, "ImplementationGuide", name, element, index); 12360 if (element.hasUrlElement()) { 12361 composeUri(t, "ImplementationGuide", "url", element.getUrlElement(), -1); 12362 } 12363 if (element.hasVersionElement()) { 12364 composeString(t, "ImplementationGuide", "version", element.getVersionElement(), -1); 12365 } 12366 if (element.hasNameElement()) { 12367 composeString(t, "ImplementationGuide", "name", element.getNameElement(), -1); 12368 } 12369 if (element.hasTitleElement()) { 12370 composeString(t, "ImplementationGuide", "title", element.getTitleElement(), -1); 12371 } 12372 if (element.hasStatusElement()) { 12373 composeEnum(t, "ImplementationGuide", "status", element.getStatusElement(), -1); 12374 } 12375 if (element.hasExperimentalElement()) { 12376 composeBoolean(t, "ImplementationGuide", "experimental", element.getExperimentalElement(), -1); 12377 } 12378 if (element.hasDateElement()) { 12379 composeDateTime(t, "ImplementationGuide", "date", element.getDateElement(), -1); 12380 } 12381 if (element.hasPublisherElement()) { 12382 composeString(t, "ImplementationGuide", "publisher", element.getPublisherElement(), -1); 12383 } 12384 for (int i = 0; i < element.getContact().size(); i++) { 12385 composeContactDetail(t, "ImplementationGuide", "contact", element.getContact().get(i), i); 12386 } 12387 if (element.hasDescriptionElement()) { 12388 composeMarkdown(t, "ImplementationGuide", "description", element.getDescriptionElement(), -1); 12389 } 12390 for (int i = 0; i < element.getUseContext().size(); i++) { 12391 composeUsageContext(t, "ImplementationGuide", "useContext", element.getUseContext().get(i), i); 12392 } 12393 for (int i = 0; i < element.getJurisdiction().size(); i++) { 12394 composeCodeableConcept(t, "ImplementationGuide", "jurisdiction", element.getJurisdiction().get(i), i); 12395 } 12396 if (element.hasCopyrightElement()) { 12397 composeMarkdown(t, "ImplementationGuide", "copyright", element.getCopyrightElement(), -1); 12398 } 12399 if (element.hasPackageIdElement()) { 12400 composeId(t, "ImplementationGuide", "packageId", element.getPackageIdElement(), -1); 12401 } 12402 if (element.hasLicenseElement()) { 12403 composeEnum(t, "ImplementationGuide", "license", element.getLicenseElement(), -1); 12404 } 12405 for (int i = 0; i < element.getFhirVersion().size(); i++) { 12406 composeEnum(t, "ImplementationGuide", "fhirVersion", element.getFhirVersion().get(i), i); 12407 } 12408 for (int i = 0; i < element.getDependsOn().size(); i++) { 12409 composeImplementationGuideDependsOnComponent(t, "ImplementationGuide", "dependsOn", element.getDependsOn().get(i), i); 12410 } 12411 for (int i = 0; i < element.getGlobal().size(); i++) { 12412 composeImplementationGuideGlobalComponent(t, "ImplementationGuide", "global", element.getGlobal().get(i), i); 12413 } 12414 if (element.hasDefinition()) { 12415 composeImplementationGuideDefinitionComponent(t, "ImplementationGuide", "definition", element.getDefinition(), -1); 12416 } 12417 if (element.hasManifest()) { 12418 composeImplementationGuideManifestComponent(t, "ImplementationGuide", "manifest", element.getManifest(), -1); 12419 } 12420 } 12421 12422 protected void composeImplementationGuideDependsOnComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDependsOnComponent element, int index) { 12423 if (element == null) 12424 return; 12425 Complex t; 12426 if (Utilities.noString(parentType)) 12427 t = parent; 12428 else { 12429 t = parent.predicate("fhir:"+parentType+'.'+name); 12430 } 12431 composeBackboneElement(t, "dependsOn", name, element, index); 12432 if (element.hasUriElement()) { 12433 composeCanonical(t, "ImplementationGuideDependsOnComponent", "uri", element.getUriElement(), -1); 12434 } 12435 if (element.hasPackageIdElement()) { 12436 composeId(t, "ImplementationGuideDependsOnComponent", "packageId", element.getPackageIdElement(), -1); 12437 } 12438 if (element.hasVersionElement()) { 12439 composeString(t, "ImplementationGuideDependsOnComponent", "version", element.getVersionElement(), -1); 12440 } 12441 } 12442 12443 protected void composeImplementationGuideGlobalComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideGlobalComponent element, int index) { 12444 if (element == null) 12445 return; 12446 Complex t; 12447 if (Utilities.noString(parentType)) 12448 t = parent; 12449 else { 12450 t = parent.predicate("fhir:"+parentType+'.'+name); 12451 } 12452 composeBackboneElement(t, "global", name, element, index); 12453 if (element.hasTypeElement()) { 12454 composeCode(t, "ImplementationGuideGlobalComponent", "type", element.getTypeElement(), -1); 12455 } 12456 if (element.hasProfileElement()) { 12457 composeCanonical(t, "ImplementationGuideGlobalComponent", "profile", element.getProfileElement(), -1); 12458 } 12459 } 12460 12461 protected void composeImplementationGuideDefinitionComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionComponent element, int index) { 12462 if (element == null) 12463 return; 12464 Complex t; 12465 if (Utilities.noString(parentType)) 12466 t = parent; 12467 else { 12468 t = parent.predicate("fhir:"+parentType+'.'+name); 12469 } 12470 composeBackboneElement(t, "definition", name, element, index); 12471 for (int i = 0; i < element.getGrouping().size(); i++) { 12472 composeImplementationGuideDefinitionGroupingComponent(t, "ImplementationGuideDefinitionComponent", "grouping", element.getGrouping().get(i), i); 12473 } 12474 for (int i = 0; i < element.getResource().size(); i++) { 12475 composeImplementationGuideDefinitionResourceComponent(t, "ImplementationGuideDefinitionComponent", "resource", element.getResource().get(i), i); 12476 } 12477 if (element.hasPage()) { 12478 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionComponent", "page", element.getPage(), -1); 12479 } 12480 for (int i = 0; i < element.getParameter().size(); i++) { 12481 composeImplementationGuideDefinitionParameterComponent(t, "ImplementationGuideDefinitionComponent", "parameter", element.getParameter().get(i), i); 12482 } 12483 for (int i = 0; i < element.getTemplate().size(); i++) { 12484 composeImplementationGuideDefinitionTemplateComponent(t, "ImplementationGuideDefinitionComponent", "template", element.getTemplate().get(i), i); 12485 } 12486 } 12487 12488 protected void composeImplementationGuideDefinitionGroupingComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionGroupingComponent element, int index) { 12489 if (element == null) 12490 return; 12491 Complex t; 12492 if (Utilities.noString(parentType)) 12493 t = parent; 12494 else { 12495 t = parent.predicate("fhir:"+parentType+'.'+name); 12496 } 12497 composeBackboneElement(t, "grouping", name, element, index); 12498 if (element.hasNameElement()) { 12499 composeString(t, "ImplementationGuideDefinitionGroupingComponent", "name", element.getNameElement(), -1); 12500 } 12501 if (element.hasDescriptionElement()) { 12502 composeString(t, "ImplementationGuideDefinitionGroupingComponent", "description", element.getDescriptionElement(), -1); 12503 } 12504 } 12505 12506 protected void composeImplementationGuideDefinitionResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionResourceComponent element, int index) { 12507 if (element == null) 12508 return; 12509 Complex t; 12510 if (Utilities.noString(parentType)) 12511 t = parent; 12512 else { 12513 t = parent.predicate("fhir:"+parentType+'.'+name); 12514 } 12515 composeBackboneElement(t, "resource", name, element, index); 12516 if (element.hasReference()) { 12517 composeReference(t, "ImplementationGuideDefinitionResourceComponent", "reference", element.getReference(), -1); 12518 } 12519 for (int i = 0; i < element.getFhirVersion().size(); i++) { 12520 composeEnum(t, "ImplementationGuideDefinitionResourceComponent", "fhirVersion", element.getFhirVersion().get(i), i); 12521 } 12522 if (element.hasNameElement()) { 12523 composeString(t, "ImplementationGuideDefinitionResourceComponent", "name", element.getNameElement(), -1); 12524 } 12525 if (element.hasDescriptionElement()) { 12526 composeString(t, "ImplementationGuideDefinitionResourceComponent", "description", element.getDescriptionElement(), -1); 12527 } 12528 if (element.hasExample()) { 12529 composeType(t, "ImplementationGuideDefinitionResourceComponent", "example", element.getExample(), -1); 12530 } 12531 if (element.hasGroupingIdElement()) { 12532 composeId(t, "ImplementationGuideDefinitionResourceComponent", "groupingId", element.getGroupingIdElement(), -1); 12533 } 12534 } 12535 12536 protected void composeImplementationGuideDefinitionPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionPageComponent element, int index) { 12537 if (element == null) 12538 return; 12539 Complex t; 12540 if (Utilities.noString(parentType)) 12541 t = parent; 12542 else { 12543 t = parent.predicate("fhir:"+parentType+'.'+name); 12544 } 12545 composeBackboneElement(t, "page", name, element, index); 12546 if (element.hasName()) { 12547 composeType(t, "ImplementationGuideDefinitionPageComponent", "name", element.getName(), -1); 12548 } 12549 if (element.hasTitleElement()) { 12550 composeString(t, "ImplementationGuideDefinitionPageComponent", "title", element.getTitleElement(), -1); 12551 } 12552 if (element.hasGenerationElement()) { 12553 composeEnum(t, "ImplementationGuideDefinitionPageComponent", "generation", element.getGenerationElement(), -1); 12554 } 12555 for (int i = 0; i < element.getPage().size(); i++) { 12556 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionPageComponent", "page", element.getPage().get(i), i); 12557 } 12558 } 12559 12560 protected void composeImplementationGuideDefinitionParameterComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionParameterComponent element, int index) { 12561 if (element == null) 12562 return; 12563 Complex t; 12564 if (Utilities.noString(parentType)) 12565 t = parent; 12566 else { 12567 t = parent.predicate("fhir:"+parentType+'.'+name); 12568 } 12569 composeBackboneElement(t, "parameter", name, element, index); 12570 if (element.hasCodeElement()) { 12571 composeEnum(t, "ImplementationGuideDefinitionParameterComponent", "code", element.getCodeElement(), -1); 12572 } 12573 if (element.hasValueElement()) { 12574 composeString(t, "ImplementationGuideDefinitionParameterComponent", "value", element.getValueElement(), -1); 12575 } 12576 } 12577 12578 protected void composeImplementationGuideDefinitionTemplateComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionTemplateComponent element, int index) { 12579 if (element == null) 12580 return; 12581 Complex t; 12582 if (Utilities.noString(parentType)) 12583 t = parent; 12584 else { 12585 t = parent.predicate("fhir:"+parentType+'.'+name); 12586 } 12587 composeBackboneElement(t, "template", name, element, index); 12588 if (element.hasCodeElement()) { 12589 composeCode(t, "ImplementationGuideDefinitionTemplateComponent", "code", element.getCodeElement(), -1); 12590 } 12591 if (element.hasSourceElement()) { 12592 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "source", element.getSourceElement(), -1); 12593 } 12594 if (element.hasScopeElement()) { 12595 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "scope", element.getScopeElement(), -1); 12596 } 12597 } 12598 12599 protected void composeImplementationGuideManifestComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideManifestComponent element, int index) { 12600 if (element == null) 12601 return; 12602 Complex t; 12603 if (Utilities.noString(parentType)) 12604 t = parent; 12605 else { 12606 t = parent.predicate("fhir:"+parentType+'.'+name); 12607 } 12608 composeBackboneElement(t, "manifest", name, element, index); 12609 if (element.hasRenderingElement()) { 12610 composeUrl(t, "ImplementationGuideManifestComponent", "rendering", element.getRenderingElement(), -1); 12611 } 12612 for (int i = 0; i < element.getResource().size(); i++) { 12613 composeImplementationGuideManifestResourceComponent(t, "ImplementationGuideManifestComponent", "resource", element.getResource().get(i), i); 12614 } 12615 for (int i = 0; i < element.getPage().size(); i++) { 12616 composeImplementationGuideManifestPageComponent(t, "ImplementationGuideManifestComponent", "page", element.getPage().get(i), i); 12617 } 12618 for (int i = 0; i < element.getImage().size(); i++) { 12619 composeString(t, "ImplementationGuideManifestComponent", "image", element.getImage().get(i), i); 12620 } 12621 for (int i = 0; i < element.getOther().size(); i++) { 12622 composeString(t, "ImplementationGuideManifestComponent", "other", element.getOther().get(i), i); 12623 } 12624 } 12625 12626 protected void composeImplementationGuideManifestResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestResourceComponent element, int index) { 12627 if (element == null) 12628 return; 12629 Complex t; 12630 if (Utilities.noString(parentType)) 12631 t = parent; 12632 else { 12633 t = parent.predicate("fhir:"+parentType+'.'+name); 12634 } 12635 composeBackboneElement(t, "resource", name, element, index); 12636 if (element.hasReference()) { 12637 composeReference(t, "ManifestResourceComponent", "reference", element.getReference(), -1); 12638 } 12639 if (element.hasExample()) { 12640 composeType(t, "ManifestResourceComponent", "example", element.getExample(), -1); 12641 } 12642 if (element.hasRelativePathElement()) { 12643 composeUrl(t, "ManifestResourceComponent", "relativePath", element.getRelativePathElement(), -1); 12644 } 12645 } 12646 12647 protected void composeImplementationGuideManifestPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestPageComponent element, int index) { 12648 if (element == null) 12649 return; 12650 Complex t; 12651 if (Utilities.noString(parentType)) 12652 t = parent; 12653 else { 12654 t = parent.predicate("fhir:"+parentType+'.'+name); 12655 } 12656 composeBackboneElement(t, "page", name, element, index); 12657 if (element.hasNameElement()) { 12658 composeString(t, "ManifestPageComponent", "name", element.getNameElement(), -1); 12659 } 12660 if (element.hasTitleElement()) { 12661 composeString(t, "ManifestPageComponent", "title", element.getTitleElement(), -1); 12662 } 12663 for (int i = 0; i < element.getAnchor().size(); i++) { 12664 composeString(t, "ManifestPageComponent", "anchor", element.getAnchor().get(i), i); 12665 } 12666 } 12667 12668 protected void composeIngredient(Complex parent, String parentType, String name, Ingredient element, int index) { 12669 if (element == null) 12670 return; 12671 Complex t; 12672 if (Utilities.noString(parentType)) 12673 t = parent; 12674 else { 12675 t = parent.predicate("fhir:"+parentType+'.'+name); 12676 } 12677 composeDomainResource(t, "Ingredient", name, element, index); 12678 if (element.hasIdentifier()) { 12679 composeIdentifier(t, "Ingredient", "identifier", element.getIdentifier(), -1); 12680 } 12681 if (element.hasStatusElement()) { 12682 composeEnum(t, "Ingredient", "status", element.getStatusElement(), -1); 12683 } 12684 for (int i = 0; i < element.getFor().size(); i++) { 12685 composeReference(t, "Ingredient", "for", element.getFor().get(i), i); 12686 } 12687 if (element.hasRole()) { 12688 composeCodeableConcept(t, "Ingredient", "role", element.getRole(), -1); 12689 } 12690 for (int i = 0; i < element.getFunction().size(); i++) { 12691 composeCodeableConcept(t, "Ingredient", "function", element.getFunction().get(i), i); 12692 } 12693 if (element.hasAllergenicIndicatorElement()) { 12694 composeBoolean(t, "Ingredient", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 12695 } 12696 for (int i = 0; i < element.getManufacturer().size(); i++) { 12697 composeIngredientManufacturerComponent(t, "Ingredient", "manufacturer", element.getManufacturer().get(i), i); 12698 } 12699 if (element.hasSubstance()) { 12700 composeIngredientSubstanceComponent(t, "Ingredient", "substance", element.getSubstance(), -1); 12701 } 12702 } 12703 12704 protected void composeIngredientManufacturerComponent(Complex parent, String parentType, String name, Ingredient.IngredientManufacturerComponent element, int index) { 12705 if (element == null) 12706 return; 12707 Complex t; 12708 if (Utilities.noString(parentType)) 12709 t = parent; 12710 else { 12711 t = parent.predicate("fhir:"+parentType+'.'+name); 12712 } 12713 composeBackboneElement(t, "manufacturer", name, element, index); 12714 if (element.hasRole()) { 12715 composeCoding(t, "IngredientManufacturerComponent", "role", element.getRole(), -1); 12716 } 12717 if (element.hasManufacturer()) { 12718 composeReference(t, "IngredientManufacturerComponent", "manufacturer", element.getManufacturer(), -1); 12719 } 12720 } 12721 12722 protected void composeIngredientSubstanceComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceComponent element, int index) { 12723 if (element == null) 12724 return; 12725 Complex t; 12726 if (Utilities.noString(parentType)) 12727 t = parent; 12728 else { 12729 t = parent.predicate("fhir:"+parentType+'.'+name); 12730 } 12731 composeBackboneElement(t, "substance", name, element, index); 12732 if (element.hasCode()) { 12733 composeCodeableReference(t, "IngredientSubstanceComponent", "code", element.getCode(), -1); 12734 } 12735 for (int i = 0; i < element.getStrength().size(); i++) { 12736 composeIngredientSubstanceStrengthComponent(t, "IngredientSubstanceComponent", "strength", element.getStrength().get(i), i); 12737 } 12738 } 12739 12740 protected void composeIngredientSubstanceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthComponent element, int index) { 12741 if (element == null) 12742 return; 12743 Complex t; 12744 if (Utilities.noString(parentType)) 12745 t = parent; 12746 else { 12747 t = parent.predicate("fhir:"+parentType+'.'+name); 12748 } 12749 composeBackboneElement(t, "strength", name, element, index); 12750 if (element.hasPresentation()) { 12751 composeType(t, "IngredientSubstanceStrengthComponent", "presentation", element.getPresentation(), -1); 12752 } 12753 if (element.hasPresentationTextElement()) { 12754 composeString(t, "IngredientSubstanceStrengthComponent", "presentationText", element.getPresentationTextElement(), -1); 12755 } 12756 if (element.hasConcentration()) { 12757 composeType(t, "IngredientSubstanceStrengthComponent", "concentration", element.getConcentration(), -1); 12758 } 12759 if (element.hasConcentrationTextElement()) { 12760 composeString(t, "IngredientSubstanceStrengthComponent", "concentrationText", element.getConcentrationTextElement(), -1); 12761 } 12762 if (element.hasMeasurementPointElement()) { 12763 composeString(t, "IngredientSubstanceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 12764 } 12765 for (int i = 0; i < element.getCountry().size(); i++) { 12766 composeCodeableConcept(t, "IngredientSubstanceStrengthComponent", "country", element.getCountry().get(i), i); 12767 } 12768 for (int i = 0; i < element.getReferenceStrength().size(); i++) { 12769 composeIngredientSubstanceStrengthReferenceStrengthComponent(t, "IngredientSubstanceStrengthComponent", "referenceStrength", element.getReferenceStrength().get(i), i); 12770 } 12771 } 12772 12773 protected void composeIngredientSubstanceStrengthReferenceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent element, int index) { 12774 if (element == null) 12775 return; 12776 Complex t; 12777 if (Utilities.noString(parentType)) 12778 t = parent; 12779 else { 12780 t = parent.predicate("fhir:"+parentType+'.'+name); 12781 } 12782 composeBackboneElement(t, "referenceStrength", name, element, index); 12783 if (element.hasSubstance()) { 12784 composeCodeableReference(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "substance", element.getSubstance(), -1); 12785 } 12786 if (element.hasStrength()) { 12787 composeType(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "strength", element.getStrength(), -1); 12788 } 12789 if (element.hasMeasurementPointElement()) { 12790 composeString(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 12791 } 12792 for (int i = 0; i < element.getCountry().size(); i++) { 12793 composeCodeableConcept(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "country", element.getCountry().get(i), i); 12794 } 12795 } 12796 12797 protected void composeInsurancePlan(Complex parent, String parentType, String name, InsurancePlan element, int index) { 12798 if (element == null) 12799 return; 12800 Complex t; 12801 if (Utilities.noString(parentType)) 12802 t = parent; 12803 else { 12804 t = parent.predicate("fhir:"+parentType+'.'+name); 12805 } 12806 composeDomainResource(t, "InsurancePlan", name, element, index); 12807 for (int i = 0; i < element.getIdentifier().size(); i++) { 12808 composeIdentifier(t, "InsurancePlan", "identifier", element.getIdentifier().get(i), i); 12809 } 12810 if (element.hasStatusElement()) { 12811 composeEnum(t, "InsurancePlan", "status", element.getStatusElement(), -1); 12812 } 12813 for (int i = 0; i < element.getType().size(); i++) { 12814 composeCodeableConcept(t, "InsurancePlan", "type", element.getType().get(i), i); 12815 } 12816 if (element.hasNameElement()) { 12817 composeString(t, "InsurancePlan", "name", element.getNameElement(), -1); 12818 } 12819 for (int i = 0; i < element.getAlias().size(); i++) { 12820 composeString(t, "InsurancePlan", "alias", element.getAlias().get(i), i); 12821 } 12822 if (element.hasPeriod()) { 12823 composePeriod(t, "InsurancePlan", "period", element.getPeriod(), -1); 12824 } 12825 if (element.hasOwnedBy()) { 12826 composeReference(t, "InsurancePlan", "ownedBy", element.getOwnedBy(), -1); 12827 } 12828 if (element.hasAdministeredBy()) { 12829 composeReference(t, "InsurancePlan", "administeredBy", element.getAdministeredBy(), -1); 12830 } 12831 for (int i = 0; i < element.getCoverageArea().size(); i++) { 12832 composeReference(t, "InsurancePlan", "coverageArea", element.getCoverageArea().get(i), i); 12833 } 12834 for (int i = 0; i < element.getContact().size(); i++) { 12835 composeInsurancePlanContactComponent(t, "InsurancePlan", "contact", element.getContact().get(i), i); 12836 } 12837 for (int i = 0; i < element.getEndpoint().size(); i++) { 12838 composeReference(t, "InsurancePlan", "endpoint", element.getEndpoint().get(i), i); 12839 } 12840 for (int i = 0; i < element.getNetwork().size(); i++) { 12841 composeReference(t, "InsurancePlan", "network", element.getNetwork().get(i), i); 12842 } 12843 for (int i = 0; i < element.getCoverage().size(); i++) { 12844 composeInsurancePlanCoverageComponent(t, "InsurancePlan", "coverage", element.getCoverage().get(i), i); 12845 } 12846 for (int i = 0; i < element.getPlan().size(); i++) { 12847 composeInsurancePlanPlanComponent(t, "InsurancePlan", "plan", element.getPlan().get(i), i); 12848 } 12849 } 12850 12851 protected void composeInsurancePlanContactComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanContactComponent element, int index) { 12852 if (element == null) 12853 return; 12854 Complex t; 12855 if (Utilities.noString(parentType)) 12856 t = parent; 12857 else { 12858 t = parent.predicate("fhir:"+parentType+'.'+name); 12859 } 12860 composeBackboneElement(t, "contact", name, element, index); 12861 if (element.hasPurpose()) { 12862 composeCodeableConcept(t, "InsurancePlanContactComponent", "purpose", element.getPurpose(), -1); 12863 } 12864 if (element.hasName()) { 12865 composeHumanName(t, "InsurancePlanContactComponent", "name", element.getName(), -1); 12866 } 12867 for (int i = 0; i < element.getTelecom().size(); i++) { 12868 composeContactPoint(t, "InsurancePlanContactComponent", "telecom", element.getTelecom().get(i), i); 12869 } 12870 if (element.hasAddress()) { 12871 composeAddress(t, "InsurancePlanContactComponent", "address", element.getAddress(), -1); 12872 } 12873 } 12874 12875 protected void composeInsurancePlanCoverageComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanCoverageComponent element, int index) { 12876 if (element == null) 12877 return; 12878 Complex t; 12879 if (Utilities.noString(parentType)) 12880 t = parent; 12881 else { 12882 t = parent.predicate("fhir:"+parentType+'.'+name); 12883 } 12884 composeBackboneElement(t, "coverage", name, element, index); 12885 if (element.hasType()) { 12886 composeCodeableConcept(t, "InsurancePlanCoverageComponent", "type", element.getType(), -1); 12887 } 12888 for (int i = 0; i < element.getNetwork().size(); i++) { 12889 composeReference(t, "InsurancePlanCoverageComponent", "network", element.getNetwork().get(i), i); 12890 } 12891 for (int i = 0; i < element.getBenefit().size(); i++) { 12892 composeInsurancePlanCoverageBenefitComponent(t, "InsurancePlanCoverageComponent", "benefit", element.getBenefit().get(i), i); 12893 } 12894 } 12895 12896 protected void composeInsurancePlanCoverageBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitComponent element, int index) { 12897 if (element == null) 12898 return; 12899 Complex t; 12900 if (Utilities.noString(parentType)) 12901 t = parent; 12902 else { 12903 t = parent.predicate("fhir:"+parentType+'.'+name); 12904 } 12905 composeBackboneElement(t, "benefit", name, element, index); 12906 if (element.hasType()) { 12907 composeCodeableConcept(t, "CoverageBenefitComponent", "type", element.getType(), -1); 12908 } 12909 if (element.hasRequirementElement()) { 12910 composeString(t, "CoverageBenefitComponent", "requirement", element.getRequirementElement(), -1); 12911 } 12912 for (int i = 0; i < element.getLimit().size(); i++) { 12913 composeInsurancePlanCoverageBenefitLimitComponent(t, "CoverageBenefitComponent", "limit", element.getLimit().get(i), i); 12914 } 12915 } 12916 12917 protected void composeInsurancePlanCoverageBenefitLimitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitLimitComponent element, int index) { 12918 if (element == null) 12919 return; 12920 Complex t; 12921 if (Utilities.noString(parentType)) 12922 t = parent; 12923 else { 12924 t = parent.predicate("fhir:"+parentType+'.'+name); 12925 } 12926 composeBackboneElement(t, "limit", name, element, index); 12927 if (element.hasValue()) { 12928 composeQuantity(t, "CoverageBenefitLimitComponent", "value", element.getValue(), -1); 12929 } 12930 if (element.hasCode()) { 12931 composeCodeableConcept(t, "CoverageBenefitLimitComponent", "code", element.getCode(), -1); 12932 } 12933 } 12934 12935 protected void composeInsurancePlanPlanComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanComponent element, int index) { 12936 if (element == null) 12937 return; 12938 Complex t; 12939 if (Utilities.noString(parentType)) 12940 t = parent; 12941 else { 12942 t = parent.predicate("fhir:"+parentType+'.'+name); 12943 } 12944 composeBackboneElement(t, "plan", name, element, index); 12945 for (int i = 0; i < element.getIdentifier().size(); i++) { 12946 composeIdentifier(t, "InsurancePlanPlanComponent", "identifier", element.getIdentifier().get(i), i); 12947 } 12948 if (element.hasType()) { 12949 composeCodeableConcept(t, "InsurancePlanPlanComponent", "type", element.getType(), -1); 12950 } 12951 for (int i = 0; i < element.getCoverageArea().size(); i++) { 12952 composeReference(t, "InsurancePlanPlanComponent", "coverageArea", element.getCoverageArea().get(i), i); 12953 } 12954 for (int i = 0; i < element.getNetwork().size(); i++) { 12955 composeReference(t, "InsurancePlanPlanComponent", "network", element.getNetwork().get(i), i); 12956 } 12957 for (int i = 0; i < element.getGeneralCost().size(); i++) { 12958 composeInsurancePlanPlanGeneralCostComponent(t, "InsurancePlanPlanComponent", "generalCost", element.getGeneralCost().get(i), i); 12959 } 12960 for (int i = 0; i < element.getSpecificCost().size(); i++) { 12961 composeInsurancePlanPlanSpecificCostComponent(t, "InsurancePlanPlanComponent", "specificCost", element.getSpecificCost().get(i), i); 12962 } 12963 } 12964 12965 protected void composeInsurancePlanPlanGeneralCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanGeneralCostComponent element, int index) { 12966 if (element == null) 12967 return; 12968 Complex t; 12969 if (Utilities.noString(parentType)) 12970 t = parent; 12971 else { 12972 t = parent.predicate("fhir:"+parentType+'.'+name); 12973 } 12974 composeBackboneElement(t, "generalCost", name, element, index); 12975 if (element.hasType()) { 12976 composeCodeableConcept(t, "InsurancePlanPlanGeneralCostComponent", "type", element.getType(), -1); 12977 } 12978 if (element.hasGroupSizeElement()) { 12979 composePositiveInt(t, "InsurancePlanPlanGeneralCostComponent", "groupSize", element.getGroupSizeElement(), -1); 12980 } 12981 if (element.hasCost()) { 12982 composeMoney(t, "InsurancePlanPlanGeneralCostComponent", "cost", element.getCost(), -1); 12983 } 12984 if (element.hasCommentElement()) { 12985 composeString(t, "InsurancePlanPlanGeneralCostComponent", "comment", element.getCommentElement(), -1); 12986 } 12987 } 12988 12989 protected void composeInsurancePlanPlanSpecificCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanSpecificCostComponent element, int index) { 12990 if (element == null) 12991 return; 12992 Complex t; 12993 if (Utilities.noString(parentType)) 12994 t = parent; 12995 else { 12996 t = parent.predicate("fhir:"+parentType+'.'+name); 12997 } 12998 composeBackboneElement(t, "specificCost", name, element, index); 12999 if (element.hasCategory()) { 13000 composeCodeableConcept(t, "InsurancePlanPlanSpecificCostComponent", "category", element.getCategory(), -1); 13001 } 13002 for (int i = 0; i < element.getBenefit().size(); i++) { 13003 composeInsurancePlanPlanBenefitComponent(t, "InsurancePlanPlanSpecificCostComponent", "benefit", element.getBenefit().get(i), i); 13004 } 13005 } 13006 13007 protected void composeInsurancePlanPlanBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitComponent element, int index) { 13008 if (element == null) 13009 return; 13010 Complex t; 13011 if (Utilities.noString(parentType)) 13012 t = parent; 13013 else { 13014 t = parent.predicate("fhir:"+parentType+'.'+name); 13015 } 13016 composeBackboneElement(t, "benefit", name, element, index); 13017 if (element.hasType()) { 13018 composeCodeableConcept(t, "PlanBenefitComponent", "type", element.getType(), -1); 13019 } 13020 for (int i = 0; i < element.getCost().size(); i++) { 13021 composeInsurancePlanPlanBenefitCostComponent(t, "PlanBenefitComponent", "cost", element.getCost().get(i), i); 13022 } 13023 } 13024 13025 protected void composeInsurancePlanPlanBenefitCostComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitCostComponent element, int index) { 13026 if (element == null) 13027 return; 13028 Complex t; 13029 if (Utilities.noString(parentType)) 13030 t = parent; 13031 else { 13032 t = parent.predicate("fhir:"+parentType+'.'+name); 13033 } 13034 composeBackboneElement(t, "cost", name, element, index); 13035 if (element.hasType()) { 13036 composeCodeableConcept(t, "PlanBenefitCostComponent", "type", element.getType(), -1); 13037 } 13038 if (element.hasApplicability()) { 13039 composeCodeableConcept(t, "PlanBenefitCostComponent", "applicability", element.getApplicability(), -1); 13040 } 13041 for (int i = 0; i < element.getQualifiers().size(); i++) { 13042 composeCodeableConcept(t, "PlanBenefitCostComponent", "qualifiers", element.getQualifiers().get(i), i); 13043 } 13044 if (element.hasValue()) { 13045 composeQuantity(t, "PlanBenefitCostComponent", "value", element.getValue(), -1); 13046 } 13047 } 13048 13049 protected void composeInvoice(Complex parent, String parentType, String name, Invoice element, int index) { 13050 if (element == null) 13051 return; 13052 Complex t; 13053 if (Utilities.noString(parentType)) 13054 t = parent; 13055 else { 13056 t = parent.predicate("fhir:"+parentType+'.'+name); 13057 } 13058 composeDomainResource(t, "Invoice", name, element, index); 13059 for (int i = 0; i < element.getIdentifier().size(); i++) { 13060 composeIdentifier(t, "Invoice", "identifier", element.getIdentifier().get(i), i); 13061 } 13062 if (element.hasStatusElement()) { 13063 composeEnum(t, "Invoice", "status", element.getStatusElement(), -1); 13064 } 13065 if (element.hasCancelledReasonElement()) { 13066 composeString(t, "Invoice", "cancelledReason", element.getCancelledReasonElement(), -1); 13067 } 13068 if (element.hasType()) { 13069 composeCodeableConcept(t, "Invoice", "type", element.getType(), -1); 13070 } 13071 if (element.hasSubject()) { 13072 composeReference(t, "Invoice", "subject", element.getSubject(), -1); 13073 } 13074 if (element.hasRecipient()) { 13075 composeReference(t, "Invoice", "recipient", element.getRecipient(), -1); 13076 } 13077 if (element.hasDateElement()) { 13078 composeDateTime(t, "Invoice", "date", element.getDateElement(), -1); 13079 } 13080 for (int i = 0; i < element.getParticipant().size(); i++) { 13081 composeInvoiceParticipantComponent(t, "Invoice", "participant", element.getParticipant().get(i), i); 13082 } 13083 if (element.hasIssuer()) { 13084 composeReference(t, "Invoice", "issuer", element.getIssuer(), -1); 13085 } 13086 if (element.hasAccount()) { 13087 composeReference(t, "Invoice", "account", element.getAccount(), -1); 13088 } 13089 for (int i = 0; i < element.getLineItem().size(); i++) { 13090 composeInvoiceLineItemComponent(t, "Invoice", "lineItem", element.getLineItem().get(i), i); 13091 } 13092 for (int i = 0; i < element.getTotalPriceComponent().size(); i++) { 13093 composeInvoiceLineItemPriceComponentComponent(t, "Invoice", "totalPriceComponent", element.getTotalPriceComponent().get(i), i); 13094 } 13095 if (element.hasTotalNet()) { 13096 composeMoney(t, "Invoice", "totalNet", element.getTotalNet(), -1); 13097 } 13098 if (element.hasTotalGross()) { 13099 composeMoney(t, "Invoice", "totalGross", element.getTotalGross(), -1); 13100 } 13101 if (element.hasPaymentTermsElement()) { 13102 composeMarkdown(t, "Invoice", "paymentTerms", element.getPaymentTermsElement(), -1); 13103 } 13104 for (int i = 0; i < element.getNote().size(); i++) { 13105 composeAnnotation(t, "Invoice", "note", element.getNote().get(i), i); 13106 } 13107 } 13108 13109 protected void composeInvoiceParticipantComponent(Complex parent, String parentType, String name, Invoice.InvoiceParticipantComponent element, int index) { 13110 if (element == null) 13111 return; 13112 Complex t; 13113 if (Utilities.noString(parentType)) 13114 t = parent; 13115 else { 13116 t = parent.predicate("fhir:"+parentType+'.'+name); 13117 } 13118 composeBackboneElement(t, "participant", name, element, index); 13119 if (element.hasRole()) { 13120 composeCodeableConcept(t, "InvoiceParticipantComponent", "role", element.getRole(), -1); 13121 } 13122 if (element.hasActor()) { 13123 composeReference(t, "InvoiceParticipantComponent", "actor", element.getActor(), -1); 13124 } 13125 } 13126 13127 protected void composeInvoiceLineItemComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemComponent element, int index) { 13128 if (element == null) 13129 return; 13130 Complex t; 13131 if (Utilities.noString(parentType)) 13132 t = parent; 13133 else { 13134 t = parent.predicate("fhir:"+parentType+'.'+name); 13135 } 13136 composeBackboneElement(t, "lineItem", name, element, index); 13137 if (element.hasSequenceElement()) { 13138 composePositiveInt(t, "InvoiceLineItemComponent", "sequence", element.getSequenceElement(), -1); 13139 } 13140 if (element.hasChargeItem()) { 13141 composeType(t, "InvoiceLineItemComponent", "chargeItem", element.getChargeItem(), -1); 13142 } 13143 for (int i = 0; i < element.getPriceComponent().size(); i++) { 13144 composeInvoiceLineItemPriceComponentComponent(t, "InvoiceLineItemComponent", "priceComponent", element.getPriceComponent().get(i), i); 13145 } 13146 } 13147 13148 protected void composeInvoiceLineItemPriceComponentComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemPriceComponentComponent element, int index) { 13149 if (element == null) 13150 return; 13151 Complex t; 13152 if (Utilities.noString(parentType)) 13153 t = parent; 13154 else { 13155 t = parent.predicate("fhir:"+parentType+'.'+name); 13156 } 13157 composeBackboneElement(t, "priceComponent", name, element, index); 13158 if (element.hasTypeElement()) { 13159 composeEnum(t, "InvoiceLineItemPriceComponentComponent", "type", element.getTypeElement(), -1); 13160 } 13161 if (element.hasCode()) { 13162 composeCodeableConcept(t, "InvoiceLineItemPriceComponentComponent", "code", element.getCode(), -1); 13163 } 13164 if (element.hasFactorElement()) { 13165 composeDecimal(t, "InvoiceLineItemPriceComponentComponent", "factor", element.getFactorElement(), -1); 13166 } 13167 if (element.hasAmount()) { 13168 composeMoney(t, "InvoiceLineItemPriceComponentComponent", "amount", element.getAmount(), -1); 13169 } 13170 } 13171 13172 protected void composeLibrary(Complex parent, String parentType, String name, Library element, int index) { 13173 if (element == null) 13174 return; 13175 Complex t; 13176 if (Utilities.noString(parentType)) 13177 t = parent; 13178 else { 13179 t = parent.predicate("fhir:"+parentType+'.'+name); 13180 } 13181 composeDomainResource(t, "Library", name, element, index); 13182 if (element.hasUrlElement()) { 13183 composeUri(t, "Library", "url", element.getUrlElement(), -1); 13184 } 13185 for (int i = 0; i < element.getIdentifier().size(); i++) { 13186 composeIdentifier(t, "Library", "identifier", element.getIdentifier().get(i), i); 13187 } 13188 if (element.hasVersionElement()) { 13189 composeString(t, "Library", "version", element.getVersionElement(), -1); 13190 } 13191 if (element.hasNameElement()) { 13192 composeString(t, "Library", "name", element.getNameElement(), -1); 13193 } 13194 if (element.hasTitleElement()) { 13195 composeString(t, "Library", "title", element.getTitleElement(), -1); 13196 } 13197 if (element.hasSubtitleElement()) { 13198 composeString(t, "Library", "subtitle", element.getSubtitleElement(), -1); 13199 } 13200 if (element.hasStatusElement()) { 13201 composeEnum(t, "Library", "status", element.getStatusElement(), -1); 13202 } 13203 if (element.hasExperimentalElement()) { 13204 composeBoolean(t, "Library", "experimental", element.getExperimentalElement(), -1); 13205 } 13206 if (element.hasType()) { 13207 composeCodeableConcept(t, "Library", "type", element.getType(), -1); 13208 } 13209 if (element.hasSubject()) { 13210 composeType(t, "Library", "subject", element.getSubject(), -1); 13211 } 13212 if (element.hasDateElement()) { 13213 composeDateTime(t, "Library", "date", element.getDateElement(), -1); 13214 } 13215 if (element.hasPublisherElement()) { 13216 composeString(t, "Library", "publisher", element.getPublisherElement(), -1); 13217 } 13218 for (int i = 0; i < element.getContact().size(); i++) { 13219 composeContactDetail(t, "Library", "contact", element.getContact().get(i), i); 13220 } 13221 if (element.hasDescriptionElement()) { 13222 composeMarkdown(t, "Library", "description", element.getDescriptionElement(), -1); 13223 } 13224 for (int i = 0; i < element.getUseContext().size(); i++) { 13225 composeUsageContext(t, "Library", "useContext", element.getUseContext().get(i), i); 13226 } 13227 for (int i = 0; i < element.getJurisdiction().size(); i++) { 13228 composeCodeableConcept(t, "Library", "jurisdiction", element.getJurisdiction().get(i), i); 13229 } 13230 if (element.hasPurposeElement()) { 13231 composeMarkdown(t, "Library", "purpose", element.getPurposeElement(), -1); 13232 } 13233 if (element.hasUsageElement()) { 13234 composeString(t, "Library", "usage", element.getUsageElement(), -1); 13235 } 13236 if (element.hasCopyrightElement()) { 13237 composeMarkdown(t, "Library", "copyright", element.getCopyrightElement(), -1); 13238 } 13239 if (element.hasApprovalDateElement()) { 13240 composeDate(t, "Library", "approvalDate", element.getApprovalDateElement(), -1); 13241 } 13242 if (element.hasLastReviewDateElement()) { 13243 composeDate(t, "Library", "lastReviewDate", element.getLastReviewDateElement(), -1); 13244 } 13245 if (element.hasEffectivePeriod()) { 13246 composePeriod(t, "Library", "effectivePeriod", element.getEffectivePeriod(), -1); 13247 } 13248 for (int i = 0; i < element.getTopic().size(); i++) { 13249 composeCodeableConcept(t, "Library", "topic", element.getTopic().get(i), i); 13250 } 13251 for (int i = 0; i < element.getAuthor().size(); i++) { 13252 composeContactDetail(t, "Library", "author", element.getAuthor().get(i), i); 13253 } 13254 for (int i = 0; i < element.getEditor().size(); i++) { 13255 composeContactDetail(t, "Library", "editor", element.getEditor().get(i), i); 13256 } 13257 for (int i = 0; i < element.getReviewer().size(); i++) { 13258 composeContactDetail(t, "Library", "reviewer", element.getReviewer().get(i), i); 13259 } 13260 for (int i = 0; i < element.getEndorser().size(); i++) { 13261 composeContactDetail(t, "Library", "endorser", element.getEndorser().get(i), i); 13262 } 13263 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 13264 composeRelatedArtifact(t, "Library", "relatedArtifact", element.getRelatedArtifact().get(i), i); 13265 } 13266 for (int i = 0; i < element.getParameter().size(); i++) { 13267 composeParameterDefinition(t, "Library", "parameter", element.getParameter().get(i), i); 13268 } 13269 for (int i = 0; i < element.getDataRequirement().size(); i++) { 13270 composeDataRequirement(t, "Library", "dataRequirement", element.getDataRequirement().get(i), i); 13271 } 13272 for (int i = 0; i < element.getContent().size(); i++) { 13273 composeAttachment(t, "Library", "content", element.getContent().get(i), i); 13274 } 13275 } 13276 13277 protected void composeLinkage(Complex parent, String parentType, String name, Linkage element, int index) { 13278 if (element == null) 13279 return; 13280 Complex t; 13281 if (Utilities.noString(parentType)) 13282 t = parent; 13283 else { 13284 t = parent.predicate("fhir:"+parentType+'.'+name); 13285 } 13286 composeDomainResource(t, "Linkage", name, element, index); 13287 if (element.hasActiveElement()) { 13288 composeBoolean(t, "Linkage", "active", element.getActiveElement(), -1); 13289 } 13290 if (element.hasAuthor()) { 13291 composeReference(t, "Linkage", "author", element.getAuthor(), -1); 13292 } 13293 for (int i = 0; i < element.getItem().size(); i++) { 13294 composeLinkageItemComponent(t, "Linkage", "item", element.getItem().get(i), i); 13295 } 13296 } 13297 13298 protected void composeLinkageItemComponent(Complex parent, String parentType, String name, Linkage.LinkageItemComponent element, int index) { 13299 if (element == null) 13300 return; 13301 Complex t; 13302 if (Utilities.noString(parentType)) 13303 t = parent; 13304 else { 13305 t = parent.predicate("fhir:"+parentType+'.'+name); 13306 } 13307 composeBackboneElement(t, "item", name, element, index); 13308 if (element.hasTypeElement()) { 13309 composeEnum(t, "LinkageItemComponent", "type", element.getTypeElement(), -1); 13310 } 13311 if (element.hasResource()) { 13312 composeReference(t, "LinkageItemComponent", "resource", element.getResource(), -1); 13313 } 13314 } 13315 13316 protected void composeListResource(Complex parent, String parentType, String name, ListResource element, int index) { 13317 if (element == null) 13318 return; 13319 Complex t; 13320 if (Utilities.noString(parentType)) 13321 t = parent; 13322 else { 13323 t = parent.predicate("fhir:"+parentType+'.'+name); 13324 } 13325 composeDomainResource(t, "List", name, element, index); 13326 for (int i = 0; i < element.getIdentifier().size(); i++) { 13327 composeIdentifier(t, "ListResource", "identifier", element.getIdentifier().get(i), i); 13328 } 13329 if (element.hasStatusElement()) { 13330 composeEnum(t, "ListResource", "status", element.getStatusElement(), -1); 13331 } 13332 if (element.hasModeElement()) { 13333 composeEnum(t, "ListResource", "mode", element.getModeElement(), -1); 13334 } 13335 if (element.hasTitleElement()) { 13336 composeString(t, "ListResource", "title", element.getTitleElement(), -1); 13337 } 13338 if (element.hasCode()) { 13339 composeCodeableConcept(t, "ListResource", "code", element.getCode(), -1); 13340 } 13341 if (element.hasSubject()) { 13342 composeReference(t, "ListResource", "subject", element.getSubject(), -1); 13343 } 13344 if (element.hasEncounter()) { 13345 composeReference(t, "ListResource", "encounter", element.getEncounter(), -1); 13346 } 13347 if (element.hasDateElement()) { 13348 composeDateTime(t, "ListResource", "date", element.getDateElement(), -1); 13349 } 13350 if (element.hasSource()) { 13351 composeReference(t, "ListResource", "source", element.getSource(), -1); 13352 } 13353 if (element.hasOrderedBy()) { 13354 composeCodeableConcept(t, "ListResource", "orderedBy", element.getOrderedBy(), -1); 13355 } 13356 for (int i = 0; i < element.getNote().size(); i++) { 13357 composeAnnotation(t, "ListResource", "note", element.getNote().get(i), i); 13358 } 13359 for (int i = 0; i < element.getEntry().size(); i++) { 13360 composeListResourceEntryComponent(t, "ListResource", "entry", element.getEntry().get(i), i); 13361 } 13362 if (element.hasEmptyReason()) { 13363 composeCodeableConcept(t, "ListResource", "emptyReason", element.getEmptyReason(), -1); 13364 } 13365 } 13366 13367 protected void composeListResourceEntryComponent(Complex parent, String parentType, String name, ListResource.ListResourceEntryComponent element, int index) { 13368 if (element == null) 13369 return; 13370 Complex t; 13371 if (Utilities.noString(parentType)) 13372 t = parent; 13373 else { 13374 t = parent.predicate("fhir:"+parentType+'.'+name); 13375 } 13376 composeBackboneElement(t, "entry", name, element, index); 13377 if (element.hasFlag()) { 13378 composeCodeableConcept(t, "ListResourceEntryComponent", "flag", element.getFlag(), -1); 13379 } 13380 if (element.hasDeletedElement()) { 13381 composeBoolean(t, "ListResourceEntryComponent", "deleted", element.getDeletedElement(), -1); 13382 } 13383 if (element.hasDateElement()) { 13384 composeDateTime(t, "ListResourceEntryComponent", "date", element.getDateElement(), -1); 13385 } 13386 if (element.hasItem()) { 13387 composeReference(t, "ListResourceEntryComponent", "item", element.getItem(), -1); 13388 } 13389 } 13390 13391 protected void composeLocation(Complex parent, String parentType, String name, Location element, int index) { 13392 if (element == null) 13393 return; 13394 Complex t; 13395 if (Utilities.noString(parentType)) 13396 t = parent; 13397 else { 13398 t = parent.predicate("fhir:"+parentType+'.'+name); 13399 } 13400 composeDomainResource(t, "Location", name, element, index); 13401 for (int i = 0; i < element.getIdentifier().size(); i++) { 13402 composeIdentifier(t, "Location", "identifier", element.getIdentifier().get(i), i); 13403 } 13404 if (element.hasStatusElement()) { 13405 composeEnum(t, "Location", "status", element.getStatusElement(), -1); 13406 } 13407 if (element.hasOperationalStatus()) { 13408 composeCoding(t, "Location", "operationalStatus", element.getOperationalStatus(), -1); 13409 } 13410 if (element.hasNameElement()) { 13411 composeString(t, "Location", "name", element.getNameElement(), -1); 13412 } 13413 for (int i = 0; i < element.getAlias().size(); i++) { 13414 composeString(t, "Location", "alias", element.getAlias().get(i), i); 13415 } 13416 if (element.hasDescriptionElement()) { 13417 composeString(t, "Location", "description", element.getDescriptionElement(), -1); 13418 } 13419 if (element.hasModeElement()) { 13420 composeEnum(t, "Location", "mode", element.getModeElement(), -1); 13421 } 13422 for (int i = 0; i < element.getType().size(); i++) { 13423 composeCodeableConcept(t, "Location", "type", element.getType().get(i), i); 13424 } 13425 for (int i = 0; i < element.getTelecom().size(); i++) { 13426 composeContactPoint(t, "Location", "telecom", element.getTelecom().get(i), i); 13427 } 13428 if (element.hasAddress()) { 13429 composeAddress(t, "Location", "address", element.getAddress(), -1); 13430 } 13431 if (element.hasPhysicalType()) { 13432 composeCodeableConcept(t, "Location", "physicalType", element.getPhysicalType(), -1); 13433 } 13434 if (element.hasPosition()) { 13435 composeLocationPositionComponent(t, "Location", "position", element.getPosition(), -1); 13436 } 13437 if (element.hasManagingOrganization()) { 13438 composeReference(t, "Location", "managingOrganization", element.getManagingOrganization(), -1); 13439 } 13440 if (element.hasPartOf()) { 13441 composeReference(t, "Location", "partOf", element.getPartOf(), -1); 13442 } 13443 for (int i = 0; i < element.getHoursOfOperation().size(); i++) { 13444 composeLocationHoursOfOperationComponent(t, "Location", "hoursOfOperation", element.getHoursOfOperation().get(i), i); 13445 } 13446 if (element.hasAvailabilityExceptionsElement()) { 13447 composeString(t, "Location", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 13448 } 13449 for (int i = 0; i < element.getEndpoint().size(); i++) { 13450 composeReference(t, "Location", "endpoint", element.getEndpoint().get(i), i); 13451 } 13452 } 13453 13454 protected void composeLocationPositionComponent(Complex parent, String parentType, String name, Location.LocationPositionComponent element, int index) { 13455 if (element == null) 13456 return; 13457 Complex t; 13458 if (Utilities.noString(parentType)) 13459 t = parent; 13460 else { 13461 t = parent.predicate("fhir:"+parentType+'.'+name); 13462 } 13463 composeBackboneElement(t, "position", name, element, index); 13464 if (element.hasLongitudeElement()) { 13465 composeDecimal(t, "LocationPositionComponent", "longitude", element.getLongitudeElement(), -1); 13466 } 13467 if (element.hasLatitudeElement()) { 13468 composeDecimal(t, "LocationPositionComponent", "latitude", element.getLatitudeElement(), -1); 13469 } 13470 if (element.hasAltitudeElement()) { 13471 composeDecimal(t, "LocationPositionComponent", "altitude", element.getAltitudeElement(), -1); 13472 } 13473 } 13474 13475 protected void composeLocationHoursOfOperationComponent(Complex parent, String parentType, String name, Location.LocationHoursOfOperationComponent element, int index) { 13476 if (element == null) 13477 return; 13478 Complex t; 13479 if (Utilities.noString(parentType)) 13480 t = parent; 13481 else { 13482 t = parent.predicate("fhir:"+parentType+'.'+name); 13483 } 13484 composeBackboneElement(t, "hoursOfOperation", name, element, index); 13485 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 13486 composeEnum(t, "LocationHoursOfOperationComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 13487 } 13488 if (element.hasAllDayElement()) { 13489 composeBoolean(t, "LocationHoursOfOperationComponent", "allDay", element.getAllDayElement(), -1); 13490 } 13491 if (element.hasOpeningTimeElement()) { 13492 composeTime(t, "LocationHoursOfOperationComponent", "openingTime", element.getOpeningTimeElement(), -1); 13493 } 13494 if (element.hasClosingTimeElement()) { 13495 composeTime(t, "LocationHoursOfOperationComponent", "closingTime", element.getClosingTimeElement(), -1); 13496 } 13497 } 13498 13499 protected void composeManufacturedItemDefinition(Complex parent, String parentType, String name, ManufacturedItemDefinition element, int index) { 13500 if (element == null) 13501 return; 13502 Complex t; 13503 if (Utilities.noString(parentType)) 13504 t = parent; 13505 else { 13506 t = parent.predicate("fhir:"+parentType+'.'+name); 13507 } 13508 composeDomainResource(t, "ManufacturedItemDefinition", name, element, index); 13509 for (int i = 0; i < element.getIdentifier().size(); i++) { 13510 composeIdentifier(t, "ManufacturedItemDefinition", "identifier", element.getIdentifier().get(i), i); 13511 } 13512 if (element.hasStatusElement()) { 13513 composeEnum(t, "ManufacturedItemDefinition", "status", element.getStatusElement(), -1); 13514 } 13515 if (element.hasManufacturedDoseForm()) { 13516 composeCodeableConcept(t, "ManufacturedItemDefinition", "manufacturedDoseForm", element.getManufacturedDoseForm(), -1); 13517 } 13518 if (element.hasUnitOfPresentation()) { 13519 composeCodeableConcept(t, "ManufacturedItemDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 13520 } 13521 for (int i = 0; i < element.getManufacturer().size(); i++) { 13522 composeReference(t, "ManufacturedItemDefinition", "manufacturer", element.getManufacturer().get(i), i); 13523 } 13524 for (int i = 0; i < element.getIngredient().size(); i++) { 13525 composeCodeableConcept(t, "ManufacturedItemDefinition", "ingredient", element.getIngredient().get(i), i); 13526 } 13527 for (int i = 0; i < element.getProperty().size(); i++) { 13528 composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinition", "property", element.getProperty().get(i), i); 13529 } 13530 } 13531 13532 protected void composeManufacturedItemDefinitionPropertyComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element, int index) { 13533 if (element == null) 13534 return; 13535 Complex t; 13536 if (Utilities.noString(parentType)) 13537 t = parent; 13538 else { 13539 t = parent.predicate("fhir:"+parentType+'.'+name); 13540 } 13541 composeBackboneElement(t, "property", name, element, index); 13542 if (element.hasType()) { 13543 composeCodeableConcept(t, "ManufacturedItemDefinitionPropertyComponent", "type", element.getType(), -1); 13544 } 13545 if (element.hasValue()) { 13546 composeType(t, "ManufacturedItemDefinitionPropertyComponent", "value", element.getValue(), -1); 13547 } 13548 } 13549 13550 protected void composeMeasure(Complex parent, String parentType, String name, Measure element, int index) { 13551 if (element == null) 13552 return; 13553 Complex t; 13554 if (Utilities.noString(parentType)) 13555 t = parent; 13556 else { 13557 t = parent.predicate("fhir:"+parentType+'.'+name); 13558 } 13559 composeDomainResource(t, "Measure", name, element, index); 13560 if (element.hasUrlElement()) { 13561 composeUri(t, "Measure", "url", element.getUrlElement(), -1); 13562 } 13563 for (int i = 0; i < element.getIdentifier().size(); i++) { 13564 composeIdentifier(t, "Measure", "identifier", element.getIdentifier().get(i), i); 13565 } 13566 if (element.hasVersionElement()) { 13567 composeString(t, "Measure", "version", element.getVersionElement(), -1); 13568 } 13569 if (element.hasNameElement()) { 13570 composeString(t, "Measure", "name", element.getNameElement(), -1); 13571 } 13572 if (element.hasTitleElement()) { 13573 composeString(t, "Measure", "title", element.getTitleElement(), -1); 13574 } 13575 if (element.hasSubtitleElement()) { 13576 composeString(t, "Measure", "subtitle", element.getSubtitleElement(), -1); 13577 } 13578 if (element.hasStatusElement()) { 13579 composeEnum(t, "Measure", "status", element.getStatusElement(), -1); 13580 } 13581 if (element.hasExperimentalElement()) { 13582 composeBoolean(t, "Measure", "experimental", element.getExperimentalElement(), -1); 13583 } 13584 if (element.hasSubject()) { 13585 composeType(t, "Measure", "subject", element.getSubject(), -1); 13586 } 13587 if (element.hasDateElement()) { 13588 composeDateTime(t, "Measure", "date", element.getDateElement(), -1); 13589 } 13590 if (element.hasPublisherElement()) { 13591 composeString(t, "Measure", "publisher", element.getPublisherElement(), -1); 13592 } 13593 for (int i = 0; i < element.getContact().size(); i++) { 13594 composeContactDetail(t, "Measure", "contact", element.getContact().get(i), i); 13595 } 13596 if (element.hasDescriptionElement()) { 13597 composeMarkdown(t, "Measure", "description", element.getDescriptionElement(), -1); 13598 } 13599 for (int i = 0; i < element.getUseContext().size(); i++) { 13600 composeUsageContext(t, "Measure", "useContext", element.getUseContext().get(i), i); 13601 } 13602 for (int i = 0; i < element.getJurisdiction().size(); i++) { 13603 composeCodeableConcept(t, "Measure", "jurisdiction", element.getJurisdiction().get(i), i); 13604 } 13605 if (element.hasPurposeElement()) { 13606 composeMarkdown(t, "Measure", "purpose", element.getPurposeElement(), -1); 13607 } 13608 if (element.hasUsageElement()) { 13609 composeString(t, "Measure", "usage", element.getUsageElement(), -1); 13610 } 13611 if (element.hasCopyrightElement()) { 13612 composeMarkdown(t, "Measure", "copyright", element.getCopyrightElement(), -1); 13613 } 13614 if (element.hasApprovalDateElement()) { 13615 composeDate(t, "Measure", "approvalDate", element.getApprovalDateElement(), -1); 13616 } 13617 if (element.hasLastReviewDateElement()) { 13618 composeDate(t, "Measure", "lastReviewDate", element.getLastReviewDateElement(), -1); 13619 } 13620 if (element.hasEffectivePeriod()) { 13621 composePeriod(t, "Measure", "effectivePeriod", element.getEffectivePeriod(), -1); 13622 } 13623 for (int i = 0; i < element.getTopic().size(); i++) { 13624 composeCodeableConcept(t, "Measure", "topic", element.getTopic().get(i), i); 13625 } 13626 for (int i = 0; i < element.getAuthor().size(); i++) { 13627 composeContactDetail(t, "Measure", "author", element.getAuthor().get(i), i); 13628 } 13629 for (int i = 0; i < element.getEditor().size(); i++) { 13630 composeContactDetail(t, "Measure", "editor", element.getEditor().get(i), i); 13631 } 13632 for (int i = 0; i < element.getReviewer().size(); i++) { 13633 composeContactDetail(t, "Measure", "reviewer", element.getReviewer().get(i), i); 13634 } 13635 for (int i = 0; i < element.getEndorser().size(); i++) { 13636 composeContactDetail(t, "Measure", "endorser", element.getEndorser().get(i), i); 13637 } 13638 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 13639 composeRelatedArtifact(t, "Measure", "relatedArtifact", element.getRelatedArtifact().get(i), i); 13640 } 13641 for (int i = 0; i < element.getLibrary().size(); i++) { 13642 composeCanonical(t, "Measure", "library", element.getLibrary().get(i), i); 13643 } 13644 if (element.hasDisclaimerElement()) { 13645 composeMarkdown(t, "Measure", "disclaimer", element.getDisclaimerElement(), -1); 13646 } 13647 if (element.hasScoring()) { 13648 composeCodeableConcept(t, "Measure", "scoring", element.getScoring(), -1); 13649 } 13650 if (element.hasCompositeScoring()) { 13651 composeCodeableConcept(t, "Measure", "compositeScoring", element.getCompositeScoring(), -1); 13652 } 13653 for (int i = 0; i < element.getType().size(); i++) { 13654 composeCodeableConcept(t, "Measure", "type", element.getType().get(i), i); 13655 } 13656 if (element.hasRiskAdjustmentElement()) { 13657 composeString(t, "Measure", "riskAdjustment", element.getRiskAdjustmentElement(), -1); 13658 } 13659 if (element.hasRateAggregationElement()) { 13660 composeString(t, "Measure", "rateAggregation", element.getRateAggregationElement(), -1); 13661 } 13662 if (element.hasRationaleElement()) { 13663 composeMarkdown(t, "Measure", "rationale", element.getRationaleElement(), -1); 13664 } 13665 if (element.hasClinicalRecommendationStatementElement()) { 13666 composeMarkdown(t, "Measure", "clinicalRecommendationStatement", element.getClinicalRecommendationStatementElement(), -1); 13667 } 13668 if (element.hasImprovementNotation()) { 13669 composeCodeableConcept(t, "Measure", "improvementNotation", element.getImprovementNotation(), -1); 13670 } 13671 for (int i = 0; i < element.getDefinition().size(); i++) { 13672 composeMarkdown(t, "Measure", "definition", element.getDefinition().get(i), i); 13673 } 13674 if (element.hasGuidanceElement()) { 13675 composeMarkdown(t, "Measure", "guidance", element.getGuidanceElement(), -1); 13676 } 13677 for (int i = 0; i < element.getGroup().size(); i++) { 13678 composeMeasureGroupComponent(t, "Measure", "group", element.getGroup().get(i), i); 13679 } 13680 for (int i = 0; i < element.getSupplementalData().size(); i++) { 13681 composeMeasureSupplementalDataComponent(t, "Measure", "supplementalData", element.getSupplementalData().get(i), i); 13682 } 13683 } 13684 13685 protected void composeMeasureGroupComponent(Complex parent, String parentType, String name, Measure.MeasureGroupComponent element, int index) { 13686 if (element == null) 13687 return; 13688 Complex t; 13689 if (Utilities.noString(parentType)) 13690 t = parent; 13691 else { 13692 t = parent.predicate("fhir:"+parentType+'.'+name); 13693 } 13694 composeBackboneElement(t, "group", name, element, index); 13695 if (element.hasCode()) { 13696 composeCodeableConcept(t, "MeasureGroupComponent", "code", element.getCode(), -1); 13697 } 13698 if (element.hasDescriptionElement()) { 13699 composeString(t, "MeasureGroupComponent", "description", element.getDescriptionElement(), -1); 13700 } 13701 for (int i = 0; i < element.getPopulation().size(); i++) { 13702 composeMeasureGroupPopulationComponent(t, "MeasureGroupComponent", "population", element.getPopulation().get(i), i); 13703 } 13704 for (int i = 0; i < element.getStratifier().size(); i++) { 13705 composeMeasureGroupStratifierComponent(t, "MeasureGroupComponent", "stratifier", element.getStratifier().get(i), i); 13706 } 13707 } 13708 13709 protected void composeMeasureGroupPopulationComponent(Complex parent, String parentType, String name, Measure.MeasureGroupPopulationComponent element, int index) { 13710 if (element == null) 13711 return; 13712 Complex t; 13713 if (Utilities.noString(parentType)) 13714 t = parent; 13715 else { 13716 t = parent.predicate("fhir:"+parentType+'.'+name); 13717 } 13718 composeBackboneElement(t, "population", name, element, index); 13719 if (element.hasCode()) { 13720 composeCodeableConcept(t, "MeasureGroupPopulationComponent", "code", element.getCode(), -1); 13721 } 13722 if (element.hasDescriptionElement()) { 13723 composeString(t, "MeasureGroupPopulationComponent", "description", element.getDescriptionElement(), -1); 13724 } 13725 if (element.hasCriteria()) { 13726 composeExpression(t, "MeasureGroupPopulationComponent", "criteria", element.getCriteria(), -1); 13727 } 13728 } 13729 13730 protected void composeMeasureGroupStratifierComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponent element, int index) { 13731 if (element == null) 13732 return; 13733 Complex t; 13734 if (Utilities.noString(parentType)) 13735 t = parent; 13736 else { 13737 t = parent.predicate("fhir:"+parentType+'.'+name); 13738 } 13739 composeBackboneElement(t, "stratifier", name, element, index); 13740 if (element.hasCode()) { 13741 composeCodeableConcept(t, "MeasureGroupStratifierComponent", "code", element.getCode(), -1); 13742 } 13743 if (element.hasDescriptionElement()) { 13744 composeString(t, "MeasureGroupStratifierComponent", "description", element.getDescriptionElement(), -1); 13745 } 13746 if (element.hasCriteria()) { 13747 composeExpression(t, "MeasureGroupStratifierComponent", "criteria", element.getCriteria(), -1); 13748 } 13749 for (int i = 0; i < element.getComponent().size(); i++) { 13750 composeMeasureGroupStratifierComponentComponent(t, "MeasureGroupStratifierComponent", "component", element.getComponent().get(i), i); 13751 } 13752 } 13753 13754 protected void composeMeasureGroupStratifierComponentComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponentComponent element, int index) { 13755 if (element == null) 13756 return; 13757 Complex t; 13758 if (Utilities.noString(parentType)) 13759 t = parent; 13760 else { 13761 t = parent.predicate("fhir:"+parentType+'.'+name); 13762 } 13763 composeBackboneElement(t, "component", name, element, index); 13764 if (element.hasCode()) { 13765 composeCodeableConcept(t, "MeasureGroupStratifierComponentComponent", "code", element.getCode(), -1); 13766 } 13767 if (element.hasDescriptionElement()) { 13768 composeString(t, "MeasureGroupStratifierComponentComponent", "description", element.getDescriptionElement(), -1); 13769 } 13770 if (element.hasCriteria()) { 13771 composeExpression(t, "MeasureGroupStratifierComponentComponent", "criteria", element.getCriteria(), -1); 13772 } 13773 } 13774 13775 protected void composeMeasureSupplementalDataComponent(Complex parent, String parentType, String name, Measure.MeasureSupplementalDataComponent element, int index) { 13776 if (element == null) 13777 return; 13778 Complex t; 13779 if (Utilities.noString(parentType)) 13780 t = parent; 13781 else { 13782 t = parent.predicate("fhir:"+parentType+'.'+name); 13783 } 13784 composeBackboneElement(t, "supplementalData", name, element, index); 13785 if (element.hasCode()) { 13786 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "code", element.getCode(), -1); 13787 } 13788 for (int i = 0; i < element.getUsage().size(); i++) { 13789 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "usage", element.getUsage().get(i), i); 13790 } 13791 if (element.hasDescriptionElement()) { 13792 composeString(t, "MeasureSupplementalDataComponent", "description", element.getDescriptionElement(), -1); 13793 } 13794 if (element.hasCriteria()) { 13795 composeExpression(t, "MeasureSupplementalDataComponent", "criteria", element.getCriteria(), -1); 13796 } 13797 } 13798 13799 protected void composeMeasureReport(Complex parent, String parentType, String name, MeasureReport element, int index) { 13800 if (element == null) 13801 return; 13802 Complex t; 13803 if (Utilities.noString(parentType)) 13804 t = parent; 13805 else { 13806 t = parent.predicate("fhir:"+parentType+'.'+name); 13807 } 13808 composeDomainResource(t, "MeasureReport", name, element, index); 13809 for (int i = 0; i < element.getIdentifier().size(); i++) { 13810 composeIdentifier(t, "MeasureReport", "identifier", element.getIdentifier().get(i), i); 13811 } 13812 if (element.hasStatusElement()) { 13813 composeEnum(t, "MeasureReport", "status", element.getStatusElement(), -1); 13814 } 13815 if (element.hasTypeElement()) { 13816 composeEnum(t, "MeasureReport", "type", element.getTypeElement(), -1); 13817 } 13818 if (element.hasMeasureElement()) { 13819 composeCanonical(t, "MeasureReport", "measure", element.getMeasureElement(), -1); 13820 } 13821 if (element.hasSubject()) { 13822 composeReference(t, "MeasureReport", "subject", element.getSubject(), -1); 13823 } 13824 if (element.hasDateElement()) { 13825 composeDateTime(t, "MeasureReport", "date", element.getDateElement(), -1); 13826 } 13827 if (element.hasReporter()) { 13828 composeReference(t, "MeasureReport", "reporter", element.getReporter(), -1); 13829 } 13830 if (element.hasPeriod()) { 13831 composePeriod(t, "MeasureReport", "period", element.getPeriod(), -1); 13832 } 13833 if (element.hasImprovementNotation()) { 13834 composeCodeableConcept(t, "MeasureReport", "improvementNotation", element.getImprovementNotation(), -1); 13835 } 13836 for (int i = 0; i < element.getGroup().size(); i++) { 13837 composeMeasureReportGroupComponent(t, "MeasureReport", "group", element.getGroup().get(i), i); 13838 } 13839 for (int i = 0; i < element.getEvaluatedResource().size(); i++) { 13840 composeReference(t, "MeasureReport", "evaluatedResource", element.getEvaluatedResource().get(i), i); 13841 } 13842 } 13843 13844 protected void composeMeasureReportGroupComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupComponent element, int index) { 13845 if (element == null) 13846 return; 13847 Complex t; 13848 if (Utilities.noString(parentType)) 13849 t = parent; 13850 else { 13851 t = parent.predicate("fhir:"+parentType+'.'+name); 13852 } 13853 composeBackboneElement(t, "group", name, element, index); 13854 if (element.hasCode()) { 13855 composeCodeableConcept(t, "MeasureReportGroupComponent", "code", element.getCode(), -1); 13856 } 13857 for (int i = 0; i < element.getPopulation().size(); i++) { 13858 composeMeasureReportGroupPopulationComponent(t, "MeasureReportGroupComponent", "population", element.getPopulation().get(i), i); 13859 } 13860 if (element.hasMeasureScore()) { 13861 composeQuantity(t, "MeasureReportGroupComponent", "measureScore", element.getMeasureScore(), -1); 13862 } 13863 for (int i = 0; i < element.getStratifier().size(); i++) { 13864 composeMeasureReportGroupStratifierComponent(t, "MeasureReportGroupComponent", "stratifier", element.getStratifier().get(i), i); 13865 } 13866 } 13867 13868 protected void composeMeasureReportGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupPopulationComponent element, int index) { 13869 if (element == null) 13870 return; 13871 Complex t; 13872 if (Utilities.noString(parentType)) 13873 t = parent; 13874 else { 13875 t = parent.predicate("fhir:"+parentType+'.'+name); 13876 } 13877 composeBackboneElement(t, "population", name, element, index); 13878 if (element.hasCode()) { 13879 composeCodeableConcept(t, "MeasureReportGroupPopulationComponent", "code", element.getCode(), -1); 13880 } 13881 if (element.hasCountElement()) { 13882 composeInteger(t, "MeasureReportGroupPopulationComponent", "count", element.getCountElement(), -1); 13883 } 13884 if (element.hasSubjectResults()) { 13885 composeReference(t, "MeasureReportGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 13886 } 13887 } 13888 13889 protected void composeMeasureReportGroupStratifierComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupStratifierComponent element, int index) { 13890 if (element == null) 13891 return; 13892 Complex t; 13893 if (Utilities.noString(parentType)) 13894 t = parent; 13895 else { 13896 t = parent.predicate("fhir:"+parentType+'.'+name); 13897 } 13898 composeBackboneElement(t, "stratifier", name, element, index); 13899 for (int i = 0; i < element.getCode().size(); i++) { 13900 composeCodeableConcept(t, "MeasureReportGroupStratifierComponent", "code", element.getCode().get(i), i); 13901 } 13902 for (int i = 0; i < element.getStratum().size(); i++) { 13903 composeMeasureReportStratifierGroupComponent(t, "MeasureReportGroupStratifierComponent", "stratum", element.getStratum().get(i), i); 13904 } 13905 } 13906 13907 protected void composeMeasureReportStratifierGroupComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponent element, int index) { 13908 if (element == null) 13909 return; 13910 Complex t; 13911 if (Utilities.noString(parentType)) 13912 t = parent; 13913 else { 13914 t = parent.predicate("fhir:"+parentType+'.'+name); 13915 } 13916 composeBackboneElement(t, "stratum", name, element, index); 13917 if (element.hasValue()) { 13918 composeCodeableConcept(t, "StratifierGroupComponent", "value", element.getValue(), -1); 13919 } 13920 for (int i = 0; i < element.getComponent().size(); i++) { 13921 composeMeasureReportStratifierGroupComponentComponent(t, "StratifierGroupComponent", "component", element.getComponent().get(i), i); 13922 } 13923 for (int i = 0; i < element.getPopulation().size(); i++) { 13924 composeMeasureReportStratifierGroupPopulationComponent(t, "StratifierGroupComponent", "population", element.getPopulation().get(i), i); 13925 } 13926 if (element.hasMeasureScore()) { 13927 composeQuantity(t, "StratifierGroupComponent", "measureScore", element.getMeasureScore(), -1); 13928 } 13929 } 13930 13931 protected void composeMeasureReportStratifierGroupComponentComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponentComponent element, int index) { 13932 if (element == null) 13933 return; 13934 Complex t; 13935 if (Utilities.noString(parentType)) 13936 t = parent; 13937 else { 13938 t = parent.predicate("fhir:"+parentType+'.'+name); 13939 } 13940 composeBackboneElement(t, "component", name, element, index); 13941 if (element.hasCode()) { 13942 composeCodeableConcept(t, "StratifierGroupComponentComponent", "code", element.getCode(), -1); 13943 } 13944 if (element.hasValue()) { 13945 composeCodeableConcept(t, "StratifierGroupComponentComponent", "value", element.getValue(), -1); 13946 } 13947 } 13948 13949 protected void composeMeasureReportStratifierGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupPopulationComponent element, int index) { 13950 if (element == null) 13951 return; 13952 Complex t; 13953 if (Utilities.noString(parentType)) 13954 t = parent; 13955 else { 13956 t = parent.predicate("fhir:"+parentType+'.'+name); 13957 } 13958 composeBackboneElement(t, "population", name, element, index); 13959 if (element.hasCode()) { 13960 composeCodeableConcept(t, "StratifierGroupPopulationComponent", "code", element.getCode(), -1); 13961 } 13962 if (element.hasCountElement()) { 13963 composeInteger(t, "StratifierGroupPopulationComponent", "count", element.getCountElement(), -1); 13964 } 13965 if (element.hasSubjectResults()) { 13966 composeReference(t, "StratifierGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 13967 } 13968 } 13969 13970 protected void composeMedia(Complex parent, String parentType, String name, Media element, int index) { 13971 if (element == null) 13972 return; 13973 Complex t; 13974 if (Utilities.noString(parentType)) 13975 t = parent; 13976 else { 13977 t = parent.predicate("fhir:"+parentType+'.'+name); 13978 } 13979 composeDomainResource(t, "Media", name, element, index); 13980 for (int i = 0; i < element.getIdentifier().size(); i++) { 13981 composeIdentifier(t, "Media", "identifier", element.getIdentifier().get(i), i); 13982 } 13983 for (int i = 0; i < element.getBasedOn().size(); i++) { 13984 composeReference(t, "Media", "basedOn", element.getBasedOn().get(i), i); 13985 } 13986 for (int i = 0; i < element.getPartOf().size(); i++) { 13987 composeReference(t, "Media", "partOf", element.getPartOf().get(i), i); 13988 } 13989 if (element.hasStatusElement()) { 13990 composeEnum(t, "Media", "status", element.getStatusElement(), -1); 13991 } 13992 if (element.hasType()) { 13993 composeCodeableConcept(t, "Media", "type", element.getType(), -1); 13994 } 13995 if (element.hasModality()) { 13996 composeCodeableConcept(t, "Media", "modality", element.getModality(), -1); 13997 } 13998 if (element.hasView()) { 13999 composeCodeableConcept(t, "Media", "view", element.getView(), -1); 14000 } 14001 if (element.hasSubject()) { 14002 composeReference(t, "Media", "subject", element.getSubject(), -1); 14003 } 14004 if (element.hasEncounter()) { 14005 composeReference(t, "Media", "encounter", element.getEncounter(), -1); 14006 } 14007 if (element.hasCreated()) { 14008 composeType(t, "Media", "created", element.getCreated(), -1); 14009 } 14010 if (element.hasIssuedElement()) { 14011 composeInstant(t, "Media", "issued", element.getIssuedElement(), -1); 14012 } 14013 if (element.hasOperator()) { 14014 composeReference(t, "Media", "operator", element.getOperator(), -1); 14015 } 14016 for (int i = 0; i < element.getReasonCode().size(); i++) { 14017 composeCodeableConcept(t, "Media", "reasonCode", element.getReasonCode().get(i), i); 14018 } 14019 if (element.hasBodySite()) { 14020 composeCodeableConcept(t, "Media", "bodySite", element.getBodySite(), -1); 14021 } 14022 if (element.hasDeviceNameElement()) { 14023 composeString(t, "Media", "deviceName", element.getDeviceNameElement(), -1); 14024 } 14025 if (element.hasDevice()) { 14026 composeReference(t, "Media", "device", element.getDevice(), -1); 14027 } 14028 if (element.hasHeightElement()) { 14029 composePositiveInt(t, "Media", "height", element.getHeightElement(), -1); 14030 } 14031 if (element.hasWidthElement()) { 14032 composePositiveInt(t, "Media", "width", element.getWidthElement(), -1); 14033 } 14034 if (element.hasFramesElement()) { 14035 composePositiveInt(t, "Media", "frames", element.getFramesElement(), -1); 14036 } 14037 if (element.hasDurationElement()) { 14038 composeDecimal(t, "Media", "duration", element.getDurationElement(), -1); 14039 } 14040 if (element.hasContent()) { 14041 composeAttachment(t, "Media", "content", element.getContent(), -1); 14042 } 14043 for (int i = 0; i < element.getNote().size(); i++) { 14044 composeAnnotation(t, "Media", "note", element.getNote().get(i), i); 14045 } 14046 } 14047 14048 protected void composeMedication(Complex parent, String parentType, String name, Medication element, int index) { 14049 if (element == null) 14050 return; 14051 Complex t; 14052 if (Utilities.noString(parentType)) 14053 t = parent; 14054 else { 14055 t = parent.predicate("fhir:"+parentType+'.'+name); 14056 } 14057 composeDomainResource(t, "Medication", name, element, index); 14058 for (int i = 0; i < element.getIdentifier().size(); i++) { 14059 composeIdentifier(t, "Medication", "identifier", element.getIdentifier().get(i), i); 14060 } 14061 if (element.hasCode()) { 14062 composeCodeableConcept(t, "Medication", "code", element.getCode(), -1); 14063 } 14064 if (element.hasStatusElement()) { 14065 composeEnum(t, "Medication", "status", element.getStatusElement(), -1); 14066 } 14067 if (element.hasManufacturer()) { 14068 composeReference(t, "Medication", "manufacturer", element.getManufacturer(), -1); 14069 } 14070 if (element.hasForm()) { 14071 composeCodeableConcept(t, "Medication", "form", element.getForm(), -1); 14072 } 14073 if (element.hasAmount()) { 14074 composeRatio(t, "Medication", "amount", element.getAmount(), -1); 14075 } 14076 for (int i = 0; i < element.getIngredient().size(); i++) { 14077 composeMedicationIngredientComponent(t, "Medication", "ingredient", element.getIngredient().get(i), i); 14078 } 14079 if (element.hasBatch()) { 14080 composeMedicationBatchComponent(t, "Medication", "batch", element.getBatch(), -1); 14081 } 14082 } 14083 14084 protected void composeMedicationIngredientComponent(Complex parent, String parentType, String name, Medication.MedicationIngredientComponent element, int index) { 14085 if (element == null) 14086 return; 14087 Complex t; 14088 if (Utilities.noString(parentType)) 14089 t = parent; 14090 else { 14091 t = parent.predicate("fhir:"+parentType+'.'+name); 14092 } 14093 composeBackboneElement(t, "ingredient", name, element, index); 14094 if (element.hasItem()) { 14095 composeType(t, "MedicationIngredientComponent", "item", element.getItem(), -1); 14096 } 14097 if (element.hasIsActiveElement()) { 14098 composeBoolean(t, "MedicationIngredientComponent", "isActive", element.getIsActiveElement(), -1); 14099 } 14100 if (element.hasStrength()) { 14101 composeRatio(t, "MedicationIngredientComponent", "strength", element.getStrength(), -1); 14102 } 14103 } 14104 14105 protected void composeMedicationBatchComponent(Complex parent, String parentType, String name, Medication.MedicationBatchComponent element, int index) { 14106 if (element == null) 14107 return; 14108 Complex t; 14109 if (Utilities.noString(parentType)) 14110 t = parent; 14111 else { 14112 t = parent.predicate("fhir:"+parentType+'.'+name); 14113 } 14114 composeBackboneElement(t, "batch", name, element, index); 14115 if (element.hasLotNumberElement()) { 14116 composeString(t, "MedicationBatchComponent", "lotNumber", element.getLotNumberElement(), -1); 14117 } 14118 if (element.hasExpirationDateElement()) { 14119 composeDateTime(t, "MedicationBatchComponent", "expirationDate", element.getExpirationDateElement(), -1); 14120 } 14121 } 14122 14123 protected void composeMedicationAdministration(Complex parent, String parentType, String name, MedicationAdministration element, int index) { 14124 if (element == null) 14125 return; 14126 Complex t; 14127 if (Utilities.noString(parentType)) 14128 t = parent; 14129 else { 14130 t = parent.predicate("fhir:"+parentType+'.'+name); 14131 } 14132 composeDomainResource(t, "MedicationAdministration", name, element, index); 14133 for (int i = 0; i < element.getIdentifier().size(); i++) { 14134 composeIdentifier(t, "MedicationAdministration", "identifier", element.getIdentifier().get(i), i); 14135 } 14136 for (int i = 0; i < element.getInstantiates().size(); i++) { 14137 composeUri(t, "MedicationAdministration", "instantiates", element.getInstantiates().get(i), i); 14138 } 14139 for (int i = 0; i < element.getPartOf().size(); i++) { 14140 composeReference(t, "MedicationAdministration", "partOf", element.getPartOf().get(i), i); 14141 } 14142 if (element.hasStatusElement()) { 14143 composeEnum(t, "MedicationAdministration", "status", element.getStatusElement(), -1); 14144 } 14145 for (int i = 0; i < element.getStatusReason().size(); i++) { 14146 composeCodeableConcept(t, "MedicationAdministration", "statusReason", element.getStatusReason().get(i), i); 14147 } 14148 if (element.hasCategory()) { 14149 composeCodeableConcept(t, "MedicationAdministration", "category", element.getCategory(), -1); 14150 } 14151 if (element.hasMedication()) { 14152 composeType(t, "MedicationAdministration", "medication", element.getMedication(), -1); 14153 } 14154 if (element.hasSubject()) { 14155 composeReference(t, "MedicationAdministration", "subject", element.getSubject(), -1); 14156 } 14157 if (element.hasContext()) { 14158 composeReference(t, "MedicationAdministration", "context", element.getContext(), -1); 14159 } 14160 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 14161 composeReference(t, "MedicationAdministration", "supportingInformation", element.getSupportingInformation().get(i), i); 14162 } 14163 if (element.hasEffective()) { 14164 composeType(t, "MedicationAdministration", "effective", element.getEffective(), -1); 14165 } 14166 for (int i = 0; i < element.getPerformer().size(); i++) { 14167 composeMedicationAdministrationPerformerComponent(t, "MedicationAdministration", "performer", element.getPerformer().get(i), i); 14168 } 14169 for (int i = 0; i < element.getReasonCode().size(); i++) { 14170 composeCodeableConcept(t, "MedicationAdministration", "reasonCode", element.getReasonCode().get(i), i); 14171 } 14172 for (int i = 0; i < element.getReasonReference().size(); i++) { 14173 composeReference(t, "MedicationAdministration", "reasonReference", element.getReasonReference().get(i), i); 14174 } 14175 if (element.hasRequest()) { 14176 composeReference(t, "MedicationAdministration", "request", element.getRequest(), -1); 14177 } 14178 for (int i = 0; i < element.getDevice().size(); i++) { 14179 composeReference(t, "MedicationAdministration", "device", element.getDevice().get(i), i); 14180 } 14181 for (int i = 0; i < element.getNote().size(); i++) { 14182 composeAnnotation(t, "MedicationAdministration", "note", element.getNote().get(i), i); 14183 } 14184 if (element.hasDosage()) { 14185 composeMedicationAdministrationDosageComponent(t, "MedicationAdministration", "dosage", element.getDosage(), -1); 14186 } 14187 for (int i = 0; i < element.getEventHistory().size(); i++) { 14188 composeReference(t, "MedicationAdministration", "eventHistory", element.getEventHistory().get(i), i); 14189 } 14190 } 14191 14192 protected void composeMedicationAdministrationPerformerComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationPerformerComponent element, int index) { 14193 if (element == null) 14194 return; 14195 Complex t; 14196 if (Utilities.noString(parentType)) 14197 t = parent; 14198 else { 14199 t = parent.predicate("fhir:"+parentType+'.'+name); 14200 } 14201 composeBackboneElement(t, "performer", name, element, index); 14202 if (element.hasFunction()) { 14203 composeCodeableConcept(t, "MedicationAdministrationPerformerComponent", "function", element.getFunction(), -1); 14204 } 14205 if (element.hasActor()) { 14206 composeReference(t, "MedicationAdministrationPerformerComponent", "actor", element.getActor(), -1); 14207 } 14208 } 14209 14210 protected void composeMedicationAdministrationDosageComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationDosageComponent element, int index) { 14211 if (element == null) 14212 return; 14213 Complex t; 14214 if (Utilities.noString(parentType)) 14215 t = parent; 14216 else { 14217 t = parent.predicate("fhir:"+parentType+'.'+name); 14218 } 14219 composeBackboneElement(t, "dosage", name, element, index); 14220 if (element.hasTextElement()) { 14221 composeString(t, "MedicationAdministrationDosageComponent", "text", element.getTextElement(), -1); 14222 } 14223 if (element.hasSite()) { 14224 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "site", element.getSite(), -1); 14225 } 14226 if (element.hasRoute()) { 14227 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "route", element.getRoute(), -1); 14228 } 14229 if (element.hasMethod()) { 14230 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "method", element.getMethod(), -1); 14231 } 14232 if (element.hasDose()) { 14233 composeQuantity(t, "MedicationAdministrationDosageComponent", "dose", element.getDose(), -1); 14234 } 14235 if (element.hasRate()) { 14236 composeType(t, "MedicationAdministrationDosageComponent", "rate", element.getRate(), -1); 14237 } 14238 } 14239 14240 protected void composeMedicationDispense(Complex parent, String parentType, String name, MedicationDispense element, int index) { 14241 if (element == null) 14242 return; 14243 Complex t; 14244 if (Utilities.noString(parentType)) 14245 t = parent; 14246 else { 14247 t = parent.predicate("fhir:"+parentType+'.'+name); 14248 } 14249 composeDomainResource(t, "MedicationDispense", name, element, index); 14250 for (int i = 0; i < element.getIdentifier().size(); i++) { 14251 composeIdentifier(t, "MedicationDispense", "identifier", element.getIdentifier().get(i), i); 14252 } 14253 for (int i = 0; i < element.getPartOf().size(); i++) { 14254 composeReference(t, "MedicationDispense", "partOf", element.getPartOf().get(i), i); 14255 } 14256 if (element.hasStatusElement()) { 14257 composeEnum(t, "MedicationDispense", "status", element.getStatusElement(), -1); 14258 } 14259 if (element.hasStatusReason()) { 14260 composeType(t, "MedicationDispense", "statusReason", element.getStatusReason(), -1); 14261 } 14262 if (element.hasCategory()) { 14263 composeCodeableConcept(t, "MedicationDispense", "category", element.getCategory(), -1); 14264 } 14265 if (element.hasMedication()) { 14266 composeType(t, "MedicationDispense", "medication", element.getMedication(), -1); 14267 } 14268 if (element.hasSubject()) { 14269 composeReference(t, "MedicationDispense", "subject", element.getSubject(), -1); 14270 } 14271 if (element.hasContext()) { 14272 composeReference(t, "MedicationDispense", "context", element.getContext(), -1); 14273 } 14274 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 14275 composeReference(t, "MedicationDispense", "supportingInformation", element.getSupportingInformation().get(i), i); 14276 } 14277 for (int i = 0; i < element.getPerformer().size(); i++) { 14278 composeMedicationDispensePerformerComponent(t, "MedicationDispense", "performer", element.getPerformer().get(i), i); 14279 } 14280 if (element.hasLocation()) { 14281 composeReference(t, "MedicationDispense", "location", element.getLocation(), -1); 14282 } 14283 for (int i = 0; i < element.getAuthorizingPrescription().size(); i++) { 14284 composeReference(t, "MedicationDispense", "authorizingPrescription", element.getAuthorizingPrescription().get(i), i); 14285 } 14286 if (element.hasType()) { 14287 composeCodeableConcept(t, "MedicationDispense", "type", element.getType(), -1); 14288 } 14289 if (element.hasQuantity()) { 14290 composeQuantity(t, "MedicationDispense", "quantity", element.getQuantity(), -1); 14291 } 14292 if (element.hasDaysSupply()) { 14293 composeQuantity(t, "MedicationDispense", "daysSupply", element.getDaysSupply(), -1); 14294 } 14295 if (element.hasWhenPreparedElement()) { 14296 composeDateTime(t, "MedicationDispense", "whenPrepared", element.getWhenPreparedElement(), -1); 14297 } 14298 if (element.hasWhenHandedOverElement()) { 14299 composeDateTime(t, "MedicationDispense", "whenHandedOver", element.getWhenHandedOverElement(), -1); 14300 } 14301 if (element.hasDestination()) { 14302 composeReference(t, "MedicationDispense", "destination", element.getDestination(), -1); 14303 } 14304 for (int i = 0; i < element.getReceiver().size(); i++) { 14305 composeReference(t, "MedicationDispense", "receiver", element.getReceiver().get(i), i); 14306 } 14307 for (int i = 0; i < element.getNote().size(); i++) { 14308 composeAnnotation(t, "MedicationDispense", "note", element.getNote().get(i), i); 14309 } 14310 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 14311 composeDosage(t, "MedicationDispense", "dosageInstruction", element.getDosageInstruction().get(i), i); 14312 } 14313 if (element.hasSubstitution()) { 14314 composeMedicationDispenseSubstitutionComponent(t, "MedicationDispense", "substitution", element.getSubstitution(), -1); 14315 } 14316 for (int i = 0; i < element.getDetectedIssue().size(); i++) { 14317 composeReference(t, "MedicationDispense", "detectedIssue", element.getDetectedIssue().get(i), i); 14318 } 14319 for (int i = 0; i < element.getEventHistory().size(); i++) { 14320 composeReference(t, "MedicationDispense", "eventHistory", element.getEventHistory().get(i), i); 14321 } 14322 } 14323 14324 protected void composeMedicationDispensePerformerComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispensePerformerComponent element, int index) { 14325 if (element == null) 14326 return; 14327 Complex t; 14328 if (Utilities.noString(parentType)) 14329 t = parent; 14330 else { 14331 t = parent.predicate("fhir:"+parentType+'.'+name); 14332 } 14333 composeBackboneElement(t, "performer", name, element, index); 14334 if (element.hasFunction()) { 14335 composeCodeableConcept(t, "MedicationDispensePerformerComponent", "function", element.getFunction(), -1); 14336 } 14337 if (element.hasActor()) { 14338 composeReference(t, "MedicationDispensePerformerComponent", "actor", element.getActor(), -1); 14339 } 14340 } 14341 14342 protected void composeMedicationDispenseSubstitutionComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispenseSubstitutionComponent element, int index) { 14343 if (element == null) 14344 return; 14345 Complex t; 14346 if (Utilities.noString(parentType)) 14347 t = parent; 14348 else { 14349 t = parent.predicate("fhir:"+parentType+'.'+name); 14350 } 14351 composeBackboneElement(t, "substitution", name, element, index); 14352 if (element.hasWasSubstitutedElement()) { 14353 composeBoolean(t, "MedicationDispenseSubstitutionComponent", "wasSubstituted", element.getWasSubstitutedElement(), -1); 14354 } 14355 if (element.hasType()) { 14356 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "type", element.getType(), -1); 14357 } 14358 for (int i = 0; i < element.getReason().size(); i++) { 14359 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "reason", element.getReason().get(i), i); 14360 } 14361 for (int i = 0; i < element.getResponsibleParty().size(); i++) { 14362 composeReference(t, "MedicationDispenseSubstitutionComponent", "responsibleParty", element.getResponsibleParty().get(i), i); 14363 } 14364 } 14365 14366 protected void composeMedicationKnowledge(Complex parent, String parentType, String name, MedicationKnowledge element, int index) { 14367 if (element == null) 14368 return; 14369 Complex t; 14370 if (Utilities.noString(parentType)) 14371 t = parent; 14372 else { 14373 t = parent.predicate("fhir:"+parentType+'.'+name); 14374 } 14375 composeDomainResource(t, "MedicationKnowledge", name, element, index); 14376 if (element.hasCode()) { 14377 composeCodeableConcept(t, "MedicationKnowledge", "code", element.getCode(), -1); 14378 } 14379 if (element.hasStatusElement()) { 14380 composeEnum(t, "MedicationKnowledge", "status", element.getStatusElement(), -1); 14381 } 14382 if (element.hasManufacturer()) { 14383 composeReference(t, "MedicationKnowledge", "manufacturer", element.getManufacturer(), -1); 14384 } 14385 if (element.hasDoseForm()) { 14386 composeCodeableConcept(t, "MedicationKnowledge", "doseForm", element.getDoseForm(), -1); 14387 } 14388 if (element.hasAmount()) { 14389 composeQuantity(t, "MedicationKnowledge", "amount", element.getAmount(), -1); 14390 } 14391 for (int i = 0; i < element.getSynonym().size(); i++) { 14392 composeString(t, "MedicationKnowledge", "synonym", element.getSynonym().get(i), i); 14393 } 14394 for (int i = 0; i < element.getRelatedMedicationKnowledge().size(); i++) { 14395 composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(t, "MedicationKnowledge", "relatedMedicationKnowledge", element.getRelatedMedicationKnowledge().get(i), i); 14396 } 14397 for (int i = 0; i < element.getAssociatedMedication().size(); i++) { 14398 composeReference(t, "MedicationKnowledge", "associatedMedication", element.getAssociatedMedication().get(i), i); 14399 } 14400 for (int i = 0; i < element.getProductType().size(); i++) { 14401 composeCodeableConcept(t, "MedicationKnowledge", "productType", element.getProductType().get(i), i); 14402 } 14403 for (int i = 0; i < element.getMonograph().size(); i++) { 14404 composeMedicationKnowledgeMonographComponent(t, "MedicationKnowledge", "monograph", element.getMonograph().get(i), i); 14405 } 14406 for (int i = 0; i < element.getIngredient().size(); i++) { 14407 composeMedicationKnowledgeIngredientComponent(t, "MedicationKnowledge", "ingredient", element.getIngredient().get(i), i); 14408 } 14409 if (element.hasPreparationInstructionElement()) { 14410 composeMarkdown(t, "MedicationKnowledge", "preparationInstruction", element.getPreparationInstructionElement(), -1); 14411 } 14412 for (int i = 0; i < element.getIntendedRoute().size(); i++) { 14413 composeCodeableConcept(t, "MedicationKnowledge", "intendedRoute", element.getIntendedRoute().get(i), i); 14414 } 14415 for (int i = 0; i < element.getCost().size(); i++) { 14416 composeMedicationKnowledgeCostComponent(t, "MedicationKnowledge", "cost", element.getCost().get(i), i); 14417 } 14418 for (int i = 0; i < element.getMonitoringProgram().size(); i++) { 14419 composeMedicationKnowledgeMonitoringProgramComponent(t, "MedicationKnowledge", "monitoringProgram", element.getMonitoringProgram().get(i), i); 14420 } 14421 for (int i = 0; i < element.getAdministrationGuidelines().size(); i++) { 14422 composeMedicationKnowledgeAdministrationGuidelinesComponent(t, "MedicationKnowledge", "administrationGuidelines", element.getAdministrationGuidelines().get(i), i); 14423 } 14424 for (int i = 0; i < element.getMedicineClassification().size(); i++) { 14425 composeMedicationKnowledgeMedicineClassificationComponent(t, "MedicationKnowledge", "medicineClassification", element.getMedicineClassification().get(i), i); 14426 } 14427 if (element.hasPackaging()) { 14428 composeMedicationKnowledgePackagingComponent(t, "MedicationKnowledge", "packaging", element.getPackaging(), -1); 14429 } 14430 for (int i = 0; i < element.getDrugCharacteristic().size(); i++) { 14431 composeMedicationKnowledgeDrugCharacteristicComponent(t, "MedicationKnowledge", "drugCharacteristic", element.getDrugCharacteristic().get(i), i); 14432 } 14433 for (int i = 0; i < element.getContraindication().size(); i++) { 14434 composeReference(t, "MedicationKnowledge", "contraindication", element.getContraindication().get(i), i); 14435 } 14436 for (int i = 0; i < element.getRegulatory().size(); i++) { 14437 composeMedicationKnowledgeRegulatoryComponent(t, "MedicationKnowledge", "regulatory", element.getRegulatory().get(i), i); 14438 } 14439 for (int i = 0; i < element.getKinetics().size(); i++) { 14440 composeMedicationKnowledgeKineticsComponent(t, "MedicationKnowledge", "kinetics", element.getKinetics().get(i), i); 14441 } 14442 } 14443 14444 protected void composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent element, int index) { 14445 if (element == null) 14446 return; 14447 Complex t; 14448 if (Utilities.noString(parentType)) 14449 t = parent; 14450 else { 14451 t = parent.predicate("fhir:"+parentType+'.'+name); 14452 } 14453 composeBackboneElement(t, "relatedMedicationKnowledge", name, element, index); 14454 if (element.hasType()) { 14455 composeCodeableConcept(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "type", element.getType(), -1); 14456 } 14457 for (int i = 0; i < element.getReference().size(); i++) { 14458 composeReference(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "reference", element.getReference().get(i), i); 14459 } 14460 } 14461 14462 protected void composeMedicationKnowledgeMonographComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonographComponent element, int index) { 14463 if (element == null) 14464 return; 14465 Complex t; 14466 if (Utilities.noString(parentType)) 14467 t = parent; 14468 else { 14469 t = parent.predicate("fhir:"+parentType+'.'+name); 14470 } 14471 composeBackboneElement(t, "monograph", name, element, index); 14472 if (element.hasType()) { 14473 composeCodeableConcept(t, "MedicationKnowledgeMonographComponent", "type", element.getType(), -1); 14474 } 14475 if (element.hasSource()) { 14476 composeReference(t, "MedicationKnowledgeMonographComponent", "source", element.getSource(), -1); 14477 } 14478 } 14479 14480 protected void composeMedicationKnowledgeIngredientComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIngredientComponent element, int index) { 14481 if (element == null) 14482 return; 14483 Complex t; 14484 if (Utilities.noString(parentType)) 14485 t = parent; 14486 else { 14487 t = parent.predicate("fhir:"+parentType+'.'+name); 14488 } 14489 composeBackboneElement(t, "ingredient", name, element, index); 14490 if (element.hasItem()) { 14491 composeType(t, "MedicationKnowledgeIngredientComponent", "item", element.getItem(), -1); 14492 } 14493 if (element.hasIsActiveElement()) { 14494 composeBoolean(t, "MedicationKnowledgeIngredientComponent", "isActive", element.getIsActiveElement(), -1); 14495 } 14496 if (element.hasStrength()) { 14497 composeRatio(t, "MedicationKnowledgeIngredientComponent", "strength", element.getStrength(), -1); 14498 } 14499 } 14500 14501 protected void composeMedicationKnowledgeCostComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeCostComponent element, int index) { 14502 if (element == null) 14503 return; 14504 Complex t; 14505 if (Utilities.noString(parentType)) 14506 t = parent; 14507 else { 14508 t = parent.predicate("fhir:"+parentType+'.'+name); 14509 } 14510 composeBackboneElement(t, "cost", name, element, index); 14511 if (element.hasType()) { 14512 composeCodeableConcept(t, "MedicationKnowledgeCostComponent", "type", element.getType(), -1); 14513 } 14514 if (element.hasSourceElement()) { 14515 composeString(t, "MedicationKnowledgeCostComponent", "source", element.getSourceElement(), -1); 14516 } 14517 if (element.hasCost()) { 14518 composeMoney(t, "MedicationKnowledgeCostComponent", "cost", element.getCost(), -1); 14519 } 14520 } 14521 14522 protected void composeMedicationKnowledgeMonitoringProgramComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent element, int index) { 14523 if (element == null) 14524 return; 14525 Complex t; 14526 if (Utilities.noString(parentType)) 14527 t = parent; 14528 else { 14529 t = parent.predicate("fhir:"+parentType+'.'+name); 14530 } 14531 composeBackboneElement(t, "monitoringProgram", name, element, index); 14532 if (element.hasType()) { 14533 composeCodeableConcept(t, "MedicationKnowledgeMonitoringProgramComponent", "type", element.getType(), -1); 14534 } 14535 if (element.hasNameElement()) { 14536 composeString(t, "MedicationKnowledgeMonitoringProgramComponent", "name", element.getNameElement(), -1); 14537 } 14538 } 14539 14540 protected void composeMedicationKnowledgeAdministrationGuidelinesComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent element, int index) { 14541 if (element == null) 14542 return; 14543 Complex t; 14544 if (Utilities.noString(parentType)) 14545 t = parent; 14546 else { 14547 t = parent.predicate("fhir:"+parentType+'.'+name); 14548 } 14549 composeBackboneElement(t, "administrationGuidelines", name, element, index); 14550 for (int i = 0; i < element.getDosage().size(); i++) { 14551 composeMedicationKnowledgeAdministrationGuidelinesDosageComponent(t, "MedicationKnowledgeAdministrationGuidelinesComponent", "dosage", element.getDosage().get(i), i); 14552 } 14553 if (element.hasIndication()) { 14554 composeType(t, "MedicationKnowledgeAdministrationGuidelinesComponent", "indication", element.getIndication(), -1); 14555 } 14556 for (int i = 0; i < element.getPatientCharacteristics().size(); i++) { 14557 composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(t, "MedicationKnowledgeAdministrationGuidelinesComponent", "patientCharacteristics", element.getPatientCharacteristics().get(i), i); 14558 } 14559 } 14560 14561 protected void composeMedicationKnowledgeAdministrationGuidelinesDosageComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent element, int index) { 14562 if (element == null) 14563 return; 14564 Complex t; 14565 if (Utilities.noString(parentType)) 14566 t = parent; 14567 else { 14568 t = parent.predicate("fhir:"+parentType+'.'+name); 14569 } 14570 composeBackboneElement(t, "dosage", name, element, index); 14571 if (element.hasType()) { 14572 composeCodeableConcept(t, "MedicationKnowledgeAdministrationGuidelinesDosageComponent", "type", element.getType(), -1); 14573 } 14574 for (int i = 0; i < element.getDosage().size(); i++) { 14575 composeDosage(t, "MedicationKnowledgeAdministrationGuidelinesDosageComponent", "dosage", element.getDosage().get(i), i); 14576 } 14577 } 14578 14579 protected void composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent element, int index) { 14580 if (element == null) 14581 return; 14582 Complex t; 14583 if (Utilities.noString(parentType)) 14584 t = parent; 14585 else { 14586 t = parent.predicate("fhir:"+parentType+'.'+name); 14587 } 14588 composeBackboneElement(t, "patientCharacteristics", name, element, index); 14589 if (element.hasCharacteristic()) { 14590 composeType(t, "MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent", "characteristic", element.getCharacteristic(), -1); 14591 } 14592 for (int i = 0; i < element.getValue().size(); i++) { 14593 composeString(t, "MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent", "value", element.getValue().get(i), i); 14594 } 14595 } 14596 14597 protected void composeMedicationKnowledgeMedicineClassificationComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent element, int index) { 14598 if (element == null) 14599 return; 14600 Complex t; 14601 if (Utilities.noString(parentType)) 14602 t = parent; 14603 else { 14604 t = parent.predicate("fhir:"+parentType+'.'+name); 14605 } 14606 composeBackboneElement(t, "medicineClassification", name, element, index); 14607 if (element.hasType()) { 14608 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "type", element.getType(), -1); 14609 } 14610 for (int i = 0; i < element.getClassification().size(); i++) { 14611 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "classification", element.getClassification().get(i), i); 14612 } 14613 } 14614 14615 protected void composeMedicationKnowledgePackagingComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgePackagingComponent element, int index) { 14616 if (element == null) 14617 return; 14618 Complex t; 14619 if (Utilities.noString(parentType)) 14620 t = parent; 14621 else { 14622 t = parent.predicate("fhir:"+parentType+'.'+name); 14623 } 14624 composeBackboneElement(t, "packaging", name, element, index); 14625 if (element.hasType()) { 14626 composeCodeableConcept(t, "MedicationKnowledgePackagingComponent", "type", element.getType(), -1); 14627 } 14628 if (element.hasQuantity()) { 14629 composeQuantity(t, "MedicationKnowledgePackagingComponent", "quantity", element.getQuantity(), -1); 14630 } 14631 } 14632 14633 protected void composeMedicationKnowledgeDrugCharacteristicComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent element, int index) { 14634 if (element == null) 14635 return; 14636 Complex t; 14637 if (Utilities.noString(parentType)) 14638 t = parent; 14639 else { 14640 t = parent.predicate("fhir:"+parentType+'.'+name); 14641 } 14642 composeBackboneElement(t, "drugCharacteristic", name, element, index); 14643 if (element.hasType()) { 14644 composeCodeableConcept(t, "MedicationKnowledgeDrugCharacteristicComponent", "type", element.getType(), -1); 14645 } 14646 if (element.hasValue()) { 14647 composeType(t, "MedicationKnowledgeDrugCharacteristicComponent", "value", element.getValue(), -1); 14648 } 14649 } 14650 14651 protected void composeMedicationKnowledgeRegulatoryComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryComponent element, int index) { 14652 if (element == null) 14653 return; 14654 Complex t; 14655 if (Utilities.noString(parentType)) 14656 t = parent; 14657 else { 14658 t = parent.predicate("fhir:"+parentType+'.'+name); 14659 } 14660 composeBackboneElement(t, "regulatory", name, element, index); 14661 if (element.hasRegulatoryAuthority()) { 14662 composeReference(t, "MedicationKnowledgeRegulatoryComponent", "regulatoryAuthority", element.getRegulatoryAuthority(), -1); 14663 } 14664 for (int i = 0; i < element.getSubstitution().size(); i++) { 14665 composeMedicationKnowledgeRegulatorySubstitutionComponent(t, "MedicationKnowledgeRegulatoryComponent", "substitution", element.getSubstitution().get(i), i); 14666 } 14667 for (int i = 0; i < element.getSchedule().size(); i++) { 14668 composeMedicationKnowledgeRegulatoryScheduleComponent(t, "MedicationKnowledgeRegulatoryComponent", "schedule", element.getSchedule().get(i), i); 14669 } 14670 if (element.hasMaxDispense()) { 14671 composeMedicationKnowledgeRegulatoryMaxDispenseComponent(t, "MedicationKnowledgeRegulatoryComponent", "maxDispense", element.getMaxDispense(), -1); 14672 } 14673 } 14674 14675 protected void composeMedicationKnowledgeRegulatorySubstitutionComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent element, int index) { 14676 if (element == null) 14677 return; 14678 Complex t; 14679 if (Utilities.noString(parentType)) 14680 t = parent; 14681 else { 14682 t = parent.predicate("fhir:"+parentType+'.'+name); 14683 } 14684 composeBackboneElement(t, "substitution", name, element, index); 14685 if (element.hasType()) { 14686 composeCodeableConcept(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "type", element.getType(), -1); 14687 } 14688 if (element.hasAllowedElement()) { 14689 composeBoolean(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "allowed", element.getAllowedElement(), -1); 14690 } 14691 } 14692 14693 protected void composeMedicationKnowledgeRegulatoryScheduleComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent element, int index) { 14694 if (element == null) 14695 return; 14696 Complex t; 14697 if (Utilities.noString(parentType)) 14698 t = parent; 14699 else { 14700 t = parent.predicate("fhir:"+parentType+'.'+name); 14701 } 14702 composeBackboneElement(t, "schedule", name, element, index); 14703 if (element.hasSchedule()) { 14704 composeCodeableConcept(t, "MedicationKnowledgeRegulatoryScheduleComponent", "schedule", element.getSchedule(), -1); 14705 } 14706 } 14707 14708 protected void composeMedicationKnowledgeRegulatoryMaxDispenseComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent element, int index) { 14709 if (element == null) 14710 return; 14711 Complex t; 14712 if (Utilities.noString(parentType)) 14713 t = parent; 14714 else { 14715 t = parent.predicate("fhir:"+parentType+'.'+name); 14716 } 14717 composeBackboneElement(t, "maxDispense", name, element, index); 14718 if (element.hasQuantity()) { 14719 composeQuantity(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "quantity", element.getQuantity(), -1); 14720 } 14721 if (element.hasPeriod()) { 14722 composeDuration(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "period", element.getPeriod(), -1); 14723 } 14724 } 14725 14726 protected void composeMedicationKnowledgeKineticsComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeKineticsComponent element, int index) { 14727 if (element == null) 14728 return; 14729 Complex t; 14730 if (Utilities.noString(parentType)) 14731 t = parent; 14732 else { 14733 t = parent.predicate("fhir:"+parentType+'.'+name); 14734 } 14735 composeBackboneElement(t, "kinetics", name, element, index); 14736 for (int i = 0; i < element.getAreaUnderCurve().size(); i++) { 14737 composeQuantity(t, "MedicationKnowledgeKineticsComponent", "areaUnderCurve", element.getAreaUnderCurve().get(i), i); 14738 } 14739 for (int i = 0; i < element.getLethalDose50().size(); i++) { 14740 composeQuantity(t, "MedicationKnowledgeKineticsComponent", "lethalDose50", element.getLethalDose50().get(i), i); 14741 } 14742 if (element.hasHalfLifePeriod()) { 14743 composeDuration(t, "MedicationKnowledgeKineticsComponent", "halfLifePeriod", element.getHalfLifePeriod(), -1); 14744 } 14745 } 14746 14747 protected void composeMedicationRequest(Complex parent, String parentType, String name, MedicationRequest element, int index) { 14748 if (element == null) 14749 return; 14750 Complex t; 14751 if (Utilities.noString(parentType)) 14752 t = parent; 14753 else { 14754 t = parent.predicate("fhir:"+parentType+'.'+name); 14755 } 14756 composeDomainResource(t, "MedicationRequest", name, element, index); 14757 for (int i = 0; i < element.getIdentifier().size(); i++) { 14758 composeIdentifier(t, "MedicationRequest", "identifier", element.getIdentifier().get(i), i); 14759 } 14760 if (element.hasStatusElement()) { 14761 composeEnum(t, "MedicationRequest", "status", element.getStatusElement(), -1); 14762 } 14763 if (element.hasStatusReason()) { 14764 composeCodeableConcept(t, "MedicationRequest", "statusReason", element.getStatusReason(), -1); 14765 } 14766 if (element.hasIntentElement()) { 14767 composeEnum(t, "MedicationRequest", "intent", element.getIntentElement(), -1); 14768 } 14769 for (int i = 0; i < element.getCategory().size(); i++) { 14770 composeCodeableConcept(t, "MedicationRequest", "category", element.getCategory().get(i), i); 14771 } 14772 if (element.hasPriorityElement()) { 14773 composeEnum(t, "MedicationRequest", "priority", element.getPriorityElement(), -1); 14774 } 14775 if (element.hasDoNotPerformElement()) { 14776 composeBoolean(t, "MedicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 14777 } 14778 if (element.hasReported()) { 14779 composeType(t, "MedicationRequest", "reported", element.getReported(), -1); 14780 } 14781 if (element.hasMedication()) { 14782 composeType(t, "MedicationRequest", "medication", element.getMedication(), -1); 14783 } 14784 if (element.hasSubject()) { 14785 composeReference(t, "MedicationRequest", "subject", element.getSubject(), -1); 14786 } 14787 if (element.hasEncounter()) { 14788 composeReference(t, "MedicationRequest", "encounter", element.getEncounter(), -1); 14789 } 14790 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 14791 composeReference(t, "MedicationRequest", "supportingInformation", element.getSupportingInformation().get(i), i); 14792 } 14793 if (element.hasAuthoredOnElement()) { 14794 composeDateTime(t, "MedicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 14795 } 14796 if (element.hasRequester()) { 14797 composeReference(t, "MedicationRequest", "requester", element.getRequester(), -1); 14798 } 14799 if (element.hasPerformer()) { 14800 composeReference(t, "MedicationRequest", "performer", element.getPerformer(), -1); 14801 } 14802 if (element.hasPerformerType()) { 14803 composeCodeableConcept(t, "MedicationRequest", "performerType", element.getPerformerType(), -1); 14804 } 14805 if (element.hasRecorder()) { 14806 composeReference(t, "MedicationRequest", "recorder", element.getRecorder(), -1); 14807 } 14808 for (int i = 0; i < element.getReasonCode().size(); i++) { 14809 composeCodeableConcept(t, "MedicationRequest", "reasonCode", element.getReasonCode().get(i), i); 14810 } 14811 for (int i = 0; i < element.getReasonReference().size(); i++) { 14812 composeReference(t, "MedicationRequest", "reasonReference", element.getReasonReference().get(i), i); 14813 } 14814 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 14815 composeCanonical(t, "MedicationRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 14816 } 14817 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 14818 composeUri(t, "MedicationRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 14819 } 14820 for (int i = 0; i < element.getBasedOn().size(); i++) { 14821 composeReference(t, "MedicationRequest", "basedOn", element.getBasedOn().get(i), i); 14822 } 14823 if (element.hasGroupIdentifier()) { 14824 composeIdentifier(t, "MedicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 14825 } 14826 if (element.hasCourseOfTherapyType()) { 14827 composeCodeableConcept(t, "MedicationRequest", "courseOfTherapyType", element.getCourseOfTherapyType(), -1); 14828 } 14829 for (int i = 0; i < element.getInsurance().size(); i++) { 14830 composeReference(t, "MedicationRequest", "insurance", element.getInsurance().get(i), i); 14831 } 14832 for (int i = 0; i < element.getNote().size(); i++) { 14833 composeAnnotation(t, "MedicationRequest", "note", element.getNote().get(i), i); 14834 } 14835 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 14836 composeDosage(t, "MedicationRequest", "dosageInstruction", element.getDosageInstruction().get(i), i); 14837 } 14838 if (element.hasDispenseRequest()) { 14839 composeMedicationRequestDispenseRequestComponent(t, "MedicationRequest", "dispenseRequest", element.getDispenseRequest(), -1); 14840 } 14841 if (element.hasSubstitution()) { 14842 composeMedicationRequestSubstitutionComponent(t, "MedicationRequest", "substitution", element.getSubstitution(), -1); 14843 } 14844 if (element.hasPriorPrescription()) { 14845 composeReference(t, "MedicationRequest", "priorPrescription", element.getPriorPrescription(), -1); 14846 } 14847 for (int i = 0; i < element.getDetectedIssue().size(); i++) { 14848 composeReference(t, "MedicationRequest", "detectedIssue", element.getDetectedIssue().get(i), i); 14849 } 14850 for (int i = 0; i < element.getEventHistory().size(); i++) { 14851 composeReference(t, "MedicationRequest", "eventHistory", element.getEventHistory().get(i), i); 14852 } 14853 } 14854 14855 protected void composeMedicationRequestDispenseRequestComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestComponent element, int index) { 14856 if (element == null) 14857 return; 14858 Complex t; 14859 if (Utilities.noString(parentType)) 14860 t = parent; 14861 else { 14862 t = parent.predicate("fhir:"+parentType+'.'+name); 14863 } 14864 composeBackboneElement(t, "dispenseRequest", name, element, index); 14865 if (element.hasInitialFill()) { 14866 composeMedicationRequestDispenseRequestInitialFillComponent(t, "MedicationRequestDispenseRequestComponent", "initialFill", element.getInitialFill(), -1); 14867 } 14868 if (element.hasDispenseInterval()) { 14869 composeDuration(t, "MedicationRequestDispenseRequestComponent", "dispenseInterval", element.getDispenseInterval(), -1); 14870 } 14871 if (element.hasValidityPeriod()) { 14872 composePeriod(t, "MedicationRequestDispenseRequestComponent", "validityPeriod", element.getValidityPeriod(), -1); 14873 } 14874 if (element.hasNumberOfRepeatsAllowedElement()) { 14875 composeUnsignedInt(t, "MedicationRequestDispenseRequestComponent", "numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement(), -1); 14876 } 14877 if (element.hasQuantity()) { 14878 composeQuantity(t, "MedicationRequestDispenseRequestComponent", "quantity", element.getQuantity(), -1); 14879 } 14880 if (element.hasExpectedSupplyDuration()) { 14881 composeDuration(t, "MedicationRequestDispenseRequestComponent", "expectedSupplyDuration", element.getExpectedSupplyDuration(), -1); 14882 } 14883 if (element.hasPerformer()) { 14884 composeReference(t, "MedicationRequestDispenseRequestComponent", "performer", element.getPerformer(), -1); 14885 } 14886 } 14887 14888 protected void composeMedicationRequestDispenseRequestInitialFillComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent element, int index) { 14889 if (element == null) 14890 return; 14891 Complex t; 14892 if (Utilities.noString(parentType)) 14893 t = parent; 14894 else { 14895 t = parent.predicate("fhir:"+parentType+'.'+name); 14896 } 14897 composeBackboneElement(t, "initialFill", name, element, index); 14898 if (element.hasQuantity()) { 14899 composeQuantity(t, "MedicationRequestDispenseRequestInitialFillComponent", "quantity", element.getQuantity(), -1); 14900 } 14901 if (element.hasDuration()) { 14902 composeDuration(t, "MedicationRequestDispenseRequestInitialFillComponent", "duration", element.getDuration(), -1); 14903 } 14904 } 14905 14906 protected void composeMedicationRequestSubstitutionComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestSubstitutionComponent element, int index) { 14907 if (element == null) 14908 return; 14909 Complex t; 14910 if (Utilities.noString(parentType)) 14911 t = parent; 14912 else { 14913 t = parent.predicate("fhir:"+parentType+'.'+name); 14914 } 14915 composeBackboneElement(t, "substitution", name, element, index); 14916 if (element.hasAllowed()) { 14917 composeType(t, "MedicationRequestSubstitutionComponent", "allowed", element.getAllowed(), -1); 14918 } 14919 if (element.hasReason()) { 14920 composeCodeableConcept(t, "MedicationRequestSubstitutionComponent", "reason", element.getReason(), -1); 14921 } 14922 } 14923 14924 protected void composeMedicationStatement(Complex parent, String parentType, String name, MedicationStatement element, int index) { 14925 if (element == null) 14926 return; 14927 Complex t; 14928 if (Utilities.noString(parentType)) 14929 t = parent; 14930 else { 14931 t = parent.predicate("fhir:"+parentType+'.'+name); 14932 } 14933 composeDomainResource(t, "MedicationStatement", name, element, index); 14934 for (int i = 0; i < element.getIdentifier().size(); i++) { 14935 composeIdentifier(t, "MedicationStatement", "identifier", element.getIdentifier().get(i), i); 14936 } 14937 for (int i = 0; i < element.getBasedOn().size(); i++) { 14938 composeReference(t, "MedicationStatement", "basedOn", element.getBasedOn().get(i), i); 14939 } 14940 for (int i = 0; i < element.getPartOf().size(); i++) { 14941 composeReference(t, "MedicationStatement", "partOf", element.getPartOf().get(i), i); 14942 } 14943 if (element.hasStatusElement()) { 14944 composeEnum(t, "MedicationStatement", "status", element.getStatusElement(), -1); 14945 } 14946 for (int i = 0; i < element.getStatusReason().size(); i++) { 14947 composeCodeableConcept(t, "MedicationStatement", "statusReason", element.getStatusReason().get(i), i); 14948 } 14949 if (element.hasCategory()) { 14950 composeCodeableConcept(t, "MedicationStatement", "category", element.getCategory(), -1); 14951 } 14952 if (element.hasMedication()) { 14953 composeType(t, "MedicationStatement", "medication", element.getMedication(), -1); 14954 } 14955 if (element.hasSubject()) { 14956 composeReference(t, "MedicationStatement", "subject", element.getSubject(), -1); 14957 } 14958 if (element.hasContext()) { 14959 composeReference(t, "MedicationStatement", "context", element.getContext(), -1); 14960 } 14961 if (element.hasEffective()) { 14962 composeType(t, "MedicationStatement", "effective", element.getEffective(), -1); 14963 } 14964 if (element.hasDateAssertedElement()) { 14965 composeDateTime(t, "MedicationStatement", "dateAsserted", element.getDateAssertedElement(), -1); 14966 } 14967 if (element.hasInformationSource()) { 14968 composeReference(t, "MedicationStatement", "informationSource", element.getInformationSource(), -1); 14969 } 14970 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 14971 composeReference(t, "MedicationStatement", "derivedFrom", element.getDerivedFrom().get(i), i); 14972 } 14973 for (int i = 0; i < element.getReasonCode().size(); i++) { 14974 composeCodeableConcept(t, "MedicationStatement", "reasonCode", element.getReasonCode().get(i), i); 14975 } 14976 for (int i = 0; i < element.getReasonReference().size(); i++) { 14977 composeReference(t, "MedicationStatement", "reasonReference", element.getReasonReference().get(i), i); 14978 } 14979 for (int i = 0; i < element.getNote().size(); i++) { 14980 composeAnnotation(t, "MedicationStatement", "note", element.getNote().get(i), i); 14981 } 14982 for (int i = 0; i < element.getDosage().size(); i++) { 14983 composeDosage(t, "MedicationStatement", "dosage", element.getDosage().get(i), i); 14984 } 14985 } 14986 14987 protected void composeMedicinalProductDefinition(Complex parent, String parentType, String name, MedicinalProductDefinition element, int index) { 14988 if (element == null) 14989 return; 14990 Complex t; 14991 if (Utilities.noString(parentType)) 14992 t = parent; 14993 else { 14994 t = parent.predicate("fhir:"+parentType+'.'+name); 14995 } 14996 composeDomainResource(t, "MedicinalProductDefinition", name, element, index); 14997 for (int i = 0; i < element.getIdentifier().size(); i++) { 14998 composeIdentifier(t, "MedicinalProductDefinition", "identifier", element.getIdentifier().get(i), i); 14999 } 15000 if (element.hasType()) { 15001 composeCodeableConcept(t, "MedicinalProductDefinition", "type", element.getType(), -1); 15002 } 15003 if (element.hasDomain()) { 15004 composeCodeableConcept(t, "MedicinalProductDefinition", "domain", element.getDomain(), -1); 15005 } 15006 if (element.hasVersionElement()) { 15007 composeString(t, "MedicinalProductDefinition", "version", element.getVersionElement(), -1); 15008 } 15009 if (element.hasStatus()) { 15010 composeCodeableConcept(t, "MedicinalProductDefinition", "status", element.getStatus(), -1); 15011 } 15012 if (element.hasStatusDateElement()) { 15013 composeDateTime(t, "MedicinalProductDefinition", "statusDate", element.getStatusDateElement(), -1); 15014 } 15015 if (element.hasDescriptionElement()) { 15016 composeMarkdown(t, "MedicinalProductDefinition", "description", element.getDescriptionElement(), -1); 15017 } 15018 if (element.hasCombinedPharmaceuticalDoseForm()) { 15019 composeCodeableConcept(t, "MedicinalProductDefinition", "combinedPharmaceuticalDoseForm", element.getCombinedPharmaceuticalDoseForm(), -1); 15020 } 15021 for (int i = 0; i < element.getRoute().size(); i++) { 15022 composeCodeableConcept(t, "MedicinalProductDefinition", "route", element.getRoute().get(i), i); 15023 } 15024 if (element.hasIndicationElement()) { 15025 composeMarkdown(t, "MedicinalProductDefinition", "indication", element.getIndicationElement(), -1); 15026 } 15027 if (element.hasLegalStatusOfSupply()) { 15028 composeCodeableConcept(t, "MedicinalProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply(), -1); 15029 } 15030 if (element.hasAdditionalMonitoringIndicator()) { 15031 composeCodeableConcept(t, "MedicinalProductDefinition", "additionalMonitoringIndicator", element.getAdditionalMonitoringIndicator(), -1); 15032 } 15033 for (int i = 0; i < element.getSpecialMeasures().size(); i++) { 15034 composeCodeableConcept(t, "MedicinalProductDefinition", "specialMeasures", element.getSpecialMeasures().get(i), i); 15035 } 15036 if (element.hasPediatricUseIndicator()) { 15037 composeCodeableConcept(t, "MedicinalProductDefinition", "pediatricUseIndicator", element.getPediatricUseIndicator(), -1); 15038 } 15039 for (int i = 0; i < element.getClassification().size(); i++) { 15040 composeCodeableConcept(t, "MedicinalProductDefinition", "classification", element.getClassification().get(i), i); 15041 } 15042 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 15043 composeMarketingStatus(t, "MedicinalProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 15044 } 15045 for (int i = 0; i < element.getPackagedMedicinalProduct().size(); i++) { 15046 composeCodeableConcept(t, "MedicinalProductDefinition", "packagedMedicinalProduct", element.getPackagedMedicinalProduct().get(i), i); 15047 } 15048 for (int i = 0; i < element.getIngredient().size(); i++) { 15049 composeCodeableConcept(t, "MedicinalProductDefinition", "ingredient", element.getIngredient().get(i), i); 15050 } 15051 for (int i = 0; i < element.getImpurity().size(); i++) { 15052 composeCodeableReference(t, "MedicinalProductDefinition", "impurity", element.getImpurity().get(i), i); 15053 } 15054 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 15055 composeReference(t, "MedicinalProductDefinition", "attachedDocument", element.getAttachedDocument().get(i), i); 15056 } 15057 for (int i = 0; i < element.getMasterFile().size(); i++) { 15058 composeReference(t, "MedicinalProductDefinition", "masterFile", element.getMasterFile().get(i), i); 15059 } 15060 for (int i = 0; i < element.getContact().size(); i++) { 15061 composeMedicinalProductDefinitionContactComponent(t, "MedicinalProductDefinition", "contact", element.getContact().get(i), i); 15062 } 15063 for (int i = 0; i < element.getClinicalTrial().size(); i++) { 15064 composeReference(t, "MedicinalProductDefinition", "clinicalTrial", element.getClinicalTrial().get(i), i); 15065 } 15066 for (int i = 0; i < element.getCode().size(); i++) { 15067 composeCoding(t, "MedicinalProductDefinition", "code", element.getCode().get(i), i); 15068 } 15069 for (int i = 0; i < element.getName().size(); i++) { 15070 composeMedicinalProductDefinitionNameComponent(t, "MedicinalProductDefinition", "name", element.getName().get(i), i); 15071 } 15072 for (int i = 0; i < element.getCrossReference().size(); i++) { 15073 composeMedicinalProductDefinitionCrossReferenceComponent(t, "MedicinalProductDefinition", "crossReference", element.getCrossReference().get(i), i); 15074 } 15075 for (int i = 0; i < element.getOperation().size(); i++) { 15076 composeMedicinalProductDefinitionOperationComponent(t, "MedicinalProductDefinition", "operation", element.getOperation().get(i), i); 15077 } 15078 for (int i = 0; i < element.getCharacteristic().size(); i++) { 15079 composeMedicinalProductDefinitionCharacteristicComponent(t, "MedicinalProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 15080 } 15081 } 15082 15083 protected void composeMedicinalProductDefinitionContactComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionContactComponent element, int index) { 15084 if (element == null) 15085 return; 15086 Complex t; 15087 if (Utilities.noString(parentType)) 15088 t = parent; 15089 else { 15090 t = parent.predicate("fhir:"+parentType+'.'+name); 15091 } 15092 composeBackboneElement(t, "contact", name, element, index); 15093 if (element.hasType()) { 15094 composeCodeableConcept(t, "MedicinalProductDefinitionContactComponent", "type", element.getType(), -1); 15095 } 15096 if (element.hasContact()) { 15097 composeReference(t, "MedicinalProductDefinitionContactComponent", "contact", element.getContact(), -1); 15098 } 15099 } 15100 15101 protected void composeMedicinalProductDefinitionNameComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameComponent element, int index) { 15102 if (element == null) 15103 return; 15104 Complex t; 15105 if (Utilities.noString(parentType)) 15106 t = parent; 15107 else { 15108 t = parent.predicate("fhir:"+parentType+'.'+name); 15109 } 15110 composeBackboneElement(t, "name", name, element, index); 15111 if (element.hasProductNameElement()) { 15112 composeString(t, "MedicinalProductDefinitionNameComponent", "productName", element.getProductNameElement(), -1); 15113 } 15114 if (element.hasType()) { 15115 composeCodeableConcept(t, "MedicinalProductDefinitionNameComponent", "type", element.getType(), -1); 15116 } 15117 for (int i = 0; i < element.getNamePart().size(); i++) { 15118 composeMedicinalProductDefinitionNameNamePartComponent(t, "MedicinalProductDefinitionNameComponent", "namePart", element.getNamePart().get(i), i); 15119 } 15120 for (int i = 0; i < element.getCountryLanguage().size(); i++) { 15121 composeMedicinalProductDefinitionNameCountryLanguageComponent(t, "MedicinalProductDefinitionNameComponent", "countryLanguage", element.getCountryLanguage().get(i), i); 15122 } 15123 } 15124 15125 protected void composeMedicinalProductDefinitionNameNamePartComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element, int index) { 15126 if (element == null) 15127 return; 15128 Complex t; 15129 if (Utilities.noString(parentType)) 15130 t = parent; 15131 else { 15132 t = parent.predicate("fhir:"+parentType+'.'+name); 15133 } 15134 composeBackboneElement(t, "namePart", name, element, index); 15135 if (element.hasPartElement()) { 15136 composeString(t, "MedicinalProductDefinitionNameNamePartComponent", "part", element.getPartElement(), -1); 15137 } 15138 if (element.hasType()) { 15139 composeCodeableConcept(t, "MedicinalProductDefinitionNameNamePartComponent", "type", element.getType(), -1); 15140 } 15141 } 15142 15143 protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element, int index) { 15144 if (element == null) 15145 return; 15146 Complex t; 15147 if (Utilities.noString(parentType)) 15148 t = parent; 15149 else { 15150 t = parent.predicate("fhir:"+parentType+'.'+name); 15151 } 15152 composeBackboneElement(t, "countryLanguage", name, element, index); 15153 if (element.hasCountry()) { 15154 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "country", element.getCountry(), -1); 15155 } 15156 if (element.hasJurisdiction()) { 15157 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "jurisdiction", element.getJurisdiction(), -1); 15158 } 15159 if (element.hasLanguage()) { 15160 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "language", element.getLanguage(), -1); 15161 } 15162 } 15163 15164 protected void composeMedicinalProductDefinitionCrossReferenceComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent element, int index) { 15165 if (element == null) 15166 return; 15167 Complex t; 15168 if (Utilities.noString(parentType)) 15169 t = parent; 15170 else { 15171 t = parent.predicate("fhir:"+parentType+'.'+name); 15172 } 15173 composeBackboneElement(t, "crossReference", name, element, index); 15174 if (element.hasProduct()) { 15175 composeCodeableReference(t, "MedicinalProductDefinitionCrossReferenceComponent", "product", element.getProduct(), -1); 15176 } 15177 if (element.hasType()) { 15178 composeCodeableConcept(t, "MedicinalProductDefinitionCrossReferenceComponent", "type", element.getType(), -1); 15179 } 15180 } 15181 15182 protected void composeMedicinalProductDefinitionOperationComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent element, int index) { 15183 if (element == null) 15184 return; 15185 Complex t; 15186 if (Utilities.noString(parentType)) 15187 t = parent; 15188 else { 15189 t = parent.predicate("fhir:"+parentType+'.'+name); 15190 } 15191 composeBackboneElement(t, "operation", name, element, index); 15192 if (element.hasType()) { 15193 composeCodeableReference(t, "MedicinalProductDefinitionOperationComponent", "type", element.getType(), -1); 15194 } 15195 if (element.hasEffectiveDate()) { 15196 composePeriod(t, "MedicinalProductDefinitionOperationComponent", "effectiveDate", element.getEffectiveDate(), -1); 15197 } 15198 for (int i = 0; i < element.getOrganization().size(); i++) { 15199 composeReference(t, "MedicinalProductDefinitionOperationComponent", "organization", element.getOrganization().get(i), i); 15200 } 15201 if (element.hasConfidentialityIndicator()) { 15202 composeCodeableConcept(t, "MedicinalProductDefinitionOperationComponent", "confidentialityIndicator", element.getConfidentialityIndicator(), -1); 15203 } 15204 } 15205 15206 protected void composeMedicinalProductDefinitionCharacteristicComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent element, int index) { 15207 if (element == null) 15208 return; 15209 Complex t; 15210 if (Utilities.noString(parentType)) 15211 t = parent; 15212 else { 15213 t = parent.predicate("fhir:"+parentType+'.'+name); 15214 } 15215 composeBackboneElement(t, "characteristic", name, element, index); 15216 if (element.hasType()) { 15217 composeCodeableConcept(t, "MedicinalProductDefinitionCharacteristicComponent", "type", element.getType(), -1); 15218 } 15219 if (element.hasValue()) { 15220 composeType(t, "MedicinalProductDefinitionCharacteristicComponent", "value", element.getValue(), -1); 15221 } 15222 } 15223 15224 protected void composeMessageDefinition(Complex parent, String parentType, String name, MessageDefinition element, int index) { 15225 if (element == null) 15226 return; 15227 Complex t; 15228 if (Utilities.noString(parentType)) 15229 t = parent; 15230 else { 15231 t = parent.predicate("fhir:"+parentType+'.'+name); 15232 } 15233 composeDomainResource(t, "MessageDefinition", name, element, index); 15234 if (element.hasUrlElement()) { 15235 composeUri(t, "MessageDefinition", "url", element.getUrlElement(), -1); 15236 } 15237 for (int i = 0; i < element.getIdentifier().size(); i++) { 15238 composeIdentifier(t, "MessageDefinition", "identifier", element.getIdentifier().get(i), i); 15239 } 15240 if (element.hasVersionElement()) { 15241 composeString(t, "MessageDefinition", "version", element.getVersionElement(), -1); 15242 } 15243 if (element.hasNameElement()) { 15244 composeString(t, "MessageDefinition", "name", element.getNameElement(), -1); 15245 } 15246 if (element.hasTitleElement()) { 15247 composeString(t, "MessageDefinition", "title", element.getTitleElement(), -1); 15248 } 15249 for (int i = 0; i < element.getReplaces().size(); i++) { 15250 composeCanonical(t, "MessageDefinition", "replaces", element.getReplaces().get(i), i); 15251 } 15252 if (element.hasStatusElement()) { 15253 composeEnum(t, "MessageDefinition", "status", element.getStatusElement(), -1); 15254 } 15255 if (element.hasExperimentalElement()) { 15256 composeBoolean(t, "MessageDefinition", "experimental", element.getExperimentalElement(), -1); 15257 } 15258 if (element.hasDateElement()) { 15259 composeDateTime(t, "MessageDefinition", "date", element.getDateElement(), -1); 15260 } 15261 if (element.hasPublisherElement()) { 15262 composeString(t, "MessageDefinition", "publisher", element.getPublisherElement(), -1); 15263 } 15264 for (int i = 0; i < element.getContact().size(); i++) { 15265 composeContactDetail(t, "MessageDefinition", "contact", element.getContact().get(i), i); 15266 } 15267 if (element.hasDescriptionElement()) { 15268 composeMarkdown(t, "MessageDefinition", "description", element.getDescriptionElement(), -1); 15269 } 15270 for (int i = 0; i < element.getUseContext().size(); i++) { 15271 composeUsageContext(t, "MessageDefinition", "useContext", element.getUseContext().get(i), i); 15272 } 15273 for (int i = 0; i < element.getJurisdiction().size(); i++) { 15274 composeCodeableConcept(t, "MessageDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 15275 } 15276 if (element.hasPurposeElement()) { 15277 composeMarkdown(t, "MessageDefinition", "purpose", element.getPurposeElement(), -1); 15278 } 15279 if (element.hasCopyrightElement()) { 15280 composeMarkdown(t, "MessageDefinition", "copyright", element.getCopyrightElement(), -1); 15281 } 15282 if (element.hasBaseElement()) { 15283 composeCanonical(t, "MessageDefinition", "base", element.getBaseElement(), -1); 15284 } 15285 for (int i = 0; i < element.getParent().size(); i++) { 15286 composeCanonical(t, "MessageDefinition", "parent", element.getParent().get(i), i); 15287 } 15288 if (element.hasEvent()) { 15289 composeType(t, "MessageDefinition", "event", element.getEvent(), -1); 15290 } 15291 if (element.hasCategoryElement()) { 15292 composeEnum(t, "MessageDefinition", "category", element.getCategoryElement(), -1); 15293 } 15294 for (int i = 0; i < element.getFocus().size(); i++) { 15295 composeMessageDefinitionFocusComponent(t, "MessageDefinition", "focus", element.getFocus().get(i), i); 15296 } 15297 if (element.hasResponseRequiredElement()) { 15298 composeEnum(t, "MessageDefinition", "responseRequired", element.getResponseRequiredElement(), -1); 15299 } 15300 for (int i = 0; i < element.getAllowedResponse().size(); i++) { 15301 composeMessageDefinitionAllowedResponseComponent(t, "MessageDefinition", "allowedResponse", element.getAllowedResponse().get(i), i); 15302 } 15303 for (int i = 0; i < element.getGraph().size(); i++) { 15304 composeCanonical(t, "MessageDefinition", "graph", element.getGraph().get(i), i); 15305 } 15306 } 15307 15308 protected void composeMessageDefinitionFocusComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionFocusComponent element, int index) { 15309 if (element == null) 15310 return; 15311 Complex t; 15312 if (Utilities.noString(parentType)) 15313 t = parent; 15314 else { 15315 t = parent.predicate("fhir:"+parentType+'.'+name); 15316 } 15317 composeBackboneElement(t, "focus", name, element, index); 15318 if (element.hasCodeElement()) { 15319 composeCode(t, "MessageDefinitionFocusComponent", "code", element.getCodeElement(), -1); 15320 } 15321 if (element.hasProfileElement()) { 15322 composeCanonical(t, "MessageDefinitionFocusComponent", "profile", element.getProfileElement(), -1); 15323 } 15324 if (element.hasMinElement()) { 15325 composeUnsignedInt(t, "MessageDefinitionFocusComponent", "min", element.getMinElement(), -1); 15326 } 15327 if (element.hasMaxElement()) { 15328 composeString(t, "MessageDefinitionFocusComponent", "max", element.getMaxElement(), -1); 15329 } 15330 } 15331 15332 protected void composeMessageDefinitionAllowedResponseComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionAllowedResponseComponent element, int index) { 15333 if (element == null) 15334 return; 15335 Complex t; 15336 if (Utilities.noString(parentType)) 15337 t = parent; 15338 else { 15339 t = parent.predicate("fhir:"+parentType+'.'+name); 15340 } 15341 composeBackboneElement(t, "allowedResponse", name, element, index); 15342 if (element.hasMessageElement()) { 15343 composeCanonical(t, "MessageDefinitionAllowedResponseComponent", "message", element.getMessageElement(), -1); 15344 } 15345 if (element.hasSituationElement()) { 15346 composeMarkdown(t, "MessageDefinitionAllowedResponseComponent", "situation", element.getSituationElement(), -1); 15347 } 15348 } 15349 15350 protected void composeMessageHeader(Complex parent, String parentType, String name, MessageHeader element, int index) { 15351 if (element == null) 15352 return; 15353 Complex t; 15354 if (Utilities.noString(parentType)) 15355 t = parent; 15356 else { 15357 t = parent.predicate("fhir:"+parentType+'.'+name); 15358 } 15359 composeDomainResource(t, "MessageHeader", name, element, index); 15360 if (element.hasEvent()) { 15361 composeType(t, "MessageHeader", "event", element.getEvent(), -1); 15362 } 15363 for (int i = 0; i < element.getDestination().size(); i++) { 15364 composeMessageHeaderMessageDestinationComponent(t, "MessageHeader", "destination", element.getDestination().get(i), i); 15365 } 15366 if (element.hasSender()) { 15367 composeReference(t, "MessageHeader", "sender", element.getSender(), -1); 15368 } 15369 if (element.hasEnterer()) { 15370 composeReference(t, "MessageHeader", "enterer", element.getEnterer(), -1); 15371 } 15372 if (element.hasAuthor()) { 15373 composeReference(t, "MessageHeader", "author", element.getAuthor(), -1); 15374 } 15375 if (element.hasSource()) { 15376 composeMessageHeaderMessageSourceComponent(t, "MessageHeader", "source", element.getSource(), -1); 15377 } 15378 if (element.hasResponsible()) { 15379 composeReference(t, "MessageHeader", "responsible", element.getResponsible(), -1); 15380 } 15381 if (element.hasReason()) { 15382 composeCodeableConcept(t, "MessageHeader", "reason", element.getReason(), -1); 15383 } 15384 if (element.hasResponse()) { 15385 composeMessageHeaderResponseComponent(t, "MessageHeader", "response", element.getResponse(), -1); 15386 } 15387 for (int i = 0; i < element.getFocus().size(); i++) { 15388 composeReference(t, "MessageHeader", "focus", element.getFocus().get(i), i); 15389 } 15390 if (element.hasDefinitionElement()) { 15391 composeCanonical(t, "MessageHeader", "definition", element.getDefinitionElement(), -1); 15392 } 15393 } 15394 15395 protected void composeMessageHeaderMessageDestinationComponent(Complex parent, String parentType, String name, MessageHeader.MessageDestinationComponent element, int index) { 15396 if (element == null) 15397 return; 15398 Complex t; 15399 if (Utilities.noString(parentType)) 15400 t = parent; 15401 else { 15402 t = parent.predicate("fhir:"+parentType+'.'+name); 15403 } 15404 composeBackboneElement(t, "destination", name, element, index); 15405 if (element.hasNameElement()) { 15406 composeString(t, "MessageDestinationComponent", "name", element.getNameElement(), -1); 15407 } 15408 if (element.hasTarget()) { 15409 composeReference(t, "MessageDestinationComponent", "target", element.getTarget(), -1); 15410 } 15411 if (element.hasEndpointElement()) { 15412 composeUrl(t, "MessageDestinationComponent", "endpoint", element.getEndpointElement(), -1); 15413 } 15414 if (element.hasReceiver()) { 15415 composeReference(t, "MessageDestinationComponent", "receiver", element.getReceiver(), -1); 15416 } 15417 } 15418 15419 protected void composeMessageHeaderMessageSourceComponent(Complex parent, String parentType, String name, MessageHeader.MessageSourceComponent element, int index) { 15420 if (element == null) 15421 return; 15422 Complex t; 15423 if (Utilities.noString(parentType)) 15424 t = parent; 15425 else { 15426 t = parent.predicate("fhir:"+parentType+'.'+name); 15427 } 15428 composeBackboneElement(t, "source", name, element, index); 15429 if (element.hasNameElement()) { 15430 composeString(t, "MessageSourceComponent", "name", element.getNameElement(), -1); 15431 } 15432 if (element.hasSoftwareElement()) { 15433 composeString(t, "MessageSourceComponent", "software", element.getSoftwareElement(), -1); 15434 } 15435 if (element.hasVersionElement()) { 15436 composeString(t, "MessageSourceComponent", "version", element.getVersionElement(), -1); 15437 } 15438 if (element.hasContact()) { 15439 composeContactPoint(t, "MessageSourceComponent", "contact", element.getContact(), -1); 15440 } 15441 if (element.hasEndpointElement()) { 15442 composeUrl(t, "MessageSourceComponent", "endpoint", element.getEndpointElement(), -1); 15443 } 15444 } 15445 15446 protected void composeMessageHeaderResponseComponent(Complex parent, String parentType, String name, MessageHeader.MessageHeaderResponseComponent element, int index) { 15447 if (element == null) 15448 return; 15449 Complex t; 15450 if (Utilities.noString(parentType)) 15451 t = parent; 15452 else { 15453 t = parent.predicate("fhir:"+parentType+'.'+name); 15454 } 15455 composeBackboneElement(t, "response", name, element, index); 15456 if (element.hasIdentifierElement()) { 15457 composeId(t, "MessageHeaderResponseComponent", "identifier", element.getIdentifierElement(), -1); 15458 } 15459 if (element.hasCodeElement()) { 15460 composeEnum(t, "MessageHeaderResponseComponent", "code", element.getCodeElement(), -1); 15461 } 15462 if (element.hasDetails()) { 15463 composeReference(t, "MessageHeaderResponseComponent", "details", element.getDetails(), -1); 15464 } 15465 } 15466 15467 protected void composeMolecularSequence(Complex parent, String parentType, String name, MolecularSequence element, int index) { 15468 if (element == null) 15469 return; 15470 Complex t; 15471 if (Utilities.noString(parentType)) 15472 t = parent; 15473 else { 15474 t = parent.predicate("fhir:"+parentType+'.'+name); 15475 } 15476 composeDomainResource(t, "MolecularSequence", name, element, index); 15477 for (int i = 0; i < element.getIdentifier().size(); i++) { 15478 composeIdentifier(t, "MolecularSequence", "identifier", element.getIdentifier().get(i), i); 15479 } 15480 if (element.hasTypeElement()) { 15481 composeEnum(t, "MolecularSequence", "type", element.getTypeElement(), -1); 15482 } 15483 if (element.hasCoordinateSystemElement()) { 15484 composeInteger(t, "MolecularSequence", "coordinateSystem", element.getCoordinateSystemElement(), -1); 15485 } 15486 if (element.hasPatient()) { 15487 composeReference(t, "MolecularSequence", "patient", element.getPatient(), -1); 15488 } 15489 if (element.hasSpecimen()) { 15490 composeReference(t, "MolecularSequence", "specimen", element.getSpecimen(), -1); 15491 } 15492 if (element.hasDevice()) { 15493 composeReference(t, "MolecularSequence", "device", element.getDevice(), -1); 15494 } 15495 if (element.hasPerformer()) { 15496 composeReference(t, "MolecularSequence", "performer", element.getPerformer(), -1); 15497 } 15498 if (element.hasQuantity()) { 15499 composeQuantity(t, "MolecularSequence", "quantity", element.getQuantity(), -1); 15500 } 15501 if (element.hasReferenceSeq()) { 15502 composeMolecularSequenceReferenceSeqComponent(t, "MolecularSequence", "referenceSeq", element.getReferenceSeq(), -1); 15503 } 15504 for (int i = 0; i < element.getVariant().size(); i++) { 15505 composeMolecularSequenceVariantComponent(t, "MolecularSequence", "variant", element.getVariant().get(i), i); 15506 } 15507 if (element.hasObservedSeqElement()) { 15508 composeString(t, "MolecularSequence", "observedSeq", element.getObservedSeqElement(), -1); 15509 } 15510 for (int i = 0; i < element.getQuality().size(); i++) { 15511 composeMolecularSequenceQualityComponent(t, "MolecularSequence", "quality", element.getQuality().get(i), i); 15512 } 15513 if (element.hasReadCoverageElement()) { 15514 composeInteger(t, "MolecularSequence", "readCoverage", element.getReadCoverageElement(), -1); 15515 } 15516 for (int i = 0; i < element.getRepository().size(); i++) { 15517 composeMolecularSequenceRepositoryComponent(t, "MolecularSequence", "repository", element.getRepository().get(i), i); 15518 } 15519 for (int i = 0; i < element.getPointer().size(); i++) { 15520 composeReference(t, "MolecularSequence", "pointer", element.getPointer().get(i), i); 15521 } 15522 for (int i = 0; i < element.getStructureVariant().size(); i++) { 15523 composeMolecularSequenceStructureVariantComponent(t, "MolecularSequence", "structureVariant", element.getStructureVariant().get(i), i); 15524 } 15525 } 15526 15527 protected void composeMolecularSequenceReferenceSeqComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceReferenceSeqComponent element, int index) { 15528 if (element == null) 15529 return; 15530 Complex t; 15531 if (Utilities.noString(parentType)) 15532 t = parent; 15533 else { 15534 t = parent.predicate("fhir:"+parentType+'.'+name); 15535 } 15536 composeBackboneElement(t, "referenceSeq", name, element, index); 15537 if (element.hasChromosome()) { 15538 composeCodeableConcept(t, "MolecularSequenceReferenceSeqComponent", "chromosome", element.getChromosome(), -1); 15539 } 15540 if (element.hasGenomeBuildElement()) { 15541 composeString(t, "MolecularSequenceReferenceSeqComponent", "genomeBuild", element.getGenomeBuildElement(), -1); 15542 } 15543 if (element.hasOrientationElement()) { 15544 composeEnum(t, "MolecularSequenceReferenceSeqComponent", "orientation", element.getOrientationElement(), -1); 15545 } 15546 if (element.hasReferenceSeqId()) { 15547 composeCodeableConcept(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqId", element.getReferenceSeqId(), -1); 15548 } 15549 if (element.hasReferenceSeqPointer()) { 15550 composeReference(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqPointer", element.getReferenceSeqPointer(), -1); 15551 } 15552 if (element.hasReferenceSeqStringElement()) { 15553 composeString(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqString", element.getReferenceSeqStringElement(), -1); 15554 } 15555 if (element.hasStrandElement()) { 15556 composeEnum(t, "MolecularSequenceReferenceSeqComponent", "strand", element.getStrandElement(), -1); 15557 } 15558 if (element.hasWindowStartElement()) { 15559 composeInteger(t, "MolecularSequenceReferenceSeqComponent", "windowStart", element.getWindowStartElement(), -1); 15560 } 15561 if (element.hasWindowEndElement()) { 15562 composeInteger(t, "MolecularSequenceReferenceSeqComponent", "windowEnd", element.getWindowEndElement(), -1); 15563 } 15564 } 15565 15566 protected void composeMolecularSequenceVariantComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceVariantComponent element, int index) { 15567 if (element == null) 15568 return; 15569 Complex t; 15570 if (Utilities.noString(parentType)) 15571 t = parent; 15572 else { 15573 t = parent.predicate("fhir:"+parentType+'.'+name); 15574 } 15575 composeBackboneElement(t, "variant", name, element, index); 15576 if (element.hasStartElement()) { 15577 composeInteger(t, "MolecularSequenceVariantComponent", "start", element.getStartElement(), -1); 15578 } 15579 if (element.hasEndElement()) { 15580 composeInteger(t, "MolecularSequenceVariantComponent", "end", element.getEndElement(), -1); 15581 } 15582 if (element.hasObservedAlleleElement()) { 15583 composeString(t, "MolecularSequenceVariantComponent", "observedAllele", element.getObservedAlleleElement(), -1); 15584 } 15585 if (element.hasReferenceAlleleElement()) { 15586 composeString(t, "MolecularSequenceVariantComponent", "referenceAllele", element.getReferenceAlleleElement(), -1); 15587 } 15588 if (element.hasCigarElement()) { 15589 composeString(t, "MolecularSequenceVariantComponent", "cigar", element.getCigarElement(), -1); 15590 } 15591 if (element.hasVariantPointer()) { 15592 composeReference(t, "MolecularSequenceVariantComponent", "variantPointer", element.getVariantPointer(), -1); 15593 } 15594 } 15595 15596 protected void composeMolecularSequenceQualityComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceQualityComponent element, int index) { 15597 if (element == null) 15598 return; 15599 Complex t; 15600 if (Utilities.noString(parentType)) 15601 t = parent; 15602 else { 15603 t = parent.predicate("fhir:"+parentType+'.'+name); 15604 } 15605 composeBackboneElement(t, "quality", name, element, index); 15606 if (element.hasTypeElement()) { 15607 composeEnum(t, "MolecularSequenceQualityComponent", "type", element.getTypeElement(), -1); 15608 } 15609 if (element.hasStandardSequence()) { 15610 composeCodeableConcept(t, "MolecularSequenceQualityComponent", "standardSequence", element.getStandardSequence(), -1); 15611 } 15612 if (element.hasStartElement()) { 15613 composeInteger(t, "MolecularSequenceQualityComponent", "start", element.getStartElement(), -1); 15614 } 15615 if (element.hasEndElement()) { 15616 composeInteger(t, "MolecularSequenceQualityComponent", "end", element.getEndElement(), -1); 15617 } 15618 if (element.hasScore()) { 15619 composeQuantity(t, "MolecularSequenceQualityComponent", "score", element.getScore(), -1); 15620 } 15621 if (element.hasMethod()) { 15622 composeCodeableConcept(t, "MolecularSequenceQualityComponent", "method", element.getMethod(), -1); 15623 } 15624 if (element.hasTruthTPElement()) { 15625 composeDecimal(t, "MolecularSequenceQualityComponent", "truthTP", element.getTruthTPElement(), -1); 15626 } 15627 if (element.hasQueryTPElement()) { 15628 composeDecimal(t, "MolecularSequenceQualityComponent", "queryTP", element.getQueryTPElement(), -1); 15629 } 15630 if (element.hasTruthFNElement()) { 15631 composeDecimal(t, "MolecularSequenceQualityComponent", "truthFN", element.getTruthFNElement(), -1); 15632 } 15633 if (element.hasQueryFPElement()) { 15634 composeDecimal(t, "MolecularSequenceQualityComponent", "queryFP", element.getQueryFPElement(), -1); 15635 } 15636 if (element.hasGtFPElement()) { 15637 composeDecimal(t, "MolecularSequenceQualityComponent", "gtFP", element.getGtFPElement(), -1); 15638 } 15639 if (element.hasPrecisionElement()) { 15640 composeDecimal(t, "MolecularSequenceQualityComponent", "precision", element.getPrecisionElement(), -1); 15641 } 15642 if (element.hasRecallElement()) { 15643 composeDecimal(t, "MolecularSequenceQualityComponent", "recall", element.getRecallElement(), -1); 15644 } 15645 if (element.hasFScoreElement()) { 15646 composeDecimal(t, "MolecularSequenceQualityComponent", "fScore", element.getFScoreElement(), -1); 15647 } 15648 if (element.hasRoc()) { 15649 composeMolecularSequenceQualityRocComponent(t, "MolecularSequenceQualityComponent", "roc", element.getRoc(), -1); 15650 } 15651 } 15652 15653 protected void composeMolecularSequenceQualityRocComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceQualityRocComponent element, int index) { 15654 if (element == null) 15655 return; 15656 Complex t; 15657 if (Utilities.noString(parentType)) 15658 t = parent; 15659 else { 15660 t = parent.predicate("fhir:"+parentType+'.'+name); 15661 } 15662 composeBackboneElement(t, "roc", name, element, index); 15663 for (int i = 0; i < element.getScore().size(); i++) { 15664 composeInteger(t, "MolecularSequenceQualityRocComponent", "score", element.getScore().get(i), i); 15665 } 15666 for (int i = 0; i < element.getNumTP().size(); i++) { 15667 composeInteger(t, "MolecularSequenceQualityRocComponent", "numTP", element.getNumTP().get(i), i); 15668 } 15669 for (int i = 0; i < element.getNumFP().size(); i++) { 15670 composeInteger(t, "MolecularSequenceQualityRocComponent", "numFP", element.getNumFP().get(i), i); 15671 } 15672 for (int i = 0; i < element.getNumFN().size(); i++) { 15673 composeInteger(t, "MolecularSequenceQualityRocComponent", "numFN", element.getNumFN().get(i), i); 15674 } 15675 for (int i = 0; i < element.getPrecision().size(); i++) { 15676 composeDecimal(t, "MolecularSequenceQualityRocComponent", "precision", element.getPrecision().get(i), i); 15677 } 15678 for (int i = 0; i < element.getSensitivity().size(); i++) { 15679 composeDecimal(t, "MolecularSequenceQualityRocComponent", "sensitivity", element.getSensitivity().get(i), i); 15680 } 15681 for (int i = 0; i < element.getFMeasure().size(); i++) { 15682 composeDecimal(t, "MolecularSequenceQualityRocComponent", "fMeasure", element.getFMeasure().get(i), i); 15683 } 15684 } 15685 15686 protected void composeMolecularSequenceRepositoryComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRepositoryComponent element, int index) { 15687 if (element == null) 15688 return; 15689 Complex t; 15690 if (Utilities.noString(parentType)) 15691 t = parent; 15692 else { 15693 t = parent.predicate("fhir:"+parentType+'.'+name); 15694 } 15695 composeBackboneElement(t, "repository", name, element, index); 15696 if (element.hasTypeElement()) { 15697 composeEnum(t, "MolecularSequenceRepositoryComponent", "type", element.getTypeElement(), -1); 15698 } 15699 if (element.hasUrlElement()) { 15700 composeUri(t, "MolecularSequenceRepositoryComponent", "url", element.getUrlElement(), -1); 15701 } 15702 if (element.hasNameElement()) { 15703 composeString(t, "MolecularSequenceRepositoryComponent", "name", element.getNameElement(), -1); 15704 } 15705 if (element.hasDatasetIdElement()) { 15706 composeString(t, "MolecularSequenceRepositoryComponent", "datasetId", element.getDatasetIdElement(), -1); 15707 } 15708 if (element.hasVariantsetIdElement()) { 15709 composeString(t, "MolecularSequenceRepositoryComponent", "variantsetId", element.getVariantsetIdElement(), -1); 15710 } 15711 if (element.hasReadsetIdElement()) { 15712 composeString(t, "MolecularSequenceRepositoryComponent", "readsetId", element.getReadsetIdElement(), -1); 15713 } 15714 } 15715 15716 protected void composeMolecularSequenceStructureVariantComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantComponent element, int index) { 15717 if (element == null) 15718 return; 15719 Complex t; 15720 if (Utilities.noString(parentType)) 15721 t = parent; 15722 else { 15723 t = parent.predicate("fhir:"+parentType+'.'+name); 15724 } 15725 composeBackboneElement(t, "structureVariant", name, element, index); 15726 if (element.hasVariantType()) { 15727 composeCodeableConcept(t, "MolecularSequenceStructureVariantComponent", "variantType", element.getVariantType(), -1); 15728 } 15729 if (element.hasExactElement()) { 15730 composeBoolean(t, "MolecularSequenceStructureVariantComponent", "exact", element.getExactElement(), -1); 15731 } 15732 if (element.hasLengthElement()) { 15733 composeInteger(t, "MolecularSequenceStructureVariantComponent", "length", element.getLengthElement(), -1); 15734 } 15735 if (element.hasOuter()) { 15736 composeMolecularSequenceStructureVariantOuterComponent(t, "MolecularSequenceStructureVariantComponent", "outer", element.getOuter(), -1); 15737 } 15738 if (element.hasInner()) { 15739 composeMolecularSequenceStructureVariantInnerComponent(t, "MolecularSequenceStructureVariantComponent", "inner", element.getInner(), -1); 15740 } 15741 } 15742 15743 protected void composeMolecularSequenceStructureVariantOuterComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantOuterComponent element, int index) { 15744 if (element == null) 15745 return; 15746 Complex t; 15747 if (Utilities.noString(parentType)) 15748 t = parent; 15749 else { 15750 t = parent.predicate("fhir:"+parentType+'.'+name); 15751 } 15752 composeBackboneElement(t, "outer", name, element, index); 15753 if (element.hasStartElement()) { 15754 composeInteger(t, "MolecularSequenceStructureVariantOuterComponent", "start", element.getStartElement(), -1); 15755 } 15756 if (element.hasEndElement()) { 15757 composeInteger(t, "MolecularSequenceStructureVariantOuterComponent", "end", element.getEndElement(), -1); 15758 } 15759 } 15760 15761 protected void composeMolecularSequenceStructureVariantInnerComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantInnerComponent element, int index) { 15762 if (element == null) 15763 return; 15764 Complex t; 15765 if (Utilities.noString(parentType)) 15766 t = parent; 15767 else { 15768 t = parent.predicate("fhir:"+parentType+'.'+name); 15769 } 15770 composeBackboneElement(t, "inner", name, element, index); 15771 if (element.hasStartElement()) { 15772 composeInteger(t, "MolecularSequenceStructureVariantInnerComponent", "start", element.getStartElement(), -1); 15773 } 15774 if (element.hasEndElement()) { 15775 composeInteger(t, "MolecularSequenceStructureVariantInnerComponent", "end", element.getEndElement(), -1); 15776 } 15777 } 15778 15779 protected void composeNamingSystem(Complex parent, String parentType, String name, NamingSystem element, int index) { 15780 if (element == null) 15781 return; 15782 Complex t; 15783 if (Utilities.noString(parentType)) 15784 t = parent; 15785 else { 15786 t = parent.predicate("fhir:"+parentType+'.'+name); 15787 } 15788 composeDomainResource(t, "NamingSystem", name, element, index); 15789 if (element.hasNameElement()) { 15790 composeString(t, "NamingSystem", "name", element.getNameElement(), -1); 15791 } 15792 if (element.hasStatusElement()) { 15793 composeEnum(t, "NamingSystem", "status", element.getStatusElement(), -1); 15794 } 15795 if (element.hasKindElement()) { 15796 composeEnum(t, "NamingSystem", "kind", element.getKindElement(), -1); 15797 } 15798 if (element.hasDateElement()) { 15799 composeDateTime(t, "NamingSystem", "date", element.getDateElement(), -1); 15800 } 15801 if (element.hasPublisherElement()) { 15802 composeString(t, "NamingSystem", "publisher", element.getPublisherElement(), -1); 15803 } 15804 for (int i = 0; i < element.getContact().size(); i++) { 15805 composeContactDetail(t, "NamingSystem", "contact", element.getContact().get(i), i); 15806 } 15807 if (element.hasResponsibleElement()) { 15808 composeString(t, "NamingSystem", "responsible", element.getResponsibleElement(), -1); 15809 } 15810 if (element.hasType()) { 15811 composeCodeableConcept(t, "NamingSystem", "type", element.getType(), -1); 15812 } 15813 if (element.hasDescriptionElement()) { 15814 composeMarkdown(t, "NamingSystem", "description", element.getDescriptionElement(), -1); 15815 } 15816 for (int i = 0; i < element.getUseContext().size(); i++) { 15817 composeUsageContext(t, "NamingSystem", "useContext", element.getUseContext().get(i), i); 15818 } 15819 for (int i = 0; i < element.getJurisdiction().size(); i++) { 15820 composeCodeableConcept(t, "NamingSystem", "jurisdiction", element.getJurisdiction().get(i), i); 15821 } 15822 if (element.hasUsageElement()) { 15823 composeString(t, "NamingSystem", "usage", element.getUsageElement(), -1); 15824 } 15825 for (int i = 0; i < element.getUniqueId().size(); i++) { 15826 composeNamingSystemUniqueIdComponent(t, "NamingSystem", "uniqueId", element.getUniqueId().get(i), i); 15827 } 15828 } 15829 15830 protected void composeNamingSystemUniqueIdComponent(Complex parent, String parentType, String name, NamingSystem.NamingSystemUniqueIdComponent element, int index) { 15831 if (element == null) 15832 return; 15833 Complex t; 15834 if (Utilities.noString(parentType)) 15835 t = parent; 15836 else { 15837 t = parent.predicate("fhir:"+parentType+'.'+name); 15838 } 15839 composeBackboneElement(t, "uniqueId", name, element, index); 15840 if (element.hasTypeElement()) { 15841 composeEnum(t, "NamingSystemUniqueIdComponent", "type", element.getTypeElement(), -1); 15842 } 15843 if (element.hasValueElement()) { 15844 composeString(t, "NamingSystemUniqueIdComponent", "value", element.getValueElement(), -1); 15845 } 15846 if (element.hasPreferredElement()) { 15847 composeBoolean(t, "NamingSystemUniqueIdComponent", "preferred", element.getPreferredElement(), -1); 15848 } 15849 if (element.hasCommentElement()) { 15850 composeString(t, "NamingSystemUniqueIdComponent", "comment", element.getCommentElement(), -1); 15851 } 15852 if (element.hasPeriod()) { 15853 composePeriod(t, "NamingSystemUniqueIdComponent", "period", element.getPeriod(), -1); 15854 } 15855 } 15856 15857 protected void composeNutritionOrder(Complex parent, String parentType, String name, NutritionOrder element, int index) { 15858 if (element == null) 15859 return; 15860 Complex t; 15861 if (Utilities.noString(parentType)) 15862 t = parent; 15863 else { 15864 t = parent.predicate("fhir:"+parentType+'.'+name); 15865 } 15866 composeDomainResource(t, "NutritionOrder", name, element, index); 15867 for (int i = 0; i < element.getIdentifier().size(); i++) { 15868 composeIdentifier(t, "NutritionOrder", "identifier", element.getIdentifier().get(i), i); 15869 } 15870 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 15871 composeCanonical(t, "NutritionOrder", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 15872 } 15873 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 15874 composeUri(t, "NutritionOrder", "instantiatesUri", element.getInstantiatesUri().get(i), i); 15875 } 15876 for (int i = 0; i < element.getInstantiates().size(); i++) { 15877 composeUri(t, "NutritionOrder", "instantiates", element.getInstantiates().get(i), i); 15878 } 15879 if (element.hasStatusElement()) { 15880 composeEnum(t, "NutritionOrder", "status", element.getStatusElement(), -1); 15881 } 15882 if (element.hasIntentElement()) { 15883 composeEnum(t, "NutritionOrder", "intent", element.getIntentElement(), -1); 15884 } 15885 if (element.hasPatient()) { 15886 composeReference(t, "NutritionOrder", "patient", element.getPatient(), -1); 15887 } 15888 if (element.hasEncounter()) { 15889 composeReference(t, "NutritionOrder", "encounter", element.getEncounter(), -1); 15890 } 15891 if (element.hasDateTimeElement()) { 15892 composeDateTime(t, "NutritionOrder", "dateTime", element.getDateTimeElement(), -1); 15893 } 15894 if (element.hasOrderer()) { 15895 composeReference(t, "NutritionOrder", "orderer", element.getOrderer(), -1); 15896 } 15897 for (int i = 0; i < element.getAllergyIntolerance().size(); i++) { 15898 composeReference(t, "NutritionOrder", "allergyIntolerance", element.getAllergyIntolerance().get(i), i); 15899 } 15900 for (int i = 0; i < element.getFoodPreferenceModifier().size(); i++) { 15901 composeCodeableConcept(t, "NutritionOrder", "foodPreferenceModifier", element.getFoodPreferenceModifier().get(i), i); 15902 } 15903 for (int i = 0; i < element.getExcludeFoodModifier().size(); i++) { 15904 composeCodeableConcept(t, "NutritionOrder", "excludeFoodModifier", element.getExcludeFoodModifier().get(i), i); 15905 } 15906 if (element.hasOralDiet()) { 15907 composeNutritionOrderOralDietComponent(t, "NutritionOrder", "oralDiet", element.getOralDiet(), -1); 15908 } 15909 for (int i = 0; i < element.getSupplement().size(); i++) { 15910 composeNutritionOrderSupplementComponent(t, "NutritionOrder", "supplement", element.getSupplement().get(i), i); 15911 } 15912 if (element.hasEnteralFormula()) { 15913 composeNutritionOrderEnteralFormulaComponent(t, "NutritionOrder", "enteralFormula", element.getEnteralFormula(), -1); 15914 } 15915 for (int i = 0; i < element.getNote().size(); i++) { 15916 composeAnnotation(t, "NutritionOrder", "note", element.getNote().get(i), i); 15917 } 15918 } 15919 15920 protected void composeNutritionOrderOralDietComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietComponent element, int index) { 15921 if (element == null) 15922 return; 15923 Complex t; 15924 if (Utilities.noString(parentType)) 15925 t = parent; 15926 else { 15927 t = parent.predicate("fhir:"+parentType+'.'+name); 15928 } 15929 composeBackboneElement(t, "oralDiet", name, element, index); 15930 for (int i = 0; i < element.getType().size(); i++) { 15931 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "type", element.getType().get(i), i); 15932 } 15933 for (int i = 0; i < element.getSchedule().size(); i++) { 15934 composeTiming(t, "NutritionOrderOralDietComponent", "schedule", element.getSchedule().get(i), i); 15935 } 15936 for (int i = 0; i < element.getNutrient().size(); i++) { 15937 composeNutritionOrderOralDietNutrientComponent(t, "NutritionOrderOralDietComponent", "nutrient", element.getNutrient().get(i), i); 15938 } 15939 for (int i = 0; i < element.getTexture().size(); i++) { 15940 composeNutritionOrderOralDietTextureComponent(t, "NutritionOrderOralDietComponent", "texture", element.getTexture().get(i), i); 15941 } 15942 for (int i = 0; i < element.getFluidConsistencyType().size(); i++) { 15943 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "fluidConsistencyType", element.getFluidConsistencyType().get(i), i); 15944 } 15945 if (element.hasInstructionElement()) { 15946 composeString(t, "NutritionOrderOralDietComponent", "instruction", element.getInstructionElement(), -1); 15947 } 15948 } 15949 15950 protected void composeNutritionOrderOralDietNutrientComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element, int index) { 15951 if (element == null) 15952 return; 15953 Complex t; 15954 if (Utilities.noString(parentType)) 15955 t = parent; 15956 else { 15957 t = parent.predicate("fhir:"+parentType+'.'+name); 15958 } 15959 composeBackboneElement(t, "nutrient", name, element, index); 15960 if (element.hasModifier()) { 15961 composeCodeableConcept(t, "NutritionOrderOralDietNutrientComponent", "modifier", element.getModifier(), -1); 15962 } 15963 if (element.hasAmount()) { 15964 composeQuantity(t, "NutritionOrderOralDietNutrientComponent", "amount", element.getAmount(), -1); 15965 } 15966 } 15967 15968 protected void composeNutritionOrderOralDietTextureComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietTextureComponent element, int index) { 15969 if (element == null) 15970 return; 15971 Complex t; 15972 if (Utilities.noString(parentType)) 15973 t = parent; 15974 else { 15975 t = parent.predicate("fhir:"+parentType+'.'+name); 15976 } 15977 composeBackboneElement(t, "texture", name, element, index); 15978 if (element.hasModifier()) { 15979 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "modifier", element.getModifier(), -1); 15980 } 15981 if (element.hasFoodType()) { 15982 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "foodType", element.getFoodType(), -1); 15983 } 15984 } 15985 15986 protected void composeNutritionOrderSupplementComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderSupplementComponent element, int index) { 15987 if (element == null) 15988 return; 15989 Complex t; 15990 if (Utilities.noString(parentType)) 15991 t = parent; 15992 else { 15993 t = parent.predicate("fhir:"+parentType+'.'+name); 15994 } 15995 composeBackboneElement(t, "supplement", name, element, index); 15996 if (element.hasType()) { 15997 composeCodeableConcept(t, "NutritionOrderSupplementComponent", "type", element.getType(), -1); 15998 } 15999 if (element.hasProductNameElement()) { 16000 composeString(t, "NutritionOrderSupplementComponent", "productName", element.getProductNameElement(), -1); 16001 } 16002 for (int i = 0; i < element.getSchedule().size(); i++) { 16003 composeTiming(t, "NutritionOrderSupplementComponent", "schedule", element.getSchedule().get(i), i); 16004 } 16005 if (element.hasQuantity()) { 16006 composeQuantity(t, "NutritionOrderSupplementComponent", "quantity", element.getQuantity(), -1); 16007 } 16008 if (element.hasInstructionElement()) { 16009 composeString(t, "NutritionOrderSupplementComponent", "instruction", element.getInstructionElement(), -1); 16010 } 16011 } 16012 16013 protected void composeNutritionOrderEnteralFormulaComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element, int index) { 16014 if (element == null) 16015 return; 16016 Complex t; 16017 if (Utilities.noString(parentType)) 16018 t = parent; 16019 else { 16020 t = parent.predicate("fhir:"+parentType+'.'+name); 16021 } 16022 composeBackboneElement(t, "enteralFormula", name, element, index); 16023 if (element.hasBaseFormulaType()) { 16024 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaType", element.getBaseFormulaType(), -1); 16025 } 16026 if (element.hasBaseFormulaProductNameElement()) { 16027 composeString(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaProductName", element.getBaseFormulaProductNameElement(), -1); 16028 } 16029 if (element.hasAdditiveType()) { 16030 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "additiveType", element.getAdditiveType(), -1); 16031 } 16032 if (element.hasAdditiveProductNameElement()) { 16033 composeString(t, "NutritionOrderEnteralFormulaComponent", "additiveProductName", element.getAdditiveProductNameElement(), -1); 16034 } 16035 if (element.hasCaloricDensity()) { 16036 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "caloricDensity", element.getCaloricDensity(), -1); 16037 } 16038 if (element.hasRouteofAdministration()) { 16039 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "routeofAdministration", element.getRouteofAdministration(), -1); 16040 } 16041 for (int i = 0; i < element.getAdministration().size(); i++) { 16042 composeNutritionOrderEnteralFormulaAdministrationComponent(t, "NutritionOrderEnteralFormulaComponent", "administration", element.getAdministration().get(i), i); 16043 } 16044 if (element.hasMaxVolumeToDeliver()) { 16045 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "maxVolumeToDeliver", element.getMaxVolumeToDeliver(), -1); 16046 } 16047 if (element.hasAdministrationInstructionElement()) { 16048 composeString(t, "NutritionOrderEnteralFormulaComponent", "administrationInstruction", element.getAdministrationInstructionElement(), -1); 16049 } 16050 } 16051 16052 protected void composeNutritionOrderEnteralFormulaAdministrationComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element, int index) { 16053 if (element == null) 16054 return; 16055 Complex t; 16056 if (Utilities.noString(parentType)) 16057 t = parent; 16058 else { 16059 t = parent.predicate("fhir:"+parentType+'.'+name); 16060 } 16061 composeBackboneElement(t, "administration", name, element, index); 16062 if (element.hasSchedule()) { 16063 composeTiming(t, "NutritionOrderEnteralFormulaAdministrationComponent", "schedule", element.getSchedule(), -1); 16064 } 16065 if (element.hasQuantity()) { 16066 composeQuantity(t, "NutritionOrderEnteralFormulaAdministrationComponent", "quantity", element.getQuantity(), -1); 16067 } 16068 if (element.hasRate()) { 16069 composeType(t, "NutritionOrderEnteralFormulaAdministrationComponent", "rate", element.getRate(), -1); 16070 } 16071 } 16072 16073 protected void composeNutritionProduct(Complex parent, String parentType, String name, NutritionProduct element, int index) { 16074 if (element == null) 16075 return; 16076 Complex t; 16077 if (Utilities.noString(parentType)) 16078 t = parent; 16079 else { 16080 t = parent.predicate("fhir:"+parentType+'.'+name); 16081 } 16082 composeDomainResource(t, "NutritionProduct", name, element, index); 16083 if (element.hasStatusElement()) { 16084 composeEnum(t, "NutritionProduct", "status", element.getStatusElement(), -1); 16085 } 16086 for (int i = 0; i < element.getCategory().size(); i++) { 16087 composeCodeableConcept(t, "NutritionProduct", "category", element.getCategory().get(i), i); 16088 } 16089 if (element.hasCode()) { 16090 composeCodeableConcept(t, "NutritionProduct", "code", element.getCode(), -1); 16091 } 16092 for (int i = 0; i < element.getManufacturer().size(); i++) { 16093 composeReference(t, "NutritionProduct", "manufacturer", element.getManufacturer().get(i), i); 16094 } 16095 for (int i = 0; i < element.getNutrient().size(); i++) { 16096 composeNutritionProductNutrientComponent(t, "NutritionProduct", "nutrient", element.getNutrient().get(i), i); 16097 } 16098 for (int i = 0; i < element.getIngredient().size(); i++) { 16099 composeNutritionProductIngredientComponent(t, "NutritionProduct", "ingredient", element.getIngredient().get(i), i); 16100 } 16101 for (int i = 0; i < element.getKnownAllergen().size(); i++) { 16102 composeCodeableReference(t, "NutritionProduct", "knownAllergen", element.getKnownAllergen().get(i), i); 16103 } 16104 for (int i = 0; i < element.getProductCharacteristic().size(); i++) { 16105 composeNutritionProductProductCharacteristicComponent(t, "NutritionProduct", "productCharacteristic", element.getProductCharacteristic().get(i), i); 16106 } 16107 if (element.hasInstance()) { 16108 composeNutritionProductInstanceComponent(t, "NutritionProduct", "instance", element.getInstance(), -1); 16109 } 16110 for (int i = 0; i < element.getNote().size(); i++) { 16111 composeAnnotation(t, "NutritionProduct", "note", element.getNote().get(i), i); 16112 } 16113 } 16114 16115 protected void composeNutritionProductNutrientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductNutrientComponent element, int index) { 16116 if (element == null) 16117 return; 16118 Complex t; 16119 if (Utilities.noString(parentType)) 16120 t = parent; 16121 else { 16122 t = parent.predicate("fhir:"+parentType+'.'+name); 16123 } 16124 composeBackboneElement(t, "nutrient", name, element, index); 16125 if (element.hasItem()) { 16126 composeCodeableReference(t, "NutritionProductNutrientComponent", "item", element.getItem(), -1); 16127 } 16128 for (int i = 0; i < element.getAmount().size(); i++) { 16129 composeRatio(t, "NutritionProductNutrientComponent", "amount", element.getAmount().get(i), i); 16130 } 16131 } 16132 16133 protected void composeNutritionProductIngredientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductIngredientComponent element, int index) { 16134 if (element == null) 16135 return; 16136 Complex t; 16137 if (Utilities.noString(parentType)) 16138 t = parent; 16139 else { 16140 t = parent.predicate("fhir:"+parentType+'.'+name); 16141 } 16142 composeBackboneElement(t, "ingredient", name, element, index); 16143 if (element.hasItem()) { 16144 composeCodeableReference(t, "NutritionProductIngredientComponent", "item", element.getItem(), -1); 16145 } 16146 for (int i = 0; i < element.getAmount().size(); i++) { 16147 composeRatio(t, "NutritionProductIngredientComponent", "amount", element.getAmount().get(i), i); 16148 } 16149 } 16150 16151 protected void composeNutritionProductProductCharacteristicComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductProductCharacteristicComponent element, int index) { 16152 if (element == null) 16153 return; 16154 Complex t; 16155 if (Utilities.noString(parentType)) 16156 t = parent; 16157 else { 16158 t = parent.predicate("fhir:"+parentType+'.'+name); 16159 } 16160 composeBackboneElement(t, "productCharacteristic", name, element, index); 16161 if (element.hasType()) { 16162 composeCodeableConcept(t, "NutritionProductProductCharacteristicComponent", "type", element.getType(), -1); 16163 } 16164 if (element.hasValue()) { 16165 composeType(t, "NutritionProductProductCharacteristicComponent", "value", element.getValue(), -1); 16166 } 16167 } 16168 16169 protected void composeNutritionProductInstanceComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductInstanceComponent element, int index) { 16170 if (element == null) 16171 return; 16172 Complex t; 16173 if (Utilities.noString(parentType)) 16174 t = parent; 16175 else { 16176 t = parent.predicate("fhir:"+parentType+'.'+name); 16177 } 16178 composeBackboneElement(t, "instance", name, element, index); 16179 if (element.hasQuantity()) { 16180 composeQuantity(t, "NutritionProductInstanceComponent", "quantity", element.getQuantity(), -1); 16181 } 16182 for (int i = 0; i < element.getIdentifier().size(); i++) { 16183 composeIdentifier(t, "NutritionProductInstanceComponent", "identifier", element.getIdentifier().get(i), i); 16184 } 16185 if (element.hasLotNumberElement()) { 16186 composeString(t, "NutritionProductInstanceComponent", "lotNumber", element.getLotNumberElement(), -1); 16187 } 16188 if (element.hasExpiryElement()) { 16189 composeDateTime(t, "NutritionProductInstanceComponent", "expiry", element.getExpiryElement(), -1); 16190 } 16191 if (element.hasUseByElement()) { 16192 composeDateTime(t, "NutritionProductInstanceComponent", "useBy", element.getUseByElement(), -1); 16193 } 16194 } 16195 16196 protected void composeObservation(Complex parent, String parentType, String name, Observation element, int index) { 16197 if (element == null) 16198 return; 16199 Complex t; 16200 if (Utilities.noString(parentType)) 16201 t = parent; 16202 else { 16203 t = parent.predicate("fhir:"+parentType+'.'+name); 16204 } 16205 composeDomainResource(t, "Observation", name, element, index); 16206 for (int i = 0; i < element.getIdentifier().size(); i++) { 16207 composeIdentifier(t, "Observation", "identifier", element.getIdentifier().get(i), i); 16208 } 16209 for (int i = 0; i < element.getBasedOn().size(); i++) { 16210 composeReference(t, "Observation", "basedOn", element.getBasedOn().get(i), i); 16211 } 16212 for (int i = 0; i < element.getPartOf().size(); i++) { 16213 composeReference(t, "Observation", "partOf", element.getPartOf().get(i), i); 16214 } 16215 if (element.hasStatusElement()) { 16216 composeEnum(t, "Observation", "status", element.getStatusElement(), -1); 16217 } 16218 for (int i = 0; i < element.getCategory().size(); i++) { 16219 composeCodeableConcept(t, "Observation", "category", element.getCategory().get(i), i); 16220 } 16221 if (element.hasCode()) { 16222 composeCodeableConcept(t, "Observation", "code", element.getCode(), -1); 16223 } 16224 if (element.hasSubject()) { 16225 composeReference(t, "Observation", "subject", element.getSubject(), -1); 16226 } 16227 for (int i = 0; i < element.getFocus().size(); i++) { 16228 composeReference(t, "Observation", "focus", element.getFocus().get(i), i); 16229 } 16230 if (element.hasEncounter()) { 16231 composeReference(t, "Observation", "encounter", element.getEncounter(), -1); 16232 } 16233 if (element.hasEffective()) { 16234 composeType(t, "Observation", "effective", element.getEffective(), -1); 16235 } 16236 if (element.hasIssuedElement()) { 16237 composeInstant(t, "Observation", "issued", element.getIssuedElement(), -1); 16238 } 16239 for (int i = 0; i < element.getPerformer().size(); i++) { 16240 composeReference(t, "Observation", "performer", element.getPerformer().get(i), i); 16241 } 16242 if (element.hasValue()) { 16243 composeType(t, "Observation", "value", element.getValue(), -1); 16244 } 16245 if (element.hasDataAbsentReason()) { 16246 composeCodeableConcept(t, "Observation", "dataAbsentReason", element.getDataAbsentReason(), -1); 16247 } 16248 for (int i = 0; i < element.getInterpretation().size(); i++) { 16249 composeCodeableConcept(t, "Observation", "interpretation", element.getInterpretation().get(i), i); 16250 } 16251 for (int i = 0; i < element.getNote().size(); i++) { 16252 composeAnnotation(t, "Observation", "note", element.getNote().get(i), i); 16253 } 16254 if (element.hasBodySite()) { 16255 composeCodeableConcept(t, "Observation", "bodySite", element.getBodySite(), -1); 16256 } 16257 if (element.hasMethod()) { 16258 composeCodeableConcept(t, "Observation", "method", element.getMethod(), -1); 16259 } 16260 if (element.hasSpecimen()) { 16261 composeReference(t, "Observation", "specimen", element.getSpecimen(), -1); 16262 } 16263 if (element.hasDevice()) { 16264 composeReference(t, "Observation", "device", element.getDevice(), -1); 16265 } 16266 for (int i = 0; i < element.getReferenceRange().size(); i++) { 16267 composeObservationReferenceRangeComponent(t, "Observation", "referenceRange", element.getReferenceRange().get(i), i); 16268 } 16269 for (int i = 0; i < element.getHasMember().size(); i++) { 16270 composeReference(t, "Observation", "hasMember", element.getHasMember().get(i), i); 16271 } 16272 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 16273 composeReference(t, "Observation", "derivedFrom", element.getDerivedFrom().get(i), i); 16274 } 16275 for (int i = 0; i < element.getComponent().size(); i++) { 16276 composeObservationComponentComponent(t, "Observation", "component", element.getComponent().get(i), i); 16277 } 16278 } 16279 16280 protected void composeObservationReferenceRangeComponent(Complex parent, String parentType, String name, Observation.ObservationReferenceRangeComponent element, int index) { 16281 if (element == null) 16282 return; 16283 Complex t; 16284 if (Utilities.noString(parentType)) 16285 t = parent; 16286 else { 16287 t = parent.predicate("fhir:"+parentType+'.'+name); 16288 } 16289 composeBackboneElement(t, "referenceRange", name, element, index); 16290 if (element.hasLow()) { 16291 composeQuantity(t, "ObservationReferenceRangeComponent", "low", element.getLow(), -1); 16292 } 16293 if (element.hasHigh()) { 16294 composeQuantity(t, "ObservationReferenceRangeComponent", "high", element.getHigh(), -1); 16295 } 16296 if (element.hasType()) { 16297 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "type", element.getType(), -1); 16298 } 16299 for (int i = 0; i < element.getAppliesTo().size(); i++) { 16300 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "appliesTo", element.getAppliesTo().get(i), i); 16301 } 16302 if (element.hasAge()) { 16303 composeRange(t, "ObservationReferenceRangeComponent", "age", element.getAge(), -1); 16304 } 16305 if (element.hasTextElement()) { 16306 composeString(t, "ObservationReferenceRangeComponent", "text", element.getTextElement(), -1); 16307 } 16308 } 16309 16310 protected void composeObservationComponentComponent(Complex parent, String parentType, String name, Observation.ObservationComponentComponent element, int index) { 16311 if (element == null) 16312 return; 16313 Complex t; 16314 if (Utilities.noString(parentType)) 16315 t = parent; 16316 else { 16317 t = parent.predicate("fhir:"+parentType+'.'+name); 16318 } 16319 composeBackboneElement(t, "component", name, element, index); 16320 if (element.hasCode()) { 16321 composeCodeableConcept(t, "ObservationComponentComponent", "code", element.getCode(), -1); 16322 } 16323 if (element.hasValue()) { 16324 composeType(t, "ObservationComponentComponent", "value", element.getValue(), -1); 16325 } 16326 if (element.hasDataAbsentReason()) { 16327 composeCodeableConcept(t, "ObservationComponentComponent", "dataAbsentReason", element.getDataAbsentReason(), -1); 16328 } 16329 for (int i = 0; i < element.getInterpretation().size(); i++) { 16330 composeCodeableConcept(t, "ObservationComponentComponent", "interpretation", element.getInterpretation().get(i), i); 16331 } 16332 for (int i = 0; i < element.getReferenceRange().size(); i++) { 16333 composeObservationReferenceRangeComponent(t, "ObservationComponentComponent", "referenceRange", element.getReferenceRange().get(i), i); 16334 } 16335 } 16336 16337 protected void composeObservationDefinition(Complex parent, String parentType, String name, ObservationDefinition element, int index) { 16338 if (element == null) 16339 return; 16340 Complex t; 16341 if (Utilities.noString(parentType)) 16342 t = parent; 16343 else { 16344 t = parent.predicate("fhir:"+parentType+'.'+name); 16345 } 16346 composeDomainResource(t, "ObservationDefinition", name, element, index); 16347 for (int i = 0; i < element.getCategory().size(); i++) { 16348 composeCodeableConcept(t, "ObservationDefinition", "category", element.getCategory().get(i), i); 16349 } 16350 if (element.hasCode()) { 16351 composeCodeableConcept(t, "ObservationDefinition", "code", element.getCode(), -1); 16352 } 16353 for (int i = 0; i < element.getIdentifier().size(); i++) { 16354 composeIdentifier(t, "ObservationDefinition", "identifier", element.getIdentifier().get(i), i); 16355 } 16356 for (int i = 0; i < element.getPermittedDataType().size(); i++) { 16357 composeEnum(t, "ObservationDefinition", "permittedDataType", element.getPermittedDataType().get(i), i); 16358 } 16359 if (element.hasMultipleResultsAllowedElement()) { 16360 composeBoolean(t, "ObservationDefinition", "multipleResultsAllowed", element.getMultipleResultsAllowedElement(), -1); 16361 } 16362 if (element.hasMethod()) { 16363 composeCodeableConcept(t, "ObservationDefinition", "method", element.getMethod(), -1); 16364 } 16365 if (element.hasPreferredReportNameElement()) { 16366 composeString(t, "ObservationDefinition", "preferredReportName", element.getPreferredReportNameElement(), -1); 16367 } 16368 if (element.hasQuantitativeDetails()) { 16369 composeObservationDefinitionQuantitativeDetailsComponent(t, "ObservationDefinition", "quantitativeDetails", element.getQuantitativeDetails(), -1); 16370 } 16371 for (int i = 0; i < element.getQualifiedInterval().size(); i++) { 16372 composeObservationDefinitionQualifiedIntervalComponent(t, "ObservationDefinition", "qualifiedInterval", element.getQualifiedInterval().get(i), i); 16373 } 16374 if (element.hasValidCodedValueSet()) { 16375 composeReference(t, "ObservationDefinition", "validCodedValueSet", element.getValidCodedValueSet(), -1); 16376 } 16377 if (element.hasNormalCodedValueSet()) { 16378 composeReference(t, "ObservationDefinition", "normalCodedValueSet", element.getNormalCodedValueSet(), -1); 16379 } 16380 if (element.hasAbnormalCodedValueSet()) { 16381 composeReference(t, "ObservationDefinition", "abnormalCodedValueSet", element.getAbnormalCodedValueSet(), -1); 16382 } 16383 if (element.hasCriticalCodedValueSet()) { 16384 composeReference(t, "ObservationDefinition", "criticalCodedValueSet", element.getCriticalCodedValueSet(), -1); 16385 } 16386 } 16387 16388 protected void composeObservationDefinitionQuantitativeDetailsComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent element, int index) { 16389 if (element == null) 16390 return; 16391 Complex t; 16392 if (Utilities.noString(parentType)) 16393 t = parent; 16394 else { 16395 t = parent.predicate("fhir:"+parentType+'.'+name); 16396 } 16397 composeBackboneElement(t, "quantitativeDetails", name, element, index); 16398 if (element.hasCustomaryUnit()) { 16399 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "customaryUnit", element.getCustomaryUnit(), -1); 16400 } 16401 if (element.hasUnit()) { 16402 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "unit", element.getUnit(), -1); 16403 } 16404 if (element.hasConversionFactorElement()) { 16405 composeDecimal(t, "ObservationDefinitionQuantitativeDetailsComponent", "conversionFactor", element.getConversionFactorElement(), -1); 16406 } 16407 if (element.hasDecimalPrecisionElement()) { 16408 composeInteger(t, "ObservationDefinitionQuantitativeDetailsComponent", "decimalPrecision", element.getDecimalPrecisionElement(), -1); 16409 } 16410 } 16411 16412 protected void composeObservationDefinitionQualifiedIntervalComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent element, int index) { 16413 if (element == null) 16414 return; 16415 Complex t; 16416 if (Utilities.noString(parentType)) 16417 t = parent; 16418 else { 16419 t = parent.predicate("fhir:"+parentType+'.'+name); 16420 } 16421 composeBackboneElement(t, "qualifiedInterval", name, element, index); 16422 if (element.hasCategoryElement()) { 16423 composeEnum(t, "ObservationDefinitionQualifiedIntervalComponent", "category", element.getCategoryElement(), -1); 16424 } 16425 if (element.hasRange()) { 16426 composeRange(t, "ObservationDefinitionQualifiedIntervalComponent", "range", element.getRange(), -1); 16427 } 16428 if (element.hasContext()) { 16429 composeCodeableConcept(t, "ObservationDefinitionQualifiedIntervalComponent", "context", element.getContext(), -1); 16430 } 16431 for (int i = 0; i < element.getAppliesTo().size(); i++) { 16432 composeCodeableConcept(t, "ObservationDefinitionQualifiedIntervalComponent", "appliesTo", element.getAppliesTo().get(i), i); 16433 } 16434 if (element.hasGenderElement()) { 16435 composeEnum(t, "ObservationDefinitionQualifiedIntervalComponent", "gender", element.getGenderElement(), -1); 16436 } 16437 if (element.hasAge()) { 16438 composeRange(t, "ObservationDefinitionQualifiedIntervalComponent", "age", element.getAge(), -1); 16439 } 16440 if (element.hasGestationalAge()) { 16441 composeRange(t, "ObservationDefinitionQualifiedIntervalComponent", "gestationalAge", element.getGestationalAge(), -1); 16442 } 16443 if (element.hasConditionElement()) { 16444 composeString(t, "ObservationDefinitionQualifiedIntervalComponent", "condition", element.getConditionElement(), -1); 16445 } 16446 } 16447 16448 protected void composeOperationDefinition(Complex parent, String parentType, String name, OperationDefinition element, int index) { 16449 if (element == null) 16450 return; 16451 Complex t; 16452 if (Utilities.noString(parentType)) 16453 t = parent; 16454 else { 16455 t = parent.predicate("fhir:"+parentType+'.'+name); 16456 } 16457 composeDomainResource(t, "OperationDefinition", name, element, index); 16458 if (element.hasUrlElement()) { 16459 composeUri(t, "OperationDefinition", "url", element.getUrlElement(), -1); 16460 } 16461 if (element.hasVersionElement()) { 16462 composeString(t, "OperationDefinition", "version", element.getVersionElement(), -1); 16463 } 16464 if (element.hasNameElement()) { 16465 composeString(t, "OperationDefinition", "name", element.getNameElement(), -1); 16466 } 16467 if (element.hasTitleElement()) { 16468 composeString(t, "OperationDefinition", "title", element.getTitleElement(), -1); 16469 } 16470 if (element.hasStatusElement()) { 16471 composeEnum(t, "OperationDefinition", "status", element.getStatusElement(), -1); 16472 } 16473 if (element.hasKindElement()) { 16474 composeEnum(t, "OperationDefinition", "kind", element.getKindElement(), -1); 16475 } 16476 if (element.hasExperimentalElement()) { 16477 composeBoolean(t, "OperationDefinition", "experimental", element.getExperimentalElement(), -1); 16478 } 16479 if (element.hasDateElement()) { 16480 composeDateTime(t, "OperationDefinition", "date", element.getDateElement(), -1); 16481 } 16482 if (element.hasPublisherElement()) { 16483 composeString(t, "OperationDefinition", "publisher", element.getPublisherElement(), -1); 16484 } 16485 for (int i = 0; i < element.getContact().size(); i++) { 16486 composeContactDetail(t, "OperationDefinition", "contact", element.getContact().get(i), i); 16487 } 16488 if (element.hasDescriptionElement()) { 16489 composeMarkdown(t, "OperationDefinition", "description", element.getDescriptionElement(), -1); 16490 } 16491 for (int i = 0; i < element.getUseContext().size(); i++) { 16492 composeUsageContext(t, "OperationDefinition", "useContext", element.getUseContext().get(i), i); 16493 } 16494 for (int i = 0; i < element.getJurisdiction().size(); i++) { 16495 composeCodeableConcept(t, "OperationDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 16496 } 16497 if (element.hasPurposeElement()) { 16498 composeMarkdown(t, "OperationDefinition", "purpose", element.getPurposeElement(), -1); 16499 } 16500 if (element.hasAffectsStateElement()) { 16501 composeBoolean(t, "OperationDefinition", "affectsState", element.getAffectsStateElement(), -1); 16502 } 16503 if (element.hasCodeElement()) { 16504 composeCode(t, "OperationDefinition", "code", element.getCodeElement(), -1); 16505 } 16506 if (element.hasCommentElement()) { 16507 composeMarkdown(t, "OperationDefinition", "comment", element.getCommentElement(), -1); 16508 } 16509 if (element.hasBaseElement()) { 16510 composeCanonical(t, "OperationDefinition", "base", element.getBaseElement(), -1); 16511 } 16512 for (int i = 0; i < element.getResource().size(); i++) { 16513 composeCode(t, "OperationDefinition", "resource", element.getResource().get(i), i); 16514 } 16515 if (element.hasSystemElement()) { 16516 composeBoolean(t, "OperationDefinition", "system", element.getSystemElement(), -1); 16517 } 16518 if (element.hasTypeElement()) { 16519 composeBoolean(t, "OperationDefinition", "type", element.getTypeElement(), -1); 16520 } 16521 if (element.hasInstanceElement()) { 16522 composeBoolean(t, "OperationDefinition", "instance", element.getInstanceElement(), -1); 16523 } 16524 if (element.hasInputProfileElement()) { 16525 composeCanonical(t, "OperationDefinition", "inputProfile", element.getInputProfileElement(), -1); 16526 } 16527 if (element.hasOutputProfileElement()) { 16528 composeCanonical(t, "OperationDefinition", "outputProfile", element.getOutputProfileElement(), -1); 16529 } 16530 for (int i = 0; i < element.getParameter().size(); i++) { 16531 composeOperationDefinitionParameterComponent(t, "OperationDefinition", "parameter", element.getParameter().get(i), i); 16532 } 16533 for (int i = 0; i < element.getOverload().size(); i++) { 16534 composeOperationDefinitionOverloadComponent(t, "OperationDefinition", "overload", element.getOverload().get(i), i); 16535 } 16536 } 16537 16538 protected void composeOperationDefinitionParameterComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterComponent element, int index) { 16539 if (element == null) 16540 return; 16541 Complex t; 16542 if (Utilities.noString(parentType)) 16543 t = parent; 16544 else { 16545 t = parent.predicate("fhir:"+parentType+'.'+name); 16546 } 16547 composeBackboneElement(t, "parameter", name, element, index); 16548 if (element.hasNameElement()) { 16549 composeCode(t, "OperationDefinitionParameterComponent", "name", element.getNameElement(), -1); 16550 } 16551 if (element.hasUseElement()) { 16552 composeEnum(t, "OperationDefinitionParameterComponent", "use", element.getUseElement(), -1); 16553 } 16554 if (element.hasMinElement()) { 16555 composeInteger(t, "OperationDefinitionParameterComponent", "min", element.getMinElement(), -1); 16556 } 16557 if (element.hasMaxElement()) { 16558 composeString(t, "OperationDefinitionParameterComponent", "max", element.getMaxElement(), -1); 16559 } 16560 if (element.hasDocumentationElement()) { 16561 composeString(t, "OperationDefinitionParameterComponent", "documentation", element.getDocumentationElement(), -1); 16562 } 16563 if (element.hasTypeElement()) { 16564 composeEnum(t, "OperationDefinitionParameterComponent", "type", element.getTypeElement(), -1); 16565 } 16566 for (int i = 0; i < element.getTargetProfile().size(); i++) { 16567 composeCanonical(t, "OperationDefinitionParameterComponent", "targetProfile", element.getTargetProfile().get(i), i); 16568 } 16569 if (element.hasSearchTypeElement()) { 16570 composeEnum(t, "OperationDefinitionParameterComponent", "searchType", element.getSearchTypeElement(), -1); 16571 } 16572 if (element.hasBinding()) { 16573 composeOperationDefinitionParameterBindingComponent(t, "OperationDefinitionParameterComponent", "binding", element.getBinding(), -1); 16574 } 16575 for (int i = 0; i < element.getReferencedFrom().size(); i++) { 16576 composeOperationDefinitionParameterReferencedFromComponent(t, "OperationDefinitionParameterComponent", "referencedFrom", element.getReferencedFrom().get(i), i); 16577 } 16578 for (int i = 0; i < element.getPart().size(); i++) { 16579 composeOperationDefinitionParameterComponent(t, "OperationDefinitionParameterComponent", "part", element.getPart().get(i), i); 16580 } 16581 } 16582 16583 protected void composeOperationDefinitionParameterBindingComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterBindingComponent element, int index) { 16584 if (element == null) 16585 return; 16586 Complex t; 16587 if (Utilities.noString(parentType)) 16588 t = parent; 16589 else { 16590 t = parent.predicate("fhir:"+parentType+'.'+name); 16591 } 16592 composeBackboneElement(t, "binding", name, element, index); 16593 if (element.hasStrengthElement()) { 16594 composeEnum(t, "OperationDefinitionParameterBindingComponent", "strength", element.getStrengthElement(), -1); 16595 } 16596 if (element.hasValueSetElement()) { 16597 composeCanonical(t, "OperationDefinitionParameterBindingComponent", "valueSet", element.getValueSetElement(), -1); 16598 } 16599 } 16600 16601 protected void composeOperationDefinitionParameterReferencedFromComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterReferencedFromComponent element, int index) { 16602 if (element == null) 16603 return; 16604 Complex t; 16605 if (Utilities.noString(parentType)) 16606 t = parent; 16607 else { 16608 t = parent.predicate("fhir:"+parentType+'.'+name); 16609 } 16610 composeBackboneElement(t, "referencedFrom", name, element, index); 16611 if (element.hasSourceElement()) { 16612 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "source", element.getSourceElement(), -1); 16613 } 16614 if (element.hasSourceIdElement()) { 16615 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "sourceId", element.getSourceIdElement(), -1); 16616 } 16617 } 16618 16619 protected void composeOperationDefinitionOverloadComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionOverloadComponent element, int index) { 16620 if (element == null) 16621 return; 16622 Complex t; 16623 if (Utilities.noString(parentType)) 16624 t = parent; 16625 else { 16626 t = parent.predicate("fhir:"+parentType+'.'+name); 16627 } 16628 composeBackboneElement(t, "overload", name, element, index); 16629 for (int i = 0; i < element.getParameterName().size(); i++) { 16630 composeString(t, "OperationDefinitionOverloadComponent", "parameterName", element.getParameterName().get(i), i); 16631 } 16632 if (element.hasCommentElement()) { 16633 composeString(t, "OperationDefinitionOverloadComponent", "comment", element.getCommentElement(), -1); 16634 } 16635 } 16636 16637 protected void composeOperationOutcome(Complex parent, String parentType, String name, OperationOutcome element, int index) { 16638 if (element == null) 16639 return; 16640 Complex t; 16641 if (Utilities.noString(parentType)) 16642 t = parent; 16643 else { 16644 t = parent.predicate("fhir:"+parentType+'.'+name); 16645 } 16646 composeDomainResource(t, "OperationOutcome", name, element, index); 16647 for (int i = 0; i < element.getIssue().size(); i++) { 16648 composeOperationOutcomeIssueComponent(t, "OperationOutcome", "issue", element.getIssue().get(i), i); 16649 } 16650 } 16651 16652 protected void composeOperationOutcomeIssueComponent(Complex parent, String parentType, String name, OperationOutcome.OperationOutcomeIssueComponent element, int index) { 16653 if (element == null) 16654 return; 16655 Complex t; 16656 if (Utilities.noString(parentType)) 16657 t = parent; 16658 else { 16659 t = parent.predicate("fhir:"+parentType+'.'+name); 16660 } 16661 composeBackboneElement(t, "issue", name, element, index); 16662 if (element.hasSeverityElement()) { 16663 composeEnum(t, "OperationOutcomeIssueComponent", "severity", element.getSeverityElement(), -1); 16664 } 16665 if (element.hasCodeElement()) { 16666 composeEnum(t, "OperationOutcomeIssueComponent", "code", element.getCodeElement(), -1); 16667 } 16668 if (element.hasDetails()) { 16669 composeCodeableConcept(t, "OperationOutcomeIssueComponent", "details", element.getDetails(), -1); 16670 } 16671 if (element.hasDiagnosticsElement()) { 16672 composeString(t, "OperationOutcomeIssueComponent", "diagnostics", element.getDiagnosticsElement(), -1); 16673 } 16674 for (int i = 0; i < element.getLocation().size(); i++) { 16675 composeString(t, "OperationOutcomeIssueComponent", "location", element.getLocation().get(i), i); 16676 } 16677 for (int i = 0; i < element.getExpression().size(); i++) { 16678 composeString(t, "OperationOutcomeIssueComponent", "expression", element.getExpression().get(i), i); 16679 } 16680 } 16681 16682 protected void composeOrganization(Complex parent, String parentType, String name, Organization element, int index) { 16683 if (element == null) 16684 return; 16685 Complex t; 16686 if (Utilities.noString(parentType)) 16687 t = parent; 16688 else { 16689 t = parent.predicate("fhir:"+parentType+'.'+name); 16690 } 16691 composeDomainResource(t, "Organization", name, element, index); 16692 for (int i = 0; i < element.getIdentifier().size(); i++) { 16693 composeIdentifier(t, "Organization", "identifier", element.getIdentifier().get(i), i); 16694 } 16695 if (element.hasActiveElement()) { 16696 composeBoolean(t, "Organization", "active", element.getActiveElement(), -1); 16697 } 16698 for (int i = 0; i < element.getType().size(); i++) { 16699 composeCodeableConcept(t, "Organization", "type", element.getType().get(i), i); 16700 } 16701 if (element.hasNameElement()) { 16702 composeString(t, "Organization", "name", element.getNameElement(), -1); 16703 } 16704 for (int i = 0; i < element.getAlias().size(); i++) { 16705 composeString(t, "Organization", "alias", element.getAlias().get(i), i); 16706 } 16707 for (int i = 0; i < element.getTelecom().size(); i++) { 16708 composeContactPoint(t, "Organization", "telecom", element.getTelecom().get(i), i); 16709 } 16710 for (int i = 0; i < element.getAddress().size(); i++) { 16711 composeAddress(t, "Organization", "address", element.getAddress().get(i), i); 16712 } 16713 if (element.hasPartOf()) { 16714 composeReference(t, "Organization", "partOf", element.getPartOf(), -1); 16715 } 16716 for (int i = 0; i < element.getContact().size(); i++) { 16717 composeOrganizationContactComponent(t, "Organization", "contact", element.getContact().get(i), i); 16718 } 16719 for (int i = 0; i < element.getEndpoint().size(); i++) { 16720 composeReference(t, "Organization", "endpoint", element.getEndpoint().get(i), i); 16721 } 16722 } 16723 16724 protected void composeOrganizationContactComponent(Complex parent, String parentType, String name, Organization.OrganizationContactComponent element, int index) { 16725 if (element == null) 16726 return; 16727 Complex t; 16728 if (Utilities.noString(parentType)) 16729 t = parent; 16730 else { 16731 t = parent.predicate("fhir:"+parentType+'.'+name); 16732 } 16733 composeBackboneElement(t, "contact", name, element, index); 16734 if (element.hasPurpose()) { 16735 composeCodeableConcept(t, "OrganizationContactComponent", "purpose", element.getPurpose(), -1); 16736 } 16737 if (element.hasName()) { 16738 composeHumanName(t, "OrganizationContactComponent", "name", element.getName(), -1); 16739 } 16740 for (int i = 0; i < element.getTelecom().size(); i++) { 16741 composeContactPoint(t, "OrganizationContactComponent", "telecom", element.getTelecom().get(i), i); 16742 } 16743 if (element.hasAddress()) { 16744 composeAddress(t, "OrganizationContactComponent", "address", element.getAddress(), -1); 16745 } 16746 } 16747 16748 protected void composeOrganizationAffiliation(Complex parent, String parentType, String name, OrganizationAffiliation element, int index) { 16749 if (element == null) 16750 return; 16751 Complex t; 16752 if (Utilities.noString(parentType)) 16753 t = parent; 16754 else { 16755 t = parent.predicate("fhir:"+parentType+'.'+name); 16756 } 16757 composeDomainResource(t, "OrganizationAffiliation", name, element, index); 16758 for (int i = 0; i < element.getIdentifier().size(); i++) { 16759 composeIdentifier(t, "OrganizationAffiliation", "identifier", element.getIdentifier().get(i), i); 16760 } 16761 if (element.hasActiveElement()) { 16762 composeBoolean(t, "OrganizationAffiliation", "active", element.getActiveElement(), -1); 16763 } 16764 if (element.hasPeriod()) { 16765 composePeriod(t, "OrganizationAffiliation", "period", element.getPeriod(), -1); 16766 } 16767 if (element.hasOrganization()) { 16768 composeReference(t, "OrganizationAffiliation", "organization", element.getOrganization(), -1); 16769 } 16770 if (element.hasParticipatingOrganization()) { 16771 composeReference(t, "OrganizationAffiliation", "participatingOrganization", element.getParticipatingOrganization(), -1); 16772 } 16773 for (int i = 0; i < element.getNetwork().size(); i++) { 16774 composeReference(t, "OrganizationAffiliation", "network", element.getNetwork().get(i), i); 16775 } 16776 for (int i = 0; i < element.getCode().size(); i++) { 16777 composeCodeableConcept(t, "OrganizationAffiliation", "code", element.getCode().get(i), i); 16778 } 16779 for (int i = 0; i < element.getSpecialty().size(); i++) { 16780 composeCodeableConcept(t, "OrganizationAffiliation", "specialty", element.getSpecialty().get(i), i); 16781 } 16782 for (int i = 0; i < element.getLocation().size(); i++) { 16783 composeReference(t, "OrganizationAffiliation", "location", element.getLocation().get(i), i); 16784 } 16785 for (int i = 0; i < element.getHealthcareService().size(); i++) { 16786 composeReference(t, "OrganizationAffiliation", "healthcareService", element.getHealthcareService().get(i), i); 16787 } 16788 for (int i = 0; i < element.getTelecom().size(); i++) { 16789 composeContactPoint(t, "OrganizationAffiliation", "telecom", element.getTelecom().get(i), i); 16790 } 16791 for (int i = 0; i < element.getEndpoint().size(); i++) { 16792 composeReference(t, "OrganizationAffiliation", "endpoint", element.getEndpoint().get(i), i); 16793 } 16794 } 16795 16796 protected void composePackagedProductDefinition(Complex parent, String parentType, String name, PackagedProductDefinition element, int index) { 16797 if (element == null) 16798 return; 16799 Complex t; 16800 if (Utilities.noString(parentType)) 16801 t = parent; 16802 else { 16803 t = parent.predicate("fhir:"+parentType+'.'+name); 16804 } 16805 composeDomainResource(t, "PackagedProductDefinition", name, element, index); 16806 for (int i = 0; i < element.getIdentifier().size(); i++) { 16807 composeIdentifier(t, "PackagedProductDefinition", "identifier", element.getIdentifier().get(i), i); 16808 } 16809 if (element.hasNameElement()) { 16810 composeString(t, "PackagedProductDefinition", "name", element.getNameElement(), -1); 16811 } 16812 if (element.hasType()) { 16813 composeCodeableConcept(t, "PackagedProductDefinition", "type", element.getType(), -1); 16814 } 16815 for (int i = 0; i < element.getPackageFor().size(); i++) { 16816 composeReference(t, "PackagedProductDefinition", "packageFor", element.getPackageFor().get(i), i); 16817 } 16818 if (element.hasStatus()) { 16819 composeCodeableConcept(t, "PackagedProductDefinition", "status", element.getStatus(), -1); 16820 } 16821 if (element.hasStatusDateElement()) { 16822 composeDateTime(t, "PackagedProductDefinition", "statusDate", element.getStatusDateElement(), -1); 16823 } 16824 for (int i = 0; i < element.getContainedItemQuantity().size(); i++) { 16825 composeQuantity(t, "PackagedProductDefinition", "containedItemQuantity", element.getContainedItemQuantity().get(i), i); 16826 } 16827 if (element.hasDescriptionElement()) { 16828 composeMarkdown(t, "PackagedProductDefinition", "description", element.getDescriptionElement(), -1); 16829 } 16830 for (int i = 0; i < element.getLegalStatusOfSupply().size(); i++) { 16831 composePackagedProductDefinitionLegalStatusOfSupplyComponent(t, "PackagedProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply().get(i), i); 16832 } 16833 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 16834 composeMarketingStatus(t, "PackagedProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 16835 } 16836 for (int i = 0; i < element.getCharacteristic().size(); i++) { 16837 composeCodeableConcept(t, "PackagedProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 16838 } 16839 if (element.hasCopackagedIndicatorElement()) { 16840 composeBoolean(t, "PackagedProductDefinition", "copackagedIndicator", element.getCopackagedIndicatorElement(), -1); 16841 } 16842 for (int i = 0; i < element.getManufacturer().size(); i++) { 16843 composeReference(t, "PackagedProductDefinition", "manufacturer", element.getManufacturer().get(i), i); 16844 } 16845 if (element.hasPackage()) { 16846 composePackagedProductDefinitionPackageComponent(t, "PackagedProductDefinition", "package", element.getPackage(), -1); 16847 } 16848 } 16849 16850 protected void composePackagedProductDefinitionLegalStatusOfSupplyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent element, int index) { 16851 if (element == null) 16852 return; 16853 Complex t; 16854 if (Utilities.noString(parentType)) 16855 t = parent; 16856 else { 16857 t = parent.predicate("fhir:"+parentType+'.'+name); 16858 } 16859 composeBackboneElement(t, "legalStatusOfSupply", name, element, index); 16860 if (element.hasCode()) { 16861 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "code", element.getCode(), -1); 16862 } 16863 if (element.hasJurisdiction()) { 16864 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "jurisdiction", element.getJurisdiction(), -1); 16865 } 16866 } 16867 16868 protected void composePackagedProductDefinitionPackageComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackageComponent element, int index) { 16869 if (element == null) 16870 return; 16871 Complex t; 16872 if (Utilities.noString(parentType)) 16873 t = parent; 16874 else { 16875 t = parent.predicate("fhir:"+parentType+'.'+name); 16876 } 16877 composeBackboneElement(t, "package", name, element, index); 16878 for (int i = 0; i < element.getIdentifier().size(); i++) { 16879 composeIdentifier(t, "PackagedProductDefinitionPackageComponent", "identifier", element.getIdentifier().get(i), i); 16880 } 16881 if (element.hasType()) { 16882 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "type", element.getType(), -1); 16883 } 16884 if (element.hasQuantityElement()) { 16885 composeInteger(t, "PackagedProductDefinitionPackageComponent", "quantity", element.getQuantityElement(), -1); 16886 } 16887 for (int i = 0; i < element.getMaterial().size(); i++) { 16888 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "material", element.getMaterial().get(i), i); 16889 } 16890 for (int i = 0; i < element.getAlternateMaterial().size(); i++) { 16891 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "alternateMaterial", element.getAlternateMaterial().get(i), i); 16892 } 16893 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 16894 composeProductShelfLife(t, "PackagedProductDefinitionPackageComponent", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 16895 } 16896 for (int i = 0; i < element.getManufacturer().size(); i++) { 16897 composeReference(t, "PackagedProductDefinitionPackageComponent", "manufacturer", element.getManufacturer().get(i), i); 16898 } 16899 for (int i = 0; i < element.getProperty().size(); i++) { 16900 composePackagedProductDefinitionPackagePropertyComponent(t, "PackagedProductDefinitionPackageComponent", "property", element.getProperty().get(i), i); 16901 } 16902 for (int i = 0; i < element.getContainedItem().size(); i++) { 16903 composePackagedProductDefinitionPackageContainedItemComponent(t, "PackagedProductDefinitionPackageComponent", "containedItem", element.getContainedItem().get(i), i); 16904 } 16905 for (int i = 0; i < element.getPackage().size(); i++) { 16906 composePackagedProductDefinitionPackageComponent(t, "PackagedProductDefinitionPackageComponent", "package", element.getPackage().get(i), i); 16907 } 16908 } 16909 16910 protected void composePackagedProductDefinitionPackagePropertyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent element, int index) { 16911 if (element == null) 16912 return; 16913 Complex t; 16914 if (Utilities.noString(parentType)) 16915 t = parent; 16916 else { 16917 t = parent.predicate("fhir:"+parentType+'.'+name); 16918 } 16919 composeBackboneElement(t, "property", name, element, index); 16920 if (element.hasType()) { 16921 composeCodeableConcept(t, "PackagedProductDefinitionPackagePropertyComponent", "type", element.getType(), -1); 16922 } 16923 if (element.hasValue()) { 16924 composeType(t, "PackagedProductDefinitionPackagePropertyComponent", "value", element.getValue(), -1); 16925 } 16926 } 16927 16928 protected void composePackagedProductDefinitionPackageContainedItemComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent element, int index) { 16929 if (element == null) 16930 return; 16931 Complex t; 16932 if (Utilities.noString(parentType)) 16933 t = parent; 16934 else { 16935 t = parent.predicate("fhir:"+parentType+'.'+name); 16936 } 16937 composeBackboneElement(t, "containedItem", name, element, index); 16938 if (element.hasItem()) { 16939 composeCodeableReference(t, "PackagedProductDefinitionPackageContainedItemComponent", "item", element.getItem(), -1); 16940 } 16941 if (element.hasAmount()) { 16942 composeQuantity(t, "PackagedProductDefinitionPackageContainedItemComponent", "amount", element.getAmount(), -1); 16943 } 16944 } 16945 16946 protected void composeParameters(Complex parent, String parentType, String name, Parameters element, int index) { 16947 if (element == null) 16948 return; 16949 Complex t; 16950 if (Utilities.noString(parentType)) 16951 t = parent; 16952 else { 16953 t = parent.predicate("fhir:"+parentType+'.'+name); 16954 } 16955 composeResource(t, "Parameters", name, element, index); 16956 for (int i = 0; i < element.getParameter().size(); i++) { 16957 composeParametersParameterComponent(t, "Parameters", "parameter", element.getParameter().get(i), i); 16958 } 16959 } 16960 16961 protected void composeParametersParameterComponent(Complex parent, String parentType, String name, Parameters.ParametersParameterComponent element, int index) { 16962 if (element == null) 16963 return; 16964 Complex t; 16965 if (Utilities.noString(parentType)) 16966 t = parent; 16967 else { 16968 t = parent.predicate("fhir:"+parentType+'.'+name); 16969 } 16970 composeBackboneElement(t, "parameter", name, element, index); 16971 if (element.hasNameElement()) { 16972 composeString(t, "ParametersParameterComponent", "name", element.getNameElement(), -1); 16973 } 16974 if (element.hasValue()) { 16975 composeType(t, "ParametersParameterComponent", "value", element.getValue(), -1); 16976 } 16977 if (element.hasResource()) { 16978 composeResource(t, "ParametersParameterComponent", "resource", element.getResource(), -1); 16979 } 16980 for (int i = 0; i < element.getPart().size(); i++) { 16981 composeParametersParameterComponent(t, "ParametersParameterComponent", "part", element.getPart().get(i), i); 16982 } 16983 } 16984 16985 protected void composePatient(Complex parent, String parentType, String name, Patient element, int index) { 16986 if (element == null) 16987 return; 16988 Complex t; 16989 if (Utilities.noString(parentType)) 16990 t = parent; 16991 else { 16992 t = parent.predicate("fhir:"+parentType+'.'+name); 16993 } 16994 composeDomainResource(t, "Patient", name, element, index); 16995 for (int i = 0; i < element.getIdentifier().size(); i++) { 16996 composeIdentifier(t, "Patient", "identifier", element.getIdentifier().get(i), i); 16997 } 16998 if (element.hasActiveElement()) { 16999 composeBoolean(t, "Patient", "active", element.getActiveElement(), -1); 17000 } 17001 for (int i = 0; i < element.getName().size(); i++) { 17002 composeHumanName(t, "Patient", "name", element.getName().get(i), i); 17003 } 17004 for (int i = 0; i < element.getTelecom().size(); i++) { 17005 composeContactPoint(t, "Patient", "telecom", element.getTelecom().get(i), i); 17006 } 17007 if (element.hasGenderElement()) { 17008 composeEnum(t, "Patient", "gender", element.getGenderElement(), -1); 17009 } 17010 if (element.hasBirthDateElement()) { 17011 composeDate(t, "Patient", "birthDate", element.getBirthDateElement(), -1); 17012 } 17013 if (element.hasDeceased()) { 17014 composeType(t, "Patient", "deceased", element.getDeceased(), -1); 17015 } 17016 for (int i = 0; i < element.getAddress().size(); i++) { 17017 composeAddress(t, "Patient", "address", element.getAddress().get(i), i); 17018 } 17019 if (element.hasMaritalStatus()) { 17020 composeCodeableConcept(t, "Patient", "maritalStatus", element.getMaritalStatus(), -1); 17021 } 17022 if (element.hasMultipleBirth()) { 17023 composeType(t, "Patient", "multipleBirth", element.getMultipleBirth(), -1); 17024 } 17025 for (int i = 0; i < element.getPhoto().size(); i++) { 17026 composeAttachment(t, "Patient", "photo", element.getPhoto().get(i), i); 17027 } 17028 for (int i = 0; i < element.getContact().size(); i++) { 17029 composePatientContactComponent(t, "Patient", "contact", element.getContact().get(i), i); 17030 } 17031 for (int i = 0; i < element.getCommunication().size(); i++) { 17032 composePatientCommunicationComponent(t, "Patient", "communication", element.getCommunication().get(i), i); 17033 } 17034 for (int i = 0; i < element.getGeneralPractitioner().size(); i++) { 17035 composeReference(t, "Patient", "generalPractitioner", element.getGeneralPractitioner().get(i), i); 17036 } 17037 if (element.hasManagingOrganization()) { 17038 composeReference(t, "Patient", "managingOrganization", element.getManagingOrganization(), -1); 17039 } 17040 for (int i = 0; i < element.getLink().size(); i++) { 17041 composePatientLinkComponent(t, "Patient", "link", element.getLink().get(i), i); 17042 } 17043 } 17044 17045 protected void composePatientContactComponent(Complex parent, String parentType, String name, Patient.ContactComponent element, int index) { 17046 if (element == null) 17047 return; 17048 Complex t; 17049 if (Utilities.noString(parentType)) 17050 t = parent; 17051 else { 17052 t = parent.predicate("fhir:"+parentType+'.'+name); 17053 } 17054 composeBackboneElement(t, "contact", name, element, index); 17055 for (int i = 0; i < element.getRelationship().size(); i++) { 17056 composeCodeableConcept(t, "ContactComponent", "relationship", element.getRelationship().get(i), i); 17057 } 17058 if (element.hasName()) { 17059 composeHumanName(t, "ContactComponent", "name", element.getName(), -1); 17060 } 17061 for (int i = 0; i < element.getTelecom().size(); i++) { 17062 composeContactPoint(t, "ContactComponent", "telecom", element.getTelecom().get(i), i); 17063 } 17064 if (element.hasAddress()) { 17065 composeAddress(t, "ContactComponent", "address", element.getAddress(), -1); 17066 } 17067 if (element.hasGenderElement()) { 17068 composeEnum(t, "ContactComponent", "gender", element.getGenderElement(), -1); 17069 } 17070 if (element.hasOrganization()) { 17071 composeReference(t, "ContactComponent", "organization", element.getOrganization(), -1); 17072 } 17073 if (element.hasPeriod()) { 17074 composePeriod(t, "ContactComponent", "period", element.getPeriod(), -1); 17075 } 17076 } 17077 17078 protected void composePatientCommunicationComponent(Complex parent, String parentType, String name, Patient.PatientCommunicationComponent element, int index) { 17079 if (element == null) 17080 return; 17081 Complex t; 17082 if (Utilities.noString(parentType)) 17083 t = parent; 17084 else { 17085 t = parent.predicate("fhir:"+parentType+'.'+name); 17086 } 17087 composeBackboneElement(t, "communication", name, element, index); 17088 if (element.hasLanguage()) { 17089 composeCodeableConcept(t, "PatientCommunicationComponent", "language", element.getLanguage(), -1); 17090 } 17091 if (element.hasPreferredElement()) { 17092 composeBoolean(t, "PatientCommunicationComponent", "preferred", element.getPreferredElement(), -1); 17093 } 17094 } 17095 17096 protected void composePatientLinkComponent(Complex parent, String parentType, String name, Patient.PatientLinkComponent element, int index) { 17097 if (element == null) 17098 return; 17099 Complex t; 17100 if (Utilities.noString(parentType)) 17101 t = parent; 17102 else { 17103 t = parent.predicate("fhir:"+parentType+'.'+name); 17104 } 17105 composeBackboneElement(t, "link", name, element, index); 17106 if (element.hasOther()) { 17107 composeReference(t, "PatientLinkComponent", "other", element.getOther(), -1); 17108 } 17109 if (element.hasTypeElement()) { 17110 composeEnum(t, "PatientLinkComponent", "type", element.getTypeElement(), -1); 17111 } 17112 } 17113 17114 protected void composePaymentNotice(Complex parent, String parentType, String name, PaymentNotice element, int index) { 17115 if (element == null) 17116 return; 17117 Complex t; 17118 if (Utilities.noString(parentType)) 17119 t = parent; 17120 else { 17121 t = parent.predicate("fhir:"+parentType+'.'+name); 17122 } 17123 composeDomainResource(t, "PaymentNotice", name, element, index); 17124 for (int i = 0; i < element.getIdentifier().size(); i++) { 17125 composeIdentifier(t, "PaymentNotice", "identifier", element.getIdentifier().get(i), i); 17126 } 17127 if (element.hasStatusElement()) { 17128 composeEnum(t, "PaymentNotice", "status", element.getStatusElement(), -1); 17129 } 17130 if (element.hasRequest()) { 17131 composeReference(t, "PaymentNotice", "request", element.getRequest(), -1); 17132 } 17133 if (element.hasResponse()) { 17134 composeReference(t, "PaymentNotice", "response", element.getResponse(), -1); 17135 } 17136 if (element.hasCreatedElement()) { 17137 composeDateTime(t, "PaymentNotice", "created", element.getCreatedElement(), -1); 17138 } 17139 if (element.hasProvider()) { 17140 composeReference(t, "PaymentNotice", "provider", element.getProvider(), -1); 17141 } 17142 if (element.hasPayment()) { 17143 composeReference(t, "PaymentNotice", "payment", element.getPayment(), -1); 17144 } 17145 if (element.hasPaymentDateElement()) { 17146 composeDate(t, "PaymentNotice", "paymentDate", element.getPaymentDateElement(), -1); 17147 } 17148 if (element.hasPayee()) { 17149 composeReference(t, "PaymentNotice", "payee", element.getPayee(), -1); 17150 } 17151 if (element.hasRecipient()) { 17152 composeReference(t, "PaymentNotice", "recipient", element.getRecipient(), -1); 17153 } 17154 if (element.hasAmount()) { 17155 composeMoney(t, "PaymentNotice", "amount", element.getAmount(), -1); 17156 } 17157 if (element.hasPaymentStatus()) { 17158 composeCodeableConcept(t, "PaymentNotice", "paymentStatus", element.getPaymentStatus(), -1); 17159 } 17160 } 17161 17162 protected void composePaymentReconciliation(Complex parent, String parentType, String name, PaymentReconciliation element, int index) { 17163 if (element == null) 17164 return; 17165 Complex t; 17166 if (Utilities.noString(parentType)) 17167 t = parent; 17168 else { 17169 t = parent.predicate("fhir:"+parentType+'.'+name); 17170 } 17171 composeDomainResource(t, "PaymentReconciliation", name, element, index); 17172 for (int i = 0; i < element.getIdentifier().size(); i++) { 17173 composeIdentifier(t, "PaymentReconciliation", "identifier", element.getIdentifier().get(i), i); 17174 } 17175 if (element.hasStatusElement()) { 17176 composeEnum(t, "PaymentReconciliation", "status", element.getStatusElement(), -1); 17177 } 17178 if (element.hasPeriod()) { 17179 composePeriod(t, "PaymentReconciliation", "period", element.getPeriod(), -1); 17180 } 17181 if (element.hasCreatedElement()) { 17182 composeDateTime(t, "PaymentReconciliation", "created", element.getCreatedElement(), -1); 17183 } 17184 if (element.hasPaymentIssuer()) { 17185 composeReference(t, "PaymentReconciliation", "paymentIssuer", element.getPaymentIssuer(), -1); 17186 } 17187 if (element.hasRequest()) { 17188 composeReference(t, "PaymentReconciliation", "request", element.getRequest(), -1); 17189 } 17190 if (element.hasRequestor()) { 17191 composeReference(t, "PaymentReconciliation", "requestor", element.getRequestor(), -1); 17192 } 17193 if (element.hasOutcomeElement()) { 17194 composeEnum(t, "PaymentReconciliation", "outcome", element.getOutcomeElement(), -1); 17195 } 17196 if (element.hasDispositionElement()) { 17197 composeString(t, "PaymentReconciliation", "disposition", element.getDispositionElement(), -1); 17198 } 17199 if (element.hasPaymentDateElement()) { 17200 composeDate(t, "PaymentReconciliation", "paymentDate", element.getPaymentDateElement(), -1); 17201 } 17202 if (element.hasPaymentAmount()) { 17203 composeMoney(t, "PaymentReconciliation", "paymentAmount", element.getPaymentAmount(), -1); 17204 } 17205 if (element.hasPaymentIdentifier()) { 17206 composeIdentifier(t, "PaymentReconciliation", "paymentIdentifier", element.getPaymentIdentifier(), -1); 17207 } 17208 for (int i = 0; i < element.getDetail().size(); i++) { 17209 composePaymentReconciliationDetailsComponent(t, "PaymentReconciliation", "detail", element.getDetail().get(i), i); 17210 } 17211 if (element.hasFormCode()) { 17212 composeCodeableConcept(t, "PaymentReconciliation", "formCode", element.getFormCode(), -1); 17213 } 17214 for (int i = 0; i < element.getProcessNote().size(); i++) { 17215 composePaymentReconciliationNotesComponent(t, "PaymentReconciliation", "processNote", element.getProcessNote().get(i), i); 17216 } 17217 } 17218 17219 protected void composePaymentReconciliationDetailsComponent(Complex parent, String parentType, String name, PaymentReconciliation.DetailsComponent element, int index) { 17220 if (element == null) 17221 return; 17222 Complex t; 17223 if (Utilities.noString(parentType)) 17224 t = parent; 17225 else { 17226 t = parent.predicate("fhir:"+parentType+'.'+name); 17227 } 17228 composeBackboneElement(t, "detail", name, element, index); 17229 if (element.hasIdentifier()) { 17230 composeIdentifier(t, "DetailsComponent", "identifier", element.getIdentifier(), -1); 17231 } 17232 if (element.hasPredecessor()) { 17233 composeIdentifier(t, "DetailsComponent", "predecessor", element.getPredecessor(), -1); 17234 } 17235 if (element.hasType()) { 17236 composeCodeableConcept(t, "DetailsComponent", "type", element.getType(), -1); 17237 } 17238 if (element.hasRequest()) { 17239 composeReference(t, "DetailsComponent", "request", element.getRequest(), -1); 17240 } 17241 if (element.hasSubmitter()) { 17242 composeReference(t, "DetailsComponent", "submitter", element.getSubmitter(), -1); 17243 } 17244 if (element.hasResponse()) { 17245 composeReference(t, "DetailsComponent", "response", element.getResponse(), -1); 17246 } 17247 if (element.hasDateElement()) { 17248 composeDate(t, "DetailsComponent", "date", element.getDateElement(), -1); 17249 } 17250 if (element.hasResponsible()) { 17251 composeReference(t, "DetailsComponent", "responsible", element.getResponsible(), -1); 17252 } 17253 if (element.hasPayee()) { 17254 composeReference(t, "DetailsComponent", "payee", element.getPayee(), -1); 17255 } 17256 if (element.hasAmount()) { 17257 composeMoney(t, "DetailsComponent", "amount", element.getAmount(), -1); 17258 } 17259 } 17260 17261 protected void composePaymentReconciliationNotesComponent(Complex parent, String parentType, String name, PaymentReconciliation.NotesComponent element, int index) { 17262 if (element == null) 17263 return; 17264 Complex t; 17265 if (Utilities.noString(parentType)) 17266 t = parent; 17267 else { 17268 t = parent.predicate("fhir:"+parentType+'.'+name); 17269 } 17270 composeBackboneElement(t, "processNote", name, element, index); 17271 if (element.hasTypeElement()) { 17272 composeEnum(t, "NotesComponent", "type", element.getTypeElement(), -1); 17273 } 17274 if (element.hasTextElement()) { 17275 composeString(t, "NotesComponent", "text", element.getTextElement(), -1); 17276 } 17277 } 17278 17279 protected void composePerson(Complex parent, String parentType, String name, Person element, int index) { 17280 if (element == null) 17281 return; 17282 Complex t; 17283 if (Utilities.noString(parentType)) 17284 t = parent; 17285 else { 17286 t = parent.predicate("fhir:"+parentType+'.'+name); 17287 } 17288 composeDomainResource(t, "Person", name, element, index); 17289 for (int i = 0; i < element.getIdentifier().size(); i++) { 17290 composeIdentifier(t, "Person", "identifier", element.getIdentifier().get(i), i); 17291 } 17292 for (int i = 0; i < element.getName().size(); i++) { 17293 composeHumanName(t, "Person", "name", element.getName().get(i), i); 17294 } 17295 for (int i = 0; i < element.getTelecom().size(); i++) { 17296 composeContactPoint(t, "Person", "telecom", element.getTelecom().get(i), i); 17297 } 17298 if (element.hasGenderElement()) { 17299 composeEnum(t, "Person", "gender", element.getGenderElement(), -1); 17300 } 17301 if (element.hasBirthDateElement()) { 17302 composeDate(t, "Person", "birthDate", element.getBirthDateElement(), -1); 17303 } 17304 for (int i = 0; i < element.getAddress().size(); i++) { 17305 composeAddress(t, "Person", "address", element.getAddress().get(i), i); 17306 } 17307 if (element.hasPhoto()) { 17308 composeAttachment(t, "Person", "photo", element.getPhoto(), -1); 17309 } 17310 if (element.hasManagingOrganization()) { 17311 composeReference(t, "Person", "managingOrganization", element.getManagingOrganization(), -1); 17312 } 17313 if (element.hasActiveElement()) { 17314 composeBoolean(t, "Person", "active", element.getActiveElement(), -1); 17315 } 17316 for (int i = 0; i < element.getLink().size(); i++) { 17317 composePersonLinkComponent(t, "Person", "link", element.getLink().get(i), i); 17318 } 17319 } 17320 17321 protected void composePersonLinkComponent(Complex parent, String parentType, String name, Person.PersonLinkComponent element, int index) { 17322 if (element == null) 17323 return; 17324 Complex t; 17325 if (Utilities.noString(parentType)) 17326 t = parent; 17327 else { 17328 t = parent.predicate("fhir:"+parentType+'.'+name); 17329 } 17330 composeBackboneElement(t, "link", name, element, index); 17331 if (element.hasTarget()) { 17332 composeReference(t, "PersonLinkComponent", "target", element.getTarget(), -1); 17333 } 17334 if (element.hasAssuranceElement()) { 17335 composeEnum(t, "PersonLinkComponent", "assurance", element.getAssuranceElement(), -1); 17336 } 17337 } 17338 17339 protected void composePlanDefinition(Complex parent, String parentType, String name, PlanDefinition element, int index) { 17340 if (element == null) 17341 return; 17342 Complex t; 17343 if (Utilities.noString(parentType)) 17344 t = parent; 17345 else { 17346 t = parent.predicate("fhir:"+parentType+'.'+name); 17347 } 17348 composeDomainResource(t, "PlanDefinition", name, element, index); 17349 if (element.hasUrlElement()) { 17350 composeUri(t, "PlanDefinition", "url", element.getUrlElement(), -1); 17351 } 17352 for (int i = 0; i < element.getIdentifier().size(); i++) { 17353 composeIdentifier(t, "PlanDefinition", "identifier", element.getIdentifier().get(i), i); 17354 } 17355 if (element.hasVersionElement()) { 17356 composeString(t, "PlanDefinition", "version", element.getVersionElement(), -1); 17357 } 17358 if (element.hasNameElement()) { 17359 composeString(t, "PlanDefinition", "name", element.getNameElement(), -1); 17360 } 17361 if (element.hasTitleElement()) { 17362 composeString(t, "PlanDefinition", "title", element.getTitleElement(), -1); 17363 } 17364 if (element.hasSubtitleElement()) { 17365 composeString(t, "PlanDefinition", "subtitle", element.getSubtitleElement(), -1); 17366 } 17367 if (element.hasType()) { 17368 composeCodeableConcept(t, "PlanDefinition", "type", element.getType(), -1); 17369 } 17370 if (element.hasStatusElement()) { 17371 composeEnum(t, "PlanDefinition", "status", element.getStatusElement(), -1); 17372 } 17373 if (element.hasExperimentalElement()) { 17374 composeBoolean(t, "PlanDefinition", "experimental", element.getExperimentalElement(), -1); 17375 } 17376 if (element.hasSubject()) { 17377 composeType(t, "PlanDefinition", "subject", element.getSubject(), -1); 17378 } 17379 if (element.hasDateElement()) { 17380 composeDateTime(t, "PlanDefinition", "date", element.getDateElement(), -1); 17381 } 17382 if (element.hasPublisherElement()) { 17383 composeString(t, "PlanDefinition", "publisher", element.getPublisherElement(), -1); 17384 } 17385 for (int i = 0; i < element.getContact().size(); i++) { 17386 composeContactDetail(t, "PlanDefinition", "contact", element.getContact().get(i), i); 17387 } 17388 if (element.hasDescriptionElement()) { 17389 composeMarkdown(t, "PlanDefinition", "description", element.getDescriptionElement(), -1); 17390 } 17391 for (int i = 0; i < element.getUseContext().size(); i++) { 17392 composeUsageContext(t, "PlanDefinition", "useContext", element.getUseContext().get(i), i); 17393 } 17394 for (int i = 0; i < element.getJurisdiction().size(); i++) { 17395 composeCodeableConcept(t, "PlanDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 17396 } 17397 if (element.hasPurposeElement()) { 17398 composeMarkdown(t, "PlanDefinition", "purpose", element.getPurposeElement(), -1); 17399 } 17400 if (element.hasUsageElement()) { 17401 composeString(t, "PlanDefinition", "usage", element.getUsageElement(), -1); 17402 } 17403 if (element.hasCopyrightElement()) { 17404 composeMarkdown(t, "PlanDefinition", "copyright", element.getCopyrightElement(), -1); 17405 } 17406 if (element.hasApprovalDateElement()) { 17407 composeDate(t, "PlanDefinition", "approvalDate", element.getApprovalDateElement(), -1); 17408 } 17409 if (element.hasLastReviewDateElement()) { 17410 composeDate(t, "PlanDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 17411 } 17412 if (element.hasEffectivePeriod()) { 17413 composePeriod(t, "PlanDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 17414 } 17415 for (int i = 0; i < element.getTopic().size(); i++) { 17416 composeCodeableConcept(t, "PlanDefinition", "topic", element.getTopic().get(i), i); 17417 } 17418 for (int i = 0; i < element.getAuthor().size(); i++) { 17419 composeContactDetail(t, "PlanDefinition", "author", element.getAuthor().get(i), i); 17420 } 17421 for (int i = 0; i < element.getEditor().size(); i++) { 17422 composeContactDetail(t, "PlanDefinition", "editor", element.getEditor().get(i), i); 17423 } 17424 for (int i = 0; i < element.getReviewer().size(); i++) { 17425 composeContactDetail(t, "PlanDefinition", "reviewer", element.getReviewer().get(i), i); 17426 } 17427 for (int i = 0; i < element.getEndorser().size(); i++) { 17428 composeContactDetail(t, "PlanDefinition", "endorser", element.getEndorser().get(i), i); 17429 } 17430 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 17431 composeRelatedArtifact(t, "PlanDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 17432 } 17433 for (int i = 0; i < element.getLibrary().size(); i++) { 17434 composeCanonical(t, "PlanDefinition", "library", element.getLibrary().get(i), i); 17435 } 17436 for (int i = 0; i < element.getGoal().size(); i++) { 17437 composePlanDefinitionGoalComponent(t, "PlanDefinition", "goal", element.getGoal().get(i), i); 17438 } 17439 for (int i = 0; i < element.getAction().size(); i++) { 17440 composePlanDefinitionActionComponent(t, "PlanDefinition", "action", element.getAction().get(i), i); 17441 } 17442 } 17443 17444 protected void composePlanDefinitionGoalComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalComponent element, int index) { 17445 if (element == null) 17446 return; 17447 Complex t; 17448 if (Utilities.noString(parentType)) 17449 t = parent; 17450 else { 17451 t = parent.predicate("fhir:"+parentType+'.'+name); 17452 } 17453 composeBackboneElement(t, "goal", name, element, index); 17454 if (element.hasCategory()) { 17455 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "category", element.getCategory(), -1); 17456 } 17457 if (element.hasDescription()) { 17458 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "description", element.getDescription(), -1); 17459 } 17460 if (element.hasPriority()) { 17461 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "priority", element.getPriority(), -1); 17462 } 17463 if (element.hasStart()) { 17464 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "start", element.getStart(), -1); 17465 } 17466 for (int i = 0; i < element.getAddresses().size(); i++) { 17467 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "addresses", element.getAddresses().get(i), i); 17468 } 17469 for (int i = 0; i < element.getDocumentation().size(); i++) { 17470 composeRelatedArtifact(t, "PlanDefinitionGoalComponent", "documentation", element.getDocumentation().get(i), i); 17471 } 17472 for (int i = 0; i < element.getTarget().size(); i++) { 17473 composePlanDefinitionGoalTargetComponent(t, "PlanDefinitionGoalComponent", "target", element.getTarget().get(i), i); 17474 } 17475 } 17476 17477 protected void composePlanDefinitionGoalTargetComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalTargetComponent element, int index) { 17478 if (element == null) 17479 return; 17480 Complex t; 17481 if (Utilities.noString(parentType)) 17482 t = parent; 17483 else { 17484 t = parent.predicate("fhir:"+parentType+'.'+name); 17485 } 17486 composeBackboneElement(t, "target", name, element, index); 17487 if (element.hasMeasure()) { 17488 composeCodeableConcept(t, "PlanDefinitionGoalTargetComponent", "measure", element.getMeasure(), -1); 17489 } 17490 if (element.hasDetail()) { 17491 composeType(t, "PlanDefinitionGoalTargetComponent", "detail", element.getDetail(), -1); 17492 } 17493 if (element.hasDue()) { 17494 composeDuration(t, "PlanDefinitionGoalTargetComponent", "due", element.getDue(), -1); 17495 } 17496 } 17497 17498 protected void composePlanDefinitionActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionComponent element, int index) { 17499 if (element == null) 17500 return; 17501 Complex t; 17502 if (Utilities.noString(parentType)) 17503 t = parent; 17504 else { 17505 t = parent.predicate("fhir:"+parentType+'.'+name); 17506 } 17507 composeBackboneElement(t, "action", name, element, index); 17508 if (element.hasPrefixElement()) { 17509 composeString(t, "PlanDefinitionActionComponent", "prefix", element.getPrefixElement(), -1); 17510 } 17511 if (element.hasTitleElement()) { 17512 composeString(t, "PlanDefinitionActionComponent", "title", element.getTitleElement(), -1); 17513 } 17514 if (element.hasDescriptionElement()) { 17515 composeString(t, "PlanDefinitionActionComponent", "description", element.getDescriptionElement(), -1); 17516 } 17517 if (element.hasTextEquivalentElement()) { 17518 composeString(t, "PlanDefinitionActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 17519 } 17520 if (element.hasPriorityElement()) { 17521 composeEnum(t, "PlanDefinitionActionComponent", "priority", element.getPriorityElement(), -1); 17522 } 17523 for (int i = 0; i < element.getCode().size(); i++) { 17524 composeCodeableConcept(t, "PlanDefinitionActionComponent", "code", element.getCode().get(i), i); 17525 } 17526 for (int i = 0; i < element.getReason().size(); i++) { 17527 composeCodeableConcept(t, "PlanDefinitionActionComponent", "reason", element.getReason().get(i), i); 17528 } 17529 for (int i = 0; i < element.getDocumentation().size(); i++) { 17530 composeRelatedArtifact(t, "PlanDefinitionActionComponent", "documentation", element.getDocumentation().get(i), i); 17531 } 17532 for (int i = 0; i < element.getGoalId().size(); i++) { 17533 composeId(t, "PlanDefinitionActionComponent", "goalId", element.getGoalId().get(i), i); 17534 } 17535 if (element.hasSubject()) { 17536 composeType(t, "PlanDefinitionActionComponent", "subject", element.getSubject(), -1); 17537 } 17538 for (int i = 0; i < element.getTrigger().size(); i++) { 17539 composeTriggerDefinition(t, "PlanDefinitionActionComponent", "trigger", element.getTrigger().get(i), i); 17540 } 17541 for (int i = 0; i < element.getCondition().size(); i++) { 17542 composePlanDefinitionActionConditionComponent(t, "PlanDefinitionActionComponent", "condition", element.getCondition().get(i), i); 17543 } 17544 for (int i = 0; i < element.getInput().size(); i++) { 17545 composeDataRequirement(t, "PlanDefinitionActionComponent", "input", element.getInput().get(i), i); 17546 } 17547 for (int i = 0; i < element.getOutput().size(); i++) { 17548 composeDataRequirement(t, "PlanDefinitionActionComponent", "output", element.getOutput().get(i), i); 17549 } 17550 for (int i = 0; i < element.getRelatedAction().size(); i++) { 17551 composePlanDefinitionActionRelatedActionComponent(t, "PlanDefinitionActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 17552 } 17553 if (element.hasTiming()) { 17554 composeType(t, "PlanDefinitionActionComponent", "timing", element.getTiming(), -1); 17555 } 17556 for (int i = 0; i < element.getParticipant().size(); i++) { 17557 composePlanDefinitionActionParticipantComponent(t, "PlanDefinitionActionComponent", "participant", element.getParticipant().get(i), i); 17558 } 17559 if (element.hasType()) { 17560 composeCodeableConcept(t, "PlanDefinitionActionComponent", "type", element.getType(), -1); 17561 } 17562 if (element.hasGroupingBehaviorElement()) { 17563 composeEnum(t, "PlanDefinitionActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 17564 } 17565 if (element.hasSelectionBehaviorElement()) { 17566 composeEnum(t, "PlanDefinitionActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 17567 } 17568 if (element.hasRequiredBehaviorElement()) { 17569 composeEnum(t, "PlanDefinitionActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 17570 } 17571 if (element.hasPrecheckBehaviorElement()) { 17572 composeEnum(t, "PlanDefinitionActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 17573 } 17574 if (element.hasCardinalityBehaviorElement()) { 17575 composeEnum(t, "PlanDefinitionActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 17576 } 17577 if (element.hasDefinition()) { 17578 composeType(t, "PlanDefinitionActionComponent", "definition", element.getDefinition(), -1); 17579 } 17580 if (element.hasTransformElement()) { 17581 composeCanonical(t, "PlanDefinitionActionComponent", "transform", element.getTransformElement(), -1); 17582 } 17583 for (int i = 0; i < element.getDynamicValue().size(); i++) { 17584 composePlanDefinitionActionDynamicValueComponent(t, "PlanDefinitionActionComponent", "dynamicValue", element.getDynamicValue().get(i), i); 17585 } 17586 for (int i = 0; i < element.getAction().size(); i++) { 17587 composePlanDefinitionActionComponent(t, "PlanDefinitionActionComponent", "action", element.getAction().get(i), i); 17588 } 17589 } 17590 17591 protected void composePlanDefinitionActionConditionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionConditionComponent element, int index) { 17592 if (element == null) 17593 return; 17594 Complex t; 17595 if (Utilities.noString(parentType)) 17596 t = parent; 17597 else { 17598 t = parent.predicate("fhir:"+parentType+'.'+name); 17599 } 17600 composeBackboneElement(t, "condition", name, element, index); 17601 if (element.hasKindElement()) { 17602 composeEnum(t, "PlanDefinitionActionConditionComponent", "kind", element.getKindElement(), -1); 17603 } 17604 if (element.hasExpression()) { 17605 composeExpression(t, "PlanDefinitionActionConditionComponent", "expression", element.getExpression(), -1); 17606 } 17607 } 17608 17609 protected void composePlanDefinitionActionRelatedActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionRelatedActionComponent element, int index) { 17610 if (element == null) 17611 return; 17612 Complex t; 17613 if (Utilities.noString(parentType)) 17614 t = parent; 17615 else { 17616 t = parent.predicate("fhir:"+parentType+'.'+name); 17617 } 17618 composeBackboneElement(t, "relatedAction", name, element, index); 17619 if (element.hasActionIdElement()) { 17620 composeId(t, "PlanDefinitionActionRelatedActionComponent", "actionId", element.getActionIdElement(), -1); 17621 } 17622 if (element.hasRelationshipElement()) { 17623 composeEnum(t, "PlanDefinitionActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 17624 } 17625 if (element.hasOffset()) { 17626 composeType(t, "PlanDefinitionActionRelatedActionComponent", "offset", element.getOffset(), -1); 17627 } 17628 } 17629 17630 protected void composePlanDefinitionActionParticipantComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionParticipantComponent element, int index) { 17631 if (element == null) 17632 return; 17633 Complex t; 17634 if (Utilities.noString(parentType)) 17635 t = parent; 17636 else { 17637 t = parent.predicate("fhir:"+parentType+'.'+name); 17638 } 17639 composeBackboneElement(t, "participant", name, element, index); 17640 if (element.hasTypeElement()) { 17641 composeEnum(t, "PlanDefinitionActionParticipantComponent", "type", element.getTypeElement(), -1); 17642 } 17643 if (element.hasRole()) { 17644 composeCodeableConcept(t, "PlanDefinitionActionParticipantComponent", "role", element.getRole(), -1); 17645 } 17646 } 17647 17648 protected void composePlanDefinitionActionDynamicValueComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionDynamicValueComponent element, int index) { 17649 if (element == null) 17650 return; 17651 Complex t; 17652 if (Utilities.noString(parentType)) 17653 t = parent; 17654 else { 17655 t = parent.predicate("fhir:"+parentType+'.'+name); 17656 } 17657 composeBackboneElement(t, "dynamicValue", name, element, index); 17658 if (element.hasPathElement()) { 17659 composeString(t, "PlanDefinitionActionDynamicValueComponent", "path", element.getPathElement(), -1); 17660 } 17661 if (element.hasExpression()) { 17662 composeExpression(t, "PlanDefinitionActionDynamicValueComponent", "expression", element.getExpression(), -1); 17663 } 17664 } 17665 17666 protected void composePractitioner(Complex parent, String parentType, String name, Practitioner element, int index) { 17667 if (element == null) 17668 return; 17669 Complex t; 17670 if (Utilities.noString(parentType)) 17671 t = parent; 17672 else { 17673 t = parent.predicate("fhir:"+parentType+'.'+name); 17674 } 17675 composeDomainResource(t, "Practitioner", name, element, index); 17676 for (int i = 0; i < element.getIdentifier().size(); i++) { 17677 composeIdentifier(t, "Practitioner", "identifier", element.getIdentifier().get(i), i); 17678 } 17679 if (element.hasActiveElement()) { 17680 composeBoolean(t, "Practitioner", "active", element.getActiveElement(), -1); 17681 } 17682 for (int i = 0; i < element.getName().size(); i++) { 17683 composeHumanName(t, "Practitioner", "name", element.getName().get(i), i); 17684 } 17685 for (int i = 0; i < element.getTelecom().size(); i++) { 17686 composeContactPoint(t, "Practitioner", "telecom", element.getTelecom().get(i), i); 17687 } 17688 for (int i = 0; i < element.getAddress().size(); i++) { 17689 composeAddress(t, "Practitioner", "address", element.getAddress().get(i), i); 17690 } 17691 if (element.hasGenderElement()) { 17692 composeEnum(t, "Practitioner", "gender", element.getGenderElement(), -1); 17693 } 17694 if (element.hasBirthDateElement()) { 17695 composeDate(t, "Practitioner", "birthDate", element.getBirthDateElement(), -1); 17696 } 17697 for (int i = 0; i < element.getPhoto().size(); i++) { 17698 composeAttachment(t, "Practitioner", "photo", element.getPhoto().get(i), i); 17699 } 17700 for (int i = 0; i < element.getQualification().size(); i++) { 17701 composePractitionerQualificationComponent(t, "Practitioner", "qualification", element.getQualification().get(i), i); 17702 } 17703 for (int i = 0; i < element.getCommunication().size(); i++) { 17704 composeCodeableConcept(t, "Practitioner", "communication", element.getCommunication().get(i), i); 17705 } 17706 } 17707 17708 protected void composePractitionerQualificationComponent(Complex parent, String parentType, String name, Practitioner.PractitionerQualificationComponent element, int index) { 17709 if (element == null) 17710 return; 17711 Complex t; 17712 if (Utilities.noString(parentType)) 17713 t = parent; 17714 else { 17715 t = parent.predicate("fhir:"+parentType+'.'+name); 17716 } 17717 composeBackboneElement(t, "qualification", name, element, index); 17718 for (int i = 0; i < element.getIdentifier().size(); i++) { 17719 composeIdentifier(t, "PractitionerQualificationComponent", "identifier", element.getIdentifier().get(i), i); 17720 } 17721 if (element.hasCode()) { 17722 composeCodeableConcept(t, "PractitionerQualificationComponent", "code", element.getCode(), -1); 17723 } 17724 if (element.hasPeriod()) { 17725 composePeriod(t, "PractitionerQualificationComponent", "period", element.getPeriod(), -1); 17726 } 17727 if (element.hasIssuer()) { 17728 composeReference(t, "PractitionerQualificationComponent", "issuer", element.getIssuer(), -1); 17729 } 17730 } 17731 17732 protected void composePractitionerRole(Complex parent, String parentType, String name, PractitionerRole element, int index) { 17733 if (element == null) 17734 return; 17735 Complex t; 17736 if (Utilities.noString(parentType)) 17737 t = parent; 17738 else { 17739 t = parent.predicate("fhir:"+parentType+'.'+name); 17740 } 17741 composeDomainResource(t, "PractitionerRole", name, element, index); 17742 for (int i = 0; i < element.getIdentifier().size(); i++) { 17743 composeIdentifier(t, "PractitionerRole", "identifier", element.getIdentifier().get(i), i); 17744 } 17745 if (element.hasActiveElement()) { 17746 composeBoolean(t, "PractitionerRole", "active", element.getActiveElement(), -1); 17747 } 17748 if (element.hasPeriod()) { 17749 composePeriod(t, "PractitionerRole", "period", element.getPeriod(), -1); 17750 } 17751 if (element.hasPractitioner()) { 17752 composeReference(t, "PractitionerRole", "practitioner", element.getPractitioner(), -1); 17753 } 17754 if (element.hasOrganization()) { 17755 composeReference(t, "PractitionerRole", "organization", element.getOrganization(), -1); 17756 } 17757 for (int i = 0; i < element.getCode().size(); i++) { 17758 composeCodeableConcept(t, "PractitionerRole", "code", element.getCode().get(i), i); 17759 } 17760 for (int i = 0; i < element.getSpecialty().size(); i++) { 17761 composeCodeableConcept(t, "PractitionerRole", "specialty", element.getSpecialty().get(i), i); 17762 } 17763 for (int i = 0; i < element.getLocation().size(); i++) { 17764 composeReference(t, "PractitionerRole", "location", element.getLocation().get(i), i); 17765 } 17766 for (int i = 0; i < element.getHealthcareService().size(); i++) { 17767 composeReference(t, "PractitionerRole", "healthcareService", element.getHealthcareService().get(i), i); 17768 } 17769 for (int i = 0; i < element.getTelecom().size(); i++) { 17770 composeContactPoint(t, "PractitionerRole", "telecom", element.getTelecom().get(i), i); 17771 } 17772 for (int i = 0; i < element.getAvailableTime().size(); i++) { 17773 composePractitionerRoleAvailableTimeComponent(t, "PractitionerRole", "availableTime", element.getAvailableTime().get(i), i); 17774 } 17775 for (int i = 0; i < element.getNotAvailable().size(); i++) { 17776 composePractitionerRoleNotAvailableComponent(t, "PractitionerRole", "notAvailable", element.getNotAvailable().get(i), i); 17777 } 17778 if (element.hasAvailabilityExceptionsElement()) { 17779 composeString(t, "PractitionerRole", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 17780 } 17781 for (int i = 0; i < element.getEndpoint().size(); i++) { 17782 composeReference(t, "PractitionerRole", "endpoint", element.getEndpoint().get(i), i); 17783 } 17784 } 17785 17786 protected void composePractitionerRoleAvailableTimeComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element, int index) { 17787 if (element == null) 17788 return; 17789 Complex t; 17790 if (Utilities.noString(parentType)) 17791 t = parent; 17792 else { 17793 t = parent.predicate("fhir:"+parentType+'.'+name); 17794 } 17795 composeBackboneElement(t, "availableTime", name, element, index); 17796 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 17797 composeEnum(t, "PractitionerRoleAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 17798 } 17799 if (element.hasAllDayElement()) { 17800 composeBoolean(t, "PractitionerRoleAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); 17801 } 17802 if (element.hasAvailableStartTimeElement()) { 17803 composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); 17804 } 17805 if (element.hasAvailableEndTimeElement()) { 17806 composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); 17807 } 17808 } 17809 17810 protected void composePractitionerRoleNotAvailableComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleNotAvailableComponent element, int index) { 17811 if (element == null) 17812 return; 17813 Complex t; 17814 if (Utilities.noString(parentType)) 17815 t = parent; 17816 else { 17817 t = parent.predicate("fhir:"+parentType+'.'+name); 17818 } 17819 composeBackboneElement(t, "notAvailable", name, element, index); 17820 if (element.hasDescriptionElement()) { 17821 composeString(t, "PractitionerRoleNotAvailableComponent", "description", element.getDescriptionElement(), -1); 17822 } 17823 if (element.hasDuring()) { 17824 composePeriod(t, "PractitionerRoleNotAvailableComponent", "during", element.getDuring(), -1); 17825 } 17826 } 17827 17828 protected void composeProcedure(Complex parent, String parentType, String name, Procedure element, int index) { 17829 if (element == null) 17830 return; 17831 Complex t; 17832 if (Utilities.noString(parentType)) 17833 t = parent; 17834 else { 17835 t = parent.predicate("fhir:"+parentType+'.'+name); 17836 } 17837 composeDomainResource(t, "Procedure", name, element, index); 17838 for (int i = 0; i < element.getIdentifier().size(); i++) { 17839 composeIdentifier(t, "Procedure", "identifier", element.getIdentifier().get(i), i); 17840 } 17841 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 17842 composeCanonical(t, "Procedure", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 17843 } 17844 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 17845 composeUri(t, "Procedure", "instantiatesUri", element.getInstantiatesUri().get(i), i); 17846 } 17847 for (int i = 0; i < element.getBasedOn().size(); i++) { 17848 composeReference(t, "Procedure", "basedOn", element.getBasedOn().get(i), i); 17849 } 17850 for (int i = 0; i < element.getPartOf().size(); i++) { 17851 composeReference(t, "Procedure", "partOf", element.getPartOf().get(i), i); 17852 } 17853 if (element.hasStatusElement()) { 17854 composeEnum(t, "Procedure", "status", element.getStatusElement(), -1); 17855 } 17856 if (element.hasStatusReason()) { 17857 composeCodeableConcept(t, "Procedure", "statusReason", element.getStatusReason(), -1); 17858 } 17859 if (element.hasCategory()) { 17860 composeCodeableConcept(t, "Procedure", "category", element.getCategory(), -1); 17861 } 17862 if (element.hasCode()) { 17863 composeCodeableConcept(t, "Procedure", "code", element.getCode(), -1); 17864 } 17865 if (element.hasSubject()) { 17866 composeReference(t, "Procedure", "subject", element.getSubject(), -1); 17867 } 17868 if (element.hasEncounter()) { 17869 composeReference(t, "Procedure", "encounter", element.getEncounter(), -1); 17870 } 17871 if (element.hasPerformed()) { 17872 composeType(t, "Procedure", "performed", element.getPerformed(), -1); 17873 } 17874 if (element.hasRecorder()) { 17875 composeReference(t, "Procedure", "recorder", element.getRecorder(), -1); 17876 } 17877 if (element.hasAsserter()) { 17878 composeReference(t, "Procedure", "asserter", element.getAsserter(), -1); 17879 } 17880 for (int i = 0; i < element.getPerformer().size(); i++) { 17881 composeProcedurePerformerComponent(t, "Procedure", "performer", element.getPerformer().get(i), i); 17882 } 17883 if (element.hasLocation()) { 17884 composeReference(t, "Procedure", "location", element.getLocation(), -1); 17885 } 17886 for (int i = 0; i < element.getReasonCode().size(); i++) { 17887 composeCodeableConcept(t, "Procedure", "reasonCode", element.getReasonCode().get(i), i); 17888 } 17889 for (int i = 0; i < element.getReasonReference().size(); i++) { 17890 composeReference(t, "Procedure", "reasonReference", element.getReasonReference().get(i), i); 17891 } 17892 for (int i = 0; i < element.getBodySite().size(); i++) { 17893 composeCodeableConcept(t, "Procedure", "bodySite", element.getBodySite().get(i), i); 17894 } 17895 if (element.hasOutcome()) { 17896 composeCodeableConcept(t, "Procedure", "outcome", element.getOutcome(), -1); 17897 } 17898 for (int i = 0; i < element.getReport().size(); i++) { 17899 composeReference(t, "Procedure", "report", element.getReport().get(i), i); 17900 } 17901 for (int i = 0; i < element.getComplication().size(); i++) { 17902 composeCodeableConcept(t, "Procedure", "complication", element.getComplication().get(i), i); 17903 } 17904 for (int i = 0; i < element.getComplicationDetail().size(); i++) { 17905 composeReference(t, "Procedure", "complicationDetail", element.getComplicationDetail().get(i), i); 17906 } 17907 for (int i = 0; i < element.getFollowUp().size(); i++) { 17908 composeCodeableConcept(t, "Procedure", "followUp", element.getFollowUp().get(i), i); 17909 } 17910 for (int i = 0; i < element.getNote().size(); i++) { 17911 composeAnnotation(t, "Procedure", "note", element.getNote().get(i), i); 17912 } 17913 for (int i = 0; i < element.getFocalDevice().size(); i++) { 17914 composeProcedureFocalDeviceComponent(t, "Procedure", "focalDevice", element.getFocalDevice().get(i), i); 17915 } 17916 for (int i = 0; i < element.getUsedReference().size(); i++) { 17917 composeReference(t, "Procedure", "usedReference", element.getUsedReference().get(i), i); 17918 } 17919 for (int i = 0; i < element.getUsedCode().size(); i++) { 17920 composeCodeableConcept(t, "Procedure", "usedCode", element.getUsedCode().get(i), i); 17921 } 17922 } 17923 17924 protected void composeProcedurePerformerComponent(Complex parent, String parentType, String name, Procedure.ProcedurePerformerComponent element, int index) { 17925 if (element == null) 17926 return; 17927 Complex t; 17928 if (Utilities.noString(parentType)) 17929 t = parent; 17930 else { 17931 t = parent.predicate("fhir:"+parentType+'.'+name); 17932 } 17933 composeBackboneElement(t, "performer", name, element, index); 17934 if (element.hasFunction()) { 17935 composeCodeableConcept(t, "ProcedurePerformerComponent", "function", element.getFunction(), -1); 17936 } 17937 if (element.hasActor()) { 17938 composeReference(t, "ProcedurePerformerComponent", "actor", element.getActor(), -1); 17939 } 17940 if (element.hasOnBehalfOf()) { 17941 composeReference(t, "ProcedurePerformerComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 17942 } 17943 } 17944 17945 protected void composeProcedureFocalDeviceComponent(Complex parent, String parentType, String name, Procedure.ProcedureFocalDeviceComponent element, int index) { 17946 if (element == null) 17947 return; 17948 Complex t; 17949 if (Utilities.noString(parentType)) 17950 t = parent; 17951 else { 17952 t = parent.predicate("fhir:"+parentType+'.'+name); 17953 } 17954 composeBackboneElement(t, "focalDevice", name, element, index); 17955 if (element.hasAction()) { 17956 composeCodeableConcept(t, "ProcedureFocalDeviceComponent", "action", element.getAction(), -1); 17957 } 17958 if (element.hasManipulated()) { 17959 composeReference(t, "ProcedureFocalDeviceComponent", "manipulated", element.getManipulated(), -1); 17960 } 17961 } 17962 17963 protected void composeProvenance(Complex parent, String parentType, String name, Provenance element, int index) { 17964 if (element == null) 17965 return; 17966 Complex t; 17967 if (Utilities.noString(parentType)) 17968 t = parent; 17969 else { 17970 t = parent.predicate("fhir:"+parentType+'.'+name); 17971 } 17972 composeDomainResource(t, "Provenance", name, element, index); 17973 for (int i = 0; i < element.getTarget().size(); i++) { 17974 composeReference(t, "Provenance", "target", element.getTarget().get(i), i); 17975 } 17976 if (element.hasOccurred()) { 17977 composeType(t, "Provenance", "occurred", element.getOccurred(), -1); 17978 } 17979 if (element.hasRecordedElement()) { 17980 composeInstant(t, "Provenance", "recorded", element.getRecordedElement(), -1); 17981 } 17982 for (int i = 0; i < element.getPolicy().size(); i++) { 17983 composeUri(t, "Provenance", "policy", element.getPolicy().get(i), i); 17984 } 17985 if (element.hasLocation()) { 17986 composeReference(t, "Provenance", "location", element.getLocation(), -1); 17987 } 17988 for (int i = 0; i < element.getReason().size(); i++) { 17989 composeCodeableConcept(t, "Provenance", "reason", element.getReason().get(i), i); 17990 } 17991 if (element.hasActivity()) { 17992 composeCodeableConcept(t, "Provenance", "activity", element.getActivity(), -1); 17993 } 17994 for (int i = 0; i < element.getAgent().size(); i++) { 17995 composeProvenanceAgentComponent(t, "Provenance", "agent", element.getAgent().get(i), i); 17996 } 17997 for (int i = 0; i < element.getEntity().size(); i++) { 17998 composeProvenanceEntityComponent(t, "Provenance", "entity", element.getEntity().get(i), i); 17999 } 18000 for (int i = 0; i < element.getSignature().size(); i++) { 18001 composeSignature(t, "Provenance", "signature", element.getSignature().get(i), i); 18002 } 18003 } 18004 18005 protected void composeProvenanceAgentComponent(Complex parent, String parentType, String name, Provenance.ProvenanceAgentComponent element, int index) { 18006 if (element == null) 18007 return; 18008 Complex t; 18009 if (Utilities.noString(parentType)) 18010 t = parent; 18011 else { 18012 t = parent.predicate("fhir:"+parentType+'.'+name); 18013 } 18014 composeBackboneElement(t, "agent", name, element, index); 18015 if (element.hasType()) { 18016 composeCodeableConcept(t, "ProvenanceAgentComponent", "type", element.getType(), -1); 18017 } 18018 for (int i = 0; i < element.getRole().size(); i++) { 18019 composeCodeableConcept(t, "ProvenanceAgentComponent", "role", element.getRole().get(i), i); 18020 } 18021 if (element.hasWho()) { 18022 composeReference(t, "ProvenanceAgentComponent", "who", element.getWho(), -1); 18023 } 18024 if (element.hasOnBehalfOf()) { 18025 composeReference(t, "ProvenanceAgentComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 18026 } 18027 } 18028 18029 protected void composeProvenanceEntityComponent(Complex parent, String parentType, String name, Provenance.ProvenanceEntityComponent element, int index) { 18030 if (element == null) 18031 return; 18032 Complex t; 18033 if (Utilities.noString(parentType)) 18034 t = parent; 18035 else { 18036 t = parent.predicate("fhir:"+parentType+'.'+name); 18037 } 18038 composeBackboneElement(t, "entity", name, element, index); 18039 if (element.hasRoleElement()) { 18040 composeEnum(t, "ProvenanceEntityComponent", "role", element.getRoleElement(), -1); 18041 } 18042 if (element.hasWhat()) { 18043 composeReference(t, "ProvenanceEntityComponent", "what", element.getWhat(), -1); 18044 } 18045 for (int i = 0; i < element.getAgent().size(); i++) { 18046 composeProvenanceAgentComponent(t, "ProvenanceEntityComponent", "agent", element.getAgent().get(i), i); 18047 } 18048 } 18049 18050 protected void composeQuestionnaire(Complex parent, String parentType, String name, Questionnaire element, int index) { 18051 if (element == null) 18052 return; 18053 Complex t; 18054 if (Utilities.noString(parentType)) 18055 t = parent; 18056 else { 18057 t = parent.predicate("fhir:"+parentType+'.'+name); 18058 } 18059 composeDomainResource(t, "Questionnaire", name, element, index); 18060 if (element.hasUrlElement()) { 18061 composeUri(t, "Questionnaire", "url", element.getUrlElement(), -1); 18062 } 18063 for (int i = 0; i < element.getIdentifier().size(); i++) { 18064 composeIdentifier(t, "Questionnaire", "identifier", element.getIdentifier().get(i), i); 18065 } 18066 if (element.hasVersionElement()) { 18067 composeString(t, "Questionnaire", "version", element.getVersionElement(), -1); 18068 } 18069 if (element.hasNameElement()) { 18070 composeString(t, "Questionnaire", "name", element.getNameElement(), -1); 18071 } 18072 if (element.hasTitleElement()) { 18073 composeString(t, "Questionnaire", "title", element.getTitleElement(), -1); 18074 } 18075 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 18076 composeCanonical(t, "Questionnaire", "derivedFrom", element.getDerivedFrom().get(i), i); 18077 } 18078 if (element.hasStatusElement()) { 18079 composeEnum(t, "Questionnaire", "status", element.getStatusElement(), -1); 18080 } 18081 if (element.hasExperimentalElement()) { 18082 composeBoolean(t, "Questionnaire", "experimental", element.getExperimentalElement(), -1); 18083 } 18084 for (int i = 0; i < element.getSubjectType().size(); i++) { 18085 composeCode(t, "Questionnaire", "subjectType", element.getSubjectType().get(i), i); 18086 } 18087 if (element.hasDateElement()) { 18088 composeDateTime(t, "Questionnaire", "date", element.getDateElement(), -1); 18089 } 18090 if (element.hasPublisherElement()) { 18091 composeString(t, "Questionnaire", "publisher", element.getPublisherElement(), -1); 18092 } 18093 for (int i = 0; i < element.getContact().size(); i++) { 18094 composeContactDetail(t, "Questionnaire", "contact", element.getContact().get(i), i); 18095 } 18096 if (element.hasDescriptionElement()) { 18097 composeMarkdown(t, "Questionnaire", "description", element.getDescriptionElement(), -1); 18098 } 18099 for (int i = 0; i < element.getUseContext().size(); i++) { 18100 composeUsageContext(t, "Questionnaire", "useContext", element.getUseContext().get(i), i); 18101 } 18102 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18103 composeCodeableConcept(t, "Questionnaire", "jurisdiction", element.getJurisdiction().get(i), i); 18104 } 18105 if (element.hasPurposeElement()) { 18106 composeMarkdown(t, "Questionnaire", "purpose", element.getPurposeElement(), -1); 18107 } 18108 if (element.hasCopyrightElement()) { 18109 composeMarkdown(t, "Questionnaire", "copyright", element.getCopyrightElement(), -1); 18110 } 18111 if (element.hasApprovalDateElement()) { 18112 composeDate(t, "Questionnaire", "approvalDate", element.getApprovalDateElement(), -1); 18113 } 18114 if (element.hasLastReviewDateElement()) { 18115 composeDate(t, "Questionnaire", "lastReviewDate", element.getLastReviewDateElement(), -1); 18116 } 18117 if (element.hasEffectivePeriod()) { 18118 composePeriod(t, "Questionnaire", "effectivePeriod", element.getEffectivePeriod(), -1); 18119 } 18120 for (int i = 0; i < element.getCode().size(); i++) { 18121 composeCoding(t, "Questionnaire", "code", element.getCode().get(i), i); 18122 } 18123 for (int i = 0; i < element.getItem().size(); i++) { 18124 composeQuestionnaireItemComponent(t, "Questionnaire", "item", element.getItem().get(i), i); 18125 } 18126 } 18127 18128 protected void composeQuestionnaireItemComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemComponent element, int index) { 18129 if (element == null) 18130 return; 18131 Complex t; 18132 if (Utilities.noString(parentType)) 18133 t = parent; 18134 else { 18135 t = parent.predicate("fhir:"+parentType+'.'+name); 18136 } 18137 composeBackboneElement(t, "item", name, element, index); 18138 if (element.hasLinkIdElement()) { 18139 composeString(t, "QuestionnaireItemComponent", "linkId", element.getLinkIdElement(), -1); 18140 } 18141 if (element.hasDefinitionElement()) { 18142 composeUri(t, "QuestionnaireItemComponent", "definition", element.getDefinitionElement(), -1); 18143 } 18144 for (int i = 0; i < element.getCode().size(); i++) { 18145 composeCoding(t, "QuestionnaireItemComponent", "code", element.getCode().get(i), i); 18146 } 18147 if (element.hasPrefixElement()) { 18148 composeString(t, "QuestionnaireItemComponent", "prefix", element.getPrefixElement(), -1); 18149 } 18150 if (element.hasTextElement()) { 18151 composeString(t, "QuestionnaireItemComponent", "text", element.getTextElement(), -1); 18152 } 18153 if (element.hasTypeElement()) { 18154 composeEnum(t, "QuestionnaireItemComponent", "type", element.getTypeElement(), -1); 18155 } 18156 for (int i = 0; i < element.getEnableWhen().size(); i++) { 18157 composeQuestionnaireItemEnableWhenComponent(t, "QuestionnaireItemComponent", "enableWhen", element.getEnableWhen().get(i), i); 18158 } 18159 if (element.hasEnableBehaviorElement()) { 18160 composeEnum(t, "QuestionnaireItemComponent", "enableBehavior", element.getEnableBehaviorElement(), -1); 18161 } 18162 if (element.hasRequiredElement()) { 18163 composeBoolean(t, "QuestionnaireItemComponent", "required", element.getRequiredElement(), -1); 18164 } 18165 if (element.hasRepeatsElement()) { 18166 composeBoolean(t, "QuestionnaireItemComponent", "repeats", element.getRepeatsElement(), -1); 18167 } 18168 if (element.hasReadOnlyElement()) { 18169 composeBoolean(t, "QuestionnaireItemComponent", "readOnly", element.getReadOnlyElement(), -1); 18170 } 18171 if (element.hasMaxLengthElement()) { 18172 composeInteger(t, "QuestionnaireItemComponent", "maxLength", element.getMaxLengthElement(), -1); 18173 } 18174 if (element.hasAnswerValueSetElement()) { 18175 composeCanonical(t, "QuestionnaireItemComponent", "answerValueSet", element.getAnswerValueSetElement(), -1); 18176 } 18177 for (int i = 0; i < element.getAnswerOption().size(); i++) { 18178 composeQuestionnaireItemAnswerOptionComponent(t, "QuestionnaireItemComponent", "answerOption", element.getAnswerOption().get(i), i); 18179 } 18180 for (int i = 0; i < element.getInitial().size(); i++) { 18181 composeQuestionnaireItemInitialComponent(t, "QuestionnaireItemComponent", "initial", element.getInitial().get(i), i); 18182 } 18183 for (int i = 0; i < element.getItem().size(); i++) { 18184 composeQuestionnaireItemComponent(t, "QuestionnaireItemComponent", "item", element.getItem().get(i), i); 18185 } 18186 } 18187 18188 protected void composeQuestionnaireItemEnableWhenComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemEnableWhenComponent element, int index) { 18189 if (element == null) 18190 return; 18191 Complex t; 18192 if (Utilities.noString(parentType)) 18193 t = parent; 18194 else { 18195 t = parent.predicate("fhir:"+parentType+'.'+name); 18196 } 18197 composeBackboneElement(t, "enableWhen", name, element, index); 18198 if (element.hasQuestionElement()) { 18199 composeString(t, "QuestionnaireItemEnableWhenComponent", "question", element.getQuestionElement(), -1); 18200 } 18201 if (element.hasOperatorElement()) { 18202 composeEnum(t, "QuestionnaireItemEnableWhenComponent", "operator", element.getOperatorElement(), -1); 18203 } 18204 if (element.hasAnswer()) { 18205 composeType(t, "QuestionnaireItemEnableWhenComponent", "answer", element.getAnswer(), -1); 18206 } 18207 } 18208 18209 protected void composeQuestionnaireItemAnswerOptionComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemAnswerOptionComponent element, int index) { 18210 if (element == null) 18211 return; 18212 Complex t; 18213 if (Utilities.noString(parentType)) 18214 t = parent; 18215 else { 18216 t = parent.predicate("fhir:"+parentType+'.'+name); 18217 } 18218 composeBackboneElement(t, "answerOption", name, element, index); 18219 if (element.hasValue()) { 18220 composeType(t, "QuestionnaireItemAnswerOptionComponent", "value", element.getValue(), -1); 18221 } 18222 if (element.hasInitialSelectedElement()) { 18223 composeBoolean(t, "QuestionnaireItemAnswerOptionComponent", "initialSelected", element.getInitialSelectedElement(), -1); 18224 } 18225 } 18226 18227 protected void composeQuestionnaireItemInitialComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemInitialComponent element, int index) { 18228 if (element == null) 18229 return; 18230 Complex t; 18231 if (Utilities.noString(parentType)) 18232 t = parent; 18233 else { 18234 t = parent.predicate("fhir:"+parentType+'.'+name); 18235 } 18236 composeBackboneElement(t, "initial", name, element, index); 18237 if (element.hasValue()) { 18238 composeType(t, "QuestionnaireItemInitialComponent", "value", element.getValue(), -1); 18239 } 18240 } 18241 18242 protected void composeQuestionnaireResponse(Complex parent, String parentType, String name, QuestionnaireResponse element, int index) { 18243 if (element == null) 18244 return; 18245 Complex t; 18246 if (Utilities.noString(parentType)) 18247 t = parent; 18248 else { 18249 t = parent.predicate("fhir:"+parentType+'.'+name); 18250 } 18251 composeDomainResource(t, "QuestionnaireResponse", name, element, index); 18252 if (element.hasIdentifier()) { 18253 composeIdentifier(t, "QuestionnaireResponse", "identifier", element.getIdentifier(), -1); 18254 } 18255 for (int i = 0; i < element.getBasedOn().size(); i++) { 18256 composeReference(t, "QuestionnaireResponse", "basedOn", element.getBasedOn().get(i), i); 18257 } 18258 for (int i = 0; i < element.getPartOf().size(); i++) { 18259 composeReference(t, "QuestionnaireResponse", "partOf", element.getPartOf().get(i), i); 18260 } 18261 if (element.hasQuestionnaireElement()) { 18262 composeCanonical(t, "QuestionnaireResponse", "questionnaire", element.getQuestionnaireElement(), -1); 18263 } 18264 if (element.hasStatusElement()) { 18265 composeEnum(t, "QuestionnaireResponse", "status", element.getStatusElement(), -1); 18266 } 18267 if (element.hasSubject()) { 18268 composeReference(t, "QuestionnaireResponse", "subject", element.getSubject(), -1); 18269 } 18270 if (element.hasEncounter()) { 18271 composeReference(t, "QuestionnaireResponse", "encounter", element.getEncounter(), -1); 18272 } 18273 if (element.hasAuthoredElement()) { 18274 composeDateTime(t, "QuestionnaireResponse", "authored", element.getAuthoredElement(), -1); 18275 } 18276 if (element.hasAuthor()) { 18277 composeReference(t, "QuestionnaireResponse", "author", element.getAuthor(), -1); 18278 } 18279 if (element.hasSource()) { 18280 composeReference(t, "QuestionnaireResponse", "source", element.getSource(), -1); 18281 } 18282 for (int i = 0; i < element.getItem().size(); i++) { 18283 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponse", "item", element.getItem().get(i), i); 18284 } 18285 } 18286 18287 protected void composeQuestionnaireResponseItemComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemComponent element, int index) { 18288 if (element == null) 18289 return; 18290 Complex t; 18291 if (Utilities.noString(parentType)) 18292 t = parent; 18293 else { 18294 t = parent.predicate("fhir:"+parentType+'.'+name); 18295 } 18296 composeBackboneElement(t, "item", name, element, index); 18297 if (element.hasLinkIdElement()) { 18298 composeString(t, "QuestionnaireResponseItemComponent", "linkId", element.getLinkIdElement(), -1); 18299 } 18300 if (element.hasDefinitionElement()) { 18301 composeUri(t, "QuestionnaireResponseItemComponent", "definition", element.getDefinitionElement(), -1); 18302 } 18303 if (element.hasTextElement()) { 18304 composeString(t, "QuestionnaireResponseItemComponent", "text", element.getTextElement(), -1); 18305 } 18306 for (int i = 0; i < element.getAnswer().size(); i++) { 18307 composeQuestionnaireResponseItemAnswerComponent(t, "QuestionnaireResponseItemComponent", "answer", element.getAnswer().get(i), i); 18308 } 18309 for (int i = 0; i < element.getItem().size(); i++) { 18310 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemComponent", "item", element.getItem().get(i), i); 18311 } 18312 } 18313 18314 protected void composeQuestionnaireResponseItemAnswerComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent element, int index) { 18315 if (element == null) 18316 return; 18317 Complex t; 18318 if (Utilities.noString(parentType)) 18319 t = parent; 18320 else { 18321 t = parent.predicate("fhir:"+parentType+'.'+name); 18322 } 18323 composeBackboneElement(t, "answer", name, element, index); 18324 if (element.hasValue()) { 18325 composeType(t, "QuestionnaireResponseItemAnswerComponent", "value", element.getValue(), -1); 18326 } 18327 for (int i = 0; i < element.getItem().size(); i++) { 18328 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemAnswerComponent", "item", element.getItem().get(i), i); 18329 } 18330 } 18331 18332 protected void composeRegulatedAuthorization(Complex parent, String parentType, String name, RegulatedAuthorization element, int index) { 18333 if (element == null) 18334 return; 18335 Complex t; 18336 if (Utilities.noString(parentType)) 18337 t = parent; 18338 else { 18339 t = parent.predicate("fhir:"+parentType+'.'+name); 18340 } 18341 composeDomainResource(t, "RegulatedAuthorization", name, element, index); 18342 for (int i = 0; i < element.getIdentifier().size(); i++) { 18343 composeIdentifier(t, "RegulatedAuthorization", "identifier", element.getIdentifier().get(i), i); 18344 } 18345 for (int i = 0; i < element.getSubject().size(); i++) { 18346 composeReference(t, "RegulatedAuthorization", "subject", element.getSubject().get(i), i); 18347 } 18348 if (element.hasType()) { 18349 composeCodeableConcept(t, "RegulatedAuthorization", "type", element.getType(), -1); 18350 } 18351 if (element.hasDescriptionElement()) { 18352 composeMarkdown(t, "RegulatedAuthorization", "description", element.getDescriptionElement(), -1); 18353 } 18354 for (int i = 0; i < element.getRegion().size(); i++) { 18355 composeCodeableConcept(t, "RegulatedAuthorization", "region", element.getRegion().get(i), i); 18356 } 18357 if (element.hasStatus()) { 18358 composeCodeableConcept(t, "RegulatedAuthorization", "status", element.getStatus(), -1); 18359 } 18360 if (element.hasStatusDateElement()) { 18361 composeDateTime(t, "RegulatedAuthorization", "statusDate", element.getStatusDateElement(), -1); 18362 } 18363 if (element.hasValidityPeriod()) { 18364 composePeriod(t, "RegulatedAuthorization", "validityPeriod", element.getValidityPeriod(), -1); 18365 } 18366 if (element.hasIndication()) { 18367 composeCodeableReference(t, "RegulatedAuthorization", "indication", element.getIndication(), -1); 18368 } 18369 if (element.hasIntendedUse()) { 18370 composeCodeableConcept(t, "RegulatedAuthorization", "intendedUse", element.getIntendedUse(), -1); 18371 } 18372 for (int i = 0; i < element.getBasis().size(); i++) { 18373 composeCodeableConcept(t, "RegulatedAuthorization", "basis", element.getBasis().get(i), i); 18374 } 18375 if (element.hasHolder()) { 18376 composeReference(t, "RegulatedAuthorization", "holder", element.getHolder(), -1); 18377 } 18378 if (element.hasRegulator()) { 18379 composeReference(t, "RegulatedAuthorization", "regulator", element.getRegulator(), -1); 18380 } 18381 if (element.hasCase()) { 18382 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorization", "case", element.getCase(), -1); 18383 } 18384 } 18385 18386 protected void composeRegulatedAuthorizationCaseComponent(Complex parent, String parentType, String name, RegulatedAuthorization.RegulatedAuthorizationCaseComponent element, int index) { 18387 if (element == null) 18388 return; 18389 Complex t; 18390 if (Utilities.noString(parentType)) 18391 t = parent; 18392 else { 18393 t = parent.predicate("fhir:"+parentType+'.'+name); 18394 } 18395 composeBackboneElement(t, "case", name, element, index); 18396 if (element.hasIdentifier()) { 18397 composeIdentifier(t, "RegulatedAuthorizationCaseComponent", "identifier", element.getIdentifier(), -1); 18398 } 18399 if (element.hasType()) { 18400 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "type", element.getType(), -1); 18401 } 18402 if (element.hasStatus()) { 18403 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "status", element.getStatus(), -1); 18404 } 18405 if (element.hasDate()) { 18406 composeType(t, "RegulatedAuthorizationCaseComponent", "date", element.getDate(), -1); 18407 } 18408 for (int i = 0; i < element.getApplication().size(); i++) { 18409 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorizationCaseComponent", "application", element.getApplication().get(i), i); 18410 } 18411 } 18412 18413 protected void composeRelatedPerson(Complex parent, String parentType, String name, RelatedPerson element, int index) { 18414 if (element == null) 18415 return; 18416 Complex t; 18417 if (Utilities.noString(parentType)) 18418 t = parent; 18419 else { 18420 t = parent.predicate("fhir:"+parentType+'.'+name); 18421 } 18422 composeDomainResource(t, "RelatedPerson", name, element, index); 18423 for (int i = 0; i < element.getIdentifier().size(); i++) { 18424 composeIdentifier(t, "RelatedPerson", "identifier", element.getIdentifier().get(i), i); 18425 } 18426 if (element.hasActiveElement()) { 18427 composeBoolean(t, "RelatedPerson", "active", element.getActiveElement(), -1); 18428 } 18429 if (element.hasPatient()) { 18430 composeReference(t, "RelatedPerson", "patient", element.getPatient(), -1); 18431 } 18432 for (int i = 0; i < element.getRelationship().size(); i++) { 18433 composeCodeableConcept(t, "RelatedPerson", "relationship", element.getRelationship().get(i), i); 18434 } 18435 for (int i = 0; i < element.getName().size(); i++) { 18436 composeHumanName(t, "RelatedPerson", "name", element.getName().get(i), i); 18437 } 18438 for (int i = 0; i < element.getTelecom().size(); i++) { 18439 composeContactPoint(t, "RelatedPerson", "telecom", element.getTelecom().get(i), i); 18440 } 18441 if (element.hasGenderElement()) { 18442 composeEnum(t, "RelatedPerson", "gender", element.getGenderElement(), -1); 18443 } 18444 if (element.hasBirthDateElement()) { 18445 composeDate(t, "RelatedPerson", "birthDate", element.getBirthDateElement(), -1); 18446 } 18447 for (int i = 0; i < element.getAddress().size(); i++) { 18448 composeAddress(t, "RelatedPerson", "address", element.getAddress().get(i), i); 18449 } 18450 for (int i = 0; i < element.getPhoto().size(); i++) { 18451 composeAttachment(t, "RelatedPerson", "photo", element.getPhoto().get(i), i); 18452 } 18453 if (element.hasPeriod()) { 18454 composePeriod(t, "RelatedPerson", "period", element.getPeriod(), -1); 18455 } 18456 for (int i = 0; i < element.getCommunication().size(); i++) { 18457 composeRelatedPersonCommunicationComponent(t, "RelatedPerson", "communication", element.getCommunication().get(i), i); 18458 } 18459 } 18460 18461 protected void composeRelatedPersonCommunicationComponent(Complex parent, String parentType, String name, RelatedPerson.RelatedPersonCommunicationComponent element, int index) { 18462 if (element == null) 18463 return; 18464 Complex t; 18465 if (Utilities.noString(parentType)) 18466 t = parent; 18467 else { 18468 t = parent.predicate("fhir:"+parentType+'.'+name); 18469 } 18470 composeBackboneElement(t, "communication", name, element, index); 18471 if (element.hasLanguage()) { 18472 composeCodeableConcept(t, "RelatedPersonCommunicationComponent", "language", element.getLanguage(), -1); 18473 } 18474 if (element.hasPreferredElement()) { 18475 composeBoolean(t, "RelatedPersonCommunicationComponent", "preferred", element.getPreferredElement(), -1); 18476 } 18477 } 18478 18479 protected void composeRequestGroup(Complex parent, String parentType, String name, RequestGroup element, int index) { 18480 if (element == null) 18481 return; 18482 Complex t; 18483 if (Utilities.noString(parentType)) 18484 t = parent; 18485 else { 18486 t = parent.predicate("fhir:"+parentType+'.'+name); 18487 } 18488 composeDomainResource(t, "RequestGroup", name, element, index); 18489 for (int i = 0; i < element.getIdentifier().size(); i++) { 18490 composeIdentifier(t, "RequestGroup", "identifier", element.getIdentifier().get(i), i); 18491 } 18492 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 18493 composeCanonical(t, "RequestGroup", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 18494 } 18495 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 18496 composeUri(t, "RequestGroup", "instantiatesUri", element.getInstantiatesUri().get(i), i); 18497 } 18498 for (int i = 0; i < element.getBasedOn().size(); i++) { 18499 composeReference(t, "RequestGroup", "basedOn", element.getBasedOn().get(i), i); 18500 } 18501 for (int i = 0; i < element.getReplaces().size(); i++) { 18502 composeReference(t, "RequestGroup", "replaces", element.getReplaces().get(i), i); 18503 } 18504 if (element.hasGroupIdentifier()) { 18505 composeIdentifier(t, "RequestGroup", "groupIdentifier", element.getGroupIdentifier(), -1); 18506 } 18507 if (element.hasStatusElement()) { 18508 composeEnum(t, "RequestGroup", "status", element.getStatusElement(), -1); 18509 } 18510 if (element.hasIntentElement()) { 18511 composeEnum(t, "RequestGroup", "intent", element.getIntentElement(), -1); 18512 } 18513 if (element.hasPriorityElement()) { 18514 composeEnum(t, "RequestGroup", "priority", element.getPriorityElement(), -1); 18515 } 18516 if (element.hasCode()) { 18517 composeCodeableConcept(t, "RequestGroup", "code", element.getCode(), -1); 18518 } 18519 if (element.hasSubject()) { 18520 composeReference(t, "RequestGroup", "subject", element.getSubject(), -1); 18521 } 18522 if (element.hasEncounter()) { 18523 composeReference(t, "RequestGroup", "encounter", element.getEncounter(), -1); 18524 } 18525 if (element.hasAuthoredOnElement()) { 18526 composeDateTime(t, "RequestGroup", "authoredOn", element.getAuthoredOnElement(), -1); 18527 } 18528 if (element.hasAuthor()) { 18529 composeReference(t, "RequestGroup", "author", element.getAuthor(), -1); 18530 } 18531 for (int i = 0; i < element.getReasonCode().size(); i++) { 18532 composeCodeableConcept(t, "RequestGroup", "reasonCode", element.getReasonCode().get(i), i); 18533 } 18534 for (int i = 0; i < element.getReasonReference().size(); i++) { 18535 composeReference(t, "RequestGroup", "reasonReference", element.getReasonReference().get(i), i); 18536 } 18537 for (int i = 0; i < element.getNote().size(); i++) { 18538 composeAnnotation(t, "RequestGroup", "note", element.getNote().get(i), i); 18539 } 18540 for (int i = 0; i < element.getAction().size(); i++) { 18541 composeRequestGroupActionComponent(t, "RequestGroup", "action", element.getAction().get(i), i); 18542 } 18543 } 18544 18545 protected void composeRequestGroupActionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionComponent element, int index) { 18546 if (element == null) 18547 return; 18548 Complex t; 18549 if (Utilities.noString(parentType)) 18550 t = parent; 18551 else { 18552 t = parent.predicate("fhir:"+parentType+'.'+name); 18553 } 18554 composeBackboneElement(t, "action", name, element, index); 18555 if (element.hasPrefixElement()) { 18556 composeString(t, "RequestGroupActionComponent", "prefix", element.getPrefixElement(), -1); 18557 } 18558 if (element.hasTitleElement()) { 18559 composeString(t, "RequestGroupActionComponent", "title", element.getTitleElement(), -1); 18560 } 18561 if (element.hasDescriptionElement()) { 18562 composeString(t, "RequestGroupActionComponent", "description", element.getDescriptionElement(), -1); 18563 } 18564 if (element.hasTextEquivalentElement()) { 18565 composeString(t, "RequestGroupActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 18566 } 18567 if (element.hasPriorityElement()) { 18568 composeEnum(t, "RequestGroupActionComponent", "priority", element.getPriorityElement(), -1); 18569 } 18570 for (int i = 0; i < element.getCode().size(); i++) { 18571 composeCodeableConcept(t, "RequestGroupActionComponent", "code", element.getCode().get(i), i); 18572 } 18573 for (int i = 0; i < element.getDocumentation().size(); i++) { 18574 composeRelatedArtifact(t, "RequestGroupActionComponent", "documentation", element.getDocumentation().get(i), i); 18575 } 18576 for (int i = 0; i < element.getCondition().size(); i++) { 18577 composeRequestGroupActionConditionComponent(t, "RequestGroupActionComponent", "condition", element.getCondition().get(i), i); 18578 } 18579 for (int i = 0; i < element.getRelatedAction().size(); i++) { 18580 composeRequestGroupActionRelatedActionComponent(t, "RequestGroupActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 18581 } 18582 if (element.hasTiming()) { 18583 composeType(t, "RequestGroupActionComponent", "timing", element.getTiming(), -1); 18584 } 18585 for (int i = 0; i < element.getParticipant().size(); i++) { 18586 composeReference(t, "RequestGroupActionComponent", "participant", element.getParticipant().get(i), i); 18587 } 18588 if (element.hasType()) { 18589 composeCodeableConcept(t, "RequestGroupActionComponent", "type", element.getType(), -1); 18590 } 18591 if (element.hasGroupingBehaviorElement()) { 18592 composeEnum(t, "RequestGroupActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 18593 } 18594 if (element.hasSelectionBehaviorElement()) { 18595 composeEnum(t, "RequestGroupActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 18596 } 18597 if (element.hasRequiredBehaviorElement()) { 18598 composeEnum(t, "RequestGroupActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 18599 } 18600 if (element.hasPrecheckBehaviorElement()) { 18601 composeEnum(t, "RequestGroupActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 18602 } 18603 if (element.hasCardinalityBehaviorElement()) { 18604 composeEnum(t, "RequestGroupActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 18605 } 18606 if (element.hasResource()) { 18607 composeReference(t, "RequestGroupActionComponent", "resource", element.getResource(), -1); 18608 } 18609 for (int i = 0; i < element.getAction().size(); i++) { 18610 composeRequestGroupActionComponent(t, "RequestGroupActionComponent", "action", element.getAction().get(i), i); 18611 } 18612 } 18613 18614 protected void composeRequestGroupActionConditionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionConditionComponent element, int index) { 18615 if (element == null) 18616 return; 18617 Complex t; 18618 if (Utilities.noString(parentType)) 18619 t = parent; 18620 else { 18621 t = parent.predicate("fhir:"+parentType+'.'+name); 18622 } 18623 composeBackboneElement(t, "condition", name, element, index); 18624 if (element.hasKindElement()) { 18625 composeEnum(t, "RequestGroupActionConditionComponent", "kind", element.getKindElement(), -1); 18626 } 18627 if (element.hasExpression()) { 18628 composeExpression(t, "RequestGroupActionConditionComponent", "expression", element.getExpression(), -1); 18629 } 18630 } 18631 18632 protected void composeRequestGroupActionRelatedActionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionRelatedActionComponent element, int index) { 18633 if (element == null) 18634 return; 18635 Complex t; 18636 if (Utilities.noString(parentType)) 18637 t = parent; 18638 else { 18639 t = parent.predicate("fhir:"+parentType+'.'+name); 18640 } 18641 composeBackboneElement(t, "relatedAction", name, element, index); 18642 if (element.hasActionIdElement()) { 18643 composeId(t, "RequestGroupActionRelatedActionComponent", "actionId", element.getActionIdElement(), -1); 18644 } 18645 if (element.hasRelationshipElement()) { 18646 composeEnum(t, "RequestGroupActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 18647 } 18648 if (element.hasOffset()) { 18649 composeType(t, "RequestGroupActionRelatedActionComponent", "offset", element.getOffset(), -1); 18650 } 18651 } 18652 18653 protected void composeResearchDefinition(Complex parent, String parentType, String name, ResearchDefinition element, int index) { 18654 if (element == null) 18655 return; 18656 Complex t; 18657 if (Utilities.noString(parentType)) 18658 t = parent; 18659 else { 18660 t = parent.predicate("fhir:"+parentType+'.'+name); 18661 } 18662 composeDomainResource(t, "ResearchDefinition", name, element, index); 18663 if (element.hasUrlElement()) { 18664 composeUri(t, "ResearchDefinition", "url", element.getUrlElement(), -1); 18665 } 18666 for (int i = 0; i < element.getIdentifier().size(); i++) { 18667 composeIdentifier(t, "ResearchDefinition", "identifier", element.getIdentifier().get(i), i); 18668 } 18669 if (element.hasVersionElement()) { 18670 composeString(t, "ResearchDefinition", "version", element.getVersionElement(), -1); 18671 } 18672 if (element.hasNameElement()) { 18673 composeString(t, "ResearchDefinition", "name", element.getNameElement(), -1); 18674 } 18675 if (element.hasTitleElement()) { 18676 composeString(t, "ResearchDefinition", "title", element.getTitleElement(), -1); 18677 } 18678 if (element.hasShortTitleElement()) { 18679 composeString(t, "ResearchDefinition", "shortTitle", element.getShortTitleElement(), -1); 18680 } 18681 if (element.hasSubtitleElement()) { 18682 composeString(t, "ResearchDefinition", "subtitle", element.getSubtitleElement(), -1); 18683 } 18684 if (element.hasStatusElement()) { 18685 composeEnum(t, "ResearchDefinition", "status", element.getStatusElement(), -1); 18686 } 18687 if (element.hasExperimentalElement()) { 18688 composeBoolean(t, "ResearchDefinition", "experimental", element.getExperimentalElement(), -1); 18689 } 18690 if (element.hasSubject()) { 18691 composeType(t, "ResearchDefinition", "subject", element.getSubject(), -1); 18692 } 18693 if (element.hasDateElement()) { 18694 composeDateTime(t, "ResearchDefinition", "date", element.getDateElement(), -1); 18695 } 18696 if (element.hasPublisherElement()) { 18697 composeString(t, "ResearchDefinition", "publisher", element.getPublisherElement(), -1); 18698 } 18699 for (int i = 0; i < element.getContact().size(); i++) { 18700 composeContactDetail(t, "ResearchDefinition", "contact", element.getContact().get(i), i); 18701 } 18702 if (element.hasDescriptionElement()) { 18703 composeMarkdown(t, "ResearchDefinition", "description", element.getDescriptionElement(), -1); 18704 } 18705 for (int i = 0; i < element.getComment().size(); i++) { 18706 composeString(t, "ResearchDefinition", "comment", element.getComment().get(i), i); 18707 } 18708 for (int i = 0; i < element.getUseContext().size(); i++) { 18709 composeUsageContext(t, "ResearchDefinition", "useContext", element.getUseContext().get(i), i); 18710 } 18711 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18712 composeCodeableConcept(t, "ResearchDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 18713 } 18714 if (element.hasPurposeElement()) { 18715 composeMarkdown(t, "ResearchDefinition", "purpose", element.getPurposeElement(), -1); 18716 } 18717 if (element.hasUsageElement()) { 18718 composeString(t, "ResearchDefinition", "usage", element.getUsageElement(), -1); 18719 } 18720 if (element.hasCopyrightElement()) { 18721 composeMarkdown(t, "ResearchDefinition", "copyright", element.getCopyrightElement(), -1); 18722 } 18723 if (element.hasApprovalDateElement()) { 18724 composeDate(t, "ResearchDefinition", "approvalDate", element.getApprovalDateElement(), -1); 18725 } 18726 if (element.hasLastReviewDateElement()) { 18727 composeDate(t, "ResearchDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 18728 } 18729 if (element.hasEffectivePeriod()) { 18730 composePeriod(t, "ResearchDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 18731 } 18732 for (int i = 0; i < element.getTopic().size(); i++) { 18733 composeCodeableConcept(t, "ResearchDefinition", "topic", element.getTopic().get(i), i); 18734 } 18735 for (int i = 0; i < element.getAuthor().size(); i++) { 18736 composeContactDetail(t, "ResearchDefinition", "author", element.getAuthor().get(i), i); 18737 } 18738 for (int i = 0; i < element.getEditor().size(); i++) { 18739 composeContactDetail(t, "ResearchDefinition", "editor", element.getEditor().get(i), i); 18740 } 18741 for (int i = 0; i < element.getReviewer().size(); i++) { 18742 composeContactDetail(t, "ResearchDefinition", "reviewer", element.getReviewer().get(i), i); 18743 } 18744 for (int i = 0; i < element.getEndorser().size(); i++) { 18745 composeContactDetail(t, "ResearchDefinition", "endorser", element.getEndorser().get(i), i); 18746 } 18747 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 18748 composeRelatedArtifact(t, "ResearchDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 18749 } 18750 for (int i = 0; i < element.getLibrary().size(); i++) { 18751 composeCanonical(t, "ResearchDefinition", "library", element.getLibrary().get(i), i); 18752 } 18753 if (element.hasPopulation()) { 18754 composeReference(t, "ResearchDefinition", "population", element.getPopulation(), -1); 18755 } 18756 if (element.hasExposure()) { 18757 composeReference(t, "ResearchDefinition", "exposure", element.getExposure(), -1); 18758 } 18759 if (element.hasExposureAlternative()) { 18760 composeReference(t, "ResearchDefinition", "exposureAlternative", element.getExposureAlternative(), -1); 18761 } 18762 if (element.hasOutcome()) { 18763 composeReference(t, "ResearchDefinition", "outcome", element.getOutcome(), -1); 18764 } 18765 } 18766 18767 protected void composeResearchElementDefinition(Complex parent, String parentType, String name, ResearchElementDefinition element, int index) { 18768 if (element == null) 18769 return; 18770 Complex t; 18771 if (Utilities.noString(parentType)) 18772 t = parent; 18773 else { 18774 t = parent.predicate("fhir:"+parentType+'.'+name); 18775 } 18776 composeDomainResource(t, "ResearchElementDefinition", name, element, index); 18777 if (element.hasUrlElement()) { 18778 composeUri(t, "ResearchElementDefinition", "url", element.getUrlElement(), -1); 18779 } 18780 for (int i = 0; i < element.getIdentifier().size(); i++) { 18781 composeIdentifier(t, "ResearchElementDefinition", "identifier", element.getIdentifier().get(i), i); 18782 } 18783 if (element.hasVersionElement()) { 18784 composeString(t, "ResearchElementDefinition", "version", element.getVersionElement(), -1); 18785 } 18786 if (element.hasNameElement()) { 18787 composeString(t, "ResearchElementDefinition", "name", element.getNameElement(), -1); 18788 } 18789 if (element.hasTitleElement()) { 18790 composeString(t, "ResearchElementDefinition", "title", element.getTitleElement(), -1); 18791 } 18792 if (element.hasShortTitleElement()) { 18793 composeString(t, "ResearchElementDefinition", "shortTitle", element.getShortTitleElement(), -1); 18794 } 18795 if (element.hasSubtitleElement()) { 18796 composeString(t, "ResearchElementDefinition", "subtitle", element.getSubtitleElement(), -1); 18797 } 18798 if (element.hasStatusElement()) { 18799 composeEnum(t, "ResearchElementDefinition", "status", element.getStatusElement(), -1); 18800 } 18801 if (element.hasExperimentalElement()) { 18802 composeBoolean(t, "ResearchElementDefinition", "experimental", element.getExperimentalElement(), -1); 18803 } 18804 if (element.hasSubject()) { 18805 composeType(t, "ResearchElementDefinition", "subject", element.getSubject(), -1); 18806 } 18807 if (element.hasDateElement()) { 18808 composeDateTime(t, "ResearchElementDefinition", "date", element.getDateElement(), -1); 18809 } 18810 if (element.hasPublisherElement()) { 18811 composeString(t, "ResearchElementDefinition", "publisher", element.getPublisherElement(), -1); 18812 } 18813 for (int i = 0; i < element.getContact().size(); i++) { 18814 composeContactDetail(t, "ResearchElementDefinition", "contact", element.getContact().get(i), i); 18815 } 18816 if (element.hasDescriptionElement()) { 18817 composeMarkdown(t, "ResearchElementDefinition", "description", element.getDescriptionElement(), -1); 18818 } 18819 for (int i = 0; i < element.getComment().size(); i++) { 18820 composeString(t, "ResearchElementDefinition", "comment", element.getComment().get(i), i); 18821 } 18822 for (int i = 0; i < element.getUseContext().size(); i++) { 18823 composeUsageContext(t, "ResearchElementDefinition", "useContext", element.getUseContext().get(i), i); 18824 } 18825 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18826 composeCodeableConcept(t, "ResearchElementDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 18827 } 18828 if (element.hasPurposeElement()) { 18829 composeMarkdown(t, "ResearchElementDefinition", "purpose", element.getPurposeElement(), -1); 18830 } 18831 if (element.hasUsageElement()) { 18832 composeString(t, "ResearchElementDefinition", "usage", element.getUsageElement(), -1); 18833 } 18834 if (element.hasCopyrightElement()) { 18835 composeMarkdown(t, "ResearchElementDefinition", "copyright", element.getCopyrightElement(), -1); 18836 } 18837 if (element.hasApprovalDateElement()) { 18838 composeDate(t, "ResearchElementDefinition", "approvalDate", element.getApprovalDateElement(), -1); 18839 } 18840 if (element.hasLastReviewDateElement()) { 18841 composeDate(t, "ResearchElementDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 18842 } 18843 if (element.hasEffectivePeriod()) { 18844 composePeriod(t, "ResearchElementDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 18845 } 18846 for (int i = 0; i < element.getTopic().size(); i++) { 18847 composeCodeableConcept(t, "ResearchElementDefinition", "topic", element.getTopic().get(i), i); 18848 } 18849 for (int i = 0; i < element.getAuthor().size(); i++) { 18850 composeContactDetail(t, "ResearchElementDefinition", "author", element.getAuthor().get(i), i); 18851 } 18852 for (int i = 0; i < element.getEditor().size(); i++) { 18853 composeContactDetail(t, "ResearchElementDefinition", "editor", element.getEditor().get(i), i); 18854 } 18855 for (int i = 0; i < element.getReviewer().size(); i++) { 18856 composeContactDetail(t, "ResearchElementDefinition", "reviewer", element.getReviewer().get(i), i); 18857 } 18858 for (int i = 0; i < element.getEndorser().size(); i++) { 18859 composeContactDetail(t, "ResearchElementDefinition", "endorser", element.getEndorser().get(i), i); 18860 } 18861 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 18862 composeRelatedArtifact(t, "ResearchElementDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 18863 } 18864 for (int i = 0; i < element.getLibrary().size(); i++) { 18865 composeCanonical(t, "ResearchElementDefinition", "library", element.getLibrary().get(i), i); 18866 } 18867 if (element.hasTypeElement()) { 18868 composeEnum(t, "ResearchElementDefinition", "type", element.getTypeElement(), -1); 18869 } 18870 if (element.hasVariableTypeElement()) { 18871 composeEnum(t, "ResearchElementDefinition", "variableType", element.getVariableTypeElement(), -1); 18872 } 18873 for (int i = 0; i < element.getCharacteristic().size(); i++) { 18874 composeResearchElementDefinitionCharacteristicComponent(t, "ResearchElementDefinition", "characteristic", element.getCharacteristic().get(i), i); 18875 } 18876 } 18877 18878 protected void composeResearchElementDefinitionCharacteristicComponent(Complex parent, String parentType, String name, ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent element, int index) { 18879 if (element == null) 18880 return; 18881 Complex t; 18882 if (Utilities.noString(parentType)) 18883 t = parent; 18884 else { 18885 t = parent.predicate("fhir:"+parentType+'.'+name); 18886 } 18887 composeBackboneElement(t, "characteristic", name, element, index); 18888 if (element.hasDefinition()) { 18889 composeType(t, "ResearchElementDefinitionCharacteristicComponent", "definition", element.getDefinition(), -1); 18890 } 18891 for (int i = 0; i < element.getUsageContext().size(); i++) { 18892 composeUsageContext(t, "ResearchElementDefinitionCharacteristicComponent", "usageContext", element.getUsageContext().get(i), i); 18893 } 18894 if (element.hasExcludeElement()) { 18895 composeBoolean(t, "ResearchElementDefinitionCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 18896 } 18897 if (element.hasUnitOfMeasure()) { 18898 composeCodeableConcept(t, "ResearchElementDefinitionCharacteristicComponent", "unitOfMeasure", element.getUnitOfMeasure(), -1); 18899 } 18900 if (element.hasStudyEffectiveDescriptionElement()) { 18901 composeString(t, "ResearchElementDefinitionCharacteristicComponent", "studyEffectiveDescription", element.getStudyEffectiveDescriptionElement(), -1); 18902 } 18903 if (element.hasStudyEffective()) { 18904 composeType(t, "ResearchElementDefinitionCharacteristicComponent", "studyEffective", element.getStudyEffective(), -1); 18905 } 18906 if (element.hasStudyEffectiveTimeFromStart()) { 18907 composeDuration(t, "ResearchElementDefinitionCharacteristicComponent", "studyEffectiveTimeFromStart", element.getStudyEffectiveTimeFromStart(), -1); 18908 } 18909 if (element.hasStudyEffectiveGroupMeasureElement()) { 18910 composeEnum(t, "ResearchElementDefinitionCharacteristicComponent", "studyEffectiveGroupMeasure", element.getStudyEffectiveGroupMeasureElement(), -1); 18911 } 18912 if (element.hasParticipantEffectiveDescriptionElement()) { 18913 composeString(t, "ResearchElementDefinitionCharacteristicComponent", "participantEffectiveDescription", element.getParticipantEffectiveDescriptionElement(), -1); 18914 } 18915 if (element.hasParticipantEffective()) { 18916 composeType(t, "ResearchElementDefinitionCharacteristicComponent", "participantEffective", element.getParticipantEffective(), -1); 18917 } 18918 if (element.hasParticipantEffectiveTimeFromStart()) { 18919 composeDuration(t, "ResearchElementDefinitionCharacteristicComponent", "participantEffectiveTimeFromStart", element.getParticipantEffectiveTimeFromStart(), -1); 18920 } 18921 if (element.hasParticipantEffectiveGroupMeasureElement()) { 18922 composeEnum(t, "ResearchElementDefinitionCharacteristicComponent", "participantEffectiveGroupMeasure", element.getParticipantEffectiveGroupMeasureElement(), -1); 18923 } 18924 } 18925 18926 protected void composeResearchStudy(Complex parent, String parentType, String name, ResearchStudy element, int index) { 18927 if (element == null) 18928 return; 18929 Complex t; 18930 if (Utilities.noString(parentType)) 18931 t = parent; 18932 else { 18933 t = parent.predicate("fhir:"+parentType+'.'+name); 18934 } 18935 composeDomainResource(t, "ResearchStudy", name, element, index); 18936 for (int i = 0; i < element.getIdentifier().size(); i++) { 18937 composeIdentifier(t, "ResearchStudy", "identifier", element.getIdentifier().get(i), i); 18938 } 18939 if (element.hasTitleElement()) { 18940 composeString(t, "ResearchStudy", "title", element.getTitleElement(), -1); 18941 } 18942 for (int i = 0; i < element.getProtocol().size(); i++) { 18943 composeReference(t, "ResearchStudy", "protocol", element.getProtocol().get(i), i); 18944 } 18945 for (int i = 0; i < element.getPartOf().size(); i++) { 18946 composeReference(t, "ResearchStudy", "partOf", element.getPartOf().get(i), i); 18947 } 18948 if (element.hasStatusElement()) { 18949 composeEnum(t, "ResearchStudy", "status", element.getStatusElement(), -1); 18950 } 18951 if (element.hasPrimaryPurposeType()) { 18952 composeCodeableConcept(t, "ResearchStudy", "primaryPurposeType", element.getPrimaryPurposeType(), -1); 18953 } 18954 if (element.hasPhase()) { 18955 composeCodeableConcept(t, "ResearchStudy", "phase", element.getPhase(), -1); 18956 } 18957 for (int i = 0; i < element.getCategory().size(); i++) { 18958 composeCodeableConcept(t, "ResearchStudy", "category", element.getCategory().get(i), i); 18959 } 18960 for (int i = 0; i < element.getFocus().size(); i++) { 18961 composeCodeableConcept(t, "ResearchStudy", "focus", element.getFocus().get(i), i); 18962 } 18963 for (int i = 0; i < element.getCondition().size(); i++) { 18964 composeCodeableConcept(t, "ResearchStudy", "condition", element.getCondition().get(i), i); 18965 } 18966 for (int i = 0; i < element.getContact().size(); i++) { 18967 composeContactDetail(t, "ResearchStudy", "contact", element.getContact().get(i), i); 18968 } 18969 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 18970 composeRelatedArtifact(t, "ResearchStudy", "relatedArtifact", element.getRelatedArtifact().get(i), i); 18971 } 18972 for (int i = 0; i < element.getKeyword().size(); i++) { 18973 composeCodeableConcept(t, "ResearchStudy", "keyword", element.getKeyword().get(i), i); 18974 } 18975 for (int i = 0; i < element.getLocation().size(); i++) { 18976 composeCodeableConcept(t, "ResearchStudy", "location", element.getLocation().get(i), i); 18977 } 18978 if (element.hasDescriptionElement()) { 18979 composeMarkdown(t, "ResearchStudy", "description", element.getDescriptionElement(), -1); 18980 } 18981 for (int i = 0; i < element.getEnrollment().size(); i++) { 18982 composeReference(t, "ResearchStudy", "enrollment", element.getEnrollment().get(i), i); 18983 } 18984 if (element.hasPeriod()) { 18985 composePeriod(t, "ResearchStudy", "period", element.getPeriod(), -1); 18986 } 18987 if (element.hasSponsor()) { 18988 composeReference(t, "ResearchStudy", "sponsor", element.getSponsor(), -1); 18989 } 18990 if (element.hasPrincipalInvestigator()) { 18991 composeReference(t, "ResearchStudy", "principalInvestigator", element.getPrincipalInvestigator(), -1); 18992 } 18993 for (int i = 0; i < element.getSite().size(); i++) { 18994 composeReference(t, "ResearchStudy", "site", element.getSite().get(i), i); 18995 } 18996 if (element.hasReasonStopped()) { 18997 composeCodeableConcept(t, "ResearchStudy", "reasonStopped", element.getReasonStopped(), -1); 18998 } 18999 for (int i = 0; i < element.getNote().size(); i++) { 19000 composeAnnotation(t, "ResearchStudy", "note", element.getNote().get(i), i); 19001 } 19002 for (int i = 0; i < element.getArm().size(); i++) { 19003 composeResearchStudyArmComponent(t, "ResearchStudy", "arm", element.getArm().get(i), i); 19004 } 19005 for (int i = 0; i < element.getObjective().size(); i++) { 19006 composeResearchStudyObjectiveComponent(t, "ResearchStudy", "objective", element.getObjective().get(i), i); 19007 } 19008 } 19009 19010 protected void composeResearchStudyArmComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyArmComponent element, int index) { 19011 if (element == null) 19012 return; 19013 Complex t; 19014 if (Utilities.noString(parentType)) 19015 t = parent; 19016 else { 19017 t = parent.predicate("fhir:"+parentType+'.'+name); 19018 } 19019 composeBackboneElement(t, "arm", name, element, index); 19020 if (element.hasNameElement()) { 19021 composeString(t, "ResearchStudyArmComponent", "name", element.getNameElement(), -1); 19022 } 19023 if (element.hasType()) { 19024 composeCodeableConcept(t, "ResearchStudyArmComponent", "type", element.getType(), -1); 19025 } 19026 if (element.hasDescriptionElement()) { 19027 composeString(t, "ResearchStudyArmComponent", "description", element.getDescriptionElement(), -1); 19028 } 19029 } 19030 19031 protected void composeResearchStudyObjectiveComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyObjectiveComponent element, int index) { 19032 if (element == null) 19033 return; 19034 Complex t; 19035 if (Utilities.noString(parentType)) 19036 t = parent; 19037 else { 19038 t = parent.predicate("fhir:"+parentType+'.'+name); 19039 } 19040 composeBackboneElement(t, "objective", name, element, index); 19041 if (element.hasNameElement()) { 19042 composeString(t, "ResearchStudyObjectiveComponent", "name", element.getNameElement(), -1); 19043 } 19044 if (element.hasType()) { 19045 composeCodeableConcept(t, "ResearchStudyObjectiveComponent", "type", element.getType(), -1); 19046 } 19047 } 19048 19049 protected void composeResearchSubject(Complex parent, String parentType, String name, ResearchSubject element, int index) { 19050 if (element == null) 19051 return; 19052 Complex t; 19053 if (Utilities.noString(parentType)) 19054 t = parent; 19055 else { 19056 t = parent.predicate("fhir:"+parentType+'.'+name); 19057 } 19058 composeDomainResource(t, "ResearchSubject", name, element, index); 19059 for (int i = 0; i < element.getIdentifier().size(); i++) { 19060 composeIdentifier(t, "ResearchSubject", "identifier", element.getIdentifier().get(i), i); 19061 } 19062 if (element.hasStatusElement()) { 19063 composeEnum(t, "ResearchSubject", "status", element.getStatusElement(), -1); 19064 } 19065 if (element.hasPeriod()) { 19066 composePeriod(t, "ResearchSubject", "period", element.getPeriod(), -1); 19067 } 19068 if (element.hasStudy()) { 19069 composeReference(t, "ResearchSubject", "study", element.getStudy(), -1); 19070 } 19071 if (element.hasIndividual()) { 19072 composeReference(t, "ResearchSubject", "individual", element.getIndividual(), -1); 19073 } 19074 if (element.hasAssignedArmElement()) { 19075 composeString(t, "ResearchSubject", "assignedArm", element.getAssignedArmElement(), -1); 19076 } 19077 if (element.hasActualArmElement()) { 19078 composeString(t, "ResearchSubject", "actualArm", element.getActualArmElement(), -1); 19079 } 19080 if (element.hasConsent()) { 19081 composeReference(t, "ResearchSubject", "consent", element.getConsent(), -1); 19082 } 19083 } 19084 19085 protected void composeRiskAssessment(Complex parent, String parentType, String name, RiskAssessment element, int index) { 19086 if (element == null) 19087 return; 19088 Complex t; 19089 if (Utilities.noString(parentType)) 19090 t = parent; 19091 else { 19092 t = parent.predicate("fhir:"+parentType+'.'+name); 19093 } 19094 composeDomainResource(t, "RiskAssessment", name, element, index); 19095 for (int i = 0; i < element.getIdentifier().size(); i++) { 19096 composeIdentifier(t, "RiskAssessment", "identifier", element.getIdentifier().get(i), i); 19097 } 19098 if (element.hasBasedOn()) { 19099 composeReference(t, "RiskAssessment", "basedOn", element.getBasedOn(), -1); 19100 } 19101 if (element.hasParent()) { 19102 composeReference(t, "RiskAssessment", "parent", element.getParent(), -1); 19103 } 19104 if (element.hasStatusElement()) { 19105 composeEnum(t, "RiskAssessment", "status", element.getStatusElement(), -1); 19106 } 19107 if (element.hasMethod()) { 19108 composeCodeableConcept(t, "RiskAssessment", "method", element.getMethod(), -1); 19109 } 19110 if (element.hasCode()) { 19111 composeCodeableConcept(t, "RiskAssessment", "code", element.getCode(), -1); 19112 } 19113 if (element.hasSubject()) { 19114 composeReference(t, "RiskAssessment", "subject", element.getSubject(), -1); 19115 } 19116 if (element.hasEncounter()) { 19117 composeReference(t, "RiskAssessment", "encounter", element.getEncounter(), -1); 19118 } 19119 if (element.hasOccurrence()) { 19120 composeType(t, "RiskAssessment", "occurrence", element.getOccurrence(), -1); 19121 } 19122 if (element.hasCondition()) { 19123 composeReference(t, "RiskAssessment", "condition", element.getCondition(), -1); 19124 } 19125 if (element.hasPerformer()) { 19126 composeReference(t, "RiskAssessment", "performer", element.getPerformer(), -1); 19127 } 19128 for (int i = 0; i < element.getReasonCode().size(); i++) { 19129 composeCodeableConcept(t, "RiskAssessment", "reasonCode", element.getReasonCode().get(i), i); 19130 } 19131 for (int i = 0; i < element.getReasonReference().size(); i++) { 19132 composeReference(t, "RiskAssessment", "reasonReference", element.getReasonReference().get(i), i); 19133 } 19134 for (int i = 0; i < element.getBasis().size(); i++) { 19135 composeReference(t, "RiskAssessment", "basis", element.getBasis().get(i), i); 19136 } 19137 for (int i = 0; i < element.getPrediction().size(); i++) { 19138 composeRiskAssessmentPredictionComponent(t, "RiskAssessment", "prediction", element.getPrediction().get(i), i); 19139 } 19140 if (element.hasMitigationElement()) { 19141 composeString(t, "RiskAssessment", "mitigation", element.getMitigationElement(), -1); 19142 } 19143 for (int i = 0; i < element.getNote().size(); i++) { 19144 composeAnnotation(t, "RiskAssessment", "note", element.getNote().get(i), i); 19145 } 19146 } 19147 19148 protected void composeRiskAssessmentPredictionComponent(Complex parent, String parentType, String name, RiskAssessment.RiskAssessmentPredictionComponent element, int index) { 19149 if (element == null) 19150 return; 19151 Complex t; 19152 if (Utilities.noString(parentType)) 19153 t = parent; 19154 else { 19155 t = parent.predicate("fhir:"+parentType+'.'+name); 19156 } 19157 composeBackboneElement(t, "prediction", name, element, index); 19158 if (element.hasOutcome()) { 19159 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "outcome", element.getOutcome(), -1); 19160 } 19161 if (element.hasProbability()) { 19162 composeType(t, "RiskAssessmentPredictionComponent", "probability", element.getProbability(), -1); 19163 } 19164 if (element.hasQualitativeRisk()) { 19165 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "qualitativeRisk", element.getQualitativeRisk(), -1); 19166 } 19167 if (element.hasRelativeRiskElement()) { 19168 composeDecimal(t, "RiskAssessmentPredictionComponent", "relativeRisk", element.getRelativeRiskElement(), -1); 19169 } 19170 if (element.hasWhen()) { 19171 composeType(t, "RiskAssessmentPredictionComponent", "when", element.getWhen(), -1); 19172 } 19173 if (element.hasRationaleElement()) { 19174 composeString(t, "RiskAssessmentPredictionComponent", "rationale", element.getRationaleElement(), -1); 19175 } 19176 } 19177 19178 protected void composeSchedule(Complex parent, String parentType, String name, Schedule element, int index) { 19179 if (element == null) 19180 return; 19181 Complex t; 19182 if (Utilities.noString(parentType)) 19183 t = parent; 19184 else { 19185 t = parent.predicate("fhir:"+parentType+'.'+name); 19186 } 19187 composeDomainResource(t, "Schedule", name, element, index); 19188 for (int i = 0; i < element.getIdentifier().size(); i++) { 19189 composeIdentifier(t, "Schedule", "identifier", element.getIdentifier().get(i), i); 19190 } 19191 if (element.hasActiveElement()) { 19192 composeBoolean(t, "Schedule", "active", element.getActiveElement(), -1); 19193 } 19194 for (int i = 0; i < element.getServiceCategory().size(); i++) { 19195 composeCodeableConcept(t, "Schedule", "serviceCategory", element.getServiceCategory().get(i), i); 19196 } 19197 for (int i = 0; i < element.getServiceType().size(); i++) { 19198 composeCodeableConcept(t, "Schedule", "serviceType", element.getServiceType().get(i), i); 19199 } 19200 for (int i = 0; i < element.getSpecialty().size(); i++) { 19201 composeCodeableConcept(t, "Schedule", "specialty", element.getSpecialty().get(i), i); 19202 } 19203 for (int i = 0; i < element.getActor().size(); i++) { 19204 composeReference(t, "Schedule", "actor", element.getActor().get(i), i); 19205 } 19206 if (element.hasPlanningHorizon()) { 19207 composePeriod(t, "Schedule", "planningHorizon", element.getPlanningHorizon(), -1); 19208 } 19209 if (element.hasCommentElement()) { 19210 composeString(t, "Schedule", "comment", element.getCommentElement(), -1); 19211 } 19212 } 19213 19214 protected void composeSearchParameter(Complex parent, String parentType, String name, SearchParameter element, int index) { 19215 if (element == null) 19216 return; 19217 Complex t; 19218 if (Utilities.noString(parentType)) 19219 t = parent; 19220 else { 19221 t = parent.predicate("fhir:"+parentType+'.'+name); 19222 } 19223 composeDomainResource(t, "SearchParameter", name, element, index); 19224 if (element.hasUrlElement()) { 19225 composeUri(t, "SearchParameter", "url", element.getUrlElement(), -1); 19226 } 19227 if (element.hasVersionElement()) { 19228 composeString(t, "SearchParameter", "version", element.getVersionElement(), -1); 19229 } 19230 if (element.hasNameElement()) { 19231 composeString(t, "SearchParameter", "name", element.getNameElement(), -1); 19232 } 19233 if (element.hasDerivedFromElement()) { 19234 composeCanonical(t, "SearchParameter", "derivedFrom", element.getDerivedFromElement(), -1); 19235 } 19236 if (element.hasStatusElement()) { 19237 composeEnum(t, "SearchParameter", "status", element.getStatusElement(), -1); 19238 } 19239 if (element.hasExperimentalElement()) { 19240 composeBoolean(t, "SearchParameter", "experimental", element.getExperimentalElement(), -1); 19241 } 19242 if (element.hasDateElement()) { 19243 composeDateTime(t, "SearchParameter", "date", element.getDateElement(), -1); 19244 } 19245 if (element.hasPublisherElement()) { 19246 composeString(t, "SearchParameter", "publisher", element.getPublisherElement(), -1); 19247 } 19248 for (int i = 0; i < element.getContact().size(); i++) { 19249 composeContactDetail(t, "SearchParameter", "contact", element.getContact().get(i), i); 19250 } 19251 if (element.hasDescriptionElement()) { 19252 composeMarkdown(t, "SearchParameter", "description", element.getDescriptionElement(), -1); 19253 } 19254 for (int i = 0; i < element.getUseContext().size(); i++) { 19255 composeUsageContext(t, "SearchParameter", "useContext", element.getUseContext().get(i), i); 19256 } 19257 for (int i = 0; i < element.getJurisdiction().size(); i++) { 19258 composeCodeableConcept(t, "SearchParameter", "jurisdiction", element.getJurisdiction().get(i), i); 19259 } 19260 if (element.hasPurposeElement()) { 19261 composeMarkdown(t, "SearchParameter", "purpose", element.getPurposeElement(), -1); 19262 } 19263 if (element.hasCodeElement()) { 19264 composeCode(t, "SearchParameter", "code", element.getCodeElement(), -1); 19265 } 19266 for (int i = 0; i < element.getBase().size(); i++) { 19267 composeCode(t, "SearchParameter", "base", element.getBase().get(i), i); 19268 } 19269 if (element.hasTypeElement()) { 19270 composeEnum(t, "SearchParameter", "type", element.getTypeElement(), -1); 19271 } 19272 if (element.hasExpressionElement()) { 19273 composeString(t, "SearchParameter", "expression", element.getExpressionElement(), -1); 19274 } 19275 if (element.hasXpathElement()) { 19276 composeString(t, "SearchParameter", "xpath", element.getXpathElement(), -1); 19277 } 19278 if (element.hasXpathUsageElement()) { 19279 composeEnum(t, "SearchParameter", "xpathUsage", element.getXpathUsageElement(), -1); 19280 } 19281 for (int i = 0; i < element.getTarget().size(); i++) { 19282 composeCode(t, "SearchParameter", "target", element.getTarget().get(i), i); 19283 } 19284 if (element.hasMultipleOrElement()) { 19285 composeBoolean(t, "SearchParameter", "multipleOr", element.getMultipleOrElement(), -1); 19286 } 19287 if (element.hasMultipleAndElement()) { 19288 composeBoolean(t, "SearchParameter", "multipleAnd", element.getMultipleAndElement(), -1); 19289 } 19290 for (int i = 0; i < element.getComparator().size(); i++) { 19291 composeEnum(t, "SearchParameter", "comparator", element.getComparator().get(i), i); 19292 } 19293 for (int i = 0; i < element.getModifier().size(); i++) { 19294 composeEnum(t, "SearchParameter", "modifier", element.getModifier().get(i), i); 19295 } 19296 for (int i = 0; i < element.getChain().size(); i++) { 19297 composeString(t, "SearchParameter", "chain", element.getChain().get(i), i); 19298 } 19299 for (int i = 0; i < element.getComponent().size(); i++) { 19300 composeSearchParameterComponentComponent(t, "SearchParameter", "component", element.getComponent().get(i), i); 19301 } 19302 } 19303 19304 protected void composeSearchParameterComponentComponent(Complex parent, String parentType, String name, SearchParameter.SearchParameterComponentComponent element, int index) { 19305 if (element == null) 19306 return; 19307 Complex t; 19308 if (Utilities.noString(parentType)) 19309 t = parent; 19310 else { 19311 t = parent.predicate("fhir:"+parentType+'.'+name); 19312 } 19313 composeBackboneElement(t, "component", name, element, index); 19314 if (element.hasDefinitionElement()) { 19315 composeCanonical(t, "SearchParameterComponentComponent", "definition", element.getDefinitionElement(), -1); 19316 } 19317 if (element.hasExpressionElement()) { 19318 composeString(t, "SearchParameterComponentComponent", "expression", element.getExpressionElement(), -1); 19319 } 19320 } 19321 19322 protected void composeServiceRequest(Complex parent, String parentType, String name, ServiceRequest element, int index) { 19323 if (element == null) 19324 return; 19325 Complex t; 19326 if (Utilities.noString(parentType)) 19327 t = parent; 19328 else { 19329 t = parent.predicate("fhir:"+parentType+'.'+name); 19330 } 19331 composeDomainResource(t, "ServiceRequest", name, element, index); 19332 for (int i = 0; i < element.getIdentifier().size(); i++) { 19333 composeIdentifier(t, "ServiceRequest", "identifier", element.getIdentifier().get(i), i); 19334 } 19335 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 19336 composeCanonical(t, "ServiceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 19337 } 19338 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 19339 composeUri(t, "ServiceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 19340 } 19341 for (int i = 0; i < element.getBasedOn().size(); i++) { 19342 composeReference(t, "ServiceRequest", "basedOn", element.getBasedOn().get(i), i); 19343 } 19344 for (int i = 0; i < element.getReplaces().size(); i++) { 19345 composeReference(t, "ServiceRequest", "replaces", element.getReplaces().get(i), i); 19346 } 19347 if (element.hasRequisition()) { 19348 composeIdentifier(t, "ServiceRequest", "requisition", element.getRequisition(), -1); 19349 } 19350 if (element.hasStatusElement()) { 19351 composeEnum(t, "ServiceRequest", "status", element.getStatusElement(), -1); 19352 } 19353 if (element.hasIntentElement()) { 19354 composeEnum(t, "ServiceRequest", "intent", element.getIntentElement(), -1); 19355 } 19356 for (int i = 0; i < element.getCategory().size(); i++) { 19357 composeCodeableConcept(t, "ServiceRequest", "category", element.getCategory().get(i), i); 19358 } 19359 if (element.hasPriorityElement()) { 19360 composeEnum(t, "ServiceRequest", "priority", element.getPriorityElement(), -1); 19361 } 19362 if (element.hasDoNotPerformElement()) { 19363 composeBoolean(t, "ServiceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 19364 } 19365 if (element.hasCode()) { 19366 composeCodeableConcept(t, "ServiceRequest", "code", element.getCode(), -1); 19367 } 19368 for (int i = 0; i < element.getOrderDetail().size(); i++) { 19369 composeCodeableConcept(t, "ServiceRequest", "orderDetail", element.getOrderDetail().get(i), i); 19370 } 19371 if (element.hasQuantity()) { 19372 composeType(t, "ServiceRequest", "quantity", element.getQuantity(), -1); 19373 } 19374 if (element.hasSubject()) { 19375 composeReference(t, "ServiceRequest", "subject", element.getSubject(), -1); 19376 } 19377 if (element.hasEncounter()) { 19378 composeReference(t, "ServiceRequest", "encounter", element.getEncounter(), -1); 19379 } 19380 if (element.hasOccurrence()) { 19381 composeType(t, "ServiceRequest", "occurrence", element.getOccurrence(), -1); 19382 } 19383 if (element.hasAsNeeded()) { 19384 composeType(t, "ServiceRequest", "asNeeded", element.getAsNeeded(), -1); 19385 } 19386 if (element.hasAuthoredOnElement()) { 19387 composeDateTime(t, "ServiceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 19388 } 19389 if (element.hasRequester()) { 19390 composeReference(t, "ServiceRequest", "requester", element.getRequester(), -1); 19391 } 19392 if (element.hasPerformerType()) { 19393 composeCodeableConcept(t, "ServiceRequest", "performerType", element.getPerformerType(), -1); 19394 } 19395 for (int i = 0; i < element.getPerformer().size(); i++) { 19396 composeReference(t, "ServiceRequest", "performer", element.getPerformer().get(i), i); 19397 } 19398 for (int i = 0; i < element.getLocationCode().size(); i++) { 19399 composeCodeableConcept(t, "ServiceRequest", "locationCode", element.getLocationCode().get(i), i); 19400 } 19401 for (int i = 0; i < element.getLocationReference().size(); i++) { 19402 composeReference(t, "ServiceRequest", "locationReference", element.getLocationReference().get(i), i); 19403 } 19404 for (int i = 0; i < element.getReasonCode().size(); i++) { 19405 composeCodeableConcept(t, "ServiceRequest", "reasonCode", element.getReasonCode().get(i), i); 19406 } 19407 for (int i = 0; i < element.getReasonReference().size(); i++) { 19408 composeReference(t, "ServiceRequest", "reasonReference", element.getReasonReference().get(i), i); 19409 } 19410 for (int i = 0; i < element.getInsurance().size(); i++) { 19411 composeReference(t, "ServiceRequest", "insurance", element.getInsurance().get(i), i); 19412 } 19413 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 19414 composeReference(t, "ServiceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 19415 } 19416 for (int i = 0; i < element.getSpecimen().size(); i++) { 19417 composeReference(t, "ServiceRequest", "specimen", element.getSpecimen().get(i), i); 19418 } 19419 for (int i = 0; i < element.getBodySite().size(); i++) { 19420 composeCodeableConcept(t, "ServiceRequest", "bodySite", element.getBodySite().get(i), i); 19421 } 19422 for (int i = 0; i < element.getNote().size(); i++) { 19423 composeAnnotation(t, "ServiceRequest", "note", element.getNote().get(i), i); 19424 } 19425 if (element.hasPatientInstructionElement()) { 19426 composeString(t, "ServiceRequest", "patientInstruction", element.getPatientInstructionElement(), -1); 19427 } 19428 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 19429 composeReference(t, "ServiceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 19430 } 19431 } 19432 19433 protected void composeSlot(Complex parent, String parentType, String name, Slot element, int index) { 19434 if (element == null) 19435 return; 19436 Complex t; 19437 if (Utilities.noString(parentType)) 19438 t = parent; 19439 else { 19440 t = parent.predicate("fhir:"+parentType+'.'+name); 19441 } 19442 composeDomainResource(t, "Slot", name, element, index); 19443 for (int i = 0; i < element.getIdentifier().size(); i++) { 19444 composeIdentifier(t, "Slot", "identifier", element.getIdentifier().get(i), i); 19445 } 19446 for (int i = 0; i < element.getServiceCategory().size(); i++) { 19447 composeCodeableConcept(t, "Slot", "serviceCategory", element.getServiceCategory().get(i), i); 19448 } 19449 for (int i = 0; i < element.getServiceType().size(); i++) { 19450 composeCodeableConcept(t, "Slot", "serviceType", element.getServiceType().get(i), i); 19451 } 19452 for (int i = 0; i < element.getSpecialty().size(); i++) { 19453 composeCodeableConcept(t, "Slot", "specialty", element.getSpecialty().get(i), i); 19454 } 19455 if (element.hasAppointmentType()) { 19456 composeCodeableConcept(t, "Slot", "appointmentType", element.getAppointmentType(), -1); 19457 } 19458 if (element.hasSchedule()) { 19459 composeReference(t, "Slot", "schedule", element.getSchedule(), -1); 19460 } 19461 if (element.hasStatusElement()) { 19462 composeEnum(t, "Slot", "status", element.getStatusElement(), -1); 19463 } 19464 if (element.hasStartElement()) { 19465 composeInstant(t, "Slot", "start", element.getStartElement(), -1); 19466 } 19467 if (element.hasEndElement()) { 19468 composeInstant(t, "Slot", "end", element.getEndElement(), -1); 19469 } 19470 if (element.hasOverbookedElement()) { 19471 composeBoolean(t, "Slot", "overbooked", element.getOverbookedElement(), -1); 19472 } 19473 if (element.hasCommentElement()) { 19474 composeString(t, "Slot", "comment", element.getCommentElement(), -1); 19475 } 19476 } 19477 19478 protected void composeSpecimen(Complex parent, String parentType, String name, Specimen element, int index) { 19479 if (element == null) 19480 return; 19481 Complex t; 19482 if (Utilities.noString(parentType)) 19483 t = parent; 19484 else { 19485 t = parent.predicate("fhir:"+parentType+'.'+name); 19486 } 19487 composeDomainResource(t, "Specimen", name, element, index); 19488 for (int i = 0; i < element.getIdentifier().size(); i++) { 19489 composeIdentifier(t, "Specimen", "identifier", element.getIdentifier().get(i), i); 19490 } 19491 if (element.hasAccessionIdentifier()) { 19492 composeIdentifier(t, "Specimen", "accessionIdentifier", element.getAccessionIdentifier(), -1); 19493 } 19494 if (element.hasStatusElement()) { 19495 composeEnum(t, "Specimen", "status", element.getStatusElement(), -1); 19496 } 19497 if (element.hasType()) { 19498 composeCodeableConcept(t, "Specimen", "type", element.getType(), -1); 19499 } 19500 if (element.hasSubject()) { 19501 composeReference(t, "Specimen", "subject", element.getSubject(), -1); 19502 } 19503 if (element.hasReceivedTimeElement()) { 19504 composeDateTime(t, "Specimen", "receivedTime", element.getReceivedTimeElement(), -1); 19505 } 19506 for (int i = 0; i < element.getParent().size(); i++) { 19507 composeReference(t, "Specimen", "parent", element.getParent().get(i), i); 19508 } 19509 for (int i = 0; i < element.getRequest().size(); i++) { 19510 composeReference(t, "Specimen", "request", element.getRequest().get(i), i); 19511 } 19512 if (element.hasCollection()) { 19513 composeSpecimenCollectionComponent(t, "Specimen", "collection", element.getCollection(), -1); 19514 } 19515 for (int i = 0; i < element.getProcessing().size(); i++) { 19516 composeSpecimenProcessingComponent(t, "Specimen", "processing", element.getProcessing().get(i), i); 19517 } 19518 for (int i = 0; i < element.getContainer().size(); i++) { 19519 composeSpecimenContainerComponent(t, "Specimen", "container", element.getContainer().get(i), i); 19520 } 19521 for (int i = 0; i < element.getCondition().size(); i++) { 19522 composeCodeableConcept(t, "Specimen", "condition", element.getCondition().get(i), i); 19523 } 19524 for (int i = 0; i < element.getNote().size(); i++) { 19525 composeAnnotation(t, "Specimen", "note", element.getNote().get(i), i); 19526 } 19527 } 19528 19529 protected void composeSpecimenCollectionComponent(Complex parent, String parentType, String name, Specimen.SpecimenCollectionComponent element, int index) { 19530 if (element == null) 19531 return; 19532 Complex t; 19533 if (Utilities.noString(parentType)) 19534 t = parent; 19535 else { 19536 t = parent.predicate("fhir:"+parentType+'.'+name); 19537 } 19538 composeBackboneElement(t, "collection", name, element, index); 19539 if (element.hasCollector()) { 19540 composeReference(t, "SpecimenCollectionComponent", "collector", element.getCollector(), -1); 19541 } 19542 if (element.hasCollected()) { 19543 composeType(t, "SpecimenCollectionComponent", "collected", element.getCollected(), -1); 19544 } 19545 if (element.hasDuration()) { 19546 composeDuration(t, "SpecimenCollectionComponent", "duration", element.getDuration(), -1); 19547 } 19548 if (element.hasQuantity()) { 19549 composeQuantity(t, "SpecimenCollectionComponent", "quantity", element.getQuantity(), -1); 19550 } 19551 if (element.hasMethod()) { 19552 composeCodeableConcept(t, "SpecimenCollectionComponent", "method", element.getMethod(), -1); 19553 } 19554 if (element.hasBodySite()) { 19555 composeCodeableConcept(t, "SpecimenCollectionComponent", "bodySite", element.getBodySite(), -1); 19556 } 19557 if (element.hasFastingStatus()) { 19558 composeType(t, "SpecimenCollectionComponent", "fastingStatus", element.getFastingStatus(), -1); 19559 } 19560 } 19561 19562 protected void composeSpecimenProcessingComponent(Complex parent, String parentType, String name, Specimen.SpecimenProcessingComponent element, int index) { 19563 if (element == null) 19564 return; 19565 Complex t; 19566 if (Utilities.noString(parentType)) 19567 t = parent; 19568 else { 19569 t = parent.predicate("fhir:"+parentType+'.'+name); 19570 } 19571 composeBackboneElement(t, "processing", name, element, index); 19572 if (element.hasDescriptionElement()) { 19573 composeString(t, "SpecimenProcessingComponent", "description", element.getDescriptionElement(), -1); 19574 } 19575 if (element.hasProcedure()) { 19576 composeCodeableConcept(t, "SpecimenProcessingComponent", "procedure", element.getProcedure(), -1); 19577 } 19578 for (int i = 0; i < element.getAdditive().size(); i++) { 19579 composeReference(t, "SpecimenProcessingComponent", "additive", element.getAdditive().get(i), i); 19580 } 19581 if (element.hasTime()) { 19582 composeType(t, "SpecimenProcessingComponent", "time", element.getTime(), -1); 19583 } 19584 } 19585 19586 protected void composeSpecimenContainerComponent(Complex parent, String parentType, String name, Specimen.SpecimenContainerComponent element, int index) { 19587 if (element == null) 19588 return; 19589 Complex t; 19590 if (Utilities.noString(parentType)) 19591 t = parent; 19592 else { 19593 t = parent.predicate("fhir:"+parentType+'.'+name); 19594 } 19595 composeBackboneElement(t, "container", name, element, index); 19596 for (int i = 0; i < element.getIdentifier().size(); i++) { 19597 composeIdentifier(t, "SpecimenContainerComponent", "identifier", element.getIdentifier().get(i), i); 19598 } 19599 if (element.hasDescriptionElement()) { 19600 composeString(t, "SpecimenContainerComponent", "description", element.getDescriptionElement(), -1); 19601 } 19602 if (element.hasType()) { 19603 composeCodeableConcept(t, "SpecimenContainerComponent", "type", element.getType(), -1); 19604 } 19605 if (element.hasCapacity()) { 19606 composeQuantity(t, "SpecimenContainerComponent", "capacity", element.getCapacity(), -1); 19607 } 19608 if (element.hasSpecimenQuantity()) { 19609 composeQuantity(t, "SpecimenContainerComponent", "specimenQuantity", element.getSpecimenQuantity(), -1); 19610 } 19611 if (element.hasAdditive()) { 19612 composeType(t, "SpecimenContainerComponent", "additive", element.getAdditive(), -1); 19613 } 19614 } 19615 19616 protected void composeSpecimenDefinition(Complex parent, String parentType, String name, SpecimenDefinition element, int index) { 19617 if (element == null) 19618 return; 19619 Complex t; 19620 if (Utilities.noString(parentType)) 19621 t = parent; 19622 else { 19623 t = parent.predicate("fhir:"+parentType+'.'+name); 19624 } 19625 composeDomainResource(t, "SpecimenDefinition", name, element, index); 19626 if (element.hasIdentifier()) { 19627 composeIdentifier(t, "SpecimenDefinition", "identifier", element.getIdentifier(), -1); 19628 } 19629 if (element.hasTypeCollected()) { 19630 composeCodeableConcept(t, "SpecimenDefinition", "typeCollected", element.getTypeCollected(), -1); 19631 } 19632 for (int i = 0; i < element.getPatientPreparation().size(); i++) { 19633 composeCodeableConcept(t, "SpecimenDefinition", "patientPreparation", element.getPatientPreparation().get(i), i); 19634 } 19635 if (element.hasTimeAspectElement()) { 19636 composeString(t, "SpecimenDefinition", "timeAspect", element.getTimeAspectElement(), -1); 19637 } 19638 for (int i = 0; i < element.getCollection().size(); i++) { 19639 composeCodeableConcept(t, "SpecimenDefinition", "collection", element.getCollection().get(i), i); 19640 } 19641 for (int i = 0; i < element.getTypeTested().size(); i++) { 19642 composeSpecimenDefinitionTypeTestedComponent(t, "SpecimenDefinition", "typeTested", element.getTypeTested().get(i), i); 19643 } 19644 } 19645 19646 protected void composeSpecimenDefinitionTypeTestedComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedComponent element, int index) { 19647 if (element == null) 19648 return; 19649 Complex t; 19650 if (Utilities.noString(parentType)) 19651 t = parent; 19652 else { 19653 t = parent.predicate("fhir:"+parentType+'.'+name); 19654 } 19655 composeBackboneElement(t, "typeTested", name, element, index); 19656 if (element.hasIsDerivedElement()) { 19657 composeBoolean(t, "SpecimenDefinitionTypeTestedComponent", "isDerived", element.getIsDerivedElement(), -1); 19658 } 19659 if (element.hasType()) { 19660 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "type", element.getType(), -1); 19661 } 19662 if (element.hasPreferenceElement()) { 19663 composeEnum(t, "SpecimenDefinitionTypeTestedComponent", "preference", element.getPreferenceElement(), -1); 19664 } 19665 if (element.hasContainer()) { 19666 composeSpecimenDefinitionTypeTestedContainerComponent(t, "SpecimenDefinitionTypeTestedComponent", "container", element.getContainer(), -1); 19667 } 19668 if (element.hasRequirementElement()) { 19669 composeString(t, "SpecimenDefinitionTypeTestedComponent", "requirement", element.getRequirementElement(), -1); 19670 } 19671 if (element.hasRetentionTime()) { 19672 composeDuration(t, "SpecimenDefinitionTypeTestedComponent", "retentionTime", element.getRetentionTime(), -1); 19673 } 19674 for (int i = 0; i < element.getRejectionCriterion().size(); i++) { 19675 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "rejectionCriterion", element.getRejectionCriterion().get(i), i); 19676 } 19677 for (int i = 0; i < element.getHandling().size(); i++) { 19678 composeSpecimenDefinitionTypeTestedHandlingComponent(t, "SpecimenDefinitionTypeTestedComponent", "handling", element.getHandling().get(i), i); 19679 } 19680 } 19681 19682 protected void composeSpecimenDefinitionTypeTestedContainerComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent element, int index) { 19683 if (element == null) 19684 return; 19685 Complex t; 19686 if (Utilities.noString(parentType)) 19687 t = parent; 19688 else { 19689 t = parent.predicate("fhir:"+parentType+'.'+name); 19690 } 19691 composeBackboneElement(t, "container", name, element, index); 19692 if (element.hasMaterial()) { 19693 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "material", element.getMaterial(), -1); 19694 } 19695 if (element.hasType()) { 19696 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "type", element.getType(), -1); 19697 } 19698 if (element.hasCap()) { 19699 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "cap", element.getCap(), -1); 19700 } 19701 if (element.hasDescriptionElement()) { 19702 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "description", element.getDescriptionElement(), -1); 19703 } 19704 if (element.hasCapacity()) { 19705 composeQuantity(t, "SpecimenDefinitionTypeTestedContainerComponent", "capacity", element.getCapacity(), -1); 19706 } 19707 if (element.hasMinimumVolume()) { 19708 composeType(t, "SpecimenDefinitionTypeTestedContainerComponent", "minimumVolume", element.getMinimumVolume(), -1); 19709 } 19710 for (int i = 0; i < element.getAdditive().size(); i++) { 19711 composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(t, "SpecimenDefinitionTypeTestedContainerComponent", "additive", element.getAdditive().get(i), i); 19712 } 19713 if (element.hasPreparationElement()) { 19714 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "preparation", element.getPreparationElement(), -1); 19715 } 19716 } 19717 19718 protected void composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent element, int index) { 19719 if (element == null) 19720 return; 19721 Complex t; 19722 if (Utilities.noString(parentType)) 19723 t = parent; 19724 else { 19725 t = parent.predicate("fhir:"+parentType+'.'+name); 19726 } 19727 composeBackboneElement(t, "additive", name, element, index); 19728 if (element.hasAdditive()) { 19729 composeType(t, "SpecimenDefinitionTypeTestedContainerAdditiveComponent", "additive", element.getAdditive(), -1); 19730 } 19731 } 19732 19733 protected void composeSpecimenDefinitionTypeTestedHandlingComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent element, int index) { 19734 if (element == null) 19735 return; 19736 Complex t; 19737 if (Utilities.noString(parentType)) 19738 t = parent; 19739 else { 19740 t = parent.predicate("fhir:"+parentType+'.'+name); 19741 } 19742 composeBackboneElement(t, "handling", name, element, index); 19743 if (element.hasTemperatureQualifier()) { 19744 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureQualifier", element.getTemperatureQualifier(), -1); 19745 } 19746 if (element.hasTemperatureRange()) { 19747 composeRange(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureRange", element.getTemperatureRange(), -1); 19748 } 19749 if (element.hasMaxDuration()) { 19750 composeDuration(t, "SpecimenDefinitionTypeTestedHandlingComponent", "maxDuration", element.getMaxDuration(), -1); 19751 } 19752 if (element.hasInstructionElement()) { 19753 composeString(t, "SpecimenDefinitionTypeTestedHandlingComponent", "instruction", element.getInstructionElement(), -1); 19754 } 19755 } 19756 19757 protected void composeStructureDefinition(Complex parent, String parentType, String name, StructureDefinition element, int index) { 19758 if (element == null) 19759 return; 19760 Complex t; 19761 if (Utilities.noString(parentType)) 19762 t = parent; 19763 else { 19764 t = parent.predicate("fhir:"+parentType+'.'+name); 19765 } 19766 composeDomainResource(t, "StructureDefinition", name, element, index); 19767 if (element.hasUrlElement()) { 19768 composeUri(t, "StructureDefinition", "url", element.getUrlElement(), -1); 19769 } 19770 for (int i = 0; i < element.getIdentifier().size(); i++) { 19771 composeIdentifier(t, "StructureDefinition", "identifier", element.getIdentifier().get(i), i); 19772 } 19773 if (element.hasVersionElement()) { 19774 composeString(t, "StructureDefinition", "version", element.getVersionElement(), -1); 19775 } 19776 if (element.hasNameElement()) { 19777 composeString(t, "StructureDefinition", "name", element.getNameElement(), -1); 19778 } 19779 if (element.hasTitleElement()) { 19780 composeString(t, "StructureDefinition", "title", element.getTitleElement(), -1); 19781 } 19782 if (element.hasStatusElement()) { 19783 composeEnum(t, "StructureDefinition", "status", element.getStatusElement(), -1); 19784 } 19785 if (element.hasExperimentalElement()) { 19786 composeBoolean(t, "StructureDefinition", "experimental", element.getExperimentalElement(), -1); 19787 } 19788 if (element.hasDateElement()) { 19789 composeDateTime(t, "StructureDefinition", "date", element.getDateElement(), -1); 19790 } 19791 if (element.hasPublisherElement()) { 19792 composeString(t, "StructureDefinition", "publisher", element.getPublisherElement(), -1); 19793 } 19794 for (int i = 0; i < element.getContact().size(); i++) { 19795 composeContactDetail(t, "StructureDefinition", "contact", element.getContact().get(i), i); 19796 } 19797 if (element.hasDescriptionElement()) { 19798 composeMarkdown(t, "StructureDefinition", "description", element.getDescriptionElement(), -1); 19799 } 19800 for (int i = 0; i < element.getUseContext().size(); i++) { 19801 composeUsageContext(t, "StructureDefinition", "useContext", element.getUseContext().get(i), i); 19802 } 19803 for (int i = 0; i < element.getJurisdiction().size(); i++) { 19804 composeCodeableConcept(t, "StructureDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 19805 } 19806 if (element.hasPurposeElement()) { 19807 composeMarkdown(t, "StructureDefinition", "purpose", element.getPurposeElement(), -1); 19808 } 19809 if (element.hasCopyrightElement()) { 19810 composeMarkdown(t, "StructureDefinition", "copyright", element.getCopyrightElement(), -1); 19811 } 19812 for (int i = 0; i < element.getKeyword().size(); i++) { 19813 composeCoding(t, "StructureDefinition", "keyword", element.getKeyword().get(i), i); 19814 } 19815 if (element.hasFhirVersionElement()) { 19816 composeEnum(t, "StructureDefinition", "fhirVersion", element.getFhirVersionElement(), -1); 19817 } 19818 for (int i = 0; i < element.getMapping().size(); i++) { 19819 composeStructureDefinitionMappingComponent(t, "StructureDefinition", "mapping", element.getMapping().get(i), i); 19820 } 19821 if (element.hasKindElement()) { 19822 composeEnum(t, "StructureDefinition", "kind", element.getKindElement(), -1); 19823 } 19824 if (element.hasAbstractElement()) { 19825 composeBoolean(t, "StructureDefinition", "abstract", element.getAbstractElement(), -1); 19826 } 19827 for (int i = 0; i < element.getContext().size(); i++) { 19828 composeStructureDefinitionContextComponent(t, "StructureDefinition", "context", element.getContext().get(i), i); 19829 } 19830 for (int i = 0; i < element.getContextInvariant().size(); i++) { 19831 composeString(t, "StructureDefinition", "contextInvariant", element.getContextInvariant().get(i), i); 19832 } 19833 if (element.hasTypeElement()) { 19834 composeUri(t, "StructureDefinition", "type", element.getTypeElement(), -1); 19835 } 19836 if (element.hasBaseDefinitionElement()) { 19837 composeCanonical(t, "StructureDefinition", "baseDefinition", element.getBaseDefinitionElement(), -1); 19838 } 19839 if (element.hasDerivationElement()) { 19840 composeEnum(t, "StructureDefinition", "derivation", element.getDerivationElement(), -1); 19841 } 19842 if (element.hasSnapshot()) { 19843 composeStructureDefinitionSnapshotComponent(t, "StructureDefinition", "snapshot", element.getSnapshot(), -1); 19844 } 19845 if (element.hasDifferential()) { 19846 composeStructureDefinitionDifferentialComponent(t, "StructureDefinition", "differential", element.getDifferential(), -1); 19847 } 19848 } 19849 19850 protected void composeStructureDefinitionMappingComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionMappingComponent element, int index) { 19851 if (element == null) 19852 return; 19853 Complex t; 19854 if (Utilities.noString(parentType)) 19855 t = parent; 19856 else { 19857 t = parent.predicate("fhir:"+parentType+'.'+name); 19858 } 19859 composeBackboneElement(t, "mapping", name, element, index); 19860 if (element.hasIdentityElement()) { 19861 composeId(t, "StructureDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 19862 } 19863 if (element.hasUriElement()) { 19864 composeUri(t, "StructureDefinitionMappingComponent", "uri", element.getUriElement(), -1); 19865 } 19866 if (element.hasNameElement()) { 19867 composeString(t, "StructureDefinitionMappingComponent", "name", element.getNameElement(), -1); 19868 } 19869 if (element.hasCommentElement()) { 19870 composeString(t, "StructureDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 19871 } 19872 } 19873 19874 protected void composeStructureDefinitionContextComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionContextComponent element, int index) { 19875 if (element == null) 19876 return; 19877 Complex t; 19878 if (Utilities.noString(parentType)) 19879 t = parent; 19880 else { 19881 t = parent.predicate("fhir:"+parentType+'.'+name); 19882 } 19883 composeBackboneElement(t, "context", name, element, index); 19884 if (element.hasTypeElement()) { 19885 composeEnum(t, "StructureDefinitionContextComponent", "type", element.getTypeElement(), -1); 19886 } 19887 if (element.hasExpressionElement()) { 19888 composeString(t, "StructureDefinitionContextComponent", "expression", element.getExpressionElement(), -1); 19889 } 19890 } 19891 19892 protected void composeStructureDefinitionSnapshotComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionSnapshotComponent element, int index) { 19893 if (element == null) 19894 return; 19895 Complex t; 19896 if (Utilities.noString(parentType)) 19897 t = parent; 19898 else { 19899 t = parent.predicate("fhir:"+parentType+'.'+name); 19900 } 19901 composeBackboneElement(t, "snapshot", name, element, index); 19902 for (int i = 0; i < element.getElement().size(); i++) { 19903 composeElementDefinition(t, "StructureDefinitionSnapshotComponent", "element", element.getElement().get(i), i); 19904 } 19905 } 19906 19907 protected void composeStructureDefinitionDifferentialComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionDifferentialComponent element, int index) { 19908 if (element == null) 19909 return; 19910 Complex t; 19911 if (Utilities.noString(parentType)) 19912 t = parent; 19913 else { 19914 t = parent.predicate("fhir:"+parentType+'.'+name); 19915 } 19916 composeBackboneElement(t, "differential", name, element, index); 19917 for (int i = 0; i < element.getElement().size(); i++) { 19918 composeElementDefinition(t, "StructureDefinitionDifferentialComponent", "element", element.getElement().get(i), i); 19919 } 19920 } 19921 19922 protected void composeStructureMap(Complex parent, String parentType, String name, StructureMap element, int index) { 19923 if (element == null) 19924 return; 19925 Complex t; 19926 if (Utilities.noString(parentType)) 19927 t = parent; 19928 else { 19929 t = parent.predicate("fhir:"+parentType+'.'+name); 19930 } 19931 composeDomainResource(t, "StructureMap", name, element, index); 19932 if (element.hasUrlElement()) { 19933 composeUri(t, "StructureMap", "url", element.getUrlElement(), -1); 19934 } 19935 for (int i = 0; i < element.getIdentifier().size(); i++) { 19936 composeIdentifier(t, "StructureMap", "identifier", element.getIdentifier().get(i), i); 19937 } 19938 if (element.hasVersionElement()) { 19939 composeString(t, "StructureMap", "version", element.getVersionElement(), -1); 19940 } 19941 if (element.hasNameElement()) { 19942 composeString(t, "StructureMap", "name", element.getNameElement(), -1); 19943 } 19944 if (element.hasTitleElement()) { 19945 composeString(t, "StructureMap", "title", element.getTitleElement(), -1); 19946 } 19947 if (element.hasStatusElement()) { 19948 composeEnum(t, "StructureMap", "status", element.getStatusElement(), -1); 19949 } 19950 if (element.hasExperimentalElement()) { 19951 composeBoolean(t, "StructureMap", "experimental", element.getExperimentalElement(), -1); 19952 } 19953 if (element.hasDateElement()) { 19954 composeDateTime(t, "StructureMap", "date", element.getDateElement(), -1); 19955 } 19956 if (element.hasPublisherElement()) { 19957 composeString(t, "StructureMap", "publisher", element.getPublisherElement(), -1); 19958 } 19959 for (int i = 0; i < element.getContact().size(); i++) { 19960 composeContactDetail(t, "StructureMap", "contact", element.getContact().get(i), i); 19961 } 19962 if (element.hasDescriptionElement()) { 19963 composeMarkdown(t, "StructureMap", "description", element.getDescriptionElement(), -1); 19964 } 19965 for (int i = 0; i < element.getUseContext().size(); i++) { 19966 composeUsageContext(t, "StructureMap", "useContext", element.getUseContext().get(i), i); 19967 } 19968 for (int i = 0; i < element.getJurisdiction().size(); i++) { 19969 composeCodeableConcept(t, "StructureMap", "jurisdiction", element.getJurisdiction().get(i), i); 19970 } 19971 if (element.hasPurposeElement()) { 19972 composeMarkdown(t, "StructureMap", "purpose", element.getPurposeElement(), -1); 19973 } 19974 if (element.hasCopyrightElement()) { 19975 composeMarkdown(t, "StructureMap", "copyright", element.getCopyrightElement(), -1); 19976 } 19977 for (int i = 0; i < element.getStructure().size(); i++) { 19978 composeStructureMapStructureComponent(t, "StructureMap", "structure", element.getStructure().get(i), i); 19979 } 19980 for (int i = 0; i < element.getImport().size(); i++) { 19981 composeCanonical(t, "StructureMap", "import", element.getImport().get(i), i); 19982 } 19983 for (int i = 0; i < element.getGroup().size(); i++) { 19984 composeStructureMapGroupComponent(t, "StructureMap", "group", element.getGroup().get(i), i); 19985 } 19986 } 19987 19988 protected void composeStructureMapStructureComponent(Complex parent, String parentType, String name, StructureMap.StructureMapStructureComponent element, int index) { 19989 if (element == null) 19990 return; 19991 Complex t; 19992 if (Utilities.noString(parentType)) 19993 t = parent; 19994 else { 19995 t = parent.predicate("fhir:"+parentType+'.'+name); 19996 } 19997 composeBackboneElement(t, "structure", name, element, index); 19998 if (element.hasUrlElement()) { 19999 composeCanonical(t, "StructureMapStructureComponent", "url", element.getUrlElement(), -1); 20000 } 20001 if (element.hasModeElement()) { 20002 composeEnum(t, "StructureMapStructureComponent", "mode", element.getModeElement(), -1); 20003 } 20004 if (element.hasAliasElement()) { 20005 composeString(t, "StructureMapStructureComponent", "alias", element.getAliasElement(), -1); 20006 } 20007 if (element.hasDocumentationElement()) { 20008 composeString(t, "StructureMapStructureComponent", "documentation", element.getDocumentationElement(), -1); 20009 } 20010 } 20011 20012 protected void composeStructureMapGroupComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupComponent element, int index) { 20013 if (element == null) 20014 return; 20015 Complex t; 20016 if (Utilities.noString(parentType)) 20017 t = parent; 20018 else { 20019 t = parent.predicate("fhir:"+parentType+'.'+name); 20020 } 20021 composeBackboneElement(t, "group", name, element, index); 20022 if (element.hasNameElement()) { 20023 composeId(t, "StructureMapGroupComponent", "name", element.getNameElement(), -1); 20024 } 20025 if (element.hasExtendsElement()) { 20026 composeId(t, "StructureMapGroupComponent", "extends", element.getExtendsElement(), -1); 20027 } 20028 if (element.hasTypeModeElement()) { 20029 composeEnum(t, "StructureMapGroupComponent", "typeMode", element.getTypeModeElement(), -1); 20030 } 20031 if (element.hasDocumentationElement()) { 20032 composeString(t, "StructureMapGroupComponent", "documentation", element.getDocumentationElement(), -1); 20033 } 20034 for (int i = 0; i < element.getInput().size(); i++) { 20035 composeStructureMapGroupInputComponent(t, "StructureMapGroupComponent", "input", element.getInput().get(i), i); 20036 } 20037 for (int i = 0; i < element.getRule().size(); i++) { 20038 composeStructureMapGroupRuleComponent(t, "StructureMapGroupComponent", "rule", element.getRule().get(i), i); 20039 } 20040 } 20041 20042 protected void composeStructureMapGroupInputComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupInputComponent element, int index) { 20043 if (element == null) 20044 return; 20045 Complex t; 20046 if (Utilities.noString(parentType)) 20047 t = parent; 20048 else { 20049 t = parent.predicate("fhir:"+parentType+'.'+name); 20050 } 20051 composeBackboneElement(t, "input", name, element, index); 20052 if (element.hasNameElement()) { 20053 composeId(t, "StructureMapGroupInputComponent", "name", element.getNameElement(), -1); 20054 } 20055 if (element.hasTypeElement()) { 20056 composeString(t, "StructureMapGroupInputComponent", "type", element.getTypeElement(), -1); 20057 } 20058 if (element.hasModeElement()) { 20059 composeEnum(t, "StructureMapGroupInputComponent", "mode", element.getModeElement(), -1); 20060 } 20061 if (element.hasDocumentationElement()) { 20062 composeString(t, "StructureMapGroupInputComponent", "documentation", element.getDocumentationElement(), -1); 20063 } 20064 } 20065 20066 protected void composeStructureMapGroupRuleComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleComponent element, int index) { 20067 if (element == null) 20068 return; 20069 Complex t; 20070 if (Utilities.noString(parentType)) 20071 t = parent; 20072 else { 20073 t = parent.predicate("fhir:"+parentType+'.'+name); 20074 } 20075 composeBackboneElement(t, "rule", name, element, index); 20076 if (element.hasNameElement()) { 20077 composeId(t, "StructureMapGroupRuleComponent", "name", element.getNameElement(), -1); 20078 } 20079 for (int i = 0; i < element.getSource().size(); i++) { 20080 composeStructureMapGroupRuleSourceComponent(t, "StructureMapGroupRuleComponent", "source", element.getSource().get(i), i); 20081 } 20082 for (int i = 0; i < element.getTarget().size(); i++) { 20083 composeStructureMapGroupRuleTargetComponent(t, "StructureMapGroupRuleComponent", "target", element.getTarget().get(i), i); 20084 } 20085 for (int i = 0; i < element.getRule().size(); i++) { 20086 composeStructureMapGroupRuleComponent(t, "StructureMapGroupRuleComponent", "rule", element.getRule().get(i), i); 20087 } 20088 for (int i = 0; i < element.getDependent().size(); i++) { 20089 composeStructureMapGroupRuleDependentComponent(t, "StructureMapGroupRuleComponent", "dependent", element.getDependent().get(i), i); 20090 } 20091 if (element.hasDocumentationElement()) { 20092 composeString(t, "StructureMapGroupRuleComponent", "documentation", element.getDocumentationElement(), -1); 20093 } 20094 } 20095 20096 protected void composeStructureMapGroupRuleSourceComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleSourceComponent element, int index) { 20097 if (element == null) 20098 return; 20099 Complex t; 20100 if (Utilities.noString(parentType)) 20101 t = parent; 20102 else { 20103 t = parent.predicate("fhir:"+parentType+'.'+name); 20104 } 20105 composeBackboneElement(t, "source", name, element, index); 20106 if (element.hasContextElement()) { 20107 composeId(t, "StructureMapGroupRuleSourceComponent", "context", element.getContextElement(), -1); 20108 } 20109 if (element.hasMinElement()) { 20110 composeInteger(t, "StructureMapGroupRuleSourceComponent", "min", element.getMinElement(), -1); 20111 } 20112 if (element.hasMaxElement()) { 20113 composeString(t, "StructureMapGroupRuleSourceComponent", "max", element.getMaxElement(), -1); 20114 } 20115 if (element.hasTypeElement()) { 20116 composeString(t, "StructureMapGroupRuleSourceComponent", "type", element.getTypeElement(), -1); 20117 } 20118 if (element.hasDefaultValue()) { 20119 composeType(t, "StructureMapGroupRuleSourceComponent", "defaultValue", element.getDefaultValue(), -1); 20120 } 20121 if (element.hasElementElement()) { 20122 composeString(t, "StructureMapGroupRuleSourceComponent", "element", element.getElementElement(), -1); 20123 } 20124 if (element.hasListModeElement()) { 20125 composeEnum(t, "StructureMapGroupRuleSourceComponent", "listMode", element.getListModeElement(), -1); 20126 } 20127 if (element.hasVariableElement()) { 20128 composeId(t, "StructureMapGroupRuleSourceComponent", "variable", element.getVariableElement(), -1); 20129 } 20130 if (element.hasConditionElement()) { 20131 composeString(t, "StructureMapGroupRuleSourceComponent", "condition", element.getConditionElement(), -1); 20132 } 20133 if (element.hasCheckElement()) { 20134 composeString(t, "StructureMapGroupRuleSourceComponent", "check", element.getCheckElement(), -1); 20135 } 20136 if (element.hasLogMessageElement()) { 20137 composeString(t, "StructureMapGroupRuleSourceComponent", "logMessage", element.getLogMessageElement(), -1); 20138 } 20139 } 20140 20141 protected void composeStructureMapGroupRuleTargetComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetComponent element, int index) { 20142 if (element == null) 20143 return; 20144 Complex t; 20145 if (Utilities.noString(parentType)) 20146 t = parent; 20147 else { 20148 t = parent.predicate("fhir:"+parentType+'.'+name); 20149 } 20150 composeBackboneElement(t, "target", name, element, index); 20151 if (element.hasContextElement()) { 20152 composeId(t, "StructureMapGroupRuleTargetComponent", "context", element.getContextElement(), -1); 20153 } 20154 if (element.hasContextTypeElement()) { 20155 composeEnum(t, "StructureMapGroupRuleTargetComponent", "contextType", element.getContextTypeElement(), -1); 20156 } 20157 if (element.hasElementElement()) { 20158 composeString(t, "StructureMapGroupRuleTargetComponent", "element", element.getElementElement(), -1); 20159 } 20160 if (element.hasVariableElement()) { 20161 composeId(t, "StructureMapGroupRuleTargetComponent", "variable", element.getVariableElement(), -1); 20162 } 20163 for (int i = 0; i < element.getListMode().size(); i++) { 20164 composeEnum(t, "StructureMapGroupRuleTargetComponent", "listMode", element.getListMode().get(i), i); 20165 } 20166 if (element.hasListRuleIdElement()) { 20167 composeId(t, "StructureMapGroupRuleTargetComponent", "listRuleId", element.getListRuleIdElement(), -1); 20168 } 20169 if (element.hasTransformElement()) { 20170 composeEnum(t, "StructureMapGroupRuleTargetComponent", "transform", element.getTransformElement(), -1); 20171 } 20172 for (int i = 0; i < element.getParameter().size(); i++) { 20173 composeStructureMapGroupRuleTargetParameterComponent(t, "StructureMapGroupRuleTargetComponent", "parameter", element.getParameter().get(i), i); 20174 } 20175 } 20176 20177 protected void composeStructureMapGroupRuleTargetParameterComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetParameterComponent element, int index) { 20178 if (element == null) 20179 return; 20180 Complex t; 20181 if (Utilities.noString(parentType)) 20182 t = parent; 20183 else { 20184 t = parent.predicate("fhir:"+parentType+'.'+name); 20185 } 20186 composeBackboneElement(t, "parameter", name, element, index); 20187 if (element.hasValue()) { 20188 composeType(t, "StructureMapGroupRuleTargetParameterComponent", "value", element.getValue(), -1); 20189 } 20190 } 20191 20192 protected void composeStructureMapGroupRuleDependentComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleDependentComponent element, int index) { 20193 if (element == null) 20194 return; 20195 Complex t; 20196 if (Utilities.noString(parentType)) 20197 t = parent; 20198 else { 20199 t = parent.predicate("fhir:"+parentType+'.'+name); 20200 } 20201 composeBackboneElement(t, "dependent", name, element, index); 20202 if (element.hasNameElement()) { 20203 composeId(t, "StructureMapGroupRuleDependentComponent", "name", element.getNameElement(), -1); 20204 } 20205 for (int i = 0; i < element.getVariable().size(); i++) { 20206 composeString(t, "StructureMapGroupRuleDependentComponent", "variable", element.getVariable().get(i), i); 20207 } 20208 } 20209 20210 protected void composeSubscription(Complex parent, String parentType, String name, Subscription element, int index) { 20211 if (element == null) 20212 return; 20213 Complex t; 20214 if (Utilities.noString(parentType)) 20215 t = parent; 20216 else { 20217 t = parent.predicate("fhir:"+parentType+'.'+name); 20218 } 20219 composeDomainResource(t, "Subscription", name, element, index); 20220 if (element.hasStatusElement()) { 20221 composeEnum(t, "Subscription", "status", element.getStatusElement(), -1); 20222 } 20223 for (int i = 0; i < element.getContact().size(); i++) { 20224 composeContactPoint(t, "Subscription", "contact", element.getContact().get(i), i); 20225 } 20226 if (element.hasEndElement()) { 20227 composeInstant(t, "Subscription", "end", element.getEndElement(), -1); 20228 } 20229 if (element.hasReasonElement()) { 20230 composeString(t, "Subscription", "reason", element.getReasonElement(), -1); 20231 } 20232 if (element.hasCriteriaElement()) { 20233 composeString(t, "Subscription", "criteria", element.getCriteriaElement(), -1); 20234 } 20235 if (element.hasErrorElement()) { 20236 composeString(t, "Subscription", "error", element.getErrorElement(), -1); 20237 } 20238 if (element.hasChannel()) { 20239 composeSubscriptionChannelComponent(t, "Subscription", "channel", element.getChannel(), -1); 20240 } 20241 } 20242 20243 protected void composeSubscriptionChannelComponent(Complex parent, String parentType, String name, Subscription.SubscriptionChannelComponent element, int index) { 20244 if (element == null) 20245 return; 20246 Complex t; 20247 if (Utilities.noString(parentType)) 20248 t = parent; 20249 else { 20250 t = parent.predicate("fhir:"+parentType+'.'+name); 20251 } 20252 composeBackboneElement(t, "channel", name, element, index); 20253 if (element.hasTypeElement()) { 20254 composeEnum(t, "SubscriptionChannelComponent", "type", element.getTypeElement(), -1); 20255 } 20256 if (element.hasEndpointElement()) { 20257 composeUrl(t, "SubscriptionChannelComponent", "endpoint", element.getEndpointElement(), -1); 20258 } 20259 if (element.hasPayloadElement()) { 20260 composeCode(t, "SubscriptionChannelComponent", "payload", element.getPayloadElement(), -1); 20261 } 20262 for (int i = 0; i < element.getHeader().size(); i++) { 20263 composeString(t, "SubscriptionChannelComponent", "header", element.getHeader().get(i), i); 20264 } 20265 } 20266 20267 protected void composeSubscriptionStatus(Complex parent, String parentType, String name, SubscriptionStatus element, int index) { 20268 if (element == null) 20269 return; 20270 Complex t; 20271 if (Utilities.noString(parentType)) 20272 t = parent; 20273 else { 20274 t = parent.predicate("fhir:"+parentType+'.'+name); 20275 } 20276 composeDomainResource(t, "SubscriptionStatus", name, element, index); 20277 if (element.hasStatusElement()) { 20278 composeEnum(t, "SubscriptionStatus", "status", element.getStatusElement(), -1); 20279 } 20280 if (element.hasTypeElement()) { 20281 composeEnum(t, "SubscriptionStatus", "type", element.getTypeElement(), -1); 20282 } 20283 if (element.hasEventsSinceSubscriptionStartElement()) { 20284 composeString(t, "SubscriptionStatus", "eventsSinceSubscriptionStart", element.getEventsSinceSubscriptionStartElement(), -1); 20285 } 20286 if (element.hasEventsInNotificationElement()) { 20287 composeInteger(t, "SubscriptionStatus", "eventsInNotification", element.getEventsInNotificationElement(), -1); 20288 } 20289 for (int i = 0; i < element.getNotificationEvent().size(); i++) { 20290 composeSubscriptionStatusNotificationEventComponent(t, "SubscriptionStatus", "notificationEvent", element.getNotificationEvent().get(i), i); 20291 } 20292 if (element.hasSubscription()) { 20293 composeReference(t, "SubscriptionStatus", "subscription", element.getSubscription(), -1); 20294 } 20295 if (element.hasTopicElement()) { 20296 composeCanonical(t, "SubscriptionStatus", "topic", element.getTopicElement(), -1); 20297 } 20298 for (int i = 0; i < element.getError().size(); i++) { 20299 composeCodeableConcept(t, "SubscriptionStatus", "error", element.getError().get(i), i); 20300 } 20301 } 20302 20303 protected void composeSubscriptionStatusNotificationEventComponent(Complex parent, String parentType, String name, SubscriptionStatus.SubscriptionStatusNotificationEventComponent element, int index) { 20304 if (element == null) 20305 return; 20306 Complex t; 20307 if (Utilities.noString(parentType)) 20308 t = parent; 20309 else { 20310 t = parent.predicate("fhir:"+parentType+'.'+name); 20311 } 20312 composeBackboneElement(t, "notificationEvent", name, element, index); 20313 if (element.hasEventNumberElement()) { 20314 composeString(t, "SubscriptionStatusNotificationEventComponent", "eventNumber", element.getEventNumberElement(), -1); 20315 } 20316 if (element.hasTimestampElement()) { 20317 composeInstant(t, "SubscriptionStatusNotificationEventComponent", "timestamp", element.getTimestampElement(), -1); 20318 } 20319 if (element.hasFocus()) { 20320 composeReference(t, "SubscriptionStatusNotificationEventComponent", "focus", element.getFocus(), -1); 20321 } 20322 for (int i = 0; i < element.getAdditionalContext().size(); i++) { 20323 composeReference(t, "SubscriptionStatusNotificationEventComponent", "additionalContext", element.getAdditionalContext().get(i), i); 20324 } 20325 } 20326 20327 protected void composeSubscriptionTopic(Complex parent, String parentType, String name, SubscriptionTopic element, int index) { 20328 if (element == null) 20329 return; 20330 Complex t; 20331 if (Utilities.noString(parentType)) 20332 t = parent; 20333 else { 20334 t = parent.predicate("fhir:"+parentType+'.'+name); 20335 } 20336 composeDomainResource(t, "SubscriptionTopic", name, element, index); 20337 if (element.hasUrlElement()) { 20338 composeUri(t, "SubscriptionTopic", "url", element.getUrlElement(), -1); 20339 } 20340 for (int i = 0; i < element.getIdentifier().size(); i++) { 20341 composeIdentifier(t, "SubscriptionTopic", "identifier", element.getIdentifier().get(i), i); 20342 } 20343 if (element.hasVersionElement()) { 20344 composeString(t, "SubscriptionTopic", "version", element.getVersionElement(), -1); 20345 } 20346 if (element.hasTitleElement()) { 20347 composeString(t, "SubscriptionTopic", "title", element.getTitleElement(), -1); 20348 } 20349 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 20350 composeCanonical(t, "SubscriptionTopic", "derivedFrom", element.getDerivedFrom().get(i), i); 20351 } 20352 if (element.hasStatusElement()) { 20353 composeEnum(t, "SubscriptionTopic", "status", element.getStatusElement(), -1); 20354 } 20355 if (element.hasExperimentalElement()) { 20356 composeBoolean(t, "SubscriptionTopic", "experimental", element.getExperimentalElement(), -1); 20357 } 20358 if (element.hasDateElement()) { 20359 composeDateTime(t, "SubscriptionTopic", "date", element.getDateElement(), -1); 20360 } 20361 if (element.hasPublisherElement()) { 20362 composeString(t, "SubscriptionTopic", "publisher", element.getPublisherElement(), -1); 20363 } 20364 for (int i = 0; i < element.getContact().size(); i++) { 20365 composeContactDetail(t, "SubscriptionTopic", "contact", element.getContact().get(i), i); 20366 } 20367 if (element.hasDescriptionElement()) { 20368 composeMarkdown(t, "SubscriptionTopic", "description", element.getDescriptionElement(), -1); 20369 } 20370 for (int i = 0; i < element.getUseContext().size(); i++) { 20371 composeUsageContext(t, "SubscriptionTopic", "useContext", element.getUseContext().get(i), i); 20372 } 20373 for (int i = 0; i < element.getJurisdiction().size(); i++) { 20374 composeCodeableConcept(t, "SubscriptionTopic", "jurisdiction", element.getJurisdiction().get(i), i); 20375 } 20376 if (element.hasPurposeElement()) { 20377 composeMarkdown(t, "SubscriptionTopic", "purpose", element.getPurposeElement(), -1); 20378 } 20379 if (element.hasCopyrightElement()) { 20380 composeMarkdown(t, "SubscriptionTopic", "copyright", element.getCopyrightElement(), -1); 20381 } 20382 if (element.hasApprovalDateElement()) { 20383 composeDate(t, "SubscriptionTopic", "approvalDate", element.getApprovalDateElement(), -1); 20384 } 20385 if (element.hasLastReviewDateElement()) { 20386 composeDate(t, "SubscriptionTopic", "lastReviewDate", element.getLastReviewDateElement(), -1); 20387 } 20388 if (element.hasEffectivePeriod()) { 20389 composePeriod(t, "SubscriptionTopic", "effectivePeriod", element.getEffectivePeriod(), -1); 20390 } 20391 for (int i = 0; i < element.getResourceTrigger().size(); i++) { 20392 composeSubscriptionTopicResourceTriggerComponent(t, "SubscriptionTopic", "resourceTrigger", element.getResourceTrigger().get(i), i); 20393 } 20394 for (int i = 0; i < element.getEventTrigger().size(); i++) { 20395 composeSubscriptionTopicEventTriggerComponent(t, "SubscriptionTopic", "eventTrigger", element.getEventTrigger().get(i), i); 20396 } 20397 for (int i = 0; i < element.getCanFilterBy().size(); i++) { 20398 composeSubscriptionTopicCanFilterByComponent(t, "SubscriptionTopic", "canFilterBy", element.getCanFilterBy().get(i), i); 20399 } 20400 for (int i = 0; i < element.getNotificationShape().size(); i++) { 20401 composeSubscriptionTopicNotificationShapeComponent(t, "SubscriptionTopic", "notificationShape", element.getNotificationShape().get(i), i); 20402 } 20403 } 20404 20405 protected void composeSubscriptionTopicResourceTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerComponent element, int index) { 20406 if (element == null) 20407 return; 20408 Complex t; 20409 if (Utilities.noString(parentType)) 20410 t = parent; 20411 else { 20412 t = parent.predicate("fhir:"+parentType+'.'+name); 20413 } 20414 composeBackboneElement(t, "resourceTrigger", name, element, index); 20415 if (element.hasDescriptionElement()) { 20416 composeMarkdown(t, "SubscriptionTopicResourceTriggerComponent", "description", element.getDescriptionElement(), -1); 20417 } 20418 if (element.hasResourceElement()) { 20419 composeUri(t, "SubscriptionTopicResourceTriggerComponent", "resource", element.getResourceElement(), -1); 20420 } 20421 for (int i = 0; i < element.getSupportedInteraction().size(); i++) { 20422 composeEnum(t, "SubscriptionTopicResourceTriggerComponent", "supportedInteraction", element.getSupportedInteraction().get(i), i); 20423 } 20424 if (element.hasQueryCriteria()) { 20425 composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(t, "SubscriptionTopicResourceTriggerComponent", "queryCriteria", element.getQueryCriteria(), -1); 20426 } 20427 if (element.hasFhirPathCriteriaElement()) { 20428 composeString(t, "SubscriptionTopicResourceTriggerComponent", "fhirPathCriteria", element.getFhirPathCriteriaElement(), -1); 20429 } 20430 } 20431 20432 protected void composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent element, int index) { 20433 if (element == null) 20434 return; 20435 Complex t; 20436 if (Utilities.noString(parentType)) 20437 t = parent; 20438 else { 20439 t = parent.predicate("fhir:"+parentType+'.'+name); 20440 } 20441 composeBackboneElement(t, "queryCriteria", name, element, index); 20442 if (element.hasPreviousElement()) { 20443 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "previous", element.getPreviousElement(), -1); 20444 } 20445 if (element.hasResultForCreateElement()) { 20446 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForCreate", element.getResultForCreateElement(), -1); 20447 } 20448 if (element.hasCurrentElement()) { 20449 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "current", element.getCurrentElement(), -1); 20450 } 20451 if (element.hasResultForDeleteElement()) { 20452 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForDelete", element.getResultForDeleteElement(), -1); 20453 } 20454 if (element.hasRequireBothElement()) { 20455 composeBoolean(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "requireBoth", element.getRequireBothElement(), -1); 20456 } 20457 } 20458 20459 protected void composeSubscriptionTopicEventTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicEventTriggerComponent element, int index) { 20460 if (element == null) 20461 return; 20462 Complex t; 20463 if (Utilities.noString(parentType)) 20464 t = parent; 20465 else { 20466 t = parent.predicate("fhir:"+parentType+'.'+name); 20467 } 20468 composeBackboneElement(t, "eventTrigger", name, element, index); 20469 if (element.hasDescriptionElement()) { 20470 composeMarkdown(t, "SubscriptionTopicEventTriggerComponent", "description", element.getDescriptionElement(), -1); 20471 } 20472 if (element.hasEvent()) { 20473 composeCodeableConcept(t, "SubscriptionTopicEventTriggerComponent", "event", element.getEvent(), -1); 20474 } 20475 if (element.hasResourceElement()) { 20476 composeUri(t, "SubscriptionTopicEventTriggerComponent", "resource", element.getResourceElement(), -1); 20477 } 20478 } 20479 20480 protected void composeSubscriptionTopicCanFilterByComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicCanFilterByComponent element, int index) { 20481 if (element == null) 20482 return; 20483 Complex t; 20484 if (Utilities.noString(parentType)) 20485 t = parent; 20486 else { 20487 t = parent.predicate("fhir:"+parentType+'.'+name); 20488 } 20489 composeBackboneElement(t, "canFilterBy", name, element, index); 20490 if (element.hasDescriptionElement()) { 20491 composeMarkdown(t, "SubscriptionTopicCanFilterByComponent", "description", element.getDescriptionElement(), -1); 20492 } 20493 if (element.hasResourceElement()) { 20494 composeUri(t, "SubscriptionTopicCanFilterByComponent", "resource", element.getResourceElement(), -1); 20495 } 20496 if (element.hasFilterParameterElement()) { 20497 composeString(t, "SubscriptionTopicCanFilterByComponent", "filterParameter", element.getFilterParameterElement(), -1); 20498 } 20499 for (int i = 0; i < element.getModifier().size(); i++) { 20500 composeEnum(t, "SubscriptionTopicCanFilterByComponent", "modifier", element.getModifier().get(i), i); 20501 } 20502 } 20503 20504 protected void composeSubscriptionTopicNotificationShapeComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicNotificationShapeComponent element, int index) { 20505 if (element == null) 20506 return; 20507 Complex t; 20508 if (Utilities.noString(parentType)) 20509 t = parent; 20510 else { 20511 t = parent.predicate("fhir:"+parentType+'.'+name); 20512 } 20513 composeBackboneElement(t, "notificationShape", name, element, index); 20514 if (element.hasResourceElement()) { 20515 composeUri(t, "SubscriptionTopicNotificationShapeComponent", "resource", element.getResourceElement(), -1); 20516 } 20517 for (int i = 0; i < element.getInclude().size(); i++) { 20518 composeString(t, "SubscriptionTopicNotificationShapeComponent", "include", element.getInclude().get(i), i); 20519 } 20520 for (int i = 0; i < element.getRevInclude().size(); i++) { 20521 composeString(t, "SubscriptionTopicNotificationShapeComponent", "revInclude", element.getRevInclude().get(i), i); 20522 } 20523 } 20524 20525 protected void composeSubstance(Complex parent, String parentType, String name, Substance element, int index) { 20526 if (element == null) 20527 return; 20528 Complex t; 20529 if (Utilities.noString(parentType)) 20530 t = parent; 20531 else { 20532 t = parent.predicate("fhir:"+parentType+'.'+name); 20533 } 20534 composeDomainResource(t, "Substance", name, element, index); 20535 for (int i = 0; i < element.getIdentifier().size(); i++) { 20536 composeIdentifier(t, "Substance", "identifier", element.getIdentifier().get(i), i); 20537 } 20538 if (element.hasStatusElement()) { 20539 composeEnum(t, "Substance", "status", element.getStatusElement(), -1); 20540 } 20541 for (int i = 0; i < element.getCategory().size(); i++) { 20542 composeCodeableConcept(t, "Substance", "category", element.getCategory().get(i), i); 20543 } 20544 if (element.hasCode()) { 20545 composeCodeableConcept(t, "Substance", "code", element.getCode(), -1); 20546 } 20547 if (element.hasDescriptionElement()) { 20548 composeString(t, "Substance", "description", element.getDescriptionElement(), -1); 20549 } 20550 for (int i = 0; i < element.getInstance().size(); i++) { 20551 composeSubstanceInstanceComponent(t, "Substance", "instance", element.getInstance().get(i), i); 20552 } 20553 for (int i = 0; i < element.getIngredient().size(); i++) { 20554 composeSubstanceIngredientComponent(t, "Substance", "ingredient", element.getIngredient().get(i), i); 20555 } 20556 } 20557 20558 protected void composeSubstanceInstanceComponent(Complex parent, String parentType, String name, Substance.SubstanceInstanceComponent element, int index) { 20559 if (element == null) 20560 return; 20561 Complex t; 20562 if (Utilities.noString(parentType)) 20563 t = parent; 20564 else { 20565 t = parent.predicate("fhir:"+parentType+'.'+name); 20566 } 20567 composeBackboneElement(t, "instance", name, element, index); 20568 if (element.hasIdentifier()) { 20569 composeIdentifier(t, "SubstanceInstanceComponent", "identifier", element.getIdentifier(), -1); 20570 } 20571 if (element.hasExpiryElement()) { 20572 composeDateTime(t, "SubstanceInstanceComponent", "expiry", element.getExpiryElement(), -1); 20573 } 20574 if (element.hasQuantity()) { 20575 composeQuantity(t, "SubstanceInstanceComponent", "quantity", element.getQuantity(), -1); 20576 } 20577 } 20578 20579 protected void composeSubstanceIngredientComponent(Complex parent, String parentType, String name, Substance.SubstanceIngredientComponent element, int index) { 20580 if (element == null) 20581 return; 20582 Complex t; 20583 if (Utilities.noString(parentType)) 20584 t = parent; 20585 else { 20586 t = parent.predicate("fhir:"+parentType+'.'+name); 20587 } 20588 composeBackboneElement(t, "ingredient", name, element, index); 20589 if (element.hasQuantity()) { 20590 composeRatio(t, "SubstanceIngredientComponent", "quantity", element.getQuantity(), -1); 20591 } 20592 if (element.hasSubstance()) { 20593 composeType(t, "SubstanceIngredientComponent", "substance", element.getSubstance(), -1); 20594 } 20595 } 20596 20597 protected void composeSubstanceDefinition(Complex parent, String parentType, String name, SubstanceDefinition element, int index) { 20598 if (element == null) 20599 return; 20600 Complex t; 20601 if (Utilities.noString(parentType)) 20602 t = parent; 20603 else { 20604 t = parent.predicate("fhir:"+parentType+'.'+name); 20605 } 20606 composeDomainResource(t, "SubstanceDefinition", name, element, index); 20607 for (int i = 0; i < element.getIdentifier().size(); i++) { 20608 composeIdentifier(t, "SubstanceDefinition", "identifier", element.getIdentifier().get(i), i); 20609 } 20610 if (element.hasVersionElement()) { 20611 composeString(t, "SubstanceDefinition", "version", element.getVersionElement(), -1); 20612 } 20613 if (element.hasStatus()) { 20614 composeCodeableConcept(t, "SubstanceDefinition", "status", element.getStatus(), -1); 20615 } 20616 for (int i = 0; i < element.getClassification().size(); i++) { 20617 composeCodeableConcept(t, "SubstanceDefinition", "classification", element.getClassification().get(i), i); 20618 } 20619 if (element.hasDomain()) { 20620 composeCodeableConcept(t, "SubstanceDefinition", "domain", element.getDomain(), -1); 20621 } 20622 for (int i = 0; i < element.getGrade().size(); i++) { 20623 composeCodeableConcept(t, "SubstanceDefinition", "grade", element.getGrade().get(i), i); 20624 } 20625 if (element.hasDescriptionElement()) { 20626 composeMarkdown(t, "SubstanceDefinition", "description", element.getDescriptionElement(), -1); 20627 } 20628 for (int i = 0; i < element.getInformationSource().size(); i++) { 20629 composeReference(t, "SubstanceDefinition", "informationSource", element.getInformationSource().get(i), i); 20630 } 20631 for (int i = 0; i < element.getNote().size(); i++) { 20632 composeAnnotation(t, "SubstanceDefinition", "note", element.getNote().get(i), i); 20633 } 20634 for (int i = 0; i < element.getManufacturer().size(); i++) { 20635 composeReference(t, "SubstanceDefinition", "manufacturer", element.getManufacturer().get(i), i); 20636 } 20637 for (int i = 0; i < element.getSupplier().size(); i++) { 20638 composeReference(t, "SubstanceDefinition", "supplier", element.getSupplier().get(i), i); 20639 } 20640 for (int i = 0; i < element.getMoiety().size(); i++) { 20641 composeSubstanceDefinitionMoietyComponent(t, "SubstanceDefinition", "moiety", element.getMoiety().get(i), i); 20642 } 20643 for (int i = 0; i < element.getProperty().size(); i++) { 20644 composeSubstanceDefinitionPropertyComponent(t, "SubstanceDefinition", "property", element.getProperty().get(i), i); 20645 } 20646 for (int i = 0; i < element.getMolecularWeight().size(); i++) { 20647 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinition", "molecularWeight", element.getMolecularWeight().get(i), i); 20648 } 20649 if (element.hasStructure()) { 20650 composeSubstanceDefinitionStructureComponent(t, "SubstanceDefinition", "structure", element.getStructure(), -1); 20651 } 20652 for (int i = 0; i < element.getCode().size(); i++) { 20653 composeSubstanceDefinitionCodeComponent(t, "SubstanceDefinition", "code", element.getCode().get(i), i); 20654 } 20655 for (int i = 0; i < element.getName().size(); i++) { 20656 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinition", "name", element.getName().get(i), i); 20657 } 20658 for (int i = 0; i < element.getRelationship().size(); i++) { 20659 composeSubstanceDefinitionRelationshipComponent(t, "SubstanceDefinition", "relationship", element.getRelationship().get(i), i); 20660 } 20661 if (element.hasSourceMaterial()) { 20662 composeSubstanceDefinitionSourceMaterialComponent(t, "SubstanceDefinition", "sourceMaterial", element.getSourceMaterial(), -1); 20663 } 20664 } 20665 20666 protected void composeSubstanceDefinitionMoietyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMoietyComponent element, int index) { 20667 if (element == null) 20668 return; 20669 Complex t; 20670 if (Utilities.noString(parentType)) 20671 t = parent; 20672 else { 20673 t = parent.predicate("fhir:"+parentType+'.'+name); 20674 } 20675 composeBackboneElement(t, "moiety", name, element, index); 20676 if (element.hasRole()) { 20677 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "role", element.getRole(), -1); 20678 } 20679 if (element.hasIdentifier()) { 20680 composeIdentifier(t, "SubstanceDefinitionMoietyComponent", "identifier", element.getIdentifier(), -1); 20681 } 20682 if (element.hasNameElement()) { 20683 composeString(t, "SubstanceDefinitionMoietyComponent", "name", element.getNameElement(), -1); 20684 } 20685 if (element.hasStereochemistry()) { 20686 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "stereochemistry", element.getStereochemistry(), -1); 20687 } 20688 if (element.hasOpticalActivity()) { 20689 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "opticalActivity", element.getOpticalActivity(), -1); 20690 } 20691 if (element.hasMolecularFormulaElement()) { 20692 composeString(t, "SubstanceDefinitionMoietyComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 20693 } 20694 if (element.hasAmount()) { 20695 composeType(t, "SubstanceDefinitionMoietyComponent", "amount", element.getAmount(), -1); 20696 } 20697 if (element.hasAmountType()) { 20698 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "amountType", element.getAmountType(), -1); 20699 } 20700 } 20701 20702 protected void composeSubstanceDefinitionPropertyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionPropertyComponent element, int index) { 20703 if (element == null) 20704 return; 20705 Complex t; 20706 if (Utilities.noString(parentType)) 20707 t = parent; 20708 else { 20709 t = parent.predicate("fhir:"+parentType+'.'+name); 20710 } 20711 composeBackboneElement(t, "property", name, element, index); 20712 if (element.hasType()) { 20713 composeCodeableConcept(t, "SubstanceDefinitionPropertyComponent", "type", element.getType(), -1); 20714 } 20715 if (element.hasValue()) { 20716 composeType(t, "SubstanceDefinitionPropertyComponent", "value", element.getValue(), -1); 20717 } 20718 } 20719 20720 protected void composeSubstanceDefinitionMolecularWeightComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent element, int index) { 20721 if (element == null) 20722 return; 20723 Complex t; 20724 if (Utilities.noString(parentType)) 20725 t = parent; 20726 else { 20727 t = parent.predicate("fhir:"+parentType+'.'+name); 20728 } 20729 composeBackboneElement(t, "molecularWeight", name, element, index); 20730 if (element.hasMethod()) { 20731 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "method", element.getMethod(), -1); 20732 } 20733 if (element.hasType()) { 20734 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "type", element.getType(), -1); 20735 } 20736 if (element.hasAmount()) { 20737 composeQuantity(t, "SubstanceDefinitionMolecularWeightComponent", "amount", element.getAmount(), -1); 20738 } 20739 } 20740 20741 protected void composeSubstanceDefinitionStructureComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureComponent element, int index) { 20742 if (element == null) 20743 return; 20744 Complex t; 20745 if (Utilities.noString(parentType)) 20746 t = parent; 20747 else { 20748 t = parent.predicate("fhir:"+parentType+'.'+name); 20749 } 20750 composeBackboneElement(t, "structure", name, element, index); 20751 if (element.hasStereochemistry()) { 20752 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "stereochemistry", element.getStereochemistry(), -1); 20753 } 20754 if (element.hasOpticalActivity()) { 20755 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "opticalActivity", element.getOpticalActivity(), -1); 20756 } 20757 if (element.hasMolecularFormulaElement()) { 20758 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 20759 } 20760 if (element.hasMolecularFormulaByMoietyElement()) { 20761 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormulaByMoiety", element.getMolecularFormulaByMoietyElement(), -1); 20762 } 20763 if (element.hasMolecularWeight()) { 20764 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinitionStructureComponent", "molecularWeight", element.getMolecularWeight(), -1); 20765 } 20766 for (int i = 0; i < element.getTechnique().size(); i++) { 20767 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "technique", element.getTechnique().get(i), i); 20768 } 20769 for (int i = 0; i < element.getSourceDocument().size(); i++) { 20770 composeReference(t, "SubstanceDefinitionStructureComponent", "sourceDocument", element.getSourceDocument().get(i), i); 20771 } 20772 for (int i = 0; i < element.getRepresentation().size(); i++) { 20773 composeSubstanceDefinitionStructureRepresentationComponent(t, "SubstanceDefinitionStructureComponent", "representation", element.getRepresentation().get(i), i); 20774 } 20775 } 20776 20777 protected void composeSubstanceDefinitionStructureRepresentationComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent element, int index) { 20778 if (element == null) 20779 return; 20780 Complex t; 20781 if (Utilities.noString(parentType)) 20782 t = parent; 20783 else { 20784 t = parent.predicate("fhir:"+parentType+'.'+name); 20785 } 20786 composeBackboneElement(t, "representation", name, element, index); 20787 if (element.hasType()) { 20788 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "type", element.getType(), -1); 20789 } 20790 if (element.hasRepresentationElement()) { 20791 composeString(t, "SubstanceDefinitionStructureRepresentationComponent", "representation", element.getRepresentationElement(), -1); 20792 } 20793 if (element.hasFormat()) { 20794 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "format", element.getFormat(), -1); 20795 } 20796 if (element.hasDocument()) { 20797 composeReference(t, "SubstanceDefinitionStructureRepresentationComponent", "document", element.getDocument(), -1); 20798 } 20799 } 20800 20801 protected void composeSubstanceDefinitionCodeComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionCodeComponent element, int index) { 20802 if (element == null) 20803 return; 20804 Complex t; 20805 if (Utilities.noString(parentType)) 20806 t = parent; 20807 else { 20808 t = parent.predicate("fhir:"+parentType+'.'+name); 20809 } 20810 composeBackboneElement(t, "code", name, element, index); 20811 if (element.hasCode()) { 20812 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "code", element.getCode(), -1); 20813 } 20814 if (element.hasStatus()) { 20815 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "status", element.getStatus(), -1); 20816 } 20817 if (element.hasStatusDateElement()) { 20818 composeDateTime(t, "SubstanceDefinitionCodeComponent", "statusDate", element.getStatusDateElement(), -1); 20819 } 20820 for (int i = 0; i < element.getNote().size(); i++) { 20821 composeAnnotation(t, "SubstanceDefinitionCodeComponent", "note", element.getNote().get(i), i); 20822 } 20823 for (int i = 0; i < element.getSource().size(); i++) { 20824 composeReference(t, "SubstanceDefinitionCodeComponent", "source", element.getSource().get(i), i); 20825 } 20826 } 20827 20828 protected void composeSubstanceDefinitionNameComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameComponent element, int index) { 20829 if (element == null) 20830 return; 20831 Complex t; 20832 if (Utilities.noString(parentType)) 20833 t = parent; 20834 else { 20835 t = parent.predicate("fhir:"+parentType+'.'+name); 20836 } 20837 composeBackboneElement(t, "name", name, element, index); 20838 if (element.hasNameElement()) { 20839 composeString(t, "SubstanceDefinitionNameComponent", "name", element.getNameElement(), -1); 20840 } 20841 if (element.hasType()) { 20842 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "type", element.getType(), -1); 20843 } 20844 if (element.hasStatus()) { 20845 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "status", element.getStatus(), -1); 20846 } 20847 if (element.hasPreferredElement()) { 20848 composeBoolean(t, "SubstanceDefinitionNameComponent", "preferred", element.getPreferredElement(), -1); 20849 } 20850 for (int i = 0; i < element.getLanguage().size(); i++) { 20851 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "language", element.getLanguage().get(i), i); 20852 } 20853 for (int i = 0; i < element.getDomain().size(); i++) { 20854 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "domain", element.getDomain().get(i), i); 20855 } 20856 for (int i = 0; i < element.getJurisdiction().size(); i++) { 20857 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "jurisdiction", element.getJurisdiction().get(i), i); 20858 } 20859 for (int i = 0; i < element.getSynonym().size(); i++) { 20860 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "synonym", element.getSynonym().get(i), i); 20861 } 20862 for (int i = 0; i < element.getTranslation().size(); i++) { 20863 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "translation", element.getTranslation().get(i), i); 20864 } 20865 for (int i = 0; i < element.getOfficial().size(); i++) { 20866 composeSubstanceDefinitionNameOfficialComponent(t, "SubstanceDefinitionNameComponent", "official", element.getOfficial().get(i), i); 20867 } 20868 for (int i = 0; i < element.getSource().size(); i++) { 20869 composeReference(t, "SubstanceDefinitionNameComponent", "source", element.getSource().get(i), i); 20870 } 20871 } 20872 20873 protected void composeSubstanceDefinitionNameOfficialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameOfficialComponent element, int index) { 20874 if (element == null) 20875 return; 20876 Complex t; 20877 if (Utilities.noString(parentType)) 20878 t = parent; 20879 else { 20880 t = parent.predicate("fhir:"+parentType+'.'+name); 20881 } 20882 composeBackboneElement(t, "official", name, element, index); 20883 if (element.hasAuthority()) { 20884 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "authority", element.getAuthority(), -1); 20885 } 20886 if (element.hasStatus()) { 20887 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "status", element.getStatus(), -1); 20888 } 20889 if (element.hasDateElement()) { 20890 composeDateTime(t, "SubstanceDefinitionNameOfficialComponent", "date", element.getDateElement(), -1); 20891 } 20892 } 20893 20894 protected void composeSubstanceDefinitionRelationshipComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionRelationshipComponent element, int index) { 20895 if (element == null) 20896 return; 20897 Complex t; 20898 if (Utilities.noString(parentType)) 20899 t = parent; 20900 else { 20901 t = parent.predicate("fhir:"+parentType+'.'+name); 20902 } 20903 composeBackboneElement(t, "relationship", name, element, index); 20904 if (element.hasSubstanceDefinition()) { 20905 composeType(t, "SubstanceDefinitionRelationshipComponent", "substanceDefinition", element.getSubstanceDefinition(), -1); 20906 } 20907 if (element.hasType()) { 20908 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "type", element.getType(), -1); 20909 } 20910 if (element.hasIsDefiningElement()) { 20911 composeBoolean(t, "SubstanceDefinitionRelationshipComponent", "isDefining", element.getIsDefiningElement(), -1); 20912 } 20913 if (element.hasAmount()) { 20914 composeType(t, "SubstanceDefinitionRelationshipComponent", "amount", element.getAmount(), -1); 20915 } 20916 if (element.hasAmountRatioHighLimit()) { 20917 composeRatio(t, "SubstanceDefinitionRelationshipComponent", "amountRatioHighLimit", element.getAmountRatioHighLimit(), -1); 20918 } 20919 if (element.hasAmountType()) { 20920 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "amountType", element.getAmountType(), -1); 20921 } 20922 for (int i = 0; i < element.getSource().size(); i++) { 20923 composeReference(t, "SubstanceDefinitionRelationshipComponent", "source", element.getSource().get(i), i); 20924 } 20925 } 20926 20927 protected void composeSubstanceDefinitionSourceMaterialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent element, int index) { 20928 if (element == null) 20929 return; 20930 Complex t; 20931 if (Utilities.noString(parentType)) 20932 t = parent; 20933 else { 20934 t = parent.predicate("fhir:"+parentType+'.'+name); 20935 } 20936 composeBackboneElement(t, "sourceMaterial", name, element, index); 20937 if (element.hasType()) { 20938 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "type", element.getType(), -1); 20939 } 20940 if (element.hasGenus()) { 20941 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "genus", element.getGenus(), -1); 20942 } 20943 if (element.hasSpecies()) { 20944 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "species", element.getSpecies(), -1); 20945 } 20946 if (element.hasPart()) { 20947 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "part", element.getPart(), -1); 20948 } 20949 for (int i = 0; i < element.getCountryOfOrigin().size(); i++) { 20950 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "countryOfOrigin", element.getCountryOfOrigin().get(i), i); 20951 } 20952 } 20953 20954 protected void composeSupplyDelivery(Complex parent, String parentType, String name, SupplyDelivery element, int index) { 20955 if (element == null) 20956 return; 20957 Complex t; 20958 if (Utilities.noString(parentType)) 20959 t = parent; 20960 else { 20961 t = parent.predicate("fhir:"+parentType+'.'+name); 20962 } 20963 composeDomainResource(t, "SupplyDelivery", name, element, index); 20964 for (int i = 0; i < element.getIdentifier().size(); i++) { 20965 composeIdentifier(t, "SupplyDelivery", "identifier", element.getIdentifier().get(i), i); 20966 } 20967 for (int i = 0; i < element.getBasedOn().size(); i++) { 20968 composeReference(t, "SupplyDelivery", "basedOn", element.getBasedOn().get(i), i); 20969 } 20970 for (int i = 0; i < element.getPartOf().size(); i++) { 20971 composeReference(t, "SupplyDelivery", "partOf", element.getPartOf().get(i), i); 20972 } 20973 if (element.hasStatusElement()) { 20974 composeEnum(t, "SupplyDelivery", "status", element.getStatusElement(), -1); 20975 } 20976 if (element.hasPatient()) { 20977 composeReference(t, "SupplyDelivery", "patient", element.getPatient(), -1); 20978 } 20979 if (element.hasType()) { 20980 composeCodeableConcept(t, "SupplyDelivery", "type", element.getType(), -1); 20981 } 20982 if (element.hasSuppliedItem()) { 20983 composeSupplyDeliverySuppliedItemComponent(t, "SupplyDelivery", "suppliedItem", element.getSuppliedItem(), -1); 20984 } 20985 if (element.hasOccurrence()) { 20986 composeType(t, "SupplyDelivery", "occurrence", element.getOccurrence(), -1); 20987 } 20988 if (element.hasSupplier()) { 20989 composeReference(t, "SupplyDelivery", "supplier", element.getSupplier(), -1); 20990 } 20991 if (element.hasDestination()) { 20992 composeReference(t, "SupplyDelivery", "destination", element.getDestination(), -1); 20993 } 20994 for (int i = 0; i < element.getReceiver().size(); i++) { 20995 composeReference(t, "SupplyDelivery", "receiver", element.getReceiver().get(i), i); 20996 } 20997 } 20998 20999 protected void composeSupplyDeliverySuppliedItemComponent(Complex parent, String parentType, String name, SupplyDelivery.SupplyDeliverySuppliedItemComponent element, int index) { 21000 if (element == null) 21001 return; 21002 Complex t; 21003 if (Utilities.noString(parentType)) 21004 t = parent; 21005 else { 21006 t = parent.predicate("fhir:"+parentType+'.'+name); 21007 } 21008 composeBackboneElement(t, "suppliedItem", name, element, index); 21009 if (element.hasQuantity()) { 21010 composeQuantity(t, "SupplyDeliverySuppliedItemComponent", "quantity", element.getQuantity(), -1); 21011 } 21012 if (element.hasItem()) { 21013 composeType(t, "SupplyDeliverySuppliedItemComponent", "item", element.getItem(), -1); 21014 } 21015 } 21016 21017 protected void composeSupplyRequest(Complex parent, String parentType, String name, SupplyRequest element, int index) { 21018 if (element == null) 21019 return; 21020 Complex t; 21021 if (Utilities.noString(parentType)) 21022 t = parent; 21023 else { 21024 t = parent.predicate("fhir:"+parentType+'.'+name); 21025 } 21026 composeDomainResource(t, "SupplyRequest", name, element, index); 21027 for (int i = 0; i < element.getIdentifier().size(); i++) { 21028 composeIdentifier(t, "SupplyRequest", "identifier", element.getIdentifier().get(i), i); 21029 } 21030 if (element.hasStatusElement()) { 21031 composeEnum(t, "SupplyRequest", "status", element.getStatusElement(), -1); 21032 } 21033 if (element.hasCategory()) { 21034 composeCodeableConcept(t, "SupplyRequest", "category", element.getCategory(), -1); 21035 } 21036 if (element.hasPriorityElement()) { 21037 composeEnum(t, "SupplyRequest", "priority", element.getPriorityElement(), -1); 21038 } 21039 if (element.hasItem()) { 21040 composeType(t, "SupplyRequest", "item", element.getItem(), -1); 21041 } 21042 if (element.hasQuantity()) { 21043 composeQuantity(t, "SupplyRequest", "quantity", element.getQuantity(), -1); 21044 } 21045 for (int i = 0; i < element.getParameter().size(); i++) { 21046 composeSupplyRequestParameterComponent(t, "SupplyRequest", "parameter", element.getParameter().get(i), i); 21047 } 21048 if (element.hasOccurrence()) { 21049 composeType(t, "SupplyRequest", "occurrence", element.getOccurrence(), -1); 21050 } 21051 if (element.hasAuthoredOnElement()) { 21052 composeDateTime(t, "SupplyRequest", "authoredOn", element.getAuthoredOnElement(), -1); 21053 } 21054 if (element.hasRequester()) { 21055 composeReference(t, "SupplyRequest", "requester", element.getRequester(), -1); 21056 } 21057 for (int i = 0; i < element.getSupplier().size(); i++) { 21058 composeReference(t, "SupplyRequest", "supplier", element.getSupplier().get(i), i); 21059 } 21060 for (int i = 0; i < element.getReasonCode().size(); i++) { 21061 composeCodeableConcept(t, "SupplyRequest", "reasonCode", element.getReasonCode().get(i), i); 21062 } 21063 for (int i = 0; i < element.getReasonReference().size(); i++) { 21064 composeReference(t, "SupplyRequest", "reasonReference", element.getReasonReference().get(i), i); 21065 } 21066 if (element.hasDeliverFrom()) { 21067 composeReference(t, "SupplyRequest", "deliverFrom", element.getDeliverFrom(), -1); 21068 } 21069 if (element.hasDeliverTo()) { 21070 composeReference(t, "SupplyRequest", "deliverTo", element.getDeliverTo(), -1); 21071 } 21072 } 21073 21074 protected void composeSupplyRequestParameterComponent(Complex parent, String parentType, String name, SupplyRequest.SupplyRequestParameterComponent element, int index) { 21075 if (element == null) 21076 return; 21077 Complex t; 21078 if (Utilities.noString(parentType)) 21079 t = parent; 21080 else { 21081 t = parent.predicate("fhir:"+parentType+'.'+name); 21082 } 21083 composeBackboneElement(t, "parameter", name, element, index); 21084 if (element.hasCode()) { 21085 composeCodeableConcept(t, "SupplyRequestParameterComponent", "code", element.getCode(), -1); 21086 } 21087 if (element.hasValue()) { 21088 composeType(t, "SupplyRequestParameterComponent", "value", element.getValue(), -1); 21089 } 21090 } 21091 21092 protected void composeTask(Complex parent, String parentType, String name, Task element, int index) { 21093 if (element == null) 21094 return; 21095 Complex t; 21096 if (Utilities.noString(parentType)) 21097 t = parent; 21098 else { 21099 t = parent.predicate("fhir:"+parentType+'.'+name); 21100 } 21101 composeDomainResource(t, "Task", name, element, index); 21102 for (int i = 0; i < element.getIdentifier().size(); i++) { 21103 composeIdentifier(t, "Task", "identifier", element.getIdentifier().get(i), i); 21104 } 21105 if (element.hasInstantiatesCanonicalElement()) { 21106 composeCanonical(t, "Task", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 21107 } 21108 if (element.hasInstantiatesUriElement()) { 21109 composeUri(t, "Task", "instantiatesUri", element.getInstantiatesUriElement(), -1); 21110 } 21111 for (int i = 0; i < element.getBasedOn().size(); i++) { 21112 composeReference(t, "Task", "basedOn", element.getBasedOn().get(i), i); 21113 } 21114 if (element.hasGroupIdentifier()) { 21115 composeIdentifier(t, "Task", "groupIdentifier", element.getGroupIdentifier(), -1); 21116 } 21117 for (int i = 0; i < element.getPartOf().size(); i++) { 21118 composeReference(t, "Task", "partOf", element.getPartOf().get(i), i); 21119 } 21120 if (element.hasStatusElement()) { 21121 composeEnum(t, "Task", "status", element.getStatusElement(), -1); 21122 } 21123 if (element.hasStatusReason()) { 21124 composeCodeableConcept(t, "Task", "statusReason", element.getStatusReason(), -1); 21125 } 21126 if (element.hasBusinessStatus()) { 21127 composeCodeableConcept(t, "Task", "businessStatus", element.getBusinessStatus(), -1); 21128 } 21129 if (element.hasIntentElement()) { 21130 composeEnum(t, "Task", "intent", element.getIntentElement(), -1); 21131 } 21132 if (element.hasPriorityElement()) { 21133 composeEnum(t, "Task", "priority", element.getPriorityElement(), -1); 21134 } 21135 if (element.hasCode()) { 21136 composeCodeableConcept(t, "Task", "code", element.getCode(), -1); 21137 } 21138 if (element.hasDescriptionElement()) { 21139 composeString(t, "Task", "description", element.getDescriptionElement(), -1); 21140 } 21141 if (element.hasFocus()) { 21142 composeReference(t, "Task", "focus", element.getFocus(), -1); 21143 } 21144 if (element.hasFor()) { 21145 composeReference(t, "Task", "for", element.getFor(), -1); 21146 } 21147 if (element.hasEncounter()) { 21148 composeReference(t, "Task", "encounter", element.getEncounter(), -1); 21149 } 21150 if (element.hasExecutionPeriod()) { 21151 composePeriod(t, "Task", "executionPeriod", element.getExecutionPeriod(), -1); 21152 } 21153 if (element.hasAuthoredOnElement()) { 21154 composeDateTime(t, "Task", "authoredOn", element.getAuthoredOnElement(), -1); 21155 } 21156 if (element.hasLastModifiedElement()) { 21157 composeDateTime(t, "Task", "lastModified", element.getLastModifiedElement(), -1); 21158 } 21159 if (element.hasRequester()) { 21160 composeReference(t, "Task", "requester", element.getRequester(), -1); 21161 } 21162 for (int i = 0; i < element.getPerformerType().size(); i++) { 21163 composeCodeableConcept(t, "Task", "performerType", element.getPerformerType().get(i), i); 21164 } 21165 if (element.hasOwner()) { 21166 composeReference(t, "Task", "owner", element.getOwner(), -1); 21167 } 21168 if (element.hasLocation()) { 21169 composeReference(t, "Task", "location", element.getLocation(), -1); 21170 } 21171 if (element.hasReasonCode()) { 21172 composeCodeableConcept(t, "Task", "reasonCode", element.getReasonCode(), -1); 21173 } 21174 if (element.hasReasonReference()) { 21175 composeReference(t, "Task", "reasonReference", element.getReasonReference(), -1); 21176 } 21177 for (int i = 0; i < element.getInsurance().size(); i++) { 21178 composeReference(t, "Task", "insurance", element.getInsurance().get(i), i); 21179 } 21180 for (int i = 0; i < element.getNote().size(); i++) { 21181 composeAnnotation(t, "Task", "note", element.getNote().get(i), i); 21182 } 21183 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 21184 composeReference(t, "Task", "relevantHistory", element.getRelevantHistory().get(i), i); 21185 } 21186 if (element.hasRestriction()) { 21187 composeTaskRestrictionComponent(t, "Task", "restriction", element.getRestriction(), -1); 21188 } 21189 for (int i = 0; i < element.getInput().size(); i++) { 21190 composeTaskParameterComponent(t, "Task", "input", element.getInput().get(i), i); 21191 } 21192 for (int i = 0; i < element.getOutput().size(); i++) { 21193 composeTaskOutputComponent(t, "Task", "output", element.getOutput().get(i), i); 21194 } 21195 } 21196 21197 protected void composeTaskRestrictionComponent(Complex parent, String parentType, String name, Task.TaskRestrictionComponent element, int index) { 21198 if (element == null) 21199 return; 21200 Complex t; 21201 if (Utilities.noString(parentType)) 21202 t = parent; 21203 else { 21204 t = parent.predicate("fhir:"+parentType+'.'+name); 21205 } 21206 composeBackboneElement(t, "restriction", name, element, index); 21207 if (element.hasRepetitionsElement()) { 21208 composePositiveInt(t, "TaskRestrictionComponent", "repetitions", element.getRepetitionsElement(), -1); 21209 } 21210 if (element.hasPeriod()) { 21211 composePeriod(t, "TaskRestrictionComponent", "period", element.getPeriod(), -1); 21212 } 21213 for (int i = 0; i < element.getRecipient().size(); i++) { 21214 composeReference(t, "TaskRestrictionComponent", "recipient", element.getRecipient().get(i), i); 21215 } 21216 } 21217 21218 protected void composeTaskParameterComponent(Complex parent, String parentType, String name, Task.ParameterComponent element, int index) { 21219 if (element == null) 21220 return; 21221 Complex t; 21222 if (Utilities.noString(parentType)) 21223 t = parent; 21224 else { 21225 t = parent.predicate("fhir:"+parentType+'.'+name); 21226 } 21227 composeBackboneElement(t, "input", name, element, index); 21228 if (element.hasType()) { 21229 composeCodeableConcept(t, "ParameterComponent", "type", element.getType(), -1); 21230 } 21231 if (element.hasValue()) { 21232 composeType(t, "ParameterComponent", "value", element.getValue(), -1); 21233 } 21234 } 21235 21236 protected void composeTaskOutputComponent(Complex parent, String parentType, String name, Task.TaskOutputComponent element, int index) { 21237 if (element == null) 21238 return; 21239 Complex t; 21240 if (Utilities.noString(parentType)) 21241 t = parent; 21242 else { 21243 t = parent.predicate("fhir:"+parentType+'.'+name); 21244 } 21245 composeBackboneElement(t, "output", name, element, index); 21246 if (element.hasType()) { 21247 composeCodeableConcept(t, "TaskOutputComponent", "type", element.getType(), -1); 21248 } 21249 if (element.hasValue()) { 21250 composeType(t, "TaskOutputComponent", "value", element.getValue(), -1); 21251 } 21252 } 21253 21254 protected void composeTerminologyCapabilities(Complex parent, String parentType, String name, TerminologyCapabilities element, int index) { 21255 if (element == null) 21256 return; 21257 Complex t; 21258 if (Utilities.noString(parentType)) 21259 t = parent; 21260 else { 21261 t = parent.predicate("fhir:"+parentType+'.'+name); 21262 } 21263 composeDomainResource(t, "TerminologyCapabilities", name, element, index); 21264 if (element.hasUrlElement()) { 21265 composeUri(t, "TerminologyCapabilities", "url", element.getUrlElement(), -1); 21266 } 21267 if (element.hasVersionElement()) { 21268 composeString(t, "TerminologyCapabilities", "version", element.getVersionElement(), -1); 21269 } 21270 if (element.hasNameElement()) { 21271 composeString(t, "TerminologyCapabilities", "name", element.getNameElement(), -1); 21272 } 21273 if (element.hasTitleElement()) { 21274 composeString(t, "TerminologyCapabilities", "title", element.getTitleElement(), -1); 21275 } 21276 if (element.hasStatusElement()) { 21277 composeEnum(t, "TerminologyCapabilities", "status", element.getStatusElement(), -1); 21278 } 21279 if (element.hasExperimentalElement()) { 21280 composeBoolean(t, "TerminologyCapabilities", "experimental", element.getExperimentalElement(), -1); 21281 } 21282 if (element.hasDateElement()) { 21283 composeDateTime(t, "TerminologyCapabilities", "date", element.getDateElement(), -1); 21284 } 21285 if (element.hasPublisherElement()) { 21286 composeString(t, "TerminologyCapabilities", "publisher", element.getPublisherElement(), -1); 21287 } 21288 for (int i = 0; i < element.getContact().size(); i++) { 21289 composeContactDetail(t, "TerminologyCapabilities", "contact", element.getContact().get(i), i); 21290 } 21291 if (element.hasDescriptionElement()) { 21292 composeMarkdown(t, "TerminologyCapabilities", "description", element.getDescriptionElement(), -1); 21293 } 21294 for (int i = 0; i < element.getUseContext().size(); i++) { 21295 composeUsageContext(t, "TerminologyCapabilities", "useContext", element.getUseContext().get(i), i); 21296 } 21297 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21298 composeCodeableConcept(t, "TerminologyCapabilities", "jurisdiction", element.getJurisdiction().get(i), i); 21299 } 21300 if (element.hasPurposeElement()) { 21301 composeMarkdown(t, "TerminologyCapabilities", "purpose", element.getPurposeElement(), -1); 21302 } 21303 if (element.hasCopyrightElement()) { 21304 composeMarkdown(t, "TerminologyCapabilities", "copyright", element.getCopyrightElement(), -1); 21305 } 21306 if (element.hasKindElement()) { 21307 composeEnum(t, "TerminologyCapabilities", "kind", element.getKindElement(), -1); 21308 } 21309 if (element.hasSoftware()) { 21310 composeTerminologyCapabilitiesSoftwareComponent(t, "TerminologyCapabilities", "software", element.getSoftware(), -1); 21311 } 21312 if (element.hasImplementation()) { 21313 composeTerminologyCapabilitiesImplementationComponent(t, "TerminologyCapabilities", "implementation", element.getImplementation(), -1); 21314 } 21315 if (element.hasLockedDateElement()) { 21316 composeBoolean(t, "TerminologyCapabilities", "lockedDate", element.getLockedDateElement(), -1); 21317 } 21318 for (int i = 0; i < element.getCodeSystem().size(); i++) { 21319 composeTerminologyCapabilitiesCodeSystemComponent(t, "TerminologyCapabilities", "codeSystem", element.getCodeSystem().get(i), i); 21320 } 21321 if (element.hasExpansion()) { 21322 composeTerminologyCapabilitiesExpansionComponent(t, "TerminologyCapabilities", "expansion", element.getExpansion(), -1); 21323 } 21324 if (element.hasCodeSearchElement()) { 21325 composeEnum(t, "TerminologyCapabilities", "codeSearch", element.getCodeSearchElement(), -1); 21326 } 21327 if (element.hasValidateCode()) { 21328 composeTerminologyCapabilitiesValidateCodeComponent(t, "TerminologyCapabilities", "validateCode", element.getValidateCode(), -1); 21329 } 21330 if (element.hasTranslation()) { 21331 composeTerminologyCapabilitiesTranslationComponent(t, "TerminologyCapabilities", "translation", element.getTranslation(), -1); 21332 } 21333 if (element.hasClosure()) { 21334 composeTerminologyCapabilitiesClosureComponent(t, "TerminologyCapabilities", "closure", element.getClosure(), -1); 21335 } 21336 } 21337 21338 protected void composeTerminologyCapabilitiesSoftwareComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent element, int index) { 21339 if (element == null) 21340 return; 21341 Complex t; 21342 if (Utilities.noString(parentType)) 21343 t = parent; 21344 else { 21345 t = parent.predicate("fhir:"+parentType+'.'+name); 21346 } 21347 composeBackboneElement(t, "software", name, element, index); 21348 if (element.hasNameElement()) { 21349 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "name", element.getNameElement(), -1); 21350 } 21351 if (element.hasVersionElement()) { 21352 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "version", element.getVersionElement(), -1); 21353 } 21354 } 21355 21356 protected void composeTerminologyCapabilitiesImplementationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent element, int index) { 21357 if (element == null) 21358 return; 21359 Complex t; 21360 if (Utilities.noString(parentType)) 21361 t = parent; 21362 else { 21363 t = parent.predicate("fhir:"+parentType+'.'+name); 21364 } 21365 composeBackboneElement(t, "implementation", name, element, index); 21366 if (element.hasDescriptionElement()) { 21367 composeString(t, "TerminologyCapabilitiesImplementationComponent", "description", element.getDescriptionElement(), -1); 21368 } 21369 if (element.hasUrlElement()) { 21370 composeUrl(t, "TerminologyCapabilitiesImplementationComponent", "url", element.getUrlElement(), -1); 21371 } 21372 } 21373 21374 protected void composeTerminologyCapabilitiesCodeSystemComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent element, int index) { 21375 if (element == null) 21376 return; 21377 Complex t; 21378 if (Utilities.noString(parentType)) 21379 t = parent; 21380 else { 21381 t = parent.predicate("fhir:"+parentType+'.'+name); 21382 } 21383 composeBackboneElement(t, "codeSystem", name, element, index); 21384 if (element.hasUriElement()) { 21385 composeCanonical(t, "TerminologyCapabilitiesCodeSystemComponent", "uri", element.getUriElement(), -1); 21386 } 21387 for (int i = 0; i < element.getVersion().size(); i++) { 21388 composeTerminologyCapabilitiesCodeSystemVersionComponent(t, "TerminologyCapabilitiesCodeSystemComponent", "version", element.getVersion().get(i), i); 21389 } 21390 if (element.hasSubsumptionElement()) { 21391 composeBoolean(t, "TerminologyCapabilitiesCodeSystemComponent", "subsumption", element.getSubsumptionElement(), -1); 21392 } 21393 } 21394 21395 protected void composeTerminologyCapabilitiesCodeSystemVersionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent element, int index) { 21396 if (element == null) 21397 return; 21398 Complex t; 21399 if (Utilities.noString(parentType)) 21400 t = parent; 21401 else { 21402 t = parent.predicate("fhir:"+parentType+'.'+name); 21403 } 21404 composeBackboneElement(t, "version", name, element, index); 21405 if (element.hasCodeElement()) { 21406 composeString(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "code", element.getCodeElement(), -1); 21407 } 21408 if (element.hasIsDefaultElement()) { 21409 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "isDefault", element.getIsDefaultElement(), -1); 21410 } 21411 if (element.hasCompositionalElement()) { 21412 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "compositional", element.getCompositionalElement(), -1); 21413 } 21414 for (int i = 0; i < element.getLanguage().size(); i++) { 21415 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "language", element.getLanguage().get(i), i); 21416 } 21417 for (int i = 0; i < element.getFilter().size(); i++) { 21418 composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "filter", element.getFilter().get(i), i); 21419 } 21420 for (int i = 0; i < element.getProperty().size(); i++) { 21421 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "property", element.getProperty().get(i), i); 21422 } 21423 } 21424 21425 protected void composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent element, int index) { 21426 if (element == null) 21427 return; 21428 Complex t; 21429 if (Utilities.noString(parentType)) 21430 t = parent; 21431 else { 21432 t = parent.predicate("fhir:"+parentType+'.'+name); 21433 } 21434 composeBackboneElement(t, "filter", name, element, index); 21435 if (element.hasCodeElement()) { 21436 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "code", element.getCodeElement(), -1); 21437 } 21438 for (int i = 0; i < element.getOp().size(); i++) { 21439 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "op", element.getOp().get(i), i); 21440 } 21441 } 21442 21443 protected void composeTerminologyCapabilitiesExpansionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent element, int index) { 21444 if (element == null) 21445 return; 21446 Complex t; 21447 if (Utilities.noString(parentType)) 21448 t = parent; 21449 else { 21450 t = parent.predicate("fhir:"+parentType+'.'+name); 21451 } 21452 composeBackboneElement(t, "expansion", name, element, index); 21453 if (element.hasHierarchicalElement()) { 21454 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "hierarchical", element.getHierarchicalElement(), -1); 21455 } 21456 if (element.hasPagingElement()) { 21457 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "paging", element.getPagingElement(), -1); 21458 } 21459 if (element.hasIncompleteElement()) { 21460 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "incomplete", element.getIncompleteElement(), -1); 21461 } 21462 for (int i = 0; i < element.getParameter().size(); i++) { 21463 composeTerminologyCapabilitiesExpansionParameterComponent(t, "TerminologyCapabilitiesExpansionComponent", "parameter", element.getParameter().get(i), i); 21464 } 21465 if (element.hasTextFilterElement()) { 21466 composeMarkdown(t, "TerminologyCapabilitiesExpansionComponent", "textFilter", element.getTextFilterElement(), -1); 21467 } 21468 } 21469 21470 protected void composeTerminologyCapabilitiesExpansionParameterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent element, int index) { 21471 if (element == null) 21472 return; 21473 Complex t; 21474 if (Utilities.noString(parentType)) 21475 t = parent; 21476 else { 21477 t = parent.predicate("fhir:"+parentType+'.'+name); 21478 } 21479 composeBackboneElement(t, "parameter", name, element, index); 21480 if (element.hasNameElement()) { 21481 composeCode(t, "TerminologyCapabilitiesExpansionParameterComponent", "name", element.getNameElement(), -1); 21482 } 21483 if (element.hasDocumentationElement()) { 21484 composeString(t, "TerminologyCapabilitiesExpansionParameterComponent", "documentation", element.getDocumentationElement(), -1); 21485 } 21486 } 21487 21488 protected void composeTerminologyCapabilitiesValidateCodeComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent element, int index) { 21489 if (element == null) 21490 return; 21491 Complex t; 21492 if (Utilities.noString(parentType)) 21493 t = parent; 21494 else { 21495 t = parent.predicate("fhir:"+parentType+'.'+name); 21496 } 21497 composeBackboneElement(t, "validateCode", name, element, index); 21498 if (element.hasTranslationsElement()) { 21499 composeBoolean(t, "TerminologyCapabilitiesValidateCodeComponent", "translations", element.getTranslationsElement(), -1); 21500 } 21501 } 21502 21503 protected void composeTerminologyCapabilitiesTranslationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent element, int index) { 21504 if (element == null) 21505 return; 21506 Complex t; 21507 if (Utilities.noString(parentType)) 21508 t = parent; 21509 else { 21510 t = parent.predicate("fhir:"+parentType+'.'+name); 21511 } 21512 composeBackboneElement(t, "translation", name, element, index); 21513 if (element.hasNeedsMapElement()) { 21514 composeBoolean(t, "TerminologyCapabilitiesTranslationComponent", "needsMap", element.getNeedsMapElement(), -1); 21515 } 21516 } 21517 21518 protected void composeTerminologyCapabilitiesClosureComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesClosureComponent element, int index) { 21519 if (element == null) 21520 return; 21521 Complex t; 21522 if (Utilities.noString(parentType)) 21523 t = parent; 21524 else { 21525 t = parent.predicate("fhir:"+parentType+'.'+name); 21526 } 21527 composeBackboneElement(t, "closure", name, element, index); 21528 if (element.hasTranslationElement()) { 21529 composeBoolean(t, "TerminologyCapabilitiesClosureComponent", "translation", element.getTranslationElement(), -1); 21530 } 21531 } 21532 21533 protected void composeTestReport(Complex parent, String parentType, String name, TestReport element, int index) { 21534 if (element == null) 21535 return; 21536 Complex t; 21537 if (Utilities.noString(parentType)) 21538 t = parent; 21539 else { 21540 t = parent.predicate("fhir:"+parentType+'.'+name); 21541 } 21542 composeDomainResource(t, "TestReport", name, element, index); 21543 if (element.hasIdentifier()) { 21544 composeIdentifier(t, "TestReport", "identifier", element.getIdentifier(), -1); 21545 } 21546 if (element.hasNameElement()) { 21547 composeString(t, "TestReport", "name", element.getNameElement(), -1); 21548 } 21549 if (element.hasStatusElement()) { 21550 composeEnum(t, "TestReport", "status", element.getStatusElement(), -1); 21551 } 21552 if (element.hasTestScript()) { 21553 composeReference(t, "TestReport", "testScript", element.getTestScript(), -1); 21554 } 21555 if (element.hasResultElement()) { 21556 composeEnum(t, "TestReport", "result", element.getResultElement(), -1); 21557 } 21558 if (element.hasScoreElement()) { 21559 composeDecimal(t, "TestReport", "score", element.getScoreElement(), -1); 21560 } 21561 if (element.hasTesterElement()) { 21562 composeString(t, "TestReport", "tester", element.getTesterElement(), -1); 21563 } 21564 if (element.hasIssuedElement()) { 21565 composeDateTime(t, "TestReport", "issued", element.getIssuedElement(), -1); 21566 } 21567 for (int i = 0; i < element.getParticipant().size(); i++) { 21568 composeTestReportParticipantComponent(t, "TestReport", "participant", element.getParticipant().get(i), i); 21569 } 21570 if (element.hasSetup()) { 21571 composeTestReportSetupComponent(t, "TestReport", "setup", element.getSetup(), -1); 21572 } 21573 for (int i = 0; i < element.getTest().size(); i++) { 21574 composeTestReportTestComponent(t, "TestReport", "test", element.getTest().get(i), i); 21575 } 21576 if (element.hasTeardown()) { 21577 composeTestReportTeardownComponent(t, "TestReport", "teardown", element.getTeardown(), -1); 21578 } 21579 } 21580 21581 protected void composeTestReportParticipantComponent(Complex parent, String parentType, String name, TestReport.TestReportParticipantComponent element, int index) { 21582 if (element == null) 21583 return; 21584 Complex t; 21585 if (Utilities.noString(parentType)) 21586 t = parent; 21587 else { 21588 t = parent.predicate("fhir:"+parentType+'.'+name); 21589 } 21590 composeBackboneElement(t, "participant", name, element, index); 21591 if (element.hasTypeElement()) { 21592 composeEnum(t, "TestReportParticipantComponent", "type", element.getTypeElement(), -1); 21593 } 21594 if (element.hasUriElement()) { 21595 composeUri(t, "TestReportParticipantComponent", "uri", element.getUriElement(), -1); 21596 } 21597 if (element.hasDisplayElement()) { 21598 composeString(t, "TestReportParticipantComponent", "display", element.getDisplayElement(), -1); 21599 } 21600 } 21601 21602 protected void composeTestReportSetupComponent(Complex parent, String parentType, String name, TestReport.TestReportSetupComponent element, int index) { 21603 if (element == null) 21604 return; 21605 Complex t; 21606 if (Utilities.noString(parentType)) 21607 t = parent; 21608 else { 21609 t = parent.predicate("fhir:"+parentType+'.'+name); 21610 } 21611 composeBackboneElement(t, "setup", name, element, index); 21612 for (int i = 0; i < element.getAction().size(); i++) { 21613 composeTestReportSetupActionComponent(t, "TestReportSetupComponent", "action", element.getAction().get(i), i); 21614 } 21615 } 21616 21617 protected void composeTestReportSetupActionComponent(Complex parent, String parentType, String name, TestReport.SetupActionComponent element, int index) { 21618 if (element == null) 21619 return; 21620 Complex t; 21621 if (Utilities.noString(parentType)) 21622 t = parent; 21623 else { 21624 t = parent.predicate("fhir:"+parentType+'.'+name); 21625 } 21626 composeBackboneElement(t, "action", name, element, index); 21627 if (element.hasOperation()) { 21628 composeTestReportSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 21629 } 21630 if (element.hasAssert()) { 21631 composeTestReportSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 21632 } 21633 } 21634 21635 protected void composeTestReportSetupActionOperationComponent(Complex parent, String parentType, String name, TestReport.SetupActionOperationComponent element, int index) { 21636 if (element == null) 21637 return; 21638 Complex t; 21639 if (Utilities.noString(parentType)) 21640 t = parent; 21641 else { 21642 t = parent.predicate("fhir:"+parentType+'.'+name); 21643 } 21644 composeBackboneElement(t, "operation", name, element, index); 21645 if (element.hasResultElement()) { 21646 composeEnum(t, "SetupActionOperationComponent", "result", element.getResultElement(), -1); 21647 } 21648 if (element.hasMessageElement()) { 21649 composeMarkdown(t, "SetupActionOperationComponent", "message", element.getMessageElement(), -1); 21650 } 21651 if (element.hasDetailElement()) { 21652 composeUri(t, "SetupActionOperationComponent", "detail", element.getDetailElement(), -1); 21653 } 21654 } 21655 21656 protected void composeTestReportSetupActionAssertComponent(Complex parent, String parentType, String name, TestReport.SetupActionAssertComponent element, int index) { 21657 if (element == null) 21658 return; 21659 Complex t; 21660 if (Utilities.noString(parentType)) 21661 t = parent; 21662 else { 21663 t = parent.predicate("fhir:"+parentType+'.'+name); 21664 } 21665 composeBackboneElement(t, "assert", name, element, index); 21666 if (element.hasResultElement()) { 21667 composeEnum(t, "SetupActionAssertComponent", "result", element.getResultElement(), -1); 21668 } 21669 if (element.hasMessageElement()) { 21670 composeMarkdown(t, "SetupActionAssertComponent", "message", element.getMessageElement(), -1); 21671 } 21672 if (element.hasDetailElement()) { 21673 composeString(t, "SetupActionAssertComponent", "detail", element.getDetailElement(), -1); 21674 } 21675 } 21676 21677 protected void composeTestReportTestComponent(Complex parent, String parentType, String name, TestReport.TestReportTestComponent element, int index) { 21678 if (element == null) 21679 return; 21680 Complex t; 21681 if (Utilities.noString(parentType)) 21682 t = parent; 21683 else { 21684 t = parent.predicate("fhir:"+parentType+'.'+name); 21685 } 21686 composeBackboneElement(t, "test", name, element, index); 21687 if (element.hasNameElement()) { 21688 composeString(t, "TestReportTestComponent", "name", element.getNameElement(), -1); 21689 } 21690 if (element.hasDescriptionElement()) { 21691 composeString(t, "TestReportTestComponent", "description", element.getDescriptionElement(), -1); 21692 } 21693 for (int i = 0; i < element.getAction().size(); i++) { 21694 composeTestReportTestActionComponent(t, "TestReportTestComponent", "action", element.getAction().get(i), i); 21695 } 21696 } 21697 21698 protected void composeTestReportTestActionComponent(Complex parent, String parentType, String name, TestReport.TestActionComponent element, int index) { 21699 if (element == null) 21700 return; 21701 Complex t; 21702 if (Utilities.noString(parentType)) 21703 t = parent; 21704 else { 21705 t = parent.predicate("fhir:"+parentType+'.'+name); 21706 } 21707 composeBackboneElement(t, "action", name, element, index); 21708 if (element.hasOperation()) { 21709 composeTestReportSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 21710 } 21711 if (element.hasAssert()) { 21712 composeTestReportSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 21713 } 21714 } 21715 21716 protected void composeTestReportTeardownComponent(Complex parent, String parentType, String name, TestReport.TestReportTeardownComponent element, int index) { 21717 if (element == null) 21718 return; 21719 Complex t; 21720 if (Utilities.noString(parentType)) 21721 t = parent; 21722 else { 21723 t = parent.predicate("fhir:"+parentType+'.'+name); 21724 } 21725 composeBackboneElement(t, "teardown", name, element, index); 21726 for (int i = 0; i < element.getAction().size(); i++) { 21727 composeTestReportTeardownActionComponent(t, "TestReportTeardownComponent", "action", element.getAction().get(i), i); 21728 } 21729 } 21730 21731 protected void composeTestReportTeardownActionComponent(Complex parent, String parentType, String name, TestReport.TeardownActionComponent element, int index) { 21732 if (element == null) 21733 return; 21734 Complex t; 21735 if (Utilities.noString(parentType)) 21736 t = parent; 21737 else { 21738 t = parent.predicate("fhir:"+parentType+'.'+name); 21739 } 21740 composeBackboneElement(t, "action", name, element, index); 21741 if (element.hasOperation()) { 21742 composeTestReportSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 21743 } 21744 } 21745 21746 protected void composeTestScript(Complex parent, String parentType, String name, TestScript element, int index) { 21747 if (element == null) 21748 return; 21749 Complex t; 21750 if (Utilities.noString(parentType)) 21751 t = parent; 21752 else { 21753 t = parent.predicate("fhir:"+parentType+'.'+name); 21754 } 21755 composeDomainResource(t, "TestScript", name, element, index); 21756 if (element.hasUrlElement()) { 21757 composeUri(t, "TestScript", "url", element.getUrlElement(), -1); 21758 } 21759 if (element.hasIdentifier()) { 21760 composeIdentifier(t, "TestScript", "identifier", element.getIdentifier(), -1); 21761 } 21762 if (element.hasVersionElement()) { 21763 composeString(t, "TestScript", "version", element.getVersionElement(), -1); 21764 } 21765 if (element.hasNameElement()) { 21766 composeString(t, "TestScript", "name", element.getNameElement(), -1); 21767 } 21768 if (element.hasTitleElement()) { 21769 composeString(t, "TestScript", "title", element.getTitleElement(), -1); 21770 } 21771 if (element.hasStatusElement()) { 21772 composeEnum(t, "TestScript", "status", element.getStatusElement(), -1); 21773 } 21774 if (element.hasExperimentalElement()) { 21775 composeBoolean(t, "TestScript", "experimental", element.getExperimentalElement(), -1); 21776 } 21777 if (element.hasDateElement()) { 21778 composeDateTime(t, "TestScript", "date", element.getDateElement(), -1); 21779 } 21780 if (element.hasPublisherElement()) { 21781 composeString(t, "TestScript", "publisher", element.getPublisherElement(), -1); 21782 } 21783 for (int i = 0; i < element.getContact().size(); i++) { 21784 composeContactDetail(t, "TestScript", "contact", element.getContact().get(i), i); 21785 } 21786 if (element.hasDescriptionElement()) { 21787 composeMarkdown(t, "TestScript", "description", element.getDescriptionElement(), -1); 21788 } 21789 for (int i = 0; i < element.getUseContext().size(); i++) { 21790 composeUsageContext(t, "TestScript", "useContext", element.getUseContext().get(i), i); 21791 } 21792 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21793 composeCodeableConcept(t, "TestScript", "jurisdiction", element.getJurisdiction().get(i), i); 21794 } 21795 if (element.hasPurposeElement()) { 21796 composeMarkdown(t, "TestScript", "purpose", element.getPurposeElement(), -1); 21797 } 21798 if (element.hasCopyrightElement()) { 21799 composeMarkdown(t, "TestScript", "copyright", element.getCopyrightElement(), -1); 21800 } 21801 for (int i = 0; i < element.getOrigin().size(); i++) { 21802 composeTestScriptOriginComponent(t, "TestScript", "origin", element.getOrigin().get(i), i); 21803 } 21804 for (int i = 0; i < element.getDestination().size(); i++) { 21805 composeTestScriptDestinationComponent(t, "TestScript", "destination", element.getDestination().get(i), i); 21806 } 21807 if (element.hasMetadata()) { 21808 composeTestScriptMetadataComponent(t, "TestScript", "metadata", element.getMetadata(), -1); 21809 } 21810 for (int i = 0; i < element.getFixture().size(); i++) { 21811 composeTestScriptFixtureComponent(t, "TestScript", "fixture", element.getFixture().get(i), i); 21812 } 21813 for (int i = 0; i < element.getProfile().size(); i++) { 21814 composeReference(t, "TestScript", "profile", element.getProfile().get(i), i); 21815 } 21816 for (int i = 0; i < element.getVariable().size(); i++) { 21817 composeTestScriptVariableComponent(t, "TestScript", "variable", element.getVariable().get(i), i); 21818 } 21819 if (element.hasSetup()) { 21820 composeTestScriptSetupComponent(t, "TestScript", "setup", element.getSetup(), -1); 21821 } 21822 for (int i = 0; i < element.getTest().size(); i++) { 21823 composeTestScriptTestComponent(t, "TestScript", "test", element.getTest().get(i), i); 21824 } 21825 if (element.hasTeardown()) { 21826 composeTestScriptTeardownComponent(t, "TestScript", "teardown", element.getTeardown(), -1); 21827 } 21828 } 21829 21830 protected void composeTestScriptOriginComponent(Complex parent, String parentType, String name, TestScript.TestScriptOriginComponent element, int index) { 21831 if (element == null) 21832 return; 21833 Complex t; 21834 if (Utilities.noString(parentType)) 21835 t = parent; 21836 else { 21837 t = parent.predicate("fhir:"+parentType+'.'+name); 21838 } 21839 composeBackboneElement(t, "origin", name, element, index); 21840 if (element.hasIndexElement()) { 21841 composeInteger(t, "TestScriptOriginComponent", "index", element.getIndexElement(), -1); 21842 } 21843 if (element.hasProfile()) { 21844 composeCoding(t, "TestScriptOriginComponent", "profile", element.getProfile(), -1); 21845 } 21846 } 21847 21848 protected void composeTestScriptDestinationComponent(Complex parent, String parentType, String name, TestScript.TestScriptDestinationComponent element, int index) { 21849 if (element == null) 21850 return; 21851 Complex t; 21852 if (Utilities.noString(parentType)) 21853 t = parent; 21854 else { 21855 t = parent.predicate("fhir:"+parentType+'.'+name); 21856 } 21857 composeBackboneElement(t, "destination", name, element, index); 21858 if (element.hasIndexElement()) { 21859 composeInteger(t, "TestScriptDestinationComponent", "index", element.getIndexElement(), -1); 21860 } 21861 if (element.hasProfile()) { 21862 composeCoding(t, "TestScriptDestinationComponent", "profile", element.getProfile(), -1); 21863 } 21864 } 21865 21866 protected void composeTestScriptMetadataComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataComponent element, int index) { 21867 if (element == null) 21868 return; 21869 Complex t; 21870 if (Utilities.noString(parentType)) 21871 t = parent; 21872 else { 21873 t = parent.predicate("fhir:"+parentType+'.'+name); 21874 } 21875 composeBackboneElement(t, "metadata", name, element, index); 21876 for (int i = 0; i < element.getLink().size(); i++) { 21877 composeTestScriptMetadataLinkComponent(t, "TestScriptMetadataComponent", "link", element.getLink().get(i), i); 21878 } 21879 for (int i = 0; i < element.getCapability().size(); i++) { 21880 composeTestScriptMetadataCapabilityComponent(t, "TestScriptMetadataComponent", "capability", element.getCapability().get(i), i); 21881 } 21882 } 21883 21884 protected void composeTestScriptMetadataLinkComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataLinkComponent element, int index) { 21885 if (element == null) 21886 return; 21887 Complex t; 21888 if (Utilities.noString(parentType)) 21889 t = parent; 21890 else { 21891 t = parent.predicate("fhir:"+parentType+'.'+name); 21892 } 21893 composeBackboneElement(t, "link", name, element, index); 21894 if (element.hasUrlElement()) { 21895 composeUri(t, "TestScriptMetadataLinkComponent", "url", element.getUrlElement(), -1); 21896 } 21897 if (element.hasDescriptionElement()) { 21898 composeString(t, "TestScriptMetadataLinkComponent", "description", element.getDescriptionElement(), -1); 21899 } 21900 } 21901 21902 protected void composeTestScriptMetadataCapabilityComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataCapabilityComponent element, int index) { 21903 if (element == null) 21904 return; 21905 Complex t; 21906 if (Utilities.noString(parentType)) 21907 t = parent; 21908 else { 21909 t = parent.predicate("fhir:"+parentType+'.'+name); 21910 } 21911 composeBackboneElement(t, "capability", name, element, index); 21912 if (element.hasRequiredElement()) { 21913 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "required", element.getRequiredElement(), -1); 21914 } 21915 if (element.hasValidatedElement()) { 21916 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "validated", element.getValidatedElement(), -1); 21917 } 21918 if (element.hasDescriptionElement()) { 21919 composeString(t, "TestScriptMetadataCapabilityComponent", "description", element.getDescriptionElement(), -1); 21920 } 21921 for (int i = 0; i < element.getOrigin().size(); i++) { 21922 composeInteger(t, "TestScriptMetadataCapabilityComponent", "origin", element.getOrigin().get(i), i); 21923 } 21924 if (element.hasDestinationElement()) { 21925 composeInteger(t, "TestScriptMetadataCapabilityComponent", "destination", element.getDestinationElement(), -1); 21926 } 21927 for (int i = 0; i < element.getLink().size(); i++) { 21928 composeUri(t, "TestScriptMetadataCapabilityComponent", "link", element.getLink().get(i), i); 21929 } 21930 if (element.hasCapabilitiesElement()) { 21931 composeCanonical(t, "TestScriptMetadataCapabilityComponent", "capabilities", element.getCapabilitiesElement(), -1); 21932 } 21933 } 21934 21935 protected void composeTestScriptFixtureComponent(Complex parent, String parentType, String name, TestScript.TestScriptFixtureComponent element, int index) { 21936 if (element == null) 21937 return; 21938 Complex t; 21939 if (Utilities.noString(parentType)) 21940 t = parent; 21941 else { 21942 t = parent.predicate("fhir:"+parentType+'.'+name); 21943 } 21944 composeBackboneElement(t, "fixture", name, element, index); 21945 if (element.hasAutocreateElement()) { 21946 composeBoolean(t, "TestScriptFixtureComponent", "autocreate", element.getAutocreateElement(), -1); 21947 } 21948 if (element.hasAutodeleteElement()) { 21949 composeBoolean(t, "TestScriptFixtureComponent", "autodelete", element.getAutodeleteElement(), -1); 21950 } 21951 if (element.hasResource()) { 21952 composeReference(t, "TestScriptFixtureComponent", "resource", element.getResource(), -1); 21953 } 21954 } 21955 21956 protected void composeTestScriptVariableComponent(Complex parent, String parentType, String name, TestScript.TestScriptVariableComponent element, int index) { 21957 if (element == null) 21958 return; 21959 Complex t; 21960 if (Utilities.noString(parentType)) 21961 t = parent; 21962 else { 21963 t = parent.predicate("fhir:"+parentType+'.'+name); 21964 } 21965 composeBackboneElement(t, "variable", name, element, index); 21966 if (element.hasNameElement()) { 21967 composeString(t, "TestScriptVariableComponent", "name", element.getNameElement(), -1); 21968 } 21969 if (element.hasDefaultValueElement()) { 21970 composeString(t, "TestScriptVariableComponent", "defaultValue", element.getDefaultValueElement(), -1); 21971 } 21972 if (element.hasDescriptionElement()) { 21973 composeString(t, "TestScriptVariableComponent", "description", element.getDescriptionElement(), -1); 21974 } 21975 if (element.hasExpressionElement()) { 21976 composeString(t, "TestScriptVariableComponent", "expression", element.getExpressionElement(), -1); 21977 } 21978 if (element.hasHeaderFieldElement()) { 21979 composeString(t, "TestScriptVariableComponent", "headerField", element.getHeaderFieldElement(), -1); 21980 } 21981 if (element.hasHintElement()) { 21982 composeString(t, "TestScriptVariableComponent", "hint", element.getHintElement(), -1); 21983 } 21984 if (element.hasPathElement()) { 21985 composeString(t, "TestScriptVariableComponent", "path", element.getPathElement(), -1); 21986 } 21987 if (element.hasSourceIdElement()) { 21988 composeId(t, "TestScriptVariableComponent", "sourceId", element.getSourceIdElement(), -1); 21989 } 21990 } 21991 21992 protected void composeTestScriptSetupComponent(Complex parent, String parentType, String name, TestScript.TestScriptSetupComponent element, int index) { 21993 if (element == null) 21994 return; 21995 Complex t; 21996 if (Utilities.noString(parentType)) 21997 t = parent; 21998 else { 21999 t = parent.predicate("fhir:"+parentType+'.'+name); 22000 } 22001 composeBackboneElement(t, "setup", name, element, index); 22002 for (int i = 0; i < element.getAction().size(); i++) { 22003 composeTestScriptSetupActionComponent(t, "TestScriptSetupComponent", "action", element.getAction().get(i), i); 22004 } 22005 } 22006 22007 protected void composeTestScriptSetupActionComponent(Complex parent, String parentType, String name, TestScript.SetupActionComponent element, int index) { 22008 if (element == null) 22009 return; 22010 Complex t; 22011 if (Utilities.noString(parentType)) 22012 t = parent; 22013 else { 22014 t = parent.predicate("fhir:"+parentType+'.'+name); 22015 } 22016 composeBackboneElement(t, "action", name, element, index); 22017 if (element.hasOperation()) { 22018 composeTestScriptSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 22019 } 22020 if (element.hasAssert()) { 22021 composeTestScriptSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 22022 } 22023 } 22024 22025 protected void composeTestScriptSetupActionOperationComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationComponent element, int index) { 22026 if (element == null) 22027 return; 22028 Complex t; 22029 if (Utilities.noString(parentType)) 22030 t = parent; 22031 else { 22032 t = parent.predicate("fhir:"+parentType+'.'+name); 22033 } 22034 composeBackboneElement(t, "operation", name, element, index); 22035 if (element.hasType()) { 22036 composeCoding(t, "SetupActionOperationComponent", "type", element.getType(), -1); 22037 } 22038 if (element.hasResourceElement()) { 22039 composeEnum(t, "SetupActionOperationComponent", "resource", element.getResourceElement(), -1); 22040 } 22041 if (element.hasLabelElement()) { 22042 composeString(t, "SetupActionOperationComponent", "label", element.getLabelElement(), -1); 22043 } 22044 if (element.hasDescriptionElement()) { 22045 composeString(t, "SetupActionOperationComponent", "description", element.getDescriptionElement(), -1); 22046 } 22047 if (element.hasAcceptElement()) { 22048 composeCode(t, "SetupActionOperationComponent", "accept", element.getAcceptElement(), -1); 22049 } 22050 if (element.hasContentTypeElement()) { 22051 composeCode(t, "SetupActionOperationComponent", "contentType", element.getContentTypeElement(), -1); 22052 } 22053 if (element.hasDestinationElement()) { 22054 composeInteger(t, "SetupActionOperationComponent", "destination", element.getDestinationElement(), -1); 22055 } 22056 if (element.hasEncodeRequestUrlElement()) { 22057 composeBoolean(t, "SetupActionOperationComponent", "encodeRequestUrl", element.getEncodeRequestUrlElement(), -1); 22058 } 22059 if (element.hasMethodElement()) { 22060 composeEnum(t, "SetupActionOperationComponent", "method", element.getMethodElement(), -1); 22061 } 22062 if (element.hasOriginElement()) { 22063 composeInteger(t, "SetupActionOperationComponent", "origin", element.getOriginElement(), -1); 22064 } 22065 if (element.hasParamsElement()) { 22066 composeString(t, "SetupActionOperationComponent", "params", element.getParamsElement(), -1); 22067 } 22068 for (int i = 0; i < element.getRequestHeader().size(); i++) { 22069 composeTestScriptSetupActionOperationRequestHeaderComponent(t, "SetupActionOperationComponent", "requestHeader", element.getRequestHeader().get(i), i); 22070 } 22071 if (element.hasRequestIdElement()) { 22072 composeId(t, "SetupActionOperationComponent", "requestId", element.getRequestIdElement(), -1); 22073 } 22074 if (element.hasResponseIdElement()) { 22075 composeId(t, "SetupActionOperationComponent", "responseId", element.getResponseIdElement(), -1); 22076 } 22077 if (element.hasSourceIdElement()) { 22078 composeId(t, "SetupActionOperationComponent", "sourceId", element.getSourceIdElement(), -1); 22079 } 22080 if (element.hasTargetIdElement()) { 22081 composeId(t, "SetupActionOperationComponent", "targetId", element.getTargetIdElement(), -1); 22082 } 22083 if (element.hasUrlElement()) { 22084 composeString(t, "SetupActionOperationComponent", "url", element.getUrlElement(), -1); 22085 } 22086 } 22087 22088 protected void composeTestScriptSetupActionOperationRequestHeaderComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationRequestHeaderComponent element, int index) { 22089 if (element == null) 22090 return; 22091 Complex t; 22092 if (Utilities.noString(parentType)) 22093 t = parent; 22094 else { 22095 t = parent.predicate("fhir:"+parentType+'.'+name); 22096 } 22097 composeBackboneElement(t, "requestHeader", name, element, index); 22098 if (element.hasFieldElement()) { 22099 composeString(t, "SetupActionOperationRequestHeaderComponent", "field", element.getFieldElement(), -1); 22100 } 22101 if (element.hasValueElement()) { 22102 composeString(t, "SetupActionOperationRequestHeaderComponent", "value", element.getValueElement(), -1); 22103 } 22104 } 22105 22106 protected void composeTestScriptSetupActionAssertComponent(Complex parent, String parentType, String name, TestScript.SetupActionAssertComponent element, int index) { 22107 if (element == null) 22108 return; 22109 Complex t; 22110 if (Utilities.noString(parentType)) 22111 t = parent; 22112 else { 22113 t = parent.predicate("fhir:"+parentType+'.'+name); 22114 } 22115 composeBackboneElement(t, "assert", name, element, index); 22116 if (element.hasLabelElement()) { 22117 composeString(t, "SetupActionAssertComponent", "label", element.getLabelElement(), -1); 22118 } 22119 if (element.hasDescriptionElement()) { 22120 composeString(t, "SetupActionAssertComponent", "description", element.getDescriptionElement(), -1); 22121 } 22122 if (element.hasDirectionElement()) { 22123 composeEnum(t, "SetupActionAssertComponent", "direction", element.getDirectionElement(), -1); 22124 } 22125 if (element.hasCompareToSourceIdElement()) { 22126 composeString(t, "SetupActionAssertComponent", "compareToSourceId", element.getCompareToSourceIdElement(), -1); 22127 } 22128 if (element.hasCompareToSourceExpressionElement()) { 22129 composeString(t, "SetupActionAssertComponent", "compareToSourceExpression", element.getCompareToSourceExpressionElement(), -1); 22130 } 22131 if (element.hasCompareToSourcePathElement()) { 22132 composeString(t, "SetupActionAssertComponent", "compareToSourcePath", element.getCompareToSourcePathElement(), -1); 22133 } 22134 if (element.hasContentTypeElement()) { 22135 composeCode(t, "SetupActionAssertComponent", "contentType", element.getContentTypeElement(), -1); 22136 } 22137 if (element.hasExpressionElement()) { 22138 composeString(t, "SetupActionAssertComponent", "expression", element.getExpressionElement(), -1); 22139 } 22140 if (element.hasHeaderFieldElement()) { 22141 composeString(t, "SetupActionAssertComponent", "headerField", element.getHeaderFieldElement(), -1); 22142 } 22143 if (element.hasMinimumIdElement()) { 22144 composeString(t, "SetupActionAssertComponent", "minimumId", element.getMinimumIdElement(), -1); 22145 } 22146 if (element.hasNavigationLinksElement()) { 22147 composeBoolean(t, "SetupActionAssertComponent", "navigationLinks", element.getNavigationLinksElement(), -1); 22148 } 22149 if (element.hasOperatorElement()) { 22150 composeEnum(t, "SetupActionAssertComponent", "operator", element.getOperatorElement(), -1); 22151 } 22152 if (element.hasPathElement()) { 22153 composeString(t, "SetupActionAssertComponent", "path", element.getPathElement(), -1); 22154 } 22155 if (element.hasRequestMethodElement()) { 22156 composeEnum(t, "SetupActionAssertComponent", "requestMethod", element.getRequestMethodElement(), -1); 22157 } 22158 if (element.hasRequestURLElement()) { 22159 composeString(t, "SetupActionAssertComponent", "requestURL", element.getRequestURLElement(), -1); 22160 } 22161 if (element.hasResourceElement()) { 22162 composeEnum(t, "SetupActionAssertComponent", "resource", element.getResourceElement(), -1); 22163 } 22164 if (element.hasResponseElement()) { 22165 composeEnum(t, "SetupActionAssertComponent", "response", element.getResponseElement(), -1); 22166 } 22167 if (element.hasResponseCodeElement()) { 22168 composeString(t, "SetupActionAssertComponent", "responseCode", element.getResponseCodeElement(), -1); 22169 } 22170 if (element.hasSourceIdElement()) { 22171 composeId(t, "SetupActionAssertComponent", "sourceId", element.getSourceIdElement(), -1); 22172 } 22173 if (element.hasValidateProfileIdElement()) { 22174 composeId(t, "SetupActionAssertComponent", "validateProfileId", element.getValidateProfileIdElement(), -1); 22175 } 22176 if (element.hasValueElement()) { 22177 composeString(t, "SetupActionAssertComponent", "value", element.getValueElement(), -1); 22178 } 22179 if (element.hasWarningOnlyElement()) { 22180 composeBoolean(t, "SetupActionAssertComponent", "warningOnly", element.getWarningOnlyElement(), -1); 22181 } 22182 } 22183 22184 protected void composeTestScriptTestComponent(Complex parent, String parentType, String name, TestScript.TestScriptTestComponent element, int index) { 22185 if (element == null) 22186 return; 22187 Complex t; 22188 if (Utilities.noString(parentType)) 22189 t = parent; 22190 else { 22191 t = parent.predicate("fhir:"+parentType+'.'+name); 22192 } 22193 composeBackboneElement(t, "test", name, element, index); 22194 if (element.hasNameElement()) { 22195 composeString(t, "TestScriptTestComponent", "name", element.getNameElement(), -1); 22196 } 22197 if (element.hasDescriptionElement()) { 22198 composeString(t, "TestScriptTestComponent", "description", element.getDescriptionElement(), -1); 22199 } 22200 for (int i = 0; i < element.getAction().size(); i++) { 22201 composeTestScriptTestActionComponent(t, "TestScriptTestComponent", "action", element.getAction().get(i), i); 22202 } 22203 } 22204 22205 protected void composeTestScriptTestActionComponent(Complex parent, String parentType, String name, TestScript.TestActionComponent element, int index) { 22206 if (element == null) 22207 return; 22208 Complex t; 22209 if (Utilities.noString(parentType)) 22210 t = parent; 22211 else { 22212 t = parent.predicate("fhir:"+parentType+'.'+name); 22213 } 22214 composeBackboneElement(t, "action", name, element, index); 22215 if (element.hasOperation()) { 22216 composeTestScriptSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 22217 } 22218 if (element.hasAssert()) { 22219 composeTestScriptSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 22220 } 22221 } 22222 22223 protected void composeTestScriptTeardownComponent(Complex parent, String parentType, String name, TestScript.TestScriptTeardownComponent element, int index) { 22224 if (element == null) 22225 return; 22226 Complex t; 22227 if (Utilities.noString(parentType)) 22228 t = parent; 22229 else { 22230 t = parent.predicate("fhir:"+parentType+'.'+name); 22231 } 22232 composeBackboneElement(t, "teardown", name, element, index); 22233 for (int i = 0; i < element.getAction().size(); i++) { 22234 composeTestScriptTeardownActionComponent(t, "TestScriptTeardownComponent", "action", element.getAction().get(i), i); 22235 } 22236 } 22237 22238 protected void composeTestScriptTeardownActionComponent(Complex parent, String parentType, String name, TestScript.TeardownActionComponent element, int index) { 22239 if (element == null) 22240 return; 22241 Complex t; 22242 if (Utilities.noString(parentType)) 22243 t = parent; 22244 else { 22245 t = parent.predicate("fhir:"+parentType+'.'+name); 22246 } 22247 composeBackboneElement(t, "action", name, element, index); 22248 if (element.hasOperation()) { 22249 composeTestScriptSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 22250 } 22251 } 22252 22253 protected void composeValueSet(Complex parent, String parentType, String name, ValueSet element, int index) { 22254 if (element == null) 22255 return; 22256 Complex t; 22257 if (Utilities.noString(parentType)) 22258 t = parent; 22259 else { 22260 t = parent.predicate("fhir:"+parentType+'.'+name); 22261 } 22262 composeDomainResource(t, "ValueSet", name, element, index); 22263 if (element.hasUrlElement()) { 22264 composeUri(t, "ValueSet", "url", element.getUrlElement(), -1); 22265 } 22266 for (int i = 0; i < element.getIdentifier().size(); i++) { 22267 composeIdentifier(t, "ValueSet", "identifier", element.getIdentifier().get(i), i); 22268 } 22269 if (element.hasVersionElement()) { 22270 composeString(t, "ValueSet", "version", element.getVersionElement(), -1); 22271 } 22272 if (element.hasNameElement()) { 22273 composeString(t, "ValueSet", "name", element.getNameElement(), -1); 22274 } 22275 if (element.hasTitleElement()) { 22276 composeString(t, "ValueSet", "title", element.getTitleElement(), -1); 22277 } 22278 if (element.hasStatusElement()) { 22279 composeEnum(t, "ValueSet", "status", element.getStatusElement(), -1); 22280 } 22281 if (element.hasExperimentalElement()) { 22282 composeBoolean(t, "ValueSet", "experimental", element.getExperimentalElement(), -1); 22283 } 22284 if (element.hasDateElement()) { 22285 composeDateTime(t, "ValueSet", "date", element.getDateElement(), -1); 22286 } 22287 if (element.hasPublisherElement()) { 22288 composeString(t, "ValueSet", "publisher", element.getPublisherElement(), -1); 22289 } 22290 for (int i = 0; i < element.getContact().size(); i++) { 22291 composeContactDetail(t, "ValueSet", "contact", element.getContact().get(i), i); 22292 } 22293 if (element.hasDescriptionElement()) { 22294 composeMarkdown(t, "ValueSet", "description", element.getDescriptionElement(), -1); 22295 } 22296 for (int i = 0; i < element.getUseContext().size(); i++) { 22297 composeUsageContext(t, "ValueSet", "useContext", element.getUseContext().get(i), i); 22298 } 22299 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22300 composeCodeableConcept(t, "ValueSet", "jurisdiction", element.getJurisdiction().get(i), i); 22301 } 22302 if (element.hasImmutableElement()) { 22303 composeBoolean(t, "ValueSet", "immutable", element.getImmutableElement(), -1); 22304 } 22305 if (element.hasPurposeElement()) { 22306 composeMarkdown(t, "ValueSet", "purpose", element.getPurposeElement(), -1); 22307 } 22308 if (element.hasCopyrightElement()) { 22309 composeMarkdown(t, "ValueSet", "copyright", element.getCopyrightElement(), -1); 22310 } 22311 if (element.hasCompose()) { 22312 composeValueSetComposeComponent(t, "ValueSet", "compose", element.getCompose(), -1); 22313 } 22314 if (element.hasExpansion()) { 22315 composeValueSetExpansionComponent(t, "ValueSet", "expansion", element.getExpansion(), -1); 22316 } 22317 } 22318 22319 protected void composeValueSetComposeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetComposeComponent element, int index) { 22320 if (element == null) 22321 return; 22322 Complex t; 22323 if (Utilities.noString(parentType)) 22324 t = parent; 22325 else { 22326 t = parent.predicate("fhir:"+parentType+'.'+name); 22327 } 22328 composeBackboneElement(t, "compose", name, element, index); 22329 if (element.hasLockedDateElement()) { 22330 composeDate(t, "ValueSetComposeComponent", "lockedDate", element.getLockedDateElement(), -1); 22331 } 22332 if (element.hasInactiveElement()) { 22333 composeBoolean(t, "ValueSetComposeComponent", "inactive", element.getInactiveElement(), -1); 22334 } 22335 for (int i = 0; i < element.getInclude().size(); i++) { 22336 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "include", element.getInclude().get(i), i); 22337 } 22338 for (int i = 0; i < element.getExclude().size(); i++) { 22339 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "exclude", element.getExclude().get(i), i); 22340 } 22341 } 22342 22343 protected void composeValueSetConceptSetComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetComponent element, int index) { 22344 if (element == null) 22345 return; 22346 Complex t; 22347 if (Utilities.noString(parentType)) 22348 t = parent; 22349 else { 22350 t = parent.predicate("fhir:"+parentType+'.'+name); 22351 } 22352 composeBackboneElement(t, "include", name, element, index); 22353 if (element.hasSystemElement()) { 22354 composeUri(t, "ConceptSetComponent", "system", element.getSystemElement(), -1); 22355 } 22356 if (element.hasVersionElement()) { 22357 composeString(t, "ConceptSetComponent", "version", element.getVersionElement(), -1); 22358 } 22359 for (int i = 0; i < element.getConcept().size(); i++) { 22360 composeValueSetConceptReferenceComponent(t, "ConceptSetComponent", "concept", element.getConcept().get(i), i); 22361 } 22362 for (int i = 0; i < element.getFilter().size(); i++) { 22363 composeValueSetConceptSetFilterComponent(t, "ConceptSetComponent", "filter", element.getFilter().get(i), i); 22364 } 22365 for (int i = 0; i < element.getValueSet().size(); i++) { 22366 composeCanonical(t, "ConceptSetComponent", "valueSet", element.getValueSet().get(i), i); 22367 } 22368 } 22369 22370 protected void composeValueSetConceptReferenceComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceComponent element, int index) { 22371 if (element == null) 22372 return; 22373 Complex t; 22374 if (Utilities.noString(parentType)) 22375 t = parent; 22376 else { 22377 t = parent.predicate("fhir:"+parentType+'.'+name); 22378 } 22379 composeBackboneElement(t, "concept", name, element, index); 22380 if (element.hasCodeElement()) { 22381 composeCode(t, "ConceptReferenceComponent", "code", element.getCodeElement(), -1); 22382 } 22383 if (element.hasDisplayElement()) { 22384 composeString(t, "ConceptReferenceComponent", "display", element.getDisplayElement(), -1); 22385 } 22386 for (int i = 0; i < element.getDesignation().size(); i++) { 22387 composeValueSetConceptReferenceDesignationComponent(t, "ConceptReferenceComponent", "designation", element.getDesignation().get(i), i); 22388 } 22389 } 22390 22391 protected void composeValueSetConceptReferenceDesignationComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceDesignationComponent element, int index) { 22392 if (element == null) 22393 return; 22394 Complex t; 22395 if (Utilities.noString(parentType)) 22396 t = parent; 22397 else { 22398 t = parent.predicate("fhir:"+parentType+'.'+name); 22399 } 22400 composeBackboneElement(t, "designation", name, element, index); 22401 if (element.hasLanguageElement()) { 22402 composeCode(t, "ConceptReferenceDesignationComponent", "language", element.getLanguageElement(), -1); 22403 } 22404 if (element.hasUse()) { 22405 composeCoding(t, "ConceptReferenceDesignationComponent", "use", element.getUse(), -1); 22406 } 22407 if (element.hasValueElement()) { 22408 composeString(t, "ConceptReferenceDesignationComponent", "value", element.getValueElement(), -1); 22409 } 22410 } 22411 22412 protected void composeValueSetConceptSetFilterComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetFilterComponent element, int index) { 22413 if (element == null) 22414 return; 22415 Complex t; 22416 if (Utilities.noString(parentType)) 22417 t = parent; 22418 else { 22419 t = parent.predicate("fhir:"+parentType+'.'+name); 22420 } 22421 composeBackboneElement(t, "filter", name, element, index); 22422 if (element.hasPropertyElement()) { 22423 composeCode(t, "ConceptSetFilterComponent", "property", element.getPropertyElement(), -1); 22424 } 22425 if (element.hasOpElement()) { 22426 composeEnum(t, "ConceptSetFilterComponent", "op", element.getOpElement(), -1); 22427 } 22428 if (element.hasValueElement()) { 22429 composeString(t, "ConceptSetFilterComponent", "value", element.getValueElement(), -1); 22430 } 22431 } 22432 22433 protected void composeValueSetExpansionComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionComponent element, int index) { 22434 if (element == null) 22435 return; 22436 Complex t; 22437 if (Utilities.noString(parentType)) 22438 t = parent; 22439 else { 22440 t = parent.predicate("fhir:"+parentType+'.'+name); 22441 } 22442 composeBackboneElement(t, "expansion", name, element, index); 22443 if (element.hasIdentifierElement()) { 22444 composeUri(t, "ValueSetExpansionComponent", "identifier", element.getIdentifierElement(), -1); 22445 } 22446 if (element.hasTimestampElement()) { 22447 composeDateTime(t, "ValueSetExpansionComponent", "timestamp", element.getTimestampElement(), -1); 22448 } 22449 if (element.hasTotalElement()) { 22450 composeInteger(t, "ValueSetExpansionComponent", "total", element.getTotalElement(), -1); 22451 } 22452 if (element.hasOffsetElement()) { 22453 composeInteger(t, "ValueSetExpansionComponent", "offset", element.getOffsetElement(), -1); 22454 } 22455 for (int i = 0; i < element.getParameter().size(); i++) { 22456 composeValueSetExpansionParameterComponent(t, "ValueSetExpansionComponent", "parameter", element.getParameter().get(i), i); 22457 } 22458 for (int i = 0; i < element.getContains().size(); i++) { 22459 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionComponent", "contains", element.getContains().get(i), i); 22460 } 22461 } 22462 22463 protected void composeValueSetExpansionParameterComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionParameterComponent element, int index) { 22464 if (element == null) 22465 return; 22466 Complex t; 22467 if (Utilities.noString(parentType)) 22468 t = parent; 22469 else { 22470 t = parent.predicate("fhir:"+parentType+'.'+name); 22471 } 22472 composeBackboneElement(t, "parameter", name, element, index); 22473 if (element.hasNameElement()) { 22474 composeString(t, "ValueSetExpansionParameterComponent", "name", element.getNameElement(), -1); 22475 } 22476 if (element.hasValue()) { 22477 composeType(t, "ValueSetExpansionParameterComponent", "value", element.getValue(), -1); 22478 } 22479 } 22480 22481 protected void composeValueSetExpansionContainsComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionContainsComponent element, int index) { 22482 if (element == null) 22483 return; 22484 Complex t; 22485 if (Utilities.noString(parentType)) 22486 t = parent; 22487 else { 22488 t = parent.predicate("fhir:"+parentType+'.'+name); 22489 } 22490 composeBackboneElement(t, "contains", name, element, index); 22491 if (element.hasSystemElement()) { 22492 composeUri(t, "ValueSetExpansionContainsComponent", "system", element.getSystemElement(), -1); 22493 } 22494 if (element.hasAbstractElement()) { 22495 composeBoolean(t, "ValueSetExpansionContainsComponent", "abstract", element.getAbstractElement(), -1); 22496 } 22497 if (element.hasInactiveElement()) { 22498 composeBoolean(t, "ValueSetExpansionContainsComponent", "inactive", element.getInactiveElement(), -1); 22499 } 22500 if (element.hasVersionElement()) { 22501 composeString(t, "ValueSetExpansionContainsComponent", "version", element.getVersionElement(), -1); 22502 } 22503 if (element.hasCodeElement()) { 22504 composeCode(t, "ValueSetExpansionContainsComponent", "code", element.getCodeElement(), -1); 22505 } 22506 if (element.hasDisplayElement()) { 22507 composeString(t, "ValueSetExpansionContainsComponent", "display", element.getDisplayElement(), -1); 22508 } 22509 for (int i = 0; i < element.getDesignation().size(); i++) { 22510 composeValueSetConceptReferenceDesignationComponent(t, "ValueSetExpansionContainsComponent", "designation", element.getDesignation().get(i), i); 22511 } 22512 for (int i = 0; i < element.getContains().size(); i++) { 22513 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionContainsComponent", "contains", element.getContains().get(i), i); 22514 } 22515 } 22516 22517 protected void composeVerificationResult(Complex parent, String parentType, String name, VerificationResult element, int index) { 22518 if (element == null) 22519 return; 22520 Complex t; 22521 if (Utilities.noString(parentType)) 22522 t = parent; 22523 else { 22524 t = parent.predicate("fhir:"+parentType+'.'+name); 22525 } 22526 composeDomainResource(t, "VerificationResult", name, element, index); 22527 for (int i = 0; i < element.getTarget().size(); i++) { 22528 composeReference(t, "VerificationResult", "target", element.getTarget().get(i), i); 22529 } 22530 for (int i = 0; i < element.getTargetLocation().size(); i++) { 22531 composeString(t, "VerificationResult", "targetLocation", element.getTargetLocation().get(i), i); 22532 } 22533 if (element.hasNeed()) { 22534 composeCodeableConcept(t, "VerificationResult", "need", element.getNeed(), -1); 22535 } 22536 if (element.hasStatusElement()) { 22537 composeEnum(t, "VerificationResult", "status", element.getStatusElement(), -1); 22538 } 22539 if (element.hasStatusDateElement()) { 22540 composeDateTime(t, "VerificationResult", "statusDate", element.getStatusDateElement(), -1); 22541 } 22542 if (element.hasValidationType()) { 22543 composeCodeableConcept(t, "VerificationResult", "validationType", element.getValidationType(), -1); 22544 } 22545 for (int i = 0; i < element.getValidationProcess().size(); i++) { 22546 composeCodeableConcept(t, "VerificationResult", "validationProcess", element.getValidationProcess().get(i), i); 22547 } 22548 if (element.hasFrequency()) { 22549 composeTiming(t, "VerificationResult", "frequency", element.getFrequency(), -1); 22550 } 22551 if (element.hasLastPerformedElement()) { 22552 composeDateTime(t, "VerificationResult", "lastPerformed", element.getLastPerformedElement(), -1); 22553 } 22554 if (element.hasNextScheduledElement()) { 22555 composeDate(t, "VerificationResult", "nextScheduled", element.getNextScheduledElement(), -1); 22556 } 22557 if (element.hasFailureAction()) { 22558 composeCodeableConcept(t, "VerificationResult", "failureAction", element.getFailureAction(), -1); 22559 } 22560 for (int i = 0; i < element.getPrimarySource().size(); i++) { 22561 composeVerificationResultPrimarySourceComponent(t, "VerificationResult", "primarySource", element.getPrimarySource().get(i), i); 22562 } 22563 if (element.hasAttestation()) { 22564 composeVerificationResultAttestationComponent(t, "VerificationResult", "attestation", element.getAttestation(), -1); 22565 } 22566 for (int i = 0; i < element.getValidator().size(); i++) { 22567 composeVerificationResultValidatorComponent(t, "VerificationResult", "validator", element.getValidator().get(i), i); 22568 } 22569 } 22570 22571 protected void composeVerificationResultPrimarySourceComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultPrimarySourceComponent element, int index) { 22572 if (element == null) 22573 return; 22574 Complex t; 22575 if (Utilities.noString(parentType)) 22576 t = parent; 22577 else { 22578 t = parent.predicate("fhir:"+parentType+'.'+name); 22579 } 22580 composeBackboneElement(t, "primarySource", name, element, index); 22581 if (element.hasWho()) { 22582 composeReference(t, "VerificationResultPrimarySourceComponent", "who", element.getWho(), -1); 22583 } 22584 for (int i = 0; i < element.getType().size(); i++) { 22585 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "type", element.getType().get(i), i); 22586 } 22587 for (int i = 0; i < element.getCommunicationMethod().size(); i++) { 22588 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "communicationMethod", element.getCommunicationMethod().get(i), i); 22589 } 22590 if (element.hasValidationStatus()) { 22591 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "validationStatus", element.getValidationStatus(), -1); 22592 } 22593 if (element.hasValidationDateElement()) { 22594 composeDateTime(t, "VerificationResultPrimarySourceComponent", "validationDate", element.getValidationDateElement(), -1); 22595 } 22596 if (element.hasCanPushUpdates()) { 22597 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "canPushUpdates", element.getCanPushUpdates(), -1); 22598 } 22599 for (int i = 0; i < element.getPushTypeAvailable().size(); i++) { 22600 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "pushTypeAvailable", element.getPushTypeAvailable().get(i), i); 22601 } 22602 } 22603 22604 protected void composeVerificationResultAttestationComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultAttestationComponent element, int index) { 22605 if (element == null) 22606 return; 22607 Complex t; 22608 if (Utilities.noString(parentType)) 22609 t = parent; 22610 else { 22611 t = parent.predicate("fhir:"+parentType+'.'+name); 22612 } 22613 composeBackboneElement(t, "attestation", name, element, index); 22614 if (element.hasWho()) { 22615 composeReference(t, "VerificationResultAttestationComponent", "who", element.getWho(), -1); 22616 } 22617 if (element.hasOnBehalfOf()) { 22618 composeReference(t, "VerificationResultAttestationComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 22619 } 22620 if (element.hasCommunicationMethod()) { 22621 composeCodeableConcept(t, "VerificationResultAttestationComponent", "communicationMethod", element.getCommunicationMethod(), -1); 22622 } 22623 if (element.hasDateElement()) { 22624 composeDate(t, "VerificationResultAttestationComponent", "date", element.getDateElement(), -1); 22625 } 22626 if (element.hasSourceIdentityCertificateElement()) { 22627 composeString(t, "VerificationResultAttestationComponent", "sourceIdentityCertificate", element.getSourceIdentityCertificateElement(), -1); 22628 } 22629 if (element.hasProxyIdentityCertificateElement()) { 22630 composeString(t, "VerificationResultAttestationComponent", "proxyIdentityCertificate", element.getProxyIdentityCertificateElement(), -1); 22631 } 22632 if (element.hasProxySignature()) { 22633 composeSignature(t, "VerificationResultAttestationComponent", "proxySignature", element.getProxySignature(), -1); 22634 } 22635 if (element.hasSourceSignature()) { 22636 composeSignature(t, "VerificationResultAttestationComponent", "sourceSignature", element.getSourceSignature(), -1); 22637 } 22638 } 22639 22640 protected void composeVerificationResultValidatorComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultValidatorComponent element, int index) { 22641 if (element == null) 22642 return; 22643 Complex t; 22644 if (Utilities.noString(parentType)) 22645 t = parent; 22646 else { 22647 t = parent.predicate("fhir:"+parentType+'.'+name); 22648 } 22649 composeBackboneElement(t, "validator", name, element, index); 22650 if (element.hasOrganization()) { 22651 composeReference(t, "VerificationResultValidatorComponent", "organization", element.getOrganization(), -1); 22652 } 22653 if (element.hasIdentityCertificateElement()) { 22654 composeString(t, "VerificationResultValidatorComponent", "identityCertificate", element.getIdentityCertificateElement(), -1); 22655 } 22656 if (element.hasAttestationSignature()) { 22657 composeSignature(t, "VerificationResultValidatorComponent", "attestationSignature", element.getAttestationSignature(), -1); 22658 } 22659 } 22660 22661 protected void composeVisionPrescription(Complex parent, String parentType, String name, VisionPrescription element, int index) { 22662 if (element == null) 22663 return; 22664 Complex t; 22665 if (Utilities.noString(parentType)) 22666 t = parent; 22667 else { 22668 t = parent.predicate("fhir:"+parentType+'.'+name); 22669 } 22670 composeDomainResource(t, "VisionPrescription", name, element, index); 22671 for (int i = 0; i < element.getIdentifier().size(); i++) { 22672 composeIdentifier(t, "VisionPrescription", "identifier", element.getIdentifier().get(i), i); 22673 } 22674 if (element.hasStatusElement()) { 22675 composeEnum(t, "VisionPrescription", "status", element.getStatusElement(), -1); 22676 } 22677 if (element.hasCreatedElement()) { 22678 composeDateTime(t, "VisionPrescription", "created", element.getCreatedElement(), -1); 22679 } 22680 if (element.hasPatient()) { 22681 composeReference(t, "VisionPrescription", "patient", element.getPatient(), -1); 22682 } 22683 if (element.hasEncounter()) { 22684 composeReference(t, "VisionPrescription", "encounter", element.getEncounter(), -1); 22685 } 22686 if (element.hasDateWrittenElement()) { 22687 composeDateTime(t, "VisionPrescription", "dateWritten", element.getDateWrittenElement(), -1); 22688 } 22689 if (element.hasPrescriber()) { 22690 composeReference(t, "VisionPrescription", "prescriber", element.getPrescriber(), -1); 22691 } 22692 for (int i = 0; i < element.getLensSpecification().size(); i++) { 22693 composeVisionPrescriptionLensSpecificationComponent(t, "VisionPrescription", "lensSpecification", element.getLensSpecification().get(i), i); 22694 } 22695 } 22696 22697 protected void composeVisionPrescriptionLensSpecificationComponent(Complex parent, String parentType, String name, VisionPrescription.VisionPrescriptionLensSpecificationComponent element, int index) { 22698 if (element == null) 22699 return; 22700 Complex t; 22701 if (Utilities.noString(parentType)) 22702 t = parent; 22703 else { 22704 t = parent.predicate("fhir:"+parentType+'.'+name); 22705 } 22706 composeBackboneElement(t, "lensSpecification", name, element, index); 22707 if (element.hasProduct()) { 22708 composeCodeableConcept(t, "VisionPrescriptionLensSpecificationComponent", "product", element.getProduct(), -1); 22709 } 22710 if (element.hasEyeElement()) { 22711 composeEnum(t, "VisionPrescriptionLensSpecificationComponent", "eye", element.getEyeElement(), -1); 22712 } 22713 if (element.hasSphereElement()) { 22714 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "sphere", element.getSphereElement(), -1); 22715 } 22716 if (element.hasCylinderElement()) { 22717 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "cylinder", element.getCylinderElement(), -1); 22718 } 22719 if (element.hasAxisElement()) { 22720 composeInteger(t, "VisionPrescriptionLensSpecificationComponent", "axis", element.getAxisElement(), -1); 22721 } 22722 for (int i = 0; i < element.getPrism().size(); i++) { 22723 composeVisionPrescriptionPrismComponent(t, "VisionPrescriptionLensSpecificationComponent", "prism", element.getPrism().get(i), i); 22724 } 22725 if (element.hasAddElement()) { 22726 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "add", element.getAddElement(), -1); 22727 } 22728 if (element.hasPowerElement()) { 22729 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "power", element.getPowerElement(), -1); 22730 } 22731 if (element.hasBackCurveElement()) { 22732 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "backCurve", element.getBackCurveElement(), -1); 22733 } 22734 if (element.hasDiameterElement()) { 22735 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "diameter", element.getDiameterElement(), -1); 22736 } 22737 if (element.hasDuration()) { 22738 composeQuantity(t, "VisionPrescriptionLensSpecificationComponent", "duration", element.getDuration(), -1); 22739 } 22740 if (element.hasColorElement()) { 22741 composeString(t, "VisionPrescriptionLensSpecificationComponent", "color", element.getColorElement(), -1); 22742 } 22743 if (element.hasBrandElement()) { 22744 composeString(t, "VisionPrescriptionLensSpecificationComponent", "brand", element.getBrandElement(), -1); 22745 } 22746 for (int i = 0; i < element.getNote().size(); i++) { 22747 composeAnnotation(t, "VisionPrescriptionLensSpecificationComponent", "note", element.getNote().get(i), i); 22748 } 22749 } 22750 22751 protected void composeVisionPrescriptionPrismComponent(Complex parent, String parentType, String name, VisionPrescription.PrismComponent element, int index) { 22752 if (element == null) 22753 return; 22754 Complex t; 22755 if (Utilities.noString(parentType)) 22756 t = parent; 22757 else { 22758 t = parent.predicate("fhir:"+parentType+'.'+name); 22759 } 22760 composeBackboneElement(t, "prism", name, element, index); 22761 if (element.hasAmountElement()) { 22762 composeDecimal(t, "PrismComponent", "amount", element.getAmountElement(), -1); 22763 } 22764 if (element.hasBaseElement()) { 22765 composeEnum(t, "PrismComponent", "base", element.getBaseElement(), -1); 22766 } 22767 } 22768 22769 22770 22771 22772 @Override 22773 protected void composeResource(Complex parent, Resource resource) { 22774 if (parent == null) { 22775 throw new Error("parent == null"); 22776 } else if (resource == null) { 22777 throw new Error("resource == null"); 22778 } else if (resource instanceof Account) { 22779 composeAccount(parent, null, "Account", (Account)resource, -1); 22780 } else if (resource instanceof ActivityDefinition) { 22781 composeActivityDefinition(parent, null, "ActivityDefinition", (ActivityDefinition)resource, -1); 22782 } else if (resource instanceof AdministrableProductDefinition) { 22783 composeAdministrableProductDefinition(parent, null, "AdministrableProductDefinition", (AdministrableProductDefinition)resource, -1); 22784 } else if (resource instanceof AdverseEvent) { 22785 composeAdverseEvent(parent, null, "AdverseEvent", (AdverseEvent)resource, -1); 22786 } else if (resource instanceof AllergyIntolerance) { 22787 composeAllergyIntolerance(parent, null, "AllergyIntolerance", (AllergyIntolerance)resource, -1); 22788 } else if (resource instanceof Appointment) { 22789 composeAppointment(parent, null, "Appointment", (Appointment)resource, -1); 22790 } else if (resource instanceof AppointmentResponse) { 22791 composeAppointmentResponse(parent, null, "AppointmentResponse", (AppointmentResponse)resource, -1); 22792 } else if (resource instanceof AuditEvent) { 22793 composeAuditEvent(parent, null, "AuditEvent", (AuditEvent)resource, -1); 22794 } else if (resource instanceof Basic) { 22795 composeBasic(parent, null, "Basic", (Basic)resource, -1); 22796 } else if (resource instanceof Binary) { 22797 composeBinary(parent, null, "Binary", (Binary)resource, -1); 22798 } else if (resource instanceof BiologicallyDerivedProduct) { 22799 composeBiologicallyDerivedProduct(parent, null, "BiologicallyDerivedProduct", (BiologicallyDerivedProduct)resource, -1); 22800 } else if (resource instanceof BodyStructure) { 22801 composeBodyStructure(parent, null, "BodyStructure", (BodyStructure)resource, -1); 22802 } else if (resource instanceof Bundle) { 22803 composeBundle(parent, null, "Bundle", (Bundle)resource, -1); 22804 } else if (resource instanceof CapabilityStatement) { 22805 composeCapabilityStatement(parent, null, "CapabilityStatement", (CapabilityStatement)resource, -1); 22806 } else if (resource instanceof CarePlan) { 22807 composeCarePlan(parent, null, "CarePlan", (CarePlan)resource, -1); 22808 } else if (resource instanceof CareTeam) { 22809 composeCareTeam(parent, null, "CareTeam", (CareTeam)resource, -1); 22810 } else if (resource instanceof CatalogEntry) { 22811 composeCatalogEntry(parent, null, "CatalogEntry", (CatalogEntry)resource, -1); 22812 } else if (resource instanceof ChargeItem) { 22813 composeChargeItem(parent, null, "ChargeItem", (ChargeItem)resource, -1); 22814 } else if (resource instanceof ChargeItemDefinition) { 22815 composeChargeItemDefinition(parent, null, "ChargeItemDefinition", (ChargeItemDefinition)resource, -1); 22816 } else if (resource instanceof Citation) { 22817 composeCitation(parent, null, "Citation", (Citation)resource, -1); 22818 } else if (resource instanceof Claim) { 22819 composeClaim(parent, null, "Claim", (Claim)resource, -1); 22820 } else if (resource instanceof ClaimResponse) { 22821 composeClaimResponse(parent, null, "ClaimResponse", (ClaimResponse)resource, -1); 22822 } else if (resource instanceof ClinicalImpression) { 22823 composeClinicalImpression(parent, null, "ClinicalImpression", (ClinicalImpression)resource, -1); 22824 } else if (resource instanceof ClinicalUseDefinition) { 22825 composeClinicalUseDefinition(parent, null, "ClinicalUseDefinition", (ClinicalUseDefinition)resource, -1); 22826 } else if (resource instanceof CodeSystem) { 22827 composeCodeSystem(parent, null, "CodeSystem", (CodeSystem)resource, -1); 22828 } else if (resource instanceof Communication) { 22829 composeCommunication(parent, null, "Communication", (Communication)resource, -1); 22830 } else if (resource instanceof CommunicationRequest) { 22831 composeCommunicationRequest(parent, null, "CommunicationRequest", (CommunicationRequest)resource, -1); 22832 } else if (resource instanceof CompartmentDefinition) { 22833 composeCompartmentDefinition(parent, null, "CompartmentDefinition", (CompartmentDefinition)resource, -1); 22834 } else if (resource instanceof Composition) { 22835 composeComposition(parent, null, "Composition", (Composition)resource, -1); 22836 } else if (resource instanceof ConceptMap) { 22837 composeConceptMap(parent, null, "ConceptMap", (ConceptMap)resource, -1); 22838 } else if (resource instanceof Condition) { 22839 composeCondition(parent, null, "Condition", (Condition)resource, -1); 22840 } else if (resource instanceof Consent) { 22841 composeConsent(parent, null, "Consent", (Consent)resource, -1); 22842 } else if (resource instanceof Contract) { 22843 composeContract(parent, null, "Contract", (Contract)resource, -1); 22844 } else if (resource instanceof Coverage) { 22845 composeCoverage(parent, null, "Coverage", (Coverage)resource, -1); 22846 } else if (resource instanceof CoverageEligibilityRequest) { 22847 composeCoverageEligibilityRequest(parent, null, "CoverageEligibilityRequest", (CoverageEligibilityRequest)resource, -1); 22848 } else if (resource instanceof CoverageEligibilityResponse) { 22849 composeCoverageEligibilityResponse(parent, null, "CoverageEligibilityResponse", (CoverageEligibilityResponse)resource, -1); 22850 } else if (resource instanceof DetectedIssue) { 22851 composeDetectedIssue(parent, null, "DetectedIssue", (DetectedIssue)resource, -1); 22852 } else if (resource instanceof Device) { 22853 composeDevice(parent, null, "Device", (Device)resource, -1); 22854 } else if (resource instanceof DeviceDefinition) { 22855 composeDeviceDefinition(parent, null, "DeviceDefinition", (DeviceDefinition)resource, -1); 22856 } else if (resource instanceof DeviceMetric) { 22857 composeDeviceMetric(parent, null, "DeviceMetric", (DeviceMetric)resource, -1); 22858 } else if (resource instanceof DeviceRequest) { 22859 composeDeviceRequest(parent, null, "DeviceRequest", (DeviceRequest)resource, -1); 22860 } else if (resource instanceof DeviceUseStatement) { 22861 composeDeviceUseStatement(parent, null, "DeviceUseStatement", (DeviceUseStatement)resource, -1); 22862 } else if (resource instanceof DiagnosticReport) { 22863 composeDiagnosticReport(parent, null, "DiagnosticReport", (DiagnosticReport)resource, -1); 22864 } else if (resource instanceof DocumentManifest) { 22865 composeDocumentManifest(parent, null, "DocumentManifest", (DocumentManifest)resource, -1); 22866 } else if (resource instanceof DocumentReference) { 22867 composeDocumentReference(parent, null, "DocumentReference", (DocumentReference)resource, -1); 22868 } else if (resource instanceof Encounter) { 22869 composeEncounter(parent, null, "Encounter", (Encounter)resource, -1); 22870 } else if (resource instanceof Endpoint) { 22871 composeEndpoint(parent, null, "Endpoint", (Endpoint)resource, -1); 22872 } else if (resource instanceof EnrollmentRequest) { 22873 composeEnrollmentRequest(parent, null, "EnrollmentRequest", (EnrollmentRequest)resource, -1); 22874 } else if (resource instanceof EnrollmentResponse) { 22875 composeEnrollmentResponse(parent, null, "EnrollmentResponse", (EnrollmentResponse)resource, -1); 22876 } else if (resource instanceof EpisodeOfCare) { 22877 composeEpisodeOfCare(parent, null, "EpisodeOfCare", (EpisodeOfCare)resource, -1); 22878 } else if (resource instanceof EventDefinition) { 22879 composeEventDefinition(parent, null, "EventDefinition", (EventDefinition)resource, -1); 22880 } else if (resource instanceof Evidence) { 22881 composeEvidence(parent, null, "Evidence", (Evidence)resource, -1); 22882 } else if (resource instanceof EvidenceReport) { 22883 composeEvidenceReport(parent, null, "EvidenceReport", (EvidenceReport)resource, -1); 22884 } else if (resource instanceof EvidenceVariable) { 22885 composeEvidenceVariable(parent, null, "EvidenceVariable", (EvidenceVariable)resource, -1); 22886 } else if (resource instanceof ExampleScenario) { 22887 composeExampleScenario(parent, null, "ExampleScenario", (ExampleScenario)resource, -1); 22888 } else if (resource instanceof ExplanationOfBenefit) { 22889 composeExplanationOfBenefit(parent, null, "ExplanationOfBenefit", (ExplanationOfBenefit)resource, -1); 22890 } else if (resource instanceof FamilyMemberHistory) { 22891 composeFamilyMemberHistory(parent, null, "FamilyMemberHistory", (FamilyMemberHistory)resource, -1); 22892 } else if (resource instanceof Flag) { 22893 composeFlag(parent, null, "Flag", (Flag)resource, -1); 22894 } else if (resource instanceof Goal) { 22895 composeGoal(parent, null, "Goal", (Goal)resource, -1); 22896 } else if (resource instanceof GraphDefinition) { 22897 composeGraphDefinition(parent, null, "GraphDefinition", (GraphDefinition)resource, -1); 22898 } else if (resource instanceof Group) { 22899 composeGroup(parent, null, "Group", (Group)resource, -1); 22900 } else if (resource instanceof GuidanceResponse) { 22901 composeGuidanceResponse(parent, null, "GuidanceResponse", (GuidanceResponse)resource, -1); 22902 } else if (resource instanceof HealthcareService) { 22903 composeHealthcareService(parent, null, "HealthcareService", (HealthcareService)resource, -1); 22904 } else if (resource instanceof ImagingStudy) { 22905 composeImagingStudy(parent, null, "ImagingStudy", (ImagingStudy)resource, -1); 22906 } else if (resource instanceof Immunization) { 22907 composeImmunization(parent, null, "Immunization", (Immunization)resource, -1); 22908 } else if (resource instanceof ImmunizationEvaluation) { 22909 composeImmunizationEvaluation(parent, null, "ImmunizationEvaluation", (ImmunizationEvaluation)resource, -1); 22910 } else if (resource instanceof ImmunizationRecommendation) { 22911 composeImmunizationRecommendation(parent, null, "ImmunizationRecommendation", (ImmunizationRecommendation)resource, -1); 22912 } else if (resource instanceof ImplementationGuide) { 22913 composeImplementationGuide(parent, null, "ImplementationGuide", (ImplementationGuide)resource, -1); 22914 } else if (resource instanceof Ingredient) { 22915 composeIngredient(parent, null, "Ingredient", (Ingredient)resource, -1); 22916 } else if (resource instanceof InsurancePlan) { 22917 composeInsurancePlan(parent, null, "InsurancePlan", (InsurancePlan)resource, -1); 22918 } else if (resource instanceof Invoice) { 22919 composeInvoice(parent, null, "Invoice", (Invoice)resource, -1); 22920 } else if (resource instanceof Library) { 22921 composeLibrary(parent, null, "Library", (Library)resource, -1); 22922 } else if (resource instanceof Linkage) { 22923 composeLinkage(parent, null, "Linkage", (Linkage)resource, -1); 22924 } else if (resource instanceof ListResource) { 22925 composeListResource(parent, null, "List", (ListResource)resource, -1); 22926 } else if (resource instanceof Location) { 22927 composeLocation(parent, null, "Location", (Location)resource, -1); 22928 } else if (resource instanceof ManufacturedItemDefinition) { 22929 composeManufacturedItemDefinition(parent, null, "ManufacturedItemDefinition", (ManufacturedItemDefinition)resource, -1); 22930 } else if (resource instanceof Measure) { 22931 composeMeasure(parent, null, "Measure", (Measure)resource, -1); 22932 } else if (resource instanceof MeasureReport) { 22933 composeMeasureReport(parent, null, "MeasureReport", (MeasureReport)resource, -1); 22934 } else if (resource instanceof Media) { 22935 composeMedia(parent, null, "Media", (Media)resource, -1); 22936 } else if (resource instanceof Medication) { 22937 composeMedication(parent, null, "Medication", (Medication)resource, -1); 22938 } else if (resource instanceof MedicationAdministration) { 22939 composeMedicationAdministration(parent, null, "MedicationAdministration", (MedicationAdministration)resource, -1); 22940 } else if (resource instanceof MedicationDispense) { 22941 composeMedicationDispense(parent, null, "MedicationDispense", (MedicationDispense)resource, -1); 22942 } else if (resource instanceof MedicationKnowledge) { 22943 composeMedicationKnowledge(parent, null, "MedicationKnowledge", (MedicationKnowledge)resource, -1); 22944 } else if (resource instanceof MedicationRequest) { 22945 composeMedicationRequest(parent, null, "MedicationRequest", (MedicationRequest)resource, -1); 22946 } else if (resource instanceof MedicationStatement) { 22947 composeMedicationStatement(parent, null, "MedicationStatement", (MedicationStatement)resource, -1); 22948 } else if (resource instanceof MedicinalProductDefinition) { 22949 composeMedicinalProductDefinition(parent, null, "MedicinalProductDefinition", (MedicinalProductDefinition)resource, -1); 22950 } else if (resource instanceof MessageDefinition) { 22951 composeMessageDefinition(parent, null, "MessageDefinition", (MessageDefinition)resource, -1); 22952 } else if (resource instanceof MessageHeader) { 22953 composeMessageHeader(parent, null, "MessageHeader", (MessageHeader)resource, -1); 22954 } else if (resource instanceof MolecularSequence) { 22955 composeMolecularSequence(parent, null, "MolecularSequence", (MolecularSequence)resource, -1); 22956 } else if (resource instanceof NamingSystem) { 22957 composeNamingSystem(parent, null, "NamingSystem", (NamingSystem)resource, -1); 22958 } else if (resource instanceof NutritionOrder) { 22959 composeNutritionOrder(parent, null, "NutritionOrder", (NutritionOrder)resource, -1); 22960 } else if (resource instanceof NutritionProduct) { 22961 composeNutritionProduct(parent, null, "NutritionProduct", (NutritionProduct)resource, -1); 22962 } else if (resource instanceof Observation) { 22963 composeObservation(parent, null, "Observation", (Observation)resource, -1); 22964 } else if (resource instanceof ObservationDefinition) { 22965 composeObservationDefinition(parent, null, "ObservationDefinition", (ObservationDefinition)resource, -1); 22966 } else if (resource instanceof OperationDefinition) { 22967 composeOperationDefinition(parent, null, "OperationDefinition", (OperationDefinition)resource, -1); 22968 } else if (resource instanceof OperationOutcome) { 22969 composeOperationOutcome(parent, null, "OperationOutcome", (OperationOutcome)resource, -1); 22970 } else if (resource instanceof Organization) { 22971 composeOrganization(parent, null, "Organization", (Organization)resource, -1); 22972 } else if (resource instanceof OrganizationAffiliation) { 22973 composeOrganizationAffiliation(parent, null, "OrganizationAffiliation", (OrganizationAffiliation)resource, -1); 22974 } else if (resource instanceof PackagedProductDefinition) { 22975 composePackagedProductDefinition(parent, null, "PackagedProductDefinition", (PackagedProductDefinition)resource, -1); 22976 } else if (resource instanceof Parameters) { 22977 composeParameters(parent, null, "Parameters", (Parameters)resource, -1); 22978 } else if (resource instanceof Patient) { 22979 composePatient(parent, null, "Patient", (Patient)resource, -1); 22980 } else if (resource instanceof PaymentNotice) { 22981 composePaymentNotice(parent, null, "PaymentNotice", (PaymentNotice)resource, -1); 22982 } else if (resource instanceof PaymentReconciliation) { 22983 composePaymentReconciliation(parent, null, "PaymentReconciliation", (PaymentReconciliation)resource, -1); 22984 } else if (resource instanceof Person) { 22985 composePerson(parent, null, "Person", (Person)resource, -1); 22986 } else if (resource instanceof PlanDefinition) { 22987 composePlanDefinition(parent, null, "PlanDefinition", (PlanDefinition)resource, -1); 22988 } else if (resource instanceof Practitioner) { 22989 composePractitioner(parent, null, "Practitioner", (Practitioner)resource, -1); 22990 } else if (resource instanceof PractitionerRole) { 22991 composePractitionerRole(parent, null, "PractitionerRole", (PractitionerRole)resource, -1); 22992 } else if (resource instanceof Procedure) { 22993 composeProcedure(parent, null, "Procedure", (Procedure)resource, -1); 22994 } else if (resource instanceof Provenance) { 22995 composeProvenance(parent, null, "Provenance", (Provenance)resource, -1); 22996 } else if (resource instanceof Questionnaire) { 22997 composeQuestionnaire(parent, null, "Questionnaire", (Questionnaire)resource, -1); 22998 } else if (resource instanceof QuestionnaireResponse) { 22999 composeQuestionnaireResponse(parent, null, "QuestionnaireResponse", (QuestionnaireResponse)resource, -1); 23000 } else if (resource instanceof RegulatedAuthorization) { 23001 composeRegulatedAuthorization(parent, null, "RegulatedAuthorization", (RegulatedAuthorization)resource, -1); 23002 } else if (resource instanceof RelatedPerson) { 23003 composeRelatedPerson(parent, null, "RelatedPerson", (RelatedPerson)resource, -1); 23004 } else if (resource instanceof RequestGroup) { 23005 composeRequestGroup(parent, null, "RequestGroup", (RequestGroup)resource, -1); 23006 } else if (resource instanceof ResearchDefinition) { 23007 composeResearchDefinition(parent, null, "ResearchDefinition", (ResearchDefinition)resource, -1); 23008 } else if (resource instanceof ResearchElementDefinition) { 23009 composeResearchElementDefinition(parent, null, "ResearchElementDefinition", (ResearchElementDefinition)resource, -1); 23010 } else if (resource instanceof ResearchStudy) { 23011 composeResearchStudy(parent, null, "ResearchStudy", (ResearchStudy)resource, -1); 23012 } else if (resource instanceof ResearchSubject) { 23013 composeResearchSubject(parent, null, "ResearchSubject", (ResearchSubject)resource, -1); 23014 } else if (resource instanceof RiskAssessment) { 23015 composeRiskAssessment(parent, null, "RiskAssessment", (RiskAssessment)resource, -1); 23016 } else if (resource instanceof Schedule) { 23017 composeSchedule(parent, null, "Schedule", (Schedule)resource, -1); 23018 } else if (resource instanceof SearchParameter) { 23019 composeSearchParameter(parent, null, "SearchParameter", (SearchParameter)resource, -1); 23020 } else if (resource instanceof ServiceRequest) { 23021 composeServiceRequest(parent, null, "ServiceRequest", (ServiceRequest)resource, -1); 23022 } else if (resource instanceof Slot) { 23023 composeSlot(parent, null, "Slot", (Slot)resource, -1); 23024 } else if (resource instanceof Specimen) { 23025 composeSpecimen(parent, null, "Specimen", (Specimen)resource, -1); 23026 } else if (resource instanceof SpecimenDefinition) { 23027 composeSpecimenDefinition(parent, null, "SpecimenDefinition", (SpecimenDefinition)resource, -1); 23028 } else if (resource instanceof StructureDefinition) { 23029 composeStructureDefinition(parent, null, "StructureDefinition", (StructureDefinition)resource, -1); 23030 } else if (resource instanceof StructureMap) { 23031 composeStructureMap(parent, null, "StructureMap", (StructureMap)resource, -1); 23032 } else if (resource instanceof Subscription) { 23033 composeSubscription(parent, null, "Subscription", (Subscription)resource, -1); 23034 } else if (resource instanceof SubscriptionStatus) { 23035 composeSubscriptionStatus(parent, null, "SubscriptionStatus", (SubscriptionStatus)resource, -1); 23036 } else if (resource instanceof SubscriptionTopic) { 23037 composeSubscriptionTopic(parent, null, "SubscriptionTopic", (SubscriptionTopic)resource, -1); 23038 } else if (resource instanceof Substance) { 23039 composeSubstance(parent, null, "Substance", (Substance)resource, -1); 23040 } else if (resource instanceof SubstanceDefinition) { 23041 composeSubstanceDefinition(parent, null, "SubstanceDefinition", (SubstanceDefinition)resource, -1); 23042 } else if (resource instanceof SupplyDelivery) { 23043 composeSupplyDelivery(parent, null, "SupplyDelivery", (SupplyDelivery)resource, -1); 23044 } else if (resource instanceof SupplyRequest) { 23045 composeSupplyRequest(parent, null, "SupplyRequest", (SupplyRequest)resource, -1); 23046 } else if (resource instanceof Task) { 23047 composeTask(parent, null, "Task", (Task)resource, -1); 23048 } else if (resource instanceof TerminologyCapabilities) { 23049 composeTerminologyCapabilities(parent, null, "TerminologyCapabilities", (TerminologyCapabilities)resource, -1); 23050 } else if (resource instanceof TestReport) { 23051 composeTestReport(parent, null, "TestReport", (TestReport)resource, -1); 23052 } else if (resource instanceof TestScript) { 23053 composeTestScript(parent, null, "TestScript", (TestScript)resource, -1); 23054 } else if (resource instanceof ValueSet) { 23055 composeValueSet(parent, null, "ValueSet", (ValueSet)resource, -1); 23056 } else if (resource instanceof VerificationResult) { 23057 composeVerificationResult(parent, null, "VerificationResult", (VerificationResult)resource, -1); 23058 } else if (resource instanceof VisionPrescription) { 23059 composeVisionPrescription(parent, null, "VisionPrescription", (VisionPrescription)resource, -1); 23060 23061 } else { 23062 throw new Error("Unhandled resource type "+resource.getClass().getName()); 23063 } 23064 } 23065 23066 protected void composeType(Complex parent, String parentType, String name, DataType value, int index) { 23067 if (parent == null) { 23068 throw new Error("parent == null"); 23069 } else if (parentType == null) { 23070 throw new Error("parentType == null"); 23071 } else if (name == null) { 23072 throw new Error("name == null"); 23073 } else if (value == null) { 23074 throw new Error("value == null"); 23075 } else if (value instanceof DateType) { 23076 composeDate(parent, parentType, name, (DateType)value, index); 23077 } else if (value instanceof DateTimeType) { 23078 composeDateTime(parent, parentType, name, (DateTimeType)value, index); 23079 } else if (value instanceof CodeType) { 23080 composeCode(parent, parentType, name, (CodeType)value, index); 23081 } else if (value instanceof StringType) { 23082 composeString(parent, parentType, name, (StringType)value, index); 23083 } else if (value instanceof IntegerType) { 23084 composeInteger(parent, parentType, name, (IntegerType)value, index); 23085 } else if (value instanceof Integer64Type) { 23086 composeInteger64(parent, parentType, name, (Integer64Type)value, index); 23087 } else if (value instanceof OidType) { 23088 composeOid(parent, parentType, name, (OidType)value, index); 23089 } else if (value instanceof CanonicalType) { 23090 composeCanonical(parent, parentType, name, (CanonicalType)value, index); 23091 } else if (value instanceof UriType) { 23092 composeUri(parent, parentType, name, (UriType)value, index); 23093 } else if (value instanceof UuidType) { 23094 composeUuid(parent, parentType, name, (UuidType)value, index); 23095 } else if (value instanceof UrlType) { 23096 composeUrl(parent, parentType, name, (UrlType)value, index); 23097 } else if (value instanceof InstantType) { 23098 composeInstant(parent, parentType, name, (InstantType)value, index); 23099 } else if (value instanceof BooleanType) { 23100 composeBoolean(parent, parentType, name, (BooleanType)value, index); 23101 } else if (value instanceof Base64BinaryType) { 23102 composeBase64Binary(parent, parentType, name, (Base64BinaryType)value, index); 23103 } else if (value instanceof UnsignedIntType) { 23104 composeUnsignedInt(parent, parentType, name, (UnsignedIntType)value, index); 23105 } else if (value instanceof MarkdownType) { 23106 composeMarkdown(parent, parentType, name, (MarkdownType)value, index); 23107 } else if (value instanceof TimeType) { 23108 composeTime(parent, parentType, name, (TimeType)value, index); 23109 } else if (value instanceof IdType) { 23110 composeId(parent, parentType, name, (IdType)value, index); 23111 } else if (value instanceof PositiveIntType) { 23112 composePositiveInt(parent, parentType, name, (PositiveIntType)value, index); 23113 } else if (value instanceof DecimalType) { 23114 composeDecimal(parent, parentType, name, (DecimalType)value, index); 23115 } else if (value instanceof Address) { 23116 composeAddress(parent, parentType, name, (Address)value, index); 23117 } else if (value instanceof Age) { 23118 composeAge(parent, parentType, name, (Age)value, index); 23119 } else if (value instanceof Annotation) { 23120 composeAnnotation(parent, parentType, name, (Annotation)value, index); 23121 } else if (value instanceof Attachment) { 23122 composeAttachment(parent, parentType, name, (Attachment)value, index); 23123 } else if (value instanceof CodeableConcept) { 23124 composeCodeableConcept(parent, parentType, name, (CodeableConcept)value, index); 23125 } else if (value instanceof CodeableReference) { 23126 composeCodeableReference(parent, parentType, name, (CodeableReference)value, index); 23127 } else if (value instanceof Coding) { 23128 composeCoding(parent, parentType, name, (Coding)value, index); 23129 } else if (value instanceof ContactDetail) { 23130 composeContactDetail(parent, parentType, name, (ContactDetail)value, index); 23131 } else if (value instanceof ContactPoint) { 23132 composeContactPoint(parent, parentType, name, (ContactPoint)value, index); 23133 } else if (value instanceof Contributor) { 23134 composeContributor(parent, parentType, name, (Contributor)value, index); 23135 } else if (value instanceof Count) { 23136 composeCount(parent, parentType, name, (Count)value, index); 23137 } else if (value instanceof DataRequirement) { 23138 composeDataRequirement(parent, parentType, name, (DataRequirement)value, index); 23139 } else if (value instanceof Distance) { 23140 composeDistance(parent, parentType, name, (Distance)value, index); 23141 } else if (value instanceof Dosage) { 23142 composeDosage(parent, parentType, name, (Dosage)value, index); 23143 } else if (value instanceof Duration) { 23144 composeDuration(parent, parentType, name, (Duration)value, index); 23145 } else if (value instanceof ElementDefinition) { 23146 composeElementDefinition(parent, parentType, name, (ElementDefinition)value, index); 23147 } else if (value instanceof Expression) { 23148 composeExpression(parent, parentType, name, (Expression)value, index); 23149 } else if (value instanceof Extension) { 23150 composeExtension(parent, parentType, name, (Extension)value, index); 23151 } else if (value instanceof HumanName) { 23152 composeHumanName(parent, parentType, name, (HumanName)value, index); 23153 } else if (value instanceof Identifier) { 23154 composeIdentifier(parent, parentType, name, (Identifier)value, index); 23155 } else if (value instanceof MarketingStatus) { 23156 composeMarketingStatus(parent, parentType, name, (MarketingStatus)value, index); 23157 } else if (value instanceof Meta) { 23158 composeMeta(parent, parentType, name, (Meta)value, index); 23159 } else if (value instanceof Money) { 23160 composeMoney(parent, parentType, name, (Money)value, index); 23161 } else if (value instanceof Narrative) { 23162 composeNarrative(parent, parentType, name, (Narrative)value, index); 23163 } else if (value instanceof ParameterDefinition) { 23164 composeParameterDefinition(parent, parentType, name, (ParameterDefinition)value, index); 23165 } else if (value instanceof Period) { 23166 composePeriod(parent, parentType, name, (Period)value, index); 23167 } else if (value instanceof Population) { 23168 composePopulation(parent, parentType, name, (Population)value, index); 23169 } else if (value instanceof ProdCharacteristic) { 23170 composeProdCharacteristic(parent, parentType, name, (ProdCharacteristic)value, index); 23171 } else if (value instanceof ProductShelfLife) { 23172 composeProductShelfLife(parent, parentType, name, (ProductShelfLife)value, index); 23173 } else if (value instanceof Quantity) { 23174 composeQuantity(parent, parentType, name, (Quantity)value, index); 23175 } else if (value instanceof Range) { 23176 composeRange(parent, parentType, name, (Range)value, index); 23177 } else if (value instanceof Ratio) { 23178 composeRatio(parent, parentType, name, (Ratio)value, index); 23179 } else if (value instanceof RatioRange) { 23180 composeRatioRange(parent, parentType, name, (RatioRange)value, index); 23181 } else if (value instanceof Reference) { 23182 composeReference(parent, parentType, name, (Reference)value, index); 23183 } else if (value instanceof RelatedArtifact) { 23184 composeRelatedArtifact(parent, parentType, name, (RelatedArtifact)value, index); 23185 } else if (value instanceof SampledData) { 23186 composeSampledData(parent, parentType, name, (SampledData)value, index); 23187 } else if (value instanceof Signature) { 23188 composeSignature(parent, parentType, name, (Signature)value, index); 23189 } else if (value instanceof Timing) { 23190 composeTiming(parent, parentType, name, (Timing)value, index); 23191 } else if (value instanceof TriggerDefinition) { 23192 composeTriggerDefinition(parent, parentType, name, (TriggerDefinition)value, index); 23193 } else if (value instanceof UsageContext) { 23194 composeUsageContext(parent, parentType, name, (UsageContext)value, index); 23195 23196 } else { 23197 throw new Error("Unhandled type"); 23198 } 23199 } 23200 23201}