001package org.hl7.fhir.r5.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 Tue, Dec 21, 2021 05:44+1100 for FHIR v5.0.0-snapshot1 035 036 037 038import org.hl7.fhir.r5.model.*; 039import org.hl7.fhir.r5.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 composeBackboneElement(Complex t, String parentType, String name, BackboneElement element, int index) { 229 composeElement(t, parentType, name, element, index); 230 for (int i = 0; i < element.getModifierExtension().size(); i++) { 231 composeExtension(t, "BackboneElement", "modifierExtension", element.getModifierExtension().get(i), i); 232 } 233 } 234 235 protected void composeBackboneType(Complex t, String parentType, String name, BackboneType element, int index) { 236 composeDataType(t, parentType, name, element, index); 237 for (int i = 0; i < element.getModifierExtension().size(); i++) { 238 composeExtension(t, "BackboneType", "modifierExtension", element.getModifierExtension().get(i), i); 239 } 240 } 241 242 protected void composeDataType(Complex t, String parentType, String name, DataType element, int index) { 243 composeElement(t, parentType, name, element, index); 244 } 245 246 protected void composeElement(Complex t, String parentType, String name, Element element, int index) { 247 composeBase(t, parentType, name, element, index); 248 if (element.hasIdElement()) { 249 composeString(t, "Element", "id", element.getIdElement(), -1); 250 } 251 for (int i = 0; i < element.getExtension().size(); i++) { 252 composeExtension(t, "Element", "extension", element.getExtension().get(i), i); 253 } 254 } 255 256 protected void composeAddress(Complex parent, String parentType, String name, Address element, int index) { 257 if (element == null) 258 return; 259 Complex t; 260 if (Utilities.noString(parentType)) 261 t = parent; 262 else { 263 t = parent.predicate("fhir:"+parentType+'.'+name); 264 } 265 composeDataType(t, "Address", name, element, index); 266 if (element.hasUseElement()) { 267 composeEnum(t, "Address", "use", element.getUseElement(), -1); 268 } 269 if (element.hasTypeElement()) { 270 composeEnum(t, "Address", "type", element.getTypeElement(), -1); 271 } 272 if (element.hasTextElement()) { 273 composeString(t, "Address", "text", element.getTextElement(), -1); 274 } 275 for (int i = 0; i < element.getLine().size(); i++) { 276 composeString(t, "Address", "line", element.getLine().get(i), i); 277 } 278 if (element.hasCityElement()) { 279 composeString(t, "Address", "city", element.getCityElement(), -1); 280 } 281 if (element.hasDistrictElement()) { 282 composeString(t, "Address", "district", element.getDistrictElement(), -1); 283 } 284 if (element.hasStateElement()) { 285 composeString(t, "Address", "state", element.getStateElement(), -1); 286 } 287 if (element.hasPostalCodeElement()) { 288 composeString(t, "Address", "postalCode", element.getPostalCodeElement(), -1); 289 } 290 if (element.hasCountryElement()) { 291 composeString(t, "Address", "country", element.getCountryElement(), -1); 292 } 293 if (element.hasPeriod()) { 294 composePeriod(t, "Address", "period", element.getPeriod(), -1); 295 } 296 } 297 298 protected void composeAge(Complex parent, String parentType, String name, Age element, int index) { 299 if (element == null) 300 return; 301 Complex t; 302 if (Utilities.noString(parentType)) 303 t = parent; 304 else { 305 t = parent.predicate("fhir:"+parentType+'.'+name); 306 } 307 composeQuantity(t, "Age", name, element, index); 308 } 309 310 protected void composeAnnotation(Complex parent, String parentType, String name, Annotation element, int index) { 311 if (element == null) 312 return; 313 Complex t; 314 if (Utilities.noString(parentType)) 315 t = parent; 316 else { 317 t = parent.predicate("fhir:"+parentType+'.'+name); 318 } 319 composeDataType(t, "Annotation", name, element, index); 320 if (element.hasAuthor()) { 321 composeType(t, "Annotation", "author", element.getAuthor(), -1); 322 } 323 if (element.hasTimeElement()) { 324 composeDateTime(t, "Annotation", "time", element.getTimeElement(), -1); 325 } 326 if (element.hasTextElement()) { 327 composeMarkdown(t, "Annotation", "text", element.getTextElement(), -1); 328 } 329 } 330 331 protected void composeAttachment(Complex parent, String parentType, String name, Attachment element, int index) { 332 if (element == null) 333 return; 334 Complex t; 335 if (Utilities.noString(parentType)) 336 t = parent; 337 else { 338 t = parent.predicate("fhir:"+parentType+'.'+name); 339 } 340 composeDataType(t, "Attachment", name, element, index); 341 if (element.hasContentTypeElement()) { 342 composeCode(t, "Attachment", "contentType", element.getContentTypeElement(), -1); 343 } 344 if (element.hasLanguageElement()) { 345 composeCode(t, "Attachment", "language", element.getLanguageElement(), -1); 346 } 347 if (element.hasDataElement()) { 348 composeBase64Binary(t, "Attachment", "data", element.getDataElement(), -1); 349 } 350 if (element.hasUrlElement()) { 351 composeUrl(t, "Attachment", "url", element.getUrlElement(), -1); 352 } 353 if (element.hasSizeElement()) { 354 composeInteger64(t, "Attachment", "size", element.getSizeElement(), -1); 355 } 356 if (element.hasHashElement()) { 357 composeBase64Binary(t, "Attachment", "hash", element.getHashElement(), -1); 358 } 359 if (element.hasTitleElement()) { 360 composeString(t, "Attachment", "title", element.getTitleElement(), -1); 361 } 362 if (element.hasCreationElement()) { 363 composeDateTime(t, "Attachment", "creation", element.getCreationElement(), -1); 364 } 365 if (element.hasHeightElement()) { 366 composePositiveInt(t, "Attachment", "height", element.getHeightElement(), -1); 367 } 368 if (element.hasWidthElement()) { 369 composePositiveInt(t, "Attachment", "width", element.getWidthElement(), -1); 370 } 371 if (element.hasFramesElement()) { 372 composePositiveInt(t, "Attachment", "frames", element.getFramesElement(), -1); 373 } 374 if (element.hasDurationElement()) { 375 composeDecimal(t, "Attachment", "duration", element.getDurationElement(), -1); 376 } 377 if (element.hasPagesElement()) { 378 composePositiveInt(t, "Attachment", "pages", element.getPagesElement(), -1); 379 } 380 } 381 382 protected void composeCodeableConcept(Complex parent, String parentType, String name, CodeableConcept element, int index) { 383 if (element == null) 384 return; 385 Complex t; 386 if (Utilities.noString(parentType)) 387 t = parent; 388 else { 389 t = parent.predicate("fhir:"+parentType+'.'+name); 390 } 391 composeDataType(t, "CodeableConcept", name, element, index); 392 decorateCodeableConcept(t, element); 393 for (int i = 0; i < element.getCoding().size(); i++) { 394 composeCoding(t, "CodeableConcept", "coding", element.getCoding().get(i), i); 395 } 396 if (element.hasTextElement()) { 397 composeString(t, "CodeableConcept", "text", element.getTextElement(), -1); 398 } 399 } 400 401 protected void composeCodeableReference(Complex parent, String parentType, String name, CodeableReference element, int index) { 402 if (element == null) 403 return; 404 Complex t; 405 if (Utilities.noString(parentType)) 406 t = parent; 407 else { 408 t = parent.predicate("fhir:"+parentType+'.'+name); 409 } 410 composeDataType(t, "CodeableReference", name, element, index); 411 if (element.hasConcept()) { 412 composeCodeableConcept(t, "CodeableReference", "concept", element.getConcept(), -1); 413 } 414 if (element.hasReference()) { 415 composeReference(t, "CodeableReference", "reference", element.getReference(), -1); 416 } 417 } 418 419 protected void composeCoding(Complex parent, String parentType, String name, Coding element, int index) { 420 if (element == null) 421 return; 422 Complex t; 423 if (Utilities.noString(parentType)) 424 t = parent; 425 else { 426 t = parent.predicate("fhir:"+parentType+'.'+name); 427 } 428 composeDataType(t, "Coding", name, element, index); 429 decorateCoding(t, element); 430 if (element.hasSystemElement()) { 431 composeUri(t, "Coding", "system", element.getSystemElement(), -1); 432 } 433 if (element.hasVersionElement()) { 434 composeString(t, "Coding", "version", element.getVersionElement(), -1); 435 } 436 if (element.hasCodeElement()) { 437 composeCode(t, "Coding", "code", element.getCodeElement(), -1); 438 } 439 if (element.hasDisplayElement()) { 440 composeString(t, "Coding", "display", element.getDisplayElement(), -1); 441 } 442 if (element.hasUserSelectedElement()) { 443 composeBoolean(t, "Coding", "userSelected", element.getUserSelectedElement(), -1); 444 } 445 } 446 447 protected void composeContactDetail(Complex parent, String parentType, String name, ContactDetail element, int index) { 448 if (element == null) 449 return; 450 Complex t; 451 if (Utilities.noString(parentType)) 452 t = parent; 453 else { 454 t = parent.predicate("fhir:"+parentType+'.'+name); 455 } 456 composeDataType(t, "ContactDetail", name, element, index); 457 if (element.hasNameElement()) { 458 composeString(t, "ContactDetail", "name", element.getNameElement(), -1); 459 } 460 for (int i = 0; i < element.getTelecom().size(); i++) { 461 composeContactPoint(t, "ContactDetail", "telecom", element.getTelecom().get(i), i); 462 } 463 } 464 465 protected void composeContactPoint(Complex parent, String parentType, String name, ContactPoint element, int index) { 466 if (element == null) 467 return; 468 Complex t; 469 if (Utilities.noString(parentType)) 470 t = parent; 471 else { 472 t = parent.predicate("fhir:"+parentType+'.'+name); 473 } 474 composeDataType(t, "ContactPoint", name, element, index); 475 if (element.hasSystemElement()) { 476 composeEnum(t, "ContactPoint", "system", element.getSystemElement(), -1); 477 } 478 if (element.hasValueElement()) { 479 composeString(t, "ContactPoint", "value", element.getValueElement(), -1); 480 } 481 if (element.hasUseElement()) { 482 composeEnum(t, "ContactPoint", "use", element.getUseElement(), -1); 483 } 484 if (element.hasRankElement()) { 485 composePositiveInt(t, "ContactPoint", "rank", element.getRankElement(), -1); 486 } 487 if (element.hasPeriod()) { 488 composePeriod(t, "ContactPoint", "period", element.getPeriod(), -1); 489 } 490 } 491 492 protected void composeContributor(Complex parent, String parentType, String name, Contributor element, int index) { 493 if (element == null) 494 return; 495 Complex t; 496 if (Utilities.noString(parentType)) 497 t = parent; 498 else { 499 t = parent.predicate("fhir:"+parentType+'.'+name); 500 } 501 composeDataType(t, "Contributor", name, element, index); 502 if (element.hasTypeElement()) { 503 composeEnum(t, "Contributor", "type", element.getTypeElement(), -1); 504 } 505 if (element.hasNameElement()) { 506 composeString(t, "Contributor", "name", element.getNameElement(), -1); 507 } 508 for (int i = 0; i < element.getContact().size(); i++) { 509 composeContactDetail(t, "Contributor", "contact", element.getContact().get(i), i); 510 } 511 } 512 513 protected void composeCount(Complex parent, String parentType, String name, Count element, int index) { 514 if (element == null) 515 return; 516 Complex t; 517 if (Utilities.noString(parentType)) 518 t = parent; 519 else { 520 t = parent.predicate("fhir:"+parentType+'.'+name); 521 } 522 composeQuantity(t, "Count", name, element, index); 523 } 524 525 protected void composeDataRequirement(Complex parent, String parentType, String name, DataRequirement element, int index) { 526 if (element == null) 527 return; 528 Complex t; 529 if (Utilities.noString(parentType)) 530 t = parent; 531 else { 532 t = parent.predicate("fhir:"+parentType+'.'+name); 533 } 534 composeDataType(t, "DataRequirement", name, element, index); 535 if (element.hasTypeElement()) { 536 composeEnum(t, "DataRequirement", "type", element.getTypeElement(), -1); 537 } 538 for (int i = 0; i < element.getProfile().size(); i++) { 539 composeCanonical(t, "DataRequirement", "profile", element.getProfile().get(i), i); 540 } 541 if (element.hasSubject()) { 542 composeType(t, "DataRequirement", "subject", element.getSubject(), -1); 543 } 544 for (int i = 0; i < element.getMustSupport().size(); i++) { 545 composeString(t, "DataRequirement", "mustSupport", element.getMustSupport().get(i), i); 546 } 547 for (int i = 0; i < element.getCodeFilter().size(); i++) { 548 composeDataRequirementCodeFilterComponent(t, "DataRequirement", "codeFilter", element.getCodeFilter().get(i), i); 549 } 550 for (int i = 0; i < element.getDateFilter().size(); i++) { 551 composeDataRequirementDateFilterComponent(t, "DataRequirement", "dateFilter", element.getDateFilter().get(i), i); 552 } 553 if (element.hasLimitElement()) { 554 composePositiveInt(t, "DataRequirement", "limit", element.getLimitElement(), -1); 555 } 556 for (int i = 0; i < element.getSort().size(); i++) { 557 composeDataRequirementSortComponent(t, "DataRequirement", "sort", element.getSort().get(i), i); 558 } 559 } 560 561 protected void composeDataRequirementCodeFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementCodeFilterComponent element, int index) { 562 if (element == null) 563 return; 564 Complex t; 565 if (Utilities.noString(parentType)) 566 t = parent; 567 else { 568 t = parent.predicate("fhir:"+parentType+'.'+name); 569 } 570 composeElement(t, "codeFilter", name, element, index); 571 if (element.hasPathElement()) { 572 composeString(t, "DataRequirementCodeFilterComponent", "path", element.getPathElement(), -1); 573 } 574 if (element.hasSearchParamElement()) { 575 composeString(t, "DataRequirementCodeFilterComponent", "searchParam", element.getSearchParamElement(), -1); 576 } 577 if (element.hasValueSetElement()) { 578 composeCanonical(t, "DataRequirementCodeFilterComponent", "valueSet", element.getValueSetElement(), -1); 579 } 580 for (int i = 0; i < element.getCode().size(); i++) { 581 composeCoding(t, "DataRequirementCodeFilterComponent", "code", element.getCode().get(i), i); 582 } 583 } 584 585 protected void composeDataRequirementDateFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementDateFilterComponent element, int index) { 586 if (element == null) 587 return; 588 Complex t; 589 if (Utilities.noString(parentType)) 590 t = parent; 591 else { 592 t = parent.predicate("fhir:"+parentType+'.'+name); 593 } 594 composeElement(t, "dateFilter", name, element, index); 595 if (element.hasPathElement()) { 596 composeString(t, "DataRequirementDateFilterComponent", "path", element.getPathElement(), -1); 597 } 598 if (element.hasSearchParamElement()) { 599 composeString(t, "DataRequirementDateFilterComponent", "searchParam", element.getSearchParamElement(), -1); 600 } 601 if (element.hasValue()) { 602 composeType(t, "DataRequirementDateFilterComponent", "value", element.getValue(), -1); 603 } 604 } 605 606 protected void composeDataRequirementSortComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementSortComponent element, int index) { 607 if (element == null) 608 return; 609 Complex t; 610 if (Utilities.noString(parentType)) 611 t = parent; 612 else { 613 t = parent.predicate("fhir:"+parentType+'.'+name); 614 } 615 composeElement(t, "sort", name, element, index); 616 if (element.hasPathElement()) { 617 composeString(t, "DataRequirementSortComponent", "path", element.getPathElement(), -1); 618 } 619 if (element.hasDirectionElement()) { 620 composeEnum(t, "DataRequirementSortComponent", "direction", element.getDirectionElement(), -1); 621 } 622 } 623 624 protected void composeDistance(Complex parent, String parentType, String name, Distance element, int index) { 625 if (element == null) 626 return; 627 Complex t; 628 if (Utilities.noString(parentType)) 629 t = parent; 630 else { 631 t = parent.predicate("fhir:"+parentType+'.'+name); 632 } 633 composeQuantity(t, "Distance", name, element, index); 634 } 635 636 protected void composeDosage(Complex parent, String parentType, String name, Dosage element, int index) { 637 if (element == null) 638 return; 639 Complex t; 640 if (Utilities.noString(parentType)) 641 t = parent; 642 else { 643 t = parent.predicate("fhir:"+parentType+'.'+name); 644 } 645 composeBackboneType(t, "Dosage", name, element, index); 646 if (element.hasSequenceElement()) { 647 composeInteger(t, "Dosage", "sequence", element.getSequenceElement(), -1); 648 } 649 if (element.hasTextElement()) { 650 composeString(t, "Dosage", "text", element.getTextElement(), -1); 651 } 652 for (int i = 0; i < element.getAdditionalInstruction().size(); i++) { 653 composeCodeableConcept(t, "Dosage", "additionalInstruction", element.getAdditionalInstruction().get(i), i); 654 } 655 if (element.hasPatientInstructionElement()) { 656 composeString(t, "Dosage", "patientInstruction", element.getPatientInstructionElement(), -1); 657 } 658 if (element.hasTiming()) { 659 composeTiming(t, "Dosage", "timing", element.getTiming(), -1); 660 } 661 if (element.hasAsNeeded()) { 662 composeType(t, "Dosage", "asNeeded", element.getAsNeeded(), -1); 663 } 664 if (element.hasSite()) { 665 composeCodeableConcept(t, "Dosage", "site", element.getSite(), -1); 666 } 667 if (element.hasRoute()) { 668 composeCodeableConcept(t, "Dosage", "route", element.getRoute(), -1); 669 } 670 if (element.hasMethod()) { 671 composeCodeableConcept(t, "Dosage", "method", element.getMethod(), -1); 672 } 673 for (int i = 0; i < element.getDoseAndRate().size(); i++) { 674 composeDosageDoseAndRateComponent(t, "Dosage", "doseAndRate", element.getDoseAndRate().get(i), i); 675 } 676 if (element.hasMaxDosePerPeriod()) { 677 composeRatio(t, "Dosage", "maxDosePerPeriod", element.getMaxDosePerPeriod(), -1); 678 } 679 if (element.hasMaxDosePerAdministration()) { 680 composeQuantity(t, "Dosage", "maxDosePerAdministration", element.getMaxDosePerAdministration(), -1); 681 } 682 if (element.hasMaxDosePerLifetime()) { 683 composeQuantity(t, "Dosage", "maxDosePerLifetime", element.getMaxDosePerLifetime(), -1); 684 } 685 } 686 687 protected void composeDosageDoseAndRateComponent(Complex parent, String parentType, String name, Dosage.DosageDoseAndRateComponent element, int index) { 688 if (element == null) 689 return; 690 Complex t; 691 if (Utilities.noString(parentType)) 692 t = parent; 693 else { 694 t = parent.predicate("fhir:"+parentType+'.'+name); 695 } 696 composeElement(t, "doseAndRate", name, element, index); 697 if (element.hasType()) { 698 composeCodeableConcept(t, "DosageDoseAndRateComponent", "type", element.getType(), -1); 699 } 700 if (element.hasDose()) { 701 composeType(t, "DosageDoseAndRateComponent", "dose", element.getDose(), -1); 702 } 703 if (element.hasRate()) { 704 composeType(t, "DosageDoseAndRateComponent", "rate", element.getRate(), -1); 705 } 706 } 707 708 protected void composeDuration(Complex parent, String parentType, String name, Duration element, int index) { 709 if (element == null) 710 return; 711 Complex t; 712 if (Utilities.noString(parentType)) 713 t = parent; 714 else { 715 t = parent.predicate("fhir:"+parentType+'.'+name); 716 } 717 composeQuantity(t, "Duration", name, element, index); 718 } 719 720 protected void composeElementDefinition(Complex parent, String parentType, String name, ElementDefinition element, int index) { 721 if (element == null) 722 return; 723 Complex t; 724 if (Utilities.noString(parentType)) 725 t = parent; 726 else { 727 t = parent.predicate("fhir:"+parentType+'.'+name); 728 } 729 composeBackboneType(t, "ElementDefinition", name, element, index); 730 if (element.hasPathElement()) { 731 composeString(t, "ElementDefinition", "path", element.getPathElement(), -1); 732 } 733 for (int i = 0; i < element.getRepresentation().size(); i++) { 734 composeEnum(t, "ElementDefinition", "representation", element.getRepresentation().get(i), i); 735 } 736 if (element.hasSliceNameElement()) { 737 composeString(t, "ElementDefinition", "sliceName", element.getSliceNameElement(), -1); 738 } 739 if (element.hasSliceIsConstrainingElement()) { 740 composeBoolean(t, "ElementDefinition", "sliceIsConstraining", element.getSliceIsConstrainingElement(), -1); 741 } 742 if (element.hasLabelElement()) { 743 composeString(t, "ElementDefinition", "label", element.getLabelElement(), -1); 744 } 745 for (int i = 0; i < element.getCode().size(); i++) { 746 composeCoding(t, "ElementDefinition", "code", element.getCode().get(i), i); 747 } 748 if (element.hasSlicing()) { 749 composeElementDefinitionSlicingComponent(t, "ElementDefinition", "slicing", element.getSlicing(), -1); 750 } 751 if (element.hasShortElement()) { 752 composeString(t, "ElementDefinition", "short", element.getShortElement(), -1); 753 } 754 if (element.hasDefinitionElement()) { 755 composeMarkdown(t, "ElementDefinition", "definition", element.getDefinitionElement(), -1); 756 } 757 if (element.hasCommentElement()) { 758 composeMarkdown(t, "ElementDefinition", "comment", element.getCommentElement(), -1); 759 } 760 if (element.hasRequirementsElement()) { 761 composeMarkdown(t, "ElementDefinition", "requirements", element.getRequirementsElement(), -1); 762 } 763 for (int i = 0; i < element.getAlias().size(); i++) { 764 composeString(t, "ElementDefinition", "alias", element.getAlias().get(i), i); 765 } 766 if (element.hasMinElement()) { 767 composeUnsignedInt(t, "ElementDefinition", "min", element.getMinElement(), -1); 768 } 769 if (element.hasMaxElement()) { 770 composeString(t, "ElementDefinition", "max", element.getMaxElement(), -1); 771 } 772 if (element.hasBase()) { 773 composeElementDefinitionBaseComponent(t, "ElementDefinition", "base", element.getBase(), -1); 774 } 775 if (element.hasContentReferenceElement()) { 776 composeUri(t, "ElementDefinition", "contentReference", element.getContentReferenceElement(), -1); 777 } 778 for (int i = 0; i < element.getType().size(); i++) { 779 composeElementDefinitionTypeRefComponent(t, "ElementDefinition", "type", element.getType().get(i), i); 780 } 781 if (element.hasDefaultValue()) { 782 composeType(t, "ElementDefinition", "defaultValue", element.getDefaultValue(), -1); 783 } 784 if (element.hasMeaningWhenMissingElement()) { 785 composeMarkdown(t, "ElementDefinition", "meaningWhenMissing", element.getMeaningWhenMissingElement(), -1); 786 } 787 if (element.hasOrderMeaningElement()) { 788 composeString(t, "ElementDefinition", "orderMeaning", element.getOrderMeaningElement(), -1); 789 } 790 if (element.hasFixed()) { 791 composeType(t, "ElementDefinition", "fixed", element.getFixed(), -1); 792 } 793 if (element.hasPattern()) { 794 composeType(t, "ElementDefinition", "pattern", element.getPattern(), -1); 795 } 796 for (int i = 0; i < element.getExample().size(); i++) { 797 composeElementDefinitionExampleComponent(t, "ElementDefinition", "example", element.getExample().get(i), i); 798 } 799 if (element.hasMinValue()) { 800 composeType(t, "ElementDefinition", "minValue", element.getMinValue(), -1); 801 } 802 if (element.hasMaxValue()) { 803 composeType(t, "ElementDefinition", "maxValue", element.getMaxValue(), -1); 804 } 805 if (element.hasMaxLengthElement()) { 806 composeInteger(t, "ElementDefinition", "maxLength", element.getMaxLengthElement(), -1); 807 } 808 for (int i = 0; i < element.getCondition().size(); i++) { 809 composeId(t, "ElementDefinition", "condition", element.getCondition().get(i), i); 810 } 811 for (int i = 0; i < element.getConstraint().size(); i++) { 812 composeElementDefinitionConstraintComponent(t, "ElementDefinition", "constraint", element.getConstraint().get(i), i); 813 } 814 if (element.hasMustSupportElement()) { 815 composeBoolean(t, "ElementDefinition", "mustSupport", element.getMustSupportElement(), -1); 816 } 817 if (element.hasIsModifierElement()) { 818 composeBoolean(t, "ElementDefinition", "isModifier", element.getIsModifierElement(), -1); 819 } 820 if (element.hasIsModifierReasonElement()) { 821 composeString(t, "ElementDefinition", "isModifierReason", element.getIsModifierReasonElement(), -1); 822 } 823 if (element.hasIsSummaryElement()) { 824 composeBoolean(t, "ElementDefinition", "isSummary", element.getIsSummaryElement(), -1); 825 } 826 if (element.hasBinding()) { 827 composeElementDefinitionBindingComponent(t, "ElementDefinition", "binding", element.getBinding(), -1); 828 } 829 for (int i = 0; i < element.getMapping().size(); i++) { 830 composeElementDefinitionMappingComponent(t, "ElementDefinition", "mapping", element.getMapping().get(i), i); 831 } 832 } 833 834 protected void composeElementDefinitionSlicingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingComponent element, int index) { 835 if (element == null) 836 return; 837 Complex t; 838 if (Utilities.noString(parentType)) 839 t = parent; 840 else { 841 t = parent.predicate("fhir:"+parentType+'.'+name); 842 } 843 composeElement(t, "slicing", name, element, index); 844 for (int i = 0; i < element.getDiscriminator().size(); i++) { 845 composeElementDefinitionSlicingDiscriminatorComponent(t, "ElementDefinitionSlicingComponent", "discriminator", element.getDiscriminator().get(i), i); 846 } 847 if (element.hasDescriptionElement()) { 848 composeString(t, "ElementDefinitionSlicingComponent", "description", element.getDescriptionElement(), -1); 849 } 850 if (element.hasOrderedElement()) { 851 composeBoolean(t, "ElementDefinitionSlicingComponent", "ordered", element.getOrderedElement(), -1); 852 } 853 if (element.hasRulesElement()) { 854 composeEnum(t, "ElementDefinitionSlicingComponent", "rules", element.getRulesElement(), -1); 855 } 856 } 857 858 protected void composeElementDefinitionSlicingDiscriminatorComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent element, int index) { 859 if (element == null) 860 return; 861 Complex t; 862 if (Utilities.noString(parentType)) 863 t = parent; 864 else { 865 t = parent.predicate("fhir:"+parentType+'.'+name); 866 } 867 composeElement(t, "discriminator", name, element, index); 868 if (element.hasTypeElement()) { 869 composeEnum(t, "ElementDefinitionSlicingDiscriminatorComponent", "type", element.getTypeElement(), -1); 870 } 871 if (element.hasPathElement()) { 872 composeString(t, "ElementDefinitionSlicingDiscriminatorComponent", "path", element.getPathElement(), -1); 873 } 874 } 875 876 protected void composeElementDefinitionBaseComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBaseComponent element, int index) { 877 if (element == null) 878 return; 879 Complex t; 880 if (Utilities.noString(parentType)) 881 t = parent; 882 else { 883 t = parent.predicate("fhir:"+parentType+'.'+name); 884 } 885 composeElement(t, "base", name, element, index); 886 if (element.hasPathElement()) { 887 composeString(t, "ElementDefinitionBaseComponent", "path", element.getPathElement(), -1); 888 } 889 if (element.hasMinElement()) { 890 composeUnsignedInt(t, "ElementDefinitionBaseComponent", "min", element.getMinElement(), -1); 891 } 892 if (element.hasMaxElement()) { 893 composeString(t, "ElementDefinitionBaseComponent", "max", element.getMaxElement(), -1); 894 } 895 } 896 897 protected void composeElementDefinitionTypeRefComponent(Complex parent, String parentType, String name, ElementDefinition.TypeRefComponent element, int index) { 898 if (element == null) 899 return; 900 Complex t; 901 if (Utilities.noString(parentType)) 902 t = parent; 903 else { 904 t = parent.predicate("fhir:"+parentType+'.'+name); 905 } 906 composeElement(t, "type", name, element, index); 907 if (element.hasCodeElement()) { 908 composeUri(t, "TypeRefComponent", "code", element.getCodeElement(), -1); 909 } 910 for (int i = 0; i < element.getProfile().size(); i++) { 911 composeCanonical(t, "TypeRefComponent", "profile", element.getProfile().get(i), i); 912 } 913 for (int i = 0; i < element.getTargetProfile().size(); i++) { 914 composeCanonical(t, "TypeRefComponent", "targetProfile", element.getTargetProfile().get(i), i); 915 } 916 for (int i = 0; i < element.getAggregation().size(); i++) { 917 composeEnum(t, "TypeRefComponent", "aggregation", element.getAggregation().get(i), i); 918 } 919 if (element.hasVersioningElement()) { 920 composeEnum(t, "TypeRefComponent", "versioning", element.getVersioningElement(), -1); 921 } 922 } 923 924 protected void composeElementDefinitionExampleComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionExampleComponent element, int index) { 925 if (element == null) 926 return; 927 Complex t; 928 if (Utilities.noString(parentType)) 929 t = parent; 930 else { 931 t = parent.predicate("fhir:"+parentType+'.'+name); 932 } 933 composeElement(t, "example", name, element, index); 934 if (element.hasLabelElement()) { 935 composeString(t, "ElementDefinitionExampleComponent", "label", element.getLabelElement(), -1); 936 } 937 if (element.hasValue()) { 938 composeType(t, "ElementDefinitionExampleComponent", "value", element.getValue(), -1); 939 } 940 } 941 942 protected void composeElementDefinitionConstraintComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionConstraintComponent element, int index) { 943 if (element == null) 944 return; 945 Complex t; 946 if (Utilities.noString(parentType)) 947 t = parent; 948 else { 949 t = parent.predicate("fhir:"+parentType+'.'+name); 950 } 951 composeElement(t, "constraint", name, element, index); 952 if (element.hasKeyElement()) { 953 composeId(t, "ElementDefinitionConstraintComponent", "key", element.getKeyElement(), -1); 954 } 955 if (element.hasRequirementsElement()) { 956 composeString(t, "ElementDefinitionConstraintComponent", "requirements", element.getRequirementsElement(), -1); 957 } 958 if (element.hasSeverityElement()) { 959 composeEnum(t, "ElementDefinitionConstraintComponent", "severity", element.getSeverityElement(), -1); 960 } 961 if (element.hasHumanElement()) { 962 composeString(t, "ElementDefinitionConstraintComponent", "human", element.getHumanElement(), -1); 963 } 964 if (element.hasExpressionElement()) { 965 composeString(t, "ElementDefinitionConstraintComponent", "expression", element.getExpressionElement(), -1); 966 } 967 if (element.hasXpathElement()) { 968 composeString(t, "ElementDefinitionConstraintComponent", "xpath", element.getXpathElement(), -1); 969 } 970 if (element.hasSourceElement()) { 971 composeCanonical(t, "ElementDefinitionConstraintComponent", "source", element.getSourceElement(), -1); 972 } 973 } 974 975 protected void composeElementDefinitionBindingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBindingComponent element, int index) { 976 if (element == null) 977 return; 978 Complex t; 979 if (Utilities.noString(parentType)) 980 t = parent; 981 else { 982 t = parent.predicate("fhir:"+parentType+'.'+name); 983 } 984 composeElement(t, "binding", name, element, index); 985 if (element.hasStrengthElement()) { 986 composeEnum(t, "ElementDefinitionBindingComponent", "strength", element.getStrengthElement(), -1); 987 } 988 if (element.hasDescriptionElement()) { 989 composeString(t, "ElementDefinitionBindingComponent", "description", element.getDescriptionElement(), -1); 990 } 991 if (element.hasValueSetElement()) { 992 composeCanonical(t, "ElementDefinitionBindingComponent", "valueSet", element.getValueSetElement(), -1); 993 } 994 } 995 996 protected void composeElementDefinitionMappingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionMappingComponent element, int index) { 997 if (element == null) 998 return; 999 Complex t; 1000 if (Utilities.noString(parentType)) 1001 t = parent; 1002 else { 1003 t = parent.predicate("fhir:"+parentType+'.'+name); 1004 } 1005 composeElement(t, "mapping", name, element, index); 1006 if (element.hasIdentityElement()) { 1007 composeId(t, "ElementDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 1008 } 1009 if (element.hasLanguageElement()) { 1010 composeCode(t, "ElementDefinitionMappingComponent", "language", element.getLanguageElement(), -1); 1011 } 1012 if (element.hasMapElement()) { 1013 composeString(t, "ElementDefinitionMappingComponent", "map", element.getMapElement(), -1); 1014 } 1015 if (element.hasCommentElement()) { 1016 composeString(t, "ElementDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 1017 } 1018 } 1019 1020 protected void composeExpression(Complex parent, String parentType, String name, Expression element, int index) { 1021 if (element == null) 1022 return; 1023 Complex t; 1024 if (Utilities.noString(parentType)) 1025 t = parent; 1026 else { 1027 t = parent.predicate("fhir:"+parentType+'.'+name); 1028 } 1029 composeDataType(t, "Expression", name, element, index); 1030 if (element.hasDescriptionElement()) { 1031 composeString(t, "Expression", "description", element.getDescriptionElement(), -1); 1032 } 1033 if (element.hasNameElement()) { 1034 composeId(t, "Expression", "name", element.getNameElement(), -1); 1035 } 1036 if (element.hasLanguageElement()) { 1037 composeCode(t, "Expression", "language", element.getLanguageElement(), -1); 1038 } 1039 if (element.hasExpressionElement()) { 1040 composeString(t, "Expression", "expression", element.getExpressionElement(), -1); 1041 } 1042 if (element.hasReferenceElement()) { 1043 composeUri(t, "Expression", "reference", element.getReferenceElement(), -1); 1044 } 1045 } 1046 1047 protected void composeExtension(Complex parent, String parentType, String name, Extension element, int index) { 1048 if (element == null) 1049 return; 1050 Complex t; 1051 if (Utilities.noString(parentType)) 1052 t = parent; 1053 else { 1054 t = parent.predicate("fhir:"+parentType+'.'+name); 1055 } 1056 composeDataType(t, "Extension", name, element, index); 1057 if (element.hasUrlElement()) { 1058 composeUri(t, "Extension", "url", element.getUrlElement(), -1); 1059 } 1060 if (element.hasValue()) { 1061 composeType(t, "Extension", "value", element.getValue(), -1); 1062 } 1063 } 1064 1065 protected void composeHumanName(Complex parent, String parentType, String name, HumanName element, int index) { 1066 if (element == null) 1067 return; 1068 Complex t; 1069 if (Utilities.noString(parentType)) 1070 t = parent; 1071 else { 1072 t = parent.predicate("fhir:"+parentType+'.'+name); 1073 } 1074 composeDataType(t, "HumanName", name, element, index); 1075 if (element.hasUseElement()) { 1076 composeEnum(t, "HumanName", "use", element.getUseElement(), -1); 1077 } 1078 if (element.hasTextElement()) { 1079 composeString(t, "HumanName", "text", element.getTextElement(), -1); 1080 } 1081 if (element.hasFamilyElement()) { 1082 composeString(t, "HumanName", "family", element.getFamilyElement(), -1); 1083 } 1084 for (int i = 0; i < element.getGiven().size(); i++) { 1085 composeString(t, "HumanName", "given", element.getGiven().get(i), i); 1086 } 1087 for (int i = 0; i < element.getPrefix().size(); i++) { 1088 composeString(t, "HumanName", "prefix", element.getPrefix().get(i), i); 1089 } 1090 for (int i = 0; i < element.getSuffix().size(); i++) { 1091 composeString(t, "HumanName", "suffix", element.getSuffix().get(i), i); 1092 } 1093 if (element.hasPeriod()) { 1094 composePeriod(t, "HumanName", "period", element.getPeriod(), -1); 1095 } 1096 } 1097 1098 protected void composeIdentifier(Complex parent, String parentType, String name, Identifier element, int index) { 1099 if (element == null) 1100 return; 1101 Complex t; 1102 if (Utilities.noString(parentType)) 1103 t = parent; 1104 else { 1105 t = parent.predicate("fhir:"+parentType+'.'+name); 1106 } 1107 composeDataType(t, "Identifier", name, element, index); 1108 if (element.hasUseElement()) { 1109 composeEnum(t, "Identifier", "use", element.getUseElement(), -1); 1110 } 1111 if (element.hasType()) { 1112 composeCodeableConcept(t, "Identifier", "type", element.getType(), -1); 1113 } 1114 if (element.hasSystemElement()) { 1115 composeUri(t, "Identifier", "system", element.getSystemElement(), -1); 1116 } 1117 if (element.hasValueElement()) { 1118 composeString(t, "Identifier", "value", element.getValueElement(), -1); 1119 } 1120 if (element.hasPeriod()) { 1121 composePeriod(t, "Identifier", "period", element.getPeriod(), -1); 1122 } 1123 if (element.hasAssigner()) { 1124 composeReference(t, "Identifier", "assigner", element.getAssigner(), -1); 1125 } 1126 } 1127 1128 protected void composeMarketingStatus(Complex parent, String parentType, String name, MarketingStatus element, int index) { 1129 if (element == null) 1130 return; 1131 Complex t; 1132 if (Utilities.noString(parentType)) 1133 t = parent; 1134 else { 1135 t = parent.predicate("fhir:"+parentType+'.'+name); 1136 } 1137 composeBackboneType(t, "MarketingStatus", name, element, index); 1138 if (element.hasCountry()) { 1139 composeCodeableConcept(t, "MarketingStatus", "country", element.getCountry(), -1); 1140 } 1141 if (element.hasJurisdiction()) { 1142 composeCodeableConcept(t, "MarketingStatus", "jurisdiction", element.getJurisdiction(), -1); 1143 } 1144 if (element.hasStatus()) { 1145 composeCodeableConcept(t, "MarketingStatus", "status", element.getStatus(), -1); 1146 } 1147 if (element.hasDateRange()) { 1148 composePeriod(t, "MarketingStatus", "dateRange", element.getDateRange(), -1); 1149 } 1150 if (element.hasRestoreDateElement()) { 1151 composeDateTime(t, "MarketingStatus", "restoreDate", element.getRestoreDateElement(), -1); 1152 } 1153 } 1154 1155 protected void composeMeta(Complex parent, String parentType, String name, Meta element, int index) { 1156 if (element == null) 1157 return; 1158 Complex t; 1159 if (Utilities.noString(parentType)) 1160 t = parent; 1161 else { 1162 t = parent.predicate("fhir:"+parentType+'.'+name); 1163 } 1164 composeDataType(t, "Meta", name, element, index); 1165 if (element.hasVersionIdElement()) { 1166 composeId(t, "Meta", "versionId", element.getVersionIdElement(), -1); 1167 } 1168 if (element.hasLastUpdatedElement()) { 1169 composeInstant(t, "Meta", "lastUpdated", element.getLastUpdatedElement(), -1); 1170 } 1171 if (element.hasSourceElement()) { 1172 composeUri(t, "Meta", "source", element.getSourceElement(), -1); 1173 } 1174 for (int i = 0; i < element.getProfile().size(); i++) { 1175 composeCanonical(t, "Meta", "profile", element.getProfile().get(i), i); 1176 } 1177 for (int i = 0; i < element.getSecurity().size(); i++) { 1178 composeCoding(t, "Meta", "security", element.getSecurity().get(i), i); 1179 } 1180 for (int i = 0; i < element.getTag().size(); i++) { 1181 composeCoding(t, "Meta", "tag", element.getTag().get(i), i); 1182 } 1183 } 1184 1185 protected void composeMoney(Complex parent, String parentType, String name, Money element, int index) { 1186 if (element == null) 1187 return; 1188 Complex t; 1189 if (Utilities.noString(parentType)) 1190 t = parent; 1191 else { 1192 t = parent.predicate("fhir:"+parentType+'.'+name); 1193 } 1194 composeDataType(t, "Money", name, element, index); 1195 if (element.hasValueElement()) { 1196 composeDecimal(t, "Money", "value", element.getValueElement(), -1); 1197 } 1198 if (element.hasCurrencyElement()) { 1199 composeCode(t, "Money", "currency", element.getCurrencyElement(), -1); 1200 } 1201 } 1202 1203 protected void composeNarrative(Complex parent, String parentType, String name, Narrative element, int index) { 1204 if (element == null) 1205 return; 1206 Complex t; 1207 if (Utilities.noString(parentType)) 1208 t = parent; 1209 else { 1210 t = parent.predicate("fhir:"+parentType+'.'+name); 1211 } 1212 composeDataType(t, "Narrative", name, element, index); 1213 if (element.hasStatusElement()) { 1214 composeEnum(t, "Narrative", "status", element.getStatusElement(), -1); 1215 } 1216 if (element.hasDiv()) { 1217 composeXhtmlNode(t, "Narrative", "div", element.getDiv(), -1); 1218 } 1219 } 1220 1221 protected void composeParameterDefinition(Complex parent, String parentType, String name, ParameterDefinition element, int index) { 1222 if (element == null) 1223 return; 1224 Complex t; 1225 if (Utilities.noString(parentType)) 1226 t = parent; 1227 else { 1228 t = parent.predicate("fhir:"+parentType+'.'+name); 1229 } 1230 composeDataType(t, "ParameterDefinition", name, element, index); 1231 if (element.hasNameElement()) { 1232 composeCode(t, "ParameterDefinition", "name", element.getNameElement(), -1); 1233 } 1234 if (element.hasUseElement()) { 1235 composeEnum(t, "ParameterDefinition", "use", element.getUseElement(), -1); 1236 } 1237 if (element.hasMinElement()) { 1238 composeInteger(t, "ParameterDefinition", "min", element.getMinElement(), -1); 1239 } 1240 if (element.hasMaxElement()) { 1241 composeString(t, "ParameterDefinition", "max", element.getMaxElement(), -1); 1242 } 1243 if (element.hasDocumentationElement()) { 1244 composeString(t, "ParameterDefinition", "documentation", element.getDocumentationElement(), -1); 1245 } 1246 if (element.hasTypeElement()) { 1247 composeEnum(t, "ParameterDefinition", "type", element.getTypeElement(), -1); 1248 } 1249 if (element.hasProfileElement()) { 1250 composeCanonical(t, "ParameterDefinition", "profile", element.getProfileElement(), -1); 1251 } 1252 } 1253 1254 protected void composePeriod(Complex parent, String parentType, String name, Period element, int index) { 1255 if (element == null) 1256 return; 1257 Complex t; 1258 if (Utilities.noString(parentType)) 1259 t = parent; 1260 else { 1261 t = parent.predicate("fhir:"+parentType+'.'+name); 1262 } 1263 composeDataType(t, "Period", name, element, index); 1264 if (element.hasStartElement()) { 1265 composeDateTime(t, "Period", "start", element.getStartElement(), -1); 1266 } 1267 if (element.hasEndElement()) { 1268 composeDateTime(t, "Period", "end", element.getEndElement(), -1); 1269 } 1270 } 1271 1272 protected void composePopulation(Complex parent, String parentType, String name, Population element, int index) { 1273 if (element == null) 1274 return; 1275 Complex t; 1276 if (Utilities.noString(parentType)) 1277 t = parent; 1278 else { 1279 t = parent.predicate("fhir:"+parentType+'.'+name); 1280 } 1281 composeBackboneType(t, "Population", name, element, index); 1282 if (element.hasAge()) { 1283 composeType(t, "Population", "age", element.getAge(), -1); 1284 } 1285 if (element.hasGender()) { 1286 composeCodeableConcept(t, "Population", "gender", element.getGender(), -1); 1287 } 1288 if (element.hasRace()) { 1289 composeCodeableConcept(t, "Population", "race", element.getRace(), -1); 1290 } 1291 if (element.hasPhysiologicalCondition()) { 1292 composeCodeableConcept(t, "Population", "physiologicalCondition", element.getPhysiologicalCondition(), -1); 1293 } 1294 } 1295 1296 protected void composeProdCharacteristic(Complex parent, String parentType, String name, ProdCharacteristic element, int index) { 1297 if (element == null) 1298 return; 1299 Complex t; 1300 if (Utilities.noString(parentType)) 1301 t = parent; 1302 else { 1303 t = parent.predicate("fhir:"+parentType+'.'+name); 1304 } 1305 composeBackboneType(t, "ProdCharacteristic", name, element, index); 1306 if (element.hasHeight()) { 1307 composeQuantity(t, "ProdCharacteristic", "height", element.getHeight(), -1); 1308 } 1309 if (element.hasWidth()) { 1310 composeQuantity(t, "ProdCharacteristic", "width", element.getWidth(), -1); 1311 } 1312 if (element.hasDepth()) { 1313 composeQuantity(t, "ProdCharacteristic", "depth", element.getDepth(), -1); 1314 } 1315 if (element.hasWeight()) { 1316 composeQuantity(t, "ProdCharacteristic", "weight", element.getWeight(), -1); 1317 } 1318 if (element.hasNominalVolume()) { 1319 composeQuantity(t, "ProdCharacteristic", "nominalVolume", element.getNominalVolume(), -1); 1320 } 1321 if (element.hasExternalDiameter()) { 1322 composeQuantity(t, "ProdCharacteristic", "externalDiameter", element.getExternalDiameter(), -1); 1323 } 1324 if (element.hasShapeElement()) { 1325 composeString(t, "ProdCharacteristic", "shape", element.getShapeElement(), -1); 1326 } 1327 for (int i = 0; i < element.getColor().size(); i++) { 1328 composeString(t, "ProdCharacteristic", "color", element.getColor().get(i), i); 1329 } 1330 for (int i = 0; i < element.getImprint().size(); i++) { 1331 composeString(t, "ProdCharacteristic", "imprint", element.getImprint().get(i), i); 1332 } 1333 for (int i = 0; i < element.getImage().size(); i++) { 1334 composeAttachment(t, "ProdCharacteristic", "image", element.getImage().get(i), i); 1335 } 1336 if (element.hasScoring()) { 1337 composeCodeableConcept(t, "ProdCharacteristic", "scoring", element.getScoring(), -1); 1338 } 1339 } 1340 1341 protected void composeProductShelfLife(Complex parent, String parentType, String name, ProductShelfLife element, int index) { 1342 if (element == null) 1343 return; 1344 Complex t; 1345 if (Utilities.noString(parentType)) 1346 t = parent; 1347 else { 1348 t = parent.predicate("fhir:"+parentType+'.'+name); 1349 } 1350 composeBackboneType(t, "ProductShelfLife", name, element, index); 1351 if (element.hasType()) { 1352 composeCodeableConcept(t, "ProductShelfLife", "type", element.getType(), -1); 1353 } 1354 if (element.hasPeriod()) { 1355 composeType(t, "ProductShelfLife", "period", element.getPeriod(), -1); 1356 } 1357 for (int i = 0; i < element.getSpecialPrecautionsForStorage().size(); i++) { 1358 composeCodeableConcept(t, "ProductShelfLife", "specialPrecautionsForStorage", element.getSpecialPrecautionsForStorage().get(i), i); 1359 } 1360 } 1361 1362 protected void composeQuantity(Complex parent, String parentType, String name, Quantity element, int index) { 1363 if (element == null) 1364 return; 1365 Complex t; 1366 if (Utilities.noString(parentType)) 1367 t = parent; 1368 else { 1369 t = parent.predicate("fhir:"+parentType+'.'+name); 1370 } 1371 composeDataType(t, "Quantity", name, element, index); 1372 if (element.hasValueElement()) { 1373 composeDecimal(t, "Quantity", "value", element.getValueElement(), -1); 1374 } 1375 if (element.hasComparatorElement()) { 1376 composeEnum(t, "Quantity", "comparator", element.getComparatorElement(), -1); 1377 } 1378 if (element.hasUnitElement()) { 1379 composeString(t, "Quantity", "unit", element.getUnitElement(), -1); 1380 } 1381 if (element.hasSystemElement()) { 1382 composeUri(t, "Quantity", "system", element.getSystemElement(), -1); 1383 } 1384 if (element.hasCodeElement()) { 1385 composeCode(t, "Quantity", "code", element.getCodeElement(), -1); 1386 } 1387 } 1388 1389 protected void composeRange(Complex parent, String parentType, String name, Range element, int index) { 1390 if (element == null) 1391 return; 1392 Complex t; 1393 if (Utilities.noString(parentType)) 1394 t = parent; 1395 else { 1396 t = parent.predicate("fhir:"+parentType+'.'+name); 1397 } 1398 composeDataType(t, "Range", name, element, index); 1399 if (element.hasLow()) { 1400 composeQuantity(t, "Range", "low", element.getLow(), -1); 1401 } 1402 if (element.hasHigh()) { 1403 composeQuantity(t, "Range", "high", element.getHigh(), -1); 1404 } 1405 } 1406 1407 protected void composeRatio(Complex parent, String parentType, String name, Ratio element, int index) { 1408 if (element == null) 1409 return; 1410 Complex t; 1411 if (Utilities.noString(parentType)) 1412 t = parent; 1413 else { 1414 t = parent.predicate("fhir:"+parentType+'.'+name); 1415 } 1416 composeDataType(t, "Ratio", name, element, index); 1417 if (element.hasNumerator()) { 1418 composeQuantity(t, "Ratio", "numerator", element.getNumerator(), -1); 1419 } 1420 if (element.hasDenominator()) { 1421 composeQuantity(t, "Ratio", "denominator", element.getDenominator(), -1); 1422 } 1423 } 1424 1425 protected void composeRatioRange(Complex parent, String parentType, String name, RatioRange element, int index) { 1426 if (element == null) 1427 return; 1428 Complex t; 1429 if (Utilities.noString(parentType)) 1430 t = parent; 1431 else { 1432 t = parent.predicate("fhir:"+parentType+'.'+name); 1433 } 1434 composeDataType(t, "RatioRange", name, element, index); 1435 if (element.hasLowNumerator()) { 1436 composeQuantity(t, "RatioRange", "lowNumerator", element.getLowNumerator(), -1); 1437 } 1438 if (element.hasHighNumerator()) { 1439 composeQuantity(t, "RatioRange", "highNumerator", element.getHighNumerator(), -1); 1440 } 1441 if (element.hasDenominator()) { 1442 composeQuantity(t, "RatioRange", "denominator", element.getDenominator(), -1); 1443 } 1444 } 1445 1446 protected void composeReference(Complex parent, String parentType, String name, Reference element, int index) { 1447 if (element == null) 1448 return; 1449 Complex t; 1450 if (Utilities.noString(parentType)) 1451 t = parent; 1452 else { 1453 t = parent.predicate("fhir:"+parentType+'.'+name); 1454 } 1455 composeDataType(t, "Reference", name, element, index); 1456 if (element.hasReferenceElement()) { 1457 composeString(t, "Reference", "reference", element.getReferenceElement_(), -1); 1458 } 1459 if (element.hasTypeElement()) { 1460 composeUri(t, "Reference", "type", element.getTypeElement(), -1); 1461 } 1462 if (element.hasIdentifier()) { 1463 composeIdentifier(t, "Reference", "identifier", element.getIdentifier(), -1); 1464 } 1465 if (element.hasDisplayElement()) { 1466 composeString(t, "Reference", "display", element.getDisplayElement(), -1); 1467 } 1468 } 1469 1470 protected void composeRelatedArtifact(Complex parent, String parentType, String name, RelatedArtifact element, int index) { 1471 if (element == null) 1472 return; 1473 Complex t; 1474 if (Utilities.noString(parentType)) 1475 t = parent; 1476 else { 1477 t = parent.predicate("fhir:"+parentType+'.'+name); 1478 } 1479 composeDataType(t, "RelatedArtifact", name, element, index); 1480 if (element.hasTypeElement()) { 1481 composeEnum(t, "RelatedArtifact", "type", element.getTypeElement(), -1); 1482 } 1483 for (int i = 0; i < element.getClassifier().size(); i++) { 1484 composeCodeableConcept(t, "RelatedArtifact", "classifier", element.getClassifier().get(i), i); 1485 } 1486 if (element.hasLabelElement()) { 1487 composeString(t, "RelatedArtifact", "label", element.getLabelElement(), -1); 1488 } 1489 if (element.hasDisplayElement()) { 1490 composeString(t, "RelatedArtifact", "display", element.getDisplayElement(), -1); 1491 } 1492 if (element.hasCitationElement()) { 1493 composeMarkdown(t, "RelatedArtifact", "citation", element.getCitationElement(), -1); 1494 } 1495 if (element.hasDocument()) { 1496 composeAttachment(t, "RelatedArtifact", "document", element.getDocument(), -1); 1497 } 1498 if (element.hasResourceElement()) { 1499 composeCanonical(t, "RelatedArtifact", "resource", element.getResourceElement(), -1); 1500 } 1501 if (element.hasResourceReference()) { 1502 composeReference(t, "RelatedArtifact", "resourceReference", element.getResourceReference(), -1); 1503 } 1504 } 1505 1506 protected void composeSampledData(Complex parent, String parentType, String name, SampledData element, int index) { 1507 if (element == null) 1508 return; 1509 Complex t; 1510 if (Utilities.noString(parentType)) 1511 t = parent; 1512 else { 1513 t = parent.predicate("fhir:"+parentType+'.'+name); 1514 } 1515 composeDataType(t, "SampledData", name, element, index); 1516 if (element.hasOrigin()) { 1517 composeQuantity(t, "SampledData", "origin", element.getOrigin(), -1); 1518 } 1519 if (element.hasPeriodElement()) { 1520 composeDecimal(t, "SampledData", "period", element.getPeriodElement(), -1); 1521 } 1522 if (element.hasFactorElement()) { 1523 composeDecimal(t, "SampledData", "factor", element.getFactorElement(), -1); 1524 } 1525 if (element.hasLowerLimitElement()) { 1526 composeDecimal(t, "SampledData", "lowerLimit", element.getLowerLimitElement(), -1); 1527 } 1528 if (element.hasUpperLimitElement()) { 1529 composeDecimal(t, "SampledData", "upperLimit", element.getUpperLimitElement(), -1); 1530 } 1531 if (element.hasDimensionsElement()) { 1532 composePositiveInt(t, "SampledData", "dimensions", element.getDimensionsElement(), -1); 1533 } 1534 if (element.hasDataElement()) { 1535 composeString(t, "SampledData", "data", element.getDataElement(), -1); 1536 } 1537 } 1538 1539 protected void composeSignature(Complex parent, String parentType, String name, Signature element, int index) { 1540 if (element == null) 1541 return; 1542 Complex t; 1543 if (Utilities.noString(parentType)) 1544 t = parent; 1545 else { 1546 t = parent.predicate("fhir:"+parentType+'.'+name); 1547 } 1548 composeDataType(t, "Signature", name, element, index); 1549 for (int i = 0; i < element.getType().size(); i++) { 1550 composeCoding(t, "Signature", "type", element.getType().get(i), i); 1551 } 1552 if (element.hasWhenElement()) { 1553 composeInstant(t, "Signature", "when", element.getWhenElement(), -1); 1554 } 1555 if (element.hasWho()) { 1556 composeReference(t, "Signature", "who", element.getWho(), -1); 1557 } 1558 if (element.hasOnBehalfOf()) { 1559 composeReference(t, "Signature", "onBehalfOf", element.getOnBehalfOf(), -1); 1560 } 1561 if (element.hasTargetFormatElement()) { 1562 composeCode(t, "Signature", "targetFormat", element.getTargetFormatElement(), -1); 1563 } 1564 if (element.hasSigFormatElement()) { 1565 composeCode(t, "Signature", "sigFormat", element.getSigFormatElement(), -1); 1566 } 1567 if (element.hasDataElement()) { 1568 composeBase64Binary(t, "Signature", "data", element.getDataElement(), -1); 1569 } 1570 } 1571 1572 protected void composeTiming(Complex parent, String parentType, String name, Timing element, int index) { 1573 if (element == null) 1574 return; 1575 Complex t; 1576 if (Utilities.noString(parentType)) 1577 t = parent; 1578 else { 1579 t = parent.predicate("fhir:"+parentType+'.'+name); 1580 } 1581 composeBackboneType(t, "Timing", name, element, index); 1582 for (int i = 0; i < element.getEvent().size(); i++) { 1583 composeDateTime(t, "Timing", "event", element.getEvent().get(i), i); 1584 } 1585 if (element.hasRepeat()) { 1586 composeTimingRepeatComponent(t, "Timing", "repeat", element.getRepeat(), -1); 1587 } 1588 if (element.hasCode()) { 1589 composeCodeableConcept(t, "Timing", "code", element.getCode(), -1); 1590 } 1591 } 1592 1593 protected void composeTimingRepeatComponent(Complex parent, String parentType, String name, Timing.TimingRepeatComponent element, int index) { 1594 if (element == null) 1595 return; 1596 Complex t; 1597 if (Utilities.noString(parentType)) 1598 t = parent; 1599 else { 1600 t = parent.predicate("fhir:"+parentType+'.'+name); 1601 } 1602 composeElement(t, "repeat", name, element, index); 1603 if (element.hasBounds()) { 1604 composeType(t, "TimingRepeatComponent", "bounds", element.getBounds(), -1); 1605 } 1606 if (element.hasCountElement()) { 1607 composePositiveInt(t, "TimingRepeatComponent", "count", element.getCountElement(), -1); 1608 } 1609 if (element.hasCountMaxElement()) { 1610 composePositiveInt(t, "TimingRepeatComponent", "countMax", element.getCountMaxElement(), -1); 1611 } 1612 if (element.hasDurationElement()) { 1613 composeDecimal(t, "TimingRepeatComponent", "duration", element.getDurationElement(), -1); 1614 } 1615 if (element.hasDurationMaxElement()) { 1616 composeDecimal(t, "TimingRepeatComponent", "durationMax", element.getDurationMaxElement(), -1); 1617 } 1618 if (element.hasDurationUnitElement()) { 1619 composeEnum(t, "TimingRepeatComponent", "durationUnit", element.getDurationUnitElement(), -1); 1620 } 1621 if (element.hasFrequencyElement()) { 1622 composePositiveInt(t, "TimingRepeatComponent", "frequency", element.getFrequencyElement(), -1); 1623 } 1624 if (element.hasFrequencyMaxElement()) { 1625 composePositiveInt(t, "TimingRepeatComponent", "frequencyMax", element.getFrequencyMaxElement(), -1); 1626 } 1627 if (element.hasPeriodElement()) { 1628 composeDecimal(t, "TimingRepeatComponent", "period", element.getPeriodElement(), -1); 1629 } 1630 if (element.hasPeriodMaxElement()) { 1631 composeDecimal(t, "TimingRepeatComponent", "periodMax", element.getPeriodMaxElement(), -1); 1632 } 1633 if (element.hasPeriodUnitElement()) { 1634 composeEnum(t, "TimingRepeatComponent", "periodUnit", element.getPeriodUnitElement(), -1); 1635 } 1636 for (int i = 0; i < element.getDayOfWeek().size(); i++) { 1637 composeEnum(t, "TimingRepeatComponent", "dayOfWeek", element.getDayOfWeek().get(i), i); 1638 } 1639 for (int i = 0; i < element.getTimeOfDay().size(); i++) { 1640 composeTime(t, "TimingRepeatComponent", "timeOfDay", element.getTimeOfDay().get(i), i); 1641 } 1642 for (int i = 0; i < element.getWhen().size(); i++) { 1643 composeEnum(t, "TimingRepeatComponent", "when", element.getWhen().get(i), i); 1644 } 1645 if (element.hasOffsetElement()) { 1646 composeUnsignedInt(t, "TimingRepeatComponent", "offset", element.getOffsetElement(), -1); 1647 } 1648 } 1649 1650 protected void composeTriggerDefinition(Complex parent, String parentType, String name, TriggerDefinition element, int index) { 1651 if (element == null) 1652 return; 1653 Complex t; 1654 if (Utilities.noString(parentType)) 1655 t = parent; 1656 else { 1657 t = parent.predicate("fhir:"+parentType+'.'+name); 1658 } 1659 composeDataType(t, "TriggerDefinition", name, element, index); 1660 if (element.hasTypeElement()) { 1661 composeEnum(t, "TriggerDefinition", "type", element.getTypeElement(), -1); 1662 } 1663 if (element.hasNameElement()) { 1664 composeString(t, "TriggerDefinition", "name", element.getNameElement(), -1); 1665 } 1666 if (element.hasTiming()) { 1667 composeType(t, "TriggerDefinition", "timing", element.getTiming(), -1); 1668 } 1669 for (int i = 0; i < element.getData().size(); i++) { 1670 composeDataRequirement(t, "TriggerDefinition", "data", element.getData().get(i), i); 1671 } 1672 if (element.hasCondition()) { 1673 composeExpression(t, "TriggerDefinition", "condition", element.getCondition(), -1); 1674 } 1675 } 1676 1677 protected void composeUsageContext(Complex parent, String parentType, String name, UsageContext element, int index) { 1678 if (element == null) 1679 return; 1680 Complex t; 1681 if (Utilities.noString(parentType)) 1682 t = parent; 1683 else { 1684 t = parent.predicate("fhir:"+parentType+'.'+name); 1685 } 1686 composeDataType(t, "UsageContext", name, element, index); 1687 if (element.hasCode()) { 1688 composeCoding(t, "UsageContext", "code", element.getCode(), -1); 1689 } 1690 if (element.hasValue()) { 1691 composeType(t, "UsageContext", "value", element.getValue(), -1); 1692 } 1693 } 1694 1695 protected void composeCanonicalResource(Complex t, String parentType, String name, CanonicalResource element, int index) { 1696 composeDomainResource(t, parentType, name, element, index); 1697 if (element.hasUrlElement()) { 1698 composeUri(t, "CanonicalResource", "url", element.getUrlElement(), -1); 1699 } 1700 for (int i = 0; i < element.getIdentifier().size(); i++) { 1701 composeIdentifier(t, "CanonicalResource", "identifier", element.getIdentifier().get(i), i); 1702 } 1703 if (element.hasVersionElement()) { 1704 composeString(t, "CanonicalResource", "version", element.getVersionElement(), -1); 1705 } 1706 if (element.hasNameElement()) { 1707 composeString(t, "CanonicalResource", "name", element.getNameElement(), -1); 1708 } 1709 if (element.hasTitleElement()) { 1710 composeString(t, "CanonicalResource", "title", element.getTitleElement(), -1); 1711 } 1712 if (element.hasStatusElement()) { 1713 composeEnum(t, "CanonicalResource", "status", element.getStatusElement(), -1); 1714 } 1715 if (element.hasExperimentalElement()) { 1716 composeBoolean(t, "CanonicalResource", "experimental", element.getExperimentalElement(), -1); 1717 } 1718 if (element.hasDateElement()) { 1719 composeDateTime(t, "CanonicalResource", "date", element.getDateElement(), -1); 1720 } 1721 if (element.hasPublisherElement()) { 1722 composeString(t, "CanonicalResource", "publisher", element.getPublisherElement(), -1); 1723 } 1724 for (int i = 0; i < element.getContact().size(); i++) { 1725 composeContactDetail(t, "CanonicalResource", "contact", element.getContact().get(i), i); 1726 } 1727 if (element.hasDescriptionElement()) { 1728 composeMarkdown(t, "CanonicalResource", "description", element.getDescriptionElement(), -1); 1729 } 1730 for (int i = 0; i < element.getUseContext().size(); i++) { 1731 composeUsageContext(t, "CanonicalResource", "useContext", element.getUseContext().get(i), i); 1732 } 1733 for (int i = 0; i < element.getJurisdiction().size(); i++) { 1734 composeCodeableConcept(t, "CanonicalResource", "jurisdiction", element.getJurisdiction().get(i), i); 1735 } 1736 if (element.hasPurposeElement()) { 1737 composeMarkdown(t, "CanonicalResource", "purpose", element.getPurposeElement(), -1); 1738 } 1739 if (element.hasCopyrightElement()) { 1740 composeMarkdown(t, "CanonicalResource", "copyright", element.getCopyrightElement(), -1); 1741 } 1742 } 1743 1744 protected void composeDomainResource(Complex t, String parentType, String name, DomainResource element, int index) { 1745 composeResource(t, parentType, name, element, index); 1746 if (element.hasText()) { 1747 composeNarrative(t, "DomainResource", "text", element.getText(), -1); 1748 } 1749 for (int i = 0; i < element.getContained().size(); i++) { 1750 composeResource(t, "DomainResource", "contained", element.getContained().get(i), i); 1751 } 1752 for (int i = 0; i < element.getExtension().size(); i++) { 1753 composeExtension(t, "DomainResource", "extension", element.getExtension().get(i), i); 1754 } 1755 for (int i = 0; i < element.getModifierExtension().size(); i++) { 1756 composeExtension(t, "DomainResource", "modifierExtension", element.getModifierExtension().get(i), i); 1757 } 1758 } 1759 1760 protected void composeMetadataResource(Complex t, String parentType, String name, MetadataResource element, int index) { 1761 composeCanonicalResource(t, parentType, name, element, index); 1762 if (element.hasApprovalDateElement()) { 1763 composeDate(t, "MetadataResource", "approvalDate", element.getApprovalDateElement(), -1); 1764 } 1765 if (element.hasLastReviewDateElement()) { 1766 composeDate(t, "MetadataResource", "lastReviewDate", element.getLastReviewDateElement(), -1); 1767 } 1768 if (element.hasEffectivePeriod()) { 1769 composePeriod(t, "MetadataResource", "effectivePeriod", element.getEffectivePeriod(), -1); 1770 } 1771 for (int i = 0; i < element.getTopic().size(); i++) { 1772 composeCodeableConcept(t, "MetadataResource", "topic", element.getTopic().get(i), i); 1773 } 1774 for (int i = 0; i < element.getAuthor().size(); i++) { 1775 composeContactDetail(t, "MetadataResource", "author", element.getAuthor().get(i), i); 1776 } 1777 for (int i = 0; i < element.getEditor().size(); i++) { 1778 composeContactDetail(t, "MetadataResource", "editor", element.getEditor().get(i), i); 1779 } 1780 for (int i = 0; i < element.getReviewer().size(); i++) { 1781 composeContactDetail(t, "MetadataResource", "reviewer", element.getReviewer().get(i), i); 1782 } 1783 for (int i = 0; i < element.getEndorser().size(); i++) { 1784 composeContactDetail(t, "MetadataResource", "endorser", element.getEndorser().get(i), i); 1785 } 1786 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 1787 composeRelatedArtifact(t, "MetadataResource", "relatedArtifact", element.getRelatedArtifact().get(i), i); 1788 } 1789 } 1790 1791 protected void composeResource(Complex t, String parentType, String name, Resource element, int index) { 1792 composeBase(t, parentType, name, element, index); 1793 if (element.hasIdElement()) { 1794 composeId(t, "Resource", "id", element.getIdElement(), -1); 1795 } 1796 if (element.hasMeta()) { 1797 composeMeta(t, "Resource", "meta", element.getMeta(), -1); 1798 } 1799 if (element.hasImplicitRulesElement()) { 1800 composeUri(t, "Resource", "implicitRules", element.getImplicitRulesElement(), -1); 1801 } 1802 if (element.hasLanguageElement()) { 1803 composeCode(t, "Resource", "language", element.getLanguageElement(), -1); 1804 } 1805 } 1806 1807 protected void composeAccount(Complex parent, String parentType, String name, Account element, int index) { 1808 if (element == null) 1809 return; 1810 Complex t; 1811 if (Utilities.noString(parentType)) 1812 t = parent; 1813 else { 1814 t = parent.predicate("fhir:"+parentType+'.'+name); 1815 } 1816 composeDomainResource(t, "Account", name, element, index); 1817 for (int i = 0; i < element.getIdentifier().size(); i++) { 1818 composeIdentifier(t, "Account", "identifier", element.getIdentifier().get(i), i); 1819 } 1820 if (element.hasStatusElement()) { 1821 composeEnum(t, "Account", "status", element.getStatusElement(), -1); 1822 } 1823 if (element.hasBillingStatus()) { 1824 composeCodeableConcept(t, "Account", "billingStatus", element.getBillingStatus(), -1); 1825 } 1826 if (element.hasType()) { 1827 composeCodeableConcept(t, "Account", "type", element.getType(), -1); 1828 } 1829 if (element.hasNameElement()) { 1830 composeString(t, "Account", "name", element.getNameElement(), -1); 1831 } 1832 for (int i = 0; i < element.getSubject().size(); i++) { 1833 composeReference(t, "Account", "subject", element.getSubject().get(i), i); 1834 } 1835 if (element.hasServicePeriod()) { 1836 composePeriod(t, "Account", "servicePeriod", element.getServicePeriod(), -1); 1837 } 1838 for (int i = 0; i < element.getCoverage().size(); i++) { 1839 composeAccountCoverageComponent(t, "Account", "coverage", element.getCoverage().get(i), i); 1840 } 1841 if (element.hasOwner()) { 1842 composeReference(t, "Account", "owner", element.getOwner(), -1); 1843 } 1844 if (element.hasDescriptionElement()) { 1845 composeString(t, "Account", "description", element.getDescriptionElement(), -1); 1846 } 1847 for (int i = 0; i < element.getGuarantor().size(); i++) { 1848 composeAccountGuarantorComponent(t, "Account", "guarantor", element.getGuarantor().get(i), i); 1849 } 1850 if (element.hasPartOf()) { 1851 composeReference(t, "Account", "partOf", element.getPartOf(), -1); 1852 } 1853 } 1854 1855 protected void composeAccountCoverageComponent(Complex parent, String parentType, String name, Account.CoverageComponent element, int index) { 1856 if (element == null) 1857 return; 1858 Complex t; 1859 if (Utilities.noString(parentType)) 1860 t = parent; 1861 else { 1862 t = parent.predicate("fhir:"+parentType+'.'+name); 1863 } 1864 composeBackboneElement(t, "coverage", name, element, index); 1865 if (element.hasCoverage()) { 1866 composeReference(t, "CoverageComponent", "coverage", element.getCoverage(), -1); 1867 } 1868 if (element.hasPriorityElement()) { 1869 composePositiveInt(t, "CoverageComponent", "priority", element.getPriorityElement(), -1); 1870 } 1871 } 1872 1873 protected void composeAccountGuarantorComponent(Complex parent, String parentType, String name, Account.GuarantorComponent element, int index) { 1874 if (element == null) 1875 return; 1876 Complex t; 1877 if (Utilities.noString(parentType)) 1878 t = parent; 1879 else { 1880 t = parent.predicate("fhir:"+parentType+'.'+name); 1881 } 1882 composeBackboneElement(t, "guarantor", name, element, index); 1883 if (element.hasParty()) { 1884 composeReference(t, "GuarantorComponent", "party", element.getParty(), -1); 1885 } 1886 if (element.hasOnHoldElement()) { 1887 composeBoolean(t, "GuarantorComponent", "onHold", element.getOnHoldElement(), -1); 1888 } 1889 if (element.hasPeriod()) { 1890 composePeriod(t, "GuarantorComponent", "period", element.getPeriod(), -1); 1891 } 1892 } 1893 1894 protected void composeActivityDefinition(Complex parent, String parentType, String name, ActivityDefinition element, int index) { 1895 if (element == null) 1896 return; 1897 Complex t; 1898 if (Utilities.noString(parentType)) 1899 t = parent; 1900 else { 1901 t = parent.predicate("fhir:"+parentType+'.'+name); 1902 } 1903 composeMetadataResource(t, "ActivityDefinition", name, element, index); 1904 if (element.hasUrlElement()) { 1905 composeUri(t, "ActivityDefinition", "url", element.getUrlElement(), -1); 1906 } 1907 for (int i = 0; i < element.getIdentifier().size(); i++) { 1908 composeIdentifier(t, "ActivityDefinition", "identifier", element.getIdentifier().get(i), i); 1909 } 1910 if (element.hasVersionElement()) { 1911 composeString(t, "ActivityDefinition", "version", element.getVersionElement(), -1); 1912 } 1913 if (element.hasNameElement()) { 1914 composeString(t, "ActivityDefinition", "name", element.getNameElement(), -1); 1915 } 1916 if (element.hasTitleElement()) { 1917 composeString(t, "ActivityDefinition", "title", element.getTitleElement(), -1); 1918 } 1919 if (element.hasSubtitleElement()) { 1920 composeString(t, "ActivityDefinition", "subtitle", element.getSubtitleElement(), -1); 1921 } 1922 if (element.hasStatusElement()) { 1923 composeEnum(t, "ActivityDefinition", "status", element.getStatusElement(), -1); 1924 } 1925 if (element.hasExperimentalElement()) { 1926 composeBoolean(t, "ActivityDefinition", "experimental", element.getExperimentalElement(), -1); 1927 } 1928 if (element.hasSubject()) { 1929 composeType(t, "ActivityDefinition", "subject", element.getSubject(), -1); 1930 } 1931 if (element.hasDateElement()) { 1932 composeDateTime(t, "ActivityDefinition", "date", element.getDateElement(), -1); 1933 } 1934 if (element.hasPublisherElement()) { 1935 composeString(t, "ActivityDefinition", "publisher", element.getPublisherElement(), -1); 1936 } 1937 for (int i = 0; i < element.getContact().size(); i++) { 1938 composeContactDetail(t, "ActivityDefinition", "contact", element.getContact().get(i), i); 1939 } 1940 if (element.hasDescriptionElement()) { 1941 composeMarkdown(t, "ActivityDefinition", "description", element.getDescriptionElement(), -1); 1942 } 1943 for (int i = 0; i < element.getUseContext().size(); i++) { 1944 composeUsageContext(t, "ActivityDefinition", "useContext", element.getUseContext().get(i), i); 1945 } 1946 for (int i = 0; i < element.getJurisdiction().size(); i++) { 1947 composeCodeableConcept(t, "ActivityDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 1948 } 1949 if (element.hasPurposeElement()) { 1950 composeMarkdown(t, "ActivityDefinition", "purpose", element.getPurposeElement(), -1); 1951 } 1952 if (element.hasUsageElement()) { 1953 composeString(t, "ActivityDefinition", "usage", element.getUsageElement(), -1); 1954 } 1955 if (element.hasCopyrightElement()) { 1956 composeMarkdown(t, "ActivityDefinition", "copyright", element.getCopyrightElement(), -1); 1957 } 1958 if (element.hasApprovalDateElement()) { 1959 composeDate(t, "ActivityDefinition", "approvalDate", element.getApprovalDateElement(), -1); 1960 } 1961 if (element.hasLastReviewDateElement()) { 1962 composeDate(t, "ActivityDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 1963 } 1964 if (element.hasEffectivePeriod()) { 1965 composePeriod(t, "ActivityDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 1966 } 1967 for (int i = 0; i < element.getTopic().size(); i++) { 1968 composeCodeableConcept(t, "ActivityDefinition", "topic", element.getTopic().get(i), i); 1969 } 1970 for (int i = 0; i < element.getAuthor().size(); i++) { 1971 composeContactDetail(t, "ActivityDefinition", "author", element.getAuthor().get(i), i); 1972 } 1973 for (int i = 0; i < element.getEditor().size(); i++) { 1974 composeContactDetail(t, "ActivityDefinition", "editor", element.getEditor().get(i), i); 1975 } 1976 for (int i = 0; i < element.getReviewer().size(); i++) { 1977 composeContactDetail(t, "ActivityDefinition", "reviewer", element.getReviewer().get(i), i); 1978 } 1979 for (int i = 0; i < element.getEndorser().size(); i++) { 1980 composeContactDetail(t, "ActivityDefinition", "endorser", element.getEndorser().get(i), i); 1981 } 1982 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 1983 composeRelatedArtifact(t, "ActivityDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 1984 } 1985 for (int i = 0; i < element.getLibrary().size(); i++) { 1986 composeCanonical(t, "ActivityDefinition", "library", element.getLibrary().get(i), i); 1987 } 1988 if (element.hasKindElement()) { 1989 composeEnum(t, "ActivityDefinition", "kind", element.getKindElement(), -1); 1990 } 1991 if (element.hasProfileElement()) { 1992 composeCanonical(t, "ActivityDefinition", "profile", element.getProfileElement(), -1); 1993 } 1994 if (element.hasCode()) { 1995 composeCodeableConcept(t, "ActivityDefinition", "code", element.getCode(), -1); 1996 } 1997 if (element.hasIntentElement()) { 1998 composeEnum(t, "ActivityDefinition", "intent", element.getIntentElement(), -1); 1999 } 2000 if (element.hasPriorityElement()) { 2001 composeEnum(t, "ActivityDefinition", "priority", element.getPriorityElement(), -1); 2002 } 2003 if (element.hasDoNotPerformElement()) { 2004 composeBoolean(t, "ActivityDefinition", "doNotPerform", element.getDoNotPerformElement(), -1); 2005 } 2006 if (element.hasTiming()) { 2007 composeType(t, "ActivityDefinition", "timing", element.getTiming(), -1); 2008 } 2009 if (element.hasLocation()) { 2010 composeCodeableReference(t, "ActivityDefinition", "location", element.getLocation(), -1); 2011 } 2012 for (int i = 0; i < element.getParticipant().size(); i++) { 2013 composeActivityDefinitionParticipantComponent(t, "ActivityDefinition", "participant", element.getParticipant().get(i), i); 2014 } 2015 if (element.hasProduct()) { 2016 composeType(t, "ActivityDefinition", "product", element.getProduct(), -1); 2017 } 2018 if (element.hasQuantity()) { 2019 composeQuantity(t, "ActivityDefinition", "quantity", element.getQuantity(), -1); 2020 } 2021 for (int i = 0; i < element.getDosage().size(); i++) { 2022 composeDosage(t, "ActivityDefinition", "dosage", element.getDosage().get(i), i); 2023 } 2024 for (int i = 0; i < element.getBodySite().size(); i++) { 2025 composeCodeableConcept(t, "ActivityDefinition", "bodySite", element.getBodySite().get(i), i); 2026 } 2027 for (int i = 0; i < element.getSpecimenRequirement().size(); i++) { 2028 composeReference(t, "ActivityDefinition", "specimenRequirement", element.getSpecimenRequirement().get(i), i); 2029 } 2030 for (int i = 0; i < element.getObservationRequirement().size(); i++) { 2031 composeReference(t, "ActivityDefinition", "observationRequirement", element.getObservationRequirement().get(i), i); 2032 } 2033 for (int i = 0; i < element.getObservationResultRequirement().size(); i++) { 2034 composeReference(t, "ActivityDefinition", "observationResultRequirement", element.getObservationResultRequirement().get(i), i); 2035 } 2036 if (element.hasTransformElement()) { 2037 composeCanonical(t, "ActivityDefinition", "transform", element.getTransformElement(), -1); 2038 } 2039 for (int i = 0; i < element.getDynamicValue().size(); i++) { 2040 composeActivityDefinitionDynamicValueComponent(t, "ActivityDefinition", "dynamicValue", element.getDynamicValue().get(i), i); 2041 } 2042 } 2043 2044 protected void composeActivityDefinitionParticipantComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionParticipantComponent element, int index) { 2045 if (element == null) 2046 return; 2047 Complex t; 2048 if (Utilities.noString(parentType)) 2049 t = parent; 2050 else { 2051 t = parent.predicate("fhir:"+parentType+'.'+name); 2052 } 2053 composeBackboneElement(t, "participant", name, element, index); 2054 if (element.hasTypeElement()) { 2055 composeEnum(t, "ActivityDefinitionParticipantComponent", "type", element.getTypeElement(), -1); 2056 } 2057 if (element.hasTypeReference()) { 2058 composeReference(t, "ActivityDefinitionParticipantComponent", "typeReference", element.getTypeReference(), -1); 2059 } 2060 if (element.hasRole()) { 2061 composeCodeableConcept(t, "ActivityDefinitionParticipantComponent", "role", element.getRole(), -1); 2062 } 2063 if (element.hasFunction()) { 2064 composeCodeableConcept(t, "ActivityDefinitionParticipantComponent", "function", element.getFunction(), -1); 2065 } 2066 } 2067 2068 protected void composeActivityDefinitionDynamicValueComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionDynamicValueComponent element, int index) { 2069 if (element == null) 2070 return; 2071 Complex t; 2072 if (Utilities.noString(parentType)) 2073 t = parent; 2074 else { 2075 t = parent.predicate("fhir:"+parentType+'.'+name); 2076 } 2077 composeBackboneElement(t, "dynamicValue", name, element, index); 2078 if (element.hasPathElement()) { 2079 composeString(t, "ActivityDefinitionDynamicValueComponent", "path", element.getPathElement(), -1); 2080 } 2081 if (element.hasExpression()) { 2082 composeExpression(t, "ActivityDefinitionDynamicValueComponent", "expression", element.getExpression(), -1); 2083 } 2084 } 2085 2086 protected void composeAdministrableProductDefinition(Complex parent, String parentType, String name, AdministrableProductDefinition element, int index) { 2087 if (element == null) 2088 return; 2089 Complex t; 2090 if (Utilities.noString(parentType)) 2091 t = parent; 2092 else { 2093 t = parent.predicate("fhir:"+parentType+'.'+name); 2094 } 2095 composeDomainResource(t, "AdministrableProductDefinition", name, element, index); 2096 for (int i = 0; i < element.getIdentifier().size(); i++) { 2097 composeIdentifier(t, "AdministrableProductDefinition", "identifier", element.getIdentifier().get(i), i); 2098 } 2099 if (element.hasStatusElement()) { 2100 composeEnum(t, "AdministrableProductDefinition", "status", element.getStatusElement(), -1); 2101 } 2102 for (int i = 0; i < element.getFormOf().size(); i++) { 2103 composeReference(t, "AdministrableProductDefinition", "formOf", element.getFormOf().get(i), i); 2104 } 2105 if (element.hasAdministrableDoseForm()) { 2106 composeCodeableConcept(t, "AdministrableProductDefinition", "administrableDoseForm", element.getAdministrableDoseForm(), -1); 2107 } 2108 if (element.hasUnitOfPresentation()) { 2109 composeCodeableConcept(t, "AdministrableProductDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 2110 } 2111 for (int i = 0; i < element.getProducedFrom().size(); i++) { 2112 composeReference(t, "AdministrableProductDefinition", "producedFrom", element.getProducedFrom().get(i), i); 2113 } 2114 for (int i = 0; i < element.getIngredient().size(); i++) { 2115 composeCodeableConcept(t, "AdministrableProductDefinition", "ingredient", element.getIngredient().get(i), i); 2116 } 2117 if (element.hasDevice()) { 2118 composeReference(t, "AdministrableProductDefinition", "device", element.getDevice(), -1); 2119 } 2120 for (int i = 0; i < element.getProperty().size(); i++) { 2121 composeAdministrableProductDefinitionPropertyComponent(t, "AdministrableProductDefinition", "property", element.getProperty().get(i), i); 2122 } 2123 for (int i = 0; i < element.getRouteOfAdministration().size(); i++) { 2124 composeAdministrableProductDefinitionRouteOfAdministrationComponent(t, "AdministrableProductDefinition", "routeOfAdministration", element.getRouteOfAdministration().get(i), i); 2125 } 2126 } 2127 2128 protected void composeAdministrableProductDefinitionPropertyComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent element, int index) { 2129 if (element == null) 2130 return; 2131 Complex t; 2132 if (Utilities.noString(parentType)) 2133 t = parent; 2134 else { 2135 t = parent.predicate("fhir:"+parentType+'.'+name); 2136 } 2137 composeBackboneElement(t, "property", name, element, index); 2138 if (element.hasType()) { 2139 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "type", element.getType(), -1); 2140 } 2141 if (element.hasValue()) { 2142 composeType(t, "AdministrableProductDefinitionPropertyComponent", "value", element.getValue(), -1); 2143 } 2144 if (element.hasStatus()) { 2145 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "status", element.getStatus(), -1); 2146 } 2147 } 2148 2149 protected void composeAdministrableProductDefinitionRouteOfAdministrationComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent element, int index) { 2150 if (element == null) 2151 return; 2152 Complex t; 2153 if (Utilities.noString(parentType)) 2154 t = parent; 2155 else { 2156 t = parent.predicate("fhir:"+parentType+'.'+name); 2157 } 2158 composeBackboneElement(t, "routeOfAdministration", name, element, index); 2159 if (element.hasCode()) { 2160 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "code", element.getCode(), -1); 2161 } 2162 if (element.hasFirstDose()) { 2163 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "firstDose", element.getFirstDose(), -1); 2164 } 2165 if (element.hasMaxSingleDose()) { 2166 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxSingleDose", element.getMaxSingleDose(), -1); 2167 } 2168 if (element.hasMaxDosePerDay()) { 2169 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerDay", element.getMaxDosePerDay(), -1); 2170 } 2171 if (element.hasMaxDosePerTreatmentPeriod()) { 2172 composeRatio(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerTreatmentPeriod", element.getMaxDosePerTreatmentPeriod(), -1); 2173 } 2174 if (element.hasMaxTreatmentPeriod()) { 2175 composeDuration(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxTreatmentPeriod", element.getMaxTreatmentPeriod(), -1); 2176 } 2177 for (int i = 0; i < element.getTargetSpecies().size(); i++) { 2178 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "targetSpecies", element.getTargetSpecies().get(i), i); 2179 } 2180 } 2181 2182 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent element, int index) { 2183 if (element == null) 2184 return; 2185 Complex t; 2186 if (Utilities.noString(parentType)) 2187 t = parent; 2188 else { 2189 t = parent.predicate("fhir:"+parentType+'.'+name); 2190 } 2191 composeBackboneElement(t, "targetSpecies", name, element, index); 2192 if (element.hasCode()) { 2193 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "code", element.getCode(), -1); 2194 } 2195 for (int i = 0; i < element.getWithdrawalPeriod().size(); i++) { 2196 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "withdrawalPeriod", element.getWithdrawalPeriod().get(i), i); 2197 } 2198 } 2199 2200 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent element, int index) { 2201 if (element == null) 2202 return; 2203 Complex t; 2204 if (Utilities.noString(parentType)) 2205 t = parent; 2206 else { 2207 t = parent.predicate("fhir:"+parentType+'.'+name); 2208 } 2209 composeBackboneElement(t, "withdrawalPeriod", name, element, index); 2210 if (element.hasTissue()) { 2211 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "tissue", element.getTissue(), -1); 2212 } 2213 if (element.hasValue()) { 2214 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "value", element.getValue(), -1); 2215 } 2216 if (element.hasSupportingInformationElement()) { 2217 composeString(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "supportingInformation", element.getSupportingInformationElement(), -1); 2218 } 2219 } 2220 2221 protected void composeAdverseEvent(Complex parent, String parentType, String name, AdverseEvent element, int index) { 2222 if (element == null) 2223 return; 2224 Complex t; 2225 if (Utilities.noString(parentType)) 2226 t = parent; 2227 else { 2228 t = parent.predicate("fhir:"+parentType+'.'+name); 2229 } 2230 composeDomainResource(t, "AdverseEvent", name, element, index); 2231 for (int i = 0; i < element.getIdentifier().size(); i++) { 2232 composeIdentifier(t, "AdverseEvent", "identifier", element.getIdentifier().get(i), i); 2233 } 2234 if (element.hasStatusElement()) { 2235 composeEnum(t, "AdverseEvent", "status", element.getStatusElement(), -1); 2236 } 2237 if (element.hasActualityElement()) { 2238 composeEnum(t, "AdverseEvent", "actuality", element.getActualityElement(), -1); 2239 } 2240 for (int i = 0; i < element.getCategory().size(); i++) { 2241 composeCodeableConcept(t, "AdverseEvent", "category", element.getCategory().get(i), i); 2242 } 2243 if (element.hasCode()) { 2244 composeCodeableConcept(t, "AdverseEvent", "code", element.getCode(), -1); 2245 } 2246 if (element.hasSubject()) { 2247 composeReference(t, "AdverseEvent", "subject", element.getSubject(), -1); 2248 } 2249 if (element.hasEncounter()) { 2250 composeReference(t, "AdverseEvent", "encounter", element.getEncounter(), -1); 2251 } 2252 if (element.hasOccurrence()) { 2253 composeType(t, "AdverseEvent", "occurrence", element.getOccurrence(), -1); 2254 } 2255 if (element.hasDetectedElement()) { 2256 composeDateTime(t, "AdverseEvent", "detected", element.getDetectedElement(), -1); 2257 } 2258 if (element.hasRecordedDateElement()) { 2259 composeDateTime(t, "AdverseEvent", "recordedDate", element.getRecordedDateElement(), -1); 2260 } 2261 for (int i = 0; i < element.getResultingCondition().size(); i++) { 2262 composeReference(t, "AdverseEvent", "resultingCondition", element.getResultingCondition().get(i), i); 2263 } 2264 if (element.hasLocation()) { 2265 composeReference(t, "AdverseEvent", "location", element.getLocation(), -1); 2266 } 2267 if (element.hasSeriousness()) { 2268 composeCodeableConcept(t, "AdverseEvent", "seriousness", element.getSeriousness(), -1); 2269 } 2270 for (int i = 0; i < element.getOutcome().size(); i++) { 2271 composeCodeableConcept(t, "AdverseEvent", "outcome", element.getOutcome().get(i), i); 2272 } 2273 if (element.hasRecorder()) { 2274 composeReference(t, "AdverseEvent", "recorder", element.getRecorder(), -1); 2275 } 2276 for (int i = 0; i < element.getParticipant().size(); i++) { 2277 composeAdverseEventParticipantComponent(t, "AdverseEvent", "participant", element.getParticipant().get(i), i); 2278 } 2279 for (int i = 0; i < element.getSuspectEntity().size(); i++) { 2280 composeAdverseEventSuspectEntityComponent(t, "AdverseEvent", "suspectEntity", element.getSuspectEntity().get(i), i); 2281 } 2282 for (int i = 0; i < element.getContributingFactor().size(); i++) { 2283 composeAdverseEventContributingFactorComponent(t, "AdverseEvent", "contributingFactor", element.getContributingFactor().get(i), i); 2284 } 2285 for (int i = 0; i < element.getPreventiveAction().size(); i++) { 2286 composeAdverseEventPreventiveActionComponent(t, "AdverseEvent", "preventiveAction", element.getPreventiveAction().get(i), i); 2287 } 2288 for (int i = 0; i < element.getMitigatingAction().size(); i++) { 2289 composeAdverseEventMitigatingActionComponent(t, "AdverseEvent", "mitigatingAction", element.getMitigatingAction().get(i), i); 2290 } 2291 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 2292 composeAdverseEventSupportingInfoComponent(t, "AdverseEvent", "supportingInfo", element.getSupportingInfo().get(i), i); 2293 } 2294 for (int i = 0; i < element.getStudy().size(); i++) { 2295 composeReference(t, "AdverseEvent", "study", element.getStudy().get(i), i); 2296 } 2297 } 2298 2299 protected void composeAdverseEventParticipantComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventParticipantComponent element, int index) { 2300 if (element == null) 2301 return; 2302 Complex t; 2303 if (Utilities.noString(parentType)) 2304 t = parent; 2305 else { 2306 t = parent.predicate("fhir:"+parentType+'.'+name); 2307 } 2308 composeBackboneElement(t, "participant", name, element, index); 2309 if (element.hasFunction()) { 2310 composeCodeableConcept(t, "AdverseEventParticipantComponent", "function", element.getFunction(), -1); 2311 } 2312 if (element.hasActor()) { 2313 composeReference(t, "AdverseEventParticipantComponent", "actor", element.getActor(), -1); 2314 } 2315 } 2316 2317 protected void composeAdverseEventSuspectEntityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityComponent element, int index) { 2318 if (element == null) 2319 return; 2320 Complex t; 2321 if (Utilities.noString(parentType)) 2322 t = parent; 2323 else { 2324 t = parent.predicate("fhir:"+parentType+'.'+name); 2325 } 2326 composeBackboneElement(t, "suspectEntity", name, element, index); 2327 if (element.hasInstance()) { 2328 composeType(t, "AdverseEventSuspectEntityComponent", "instance", element.getInstance(), -1); 2329 } 2330 if (element.hasCausality()) { 2331 composeAdverseEventSuspectEntityCausalityComponent(t, "AdverseEventSuspectEntityComponent", "causality", element.getCausality(), -1); 2332 } 2333 } 2334 2335 protected void composeAdverseEventSuspectEntityCausalityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityCausalityComponent element, int index) { 2336 if (element == null) 2337 return; 2338 Complex t; 2339 if (Utilities.noString(parentType)) 2340 t = parent; 2341 else { 2342 t = parent.predicate("fhir:"+parentType+'.'+name); 2343 } 2344 composeBackboneElement(t, "causality", name, element, index); 2345 if (element.hasAssessmentMethod()) { 2346 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "assessmentMethod", element.getAssessmentMethod(), -1); 2347 } 2348 if (element.hasEntityRelatedness()) { 2349 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "entityRelatedness", element.getEntityRelatedness(), -1); 2350 } 2351 if (element.hasAuthor()) { 2352 composeReference(t, "AdverseEventSuspectEntityCausalityComponent", "author", element.getAuthor(), -1); 2353 } 2354 } 2355 2356 protected void composeAdverseEventContributingFactorComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventContributingFactorComponent element, int index) { 2357 if (element == null) 2358 return; 2359 Complex t; 2360 if (Utilities.noString(parentType)) 2361 t = parent; 2362 else { 2363 t = parent.predicate("fhir:"+parentType+'.'+name); 2364 } 2365 composeBackboneElement(t, "contributingFactor", name, element, index); 2366 if (element.hasItem()) { 2367 composeType(t, "AdverseEventContributingFactorComponent", "item", element.getItem(), -1); 2368 } 2369 } 2370 2371 protected void composeAdverseEventPreventiveActionComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventPreventiveActionComponent element, int index) { 2372 if (element == null) 2373 return; 2374 Complex t; 2375 if (Utilities.noString(parentType)) 2376 t = parent; 2377 else { 2378 t = parent.predicate("fhir:"+parentType+'.'+name); 2379 } 2380 composeBackboneElement(t, "preventiveAction", name, element, index); 2381 if (element.hasItem()) { 2382 composeType(t, "AdverseEventPreventiveActionComponent", "item", element.getItem(), -1); 2383 } 2384 } 2385 2386 protected void composeAdverseEventMitigatingActionComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventMitigatingActionComponent element, int index) { 2387 if (element == null) 2388 return; 2389 Complex t; 2390 if (Utilities.noString(parentType)) 2391 t = parent; 2392 else { 2393 t = parent.predicate("fhir:"+parentType+'.'+name); 2394 } 2395 composeBackboneElement(t, "mitigatingAction", name, element, index); 2396 if (element.hasItem()) { 2397 composeType(t, "AdverseEventMitigatingActionComponent", "item", element.getItem(), -1); 2398 } 2399 } 2400 2401 protected void composeAdverseEventSupportingInfoComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSupportingInfoComponent element, int index) { 2402 if (element == null) 2403 return; 2404 Complex t; 2405 if (Utilities.noString(parentType)) 2406 t = parent; 2407 else { 2408 t = parent.predicate("fhir:"+parentType+'.'+name); 2409 } 2410 composeBackboneElement(t, "supportingInfo", name, element, index); 2411 if (element.hasItem()) { 2412 composeType(t, "AdverseEventSupportingInfoComponent", "item", element.getItem(), -1); 2413 } 2414 } 2415 2416 protected void composeAllergyIntolerance(Complex parent, String parentType, String name, AllergyIntolerance element, int index) { 2417 if (element == null) 2418 return; 2419 Complex t; 2420 if (Utilities.noString(parentType)) 2421 t = parent; 2422 else { 2423 t = parent.predicate("fhir:"+parentType+'.'+name); 2424 } 2425 composeDomainResource(t, "AllergyIntolerance", name, element, index); 2426 for (int i = 0; i < element.getIdentifier().size(); i++) { 2427 composeIdentifier(t, "AllergyIntolerance", "identifier", element.getIdentifier().get(i), i); 2428 } 2429 if (element.hasClinicalStatus()) { 2430 composeCodeableConcept(t, "AllergyIntolerance", "clinicalStatus", element.getClinicalStatus(), -1); 2431 } 2432 if (element.hasVerificationStatus()) { 2433 composeCodeableConcept(t, "AllergyIntolerance", "verificationStatus", element.getVerificationStatus(), -1); 2434 } 2435 if (element.hasTypeElement()) { 2436 composeEnum(t, "AllergyIntolerance", "type", element.getTypeElement(), -1); 2437 } 2438 for (int i = 0; i < element.getCategory().size(); i++) { 2439 composeEnum(t, "AllergyIntolerance", "category", element.getCategory().get(i), i); 2440 } 2441 if (element.hasCriticalityElement()) { 2442 composeEnum(t, "AllergyIntolerance", "criticality", element.getCriticalityElement(), -1); 2443 } 2444 if (element.hasCode()) { 2445 composeCodeableConcept(t, "AllergyIntolerance", "code", element.getCode(), -1); 2446 } 2447 if (element.hasPatient()) { 2448 composeReference(t, "AllergyIntolerance", "patient", element.getPatient(), -1); 2449 } 2450 if (element.hasEncounter()) { 2451 composeReference(t, "AllergyIntolerance", "encounter", element.getEncounter(), -1); 2452 } 2453 if (element.hasOnset()) { 2454 composeType(t, "AllergyIntolerance", "onset", element.getOnset(), -1); 2455 } 2456 if (element.hasRecordedDateElement()) { 2457 composeDateTime(t, "AllergyIntolerance", "recordedDate", element.getRecordedDateElement(), -1); 2458 } 2459 if (element.hasRecorder()) { 2460 composeReference(t, "AllergyIntolerance", "recorder", element.getRecorder(), -1); 2461 } 2462 if (element.hasAsserter()) { 2463 composeReference(t, "AllergyIntolerance", "asserter", element.getAsserter(), -1); 2464 } 2465 if (element.hasLastOccurrenceElement()) { 2466 composeDateTime(t, "AllergyIntolerance", "lastOccurrence", element.getLastOccurrenceElement(), -1); 2467 } 2468 for (int i = 0; i < element.getNote().size(); i++) { 2469 composeAnnotation(t, "AllergyIntolerance", "note", element.getNote().get(i), i); 2470 } 2471 for (int i = 0; i < element.getReaction().size(); i++) { 2472 composeAllergyIntoleranceReactionComponent(t, "AllergyIntolerance", "reaction", element.getReaction().get(i), i); 2473 } 2474 } 2475 2476 protected void composeAllergyIntoleranceReactionComponent(Complex parent, String parentType, String name, AllergyIntolerance.AllergyIntoleranceReactionComponent element, int index) { 2477 if (element == null) 2478 return; 2479 Complex t; 2480 if (Utilities.noString(parentType)) 2481 t = parent; 2482 else { 2483 t = parent.predicate("fhir:"+parentType+'.'+name); 2484 } 2485 composeBackboneElement(t, "reaction", name, element, index); 2486 if (element.hasSubstance()) { 2487 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "substance", element.getSubstance(), -1); 2488 } 2489 for (int i = 0; i < element.getManifestation().size(); i++) { 2490 composeCodeableReference(t, "AllergyIntoleranceReactionComponent", "manifestation", element.getManifestation().get(i), i); 2491 } 2492 if (element.hasDescriptionElement()) { 2493 composeString(t, "AllergyIntoleranceReactionComponent", "description", element.getDescriptionElement(), -1); 2494 } 2495 if (element.hasOnsetElement()) { 2496 composeDateTime(t, "AllergyIntoleranceReactionComponent", "onset", element.getOnsetElement(), -1); 2497 } 2498 if (element.hasSeverityElement()) { 2499 composeEnum(t, "AllergyIntoleranceReactionComponent", "severity", element.getSeverityElement(), -1); 2500 } 2501 if (element.hasExposureRoute()) { 2502 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "exposureRoute", element.getExposureRoute(), -1); 2503 } 2504 for (int i = 0; i < element.getNote().size(); i++) { 2505 composeAnnotation(t, "AllergyIntoleranceReactionComponent", "note", element.getNote().get(i), i); 2506 } 2507 } 2508 2509 protected void composeAppointment(Complex parent, String parentType, String name, Appointment element, int index) { 2510 if (element == null) 2511 return; 2512 Complex t; 2513 if (Utilities.noString(parentType)) 2514 t = parent; 2515 else { 2516 t = parent.predicate("fhir:"+parentType+'.'+name); 2517 } 2518 composeDomainResource(t, "Appointment", name, element, index); 2519 for (int i = 0; i < element.getIdentifier().size(); i++) { 2520 composeIdentifier(t, "Appointment", "identifier", element.getIdentifier().get(i), i); 2521 } 2522 if (element.hasStatusElement()) { 2523 composeEnum(t, "Appointment", "status", element.getStatusElement(), -1); 2524 } 2525 if (element.hasCancellationReason()) { 2526 composeCodeableConcept(t, "Appointment", "cancellationReason", element.getCancellationReason(), -1); 2527 } 2528 for (int i = 0; i < element.getServiceCategory().size(); i++) { 2529 composeCodeableConcept(t, "Appointment", "serviceCategory", element.getServiceCategory().get(i), i); 2530 } 2531 for (int i = 0; i < element.getServiceType().size(); i++) { 2532 composeCodeableConcept(t, "Appointment", "serviceType", element.getServiceType().get(i), i); 2533 } 2534 for (int i = 0; i < element.getSpecialty().size(); i++) { 2535 composeCodeableConcept(t, "Appointment", "specialty", element.getSpecialty().get(i), i); 2536 } 2537 if (element.hasAppointmentType()) { 2538 composeCodeableConcept(t, "Appointment", "appointmentType", element.getAppointmentType(), -1); 2539 } 2540 for (int i = 0; i < element.getReason().size(); i++) { 2541 composeCodeableReference(t, "Appointment", "reason", element.getReason().get(i), i); 2542 } 2543 if (element.hasPriority()) { 2544 composeCodeableConcept(t, "Appointment", "priority", element.getPriority(), -1); 2545 } 2546 if (element.hasDescriptionElement()) { 2547 composeString(t, "Appointment", "description", element.getDescriptionElement(), -1); 2548 } 2549 for (int i = 0; i < element.getReplaces().size(); i++) { 2550 composeReference(t, "Appointment", "replaces", element.getReplaces().get(i), i); 2551 } 2552 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 2553 composeReference(t, "Appointment", "supportingInformation", element.getSupportingInformation().get(i), i); 2554 } 2555 if (element.hasStartElement()) { 2556 composeInstant(t, "Appointment", "start", element.getStartElement(), -1); 2557 } 2558 if (element.hasEndElement()) { 2559 composeInstant(t, "Appointment", "end", element.getEndElement(), -1); 2560 } 2561 if (element.hasMinutesDurationElement()) { 2562 composePositiveInt(t, "Appointment", "minutesDuration", element.getMinutesDurationElement(), -1); 2563 } 2564 for (int i = 0; i < element.getSlot().size(); i++) { 2565 composeReference(t, "Appointment", "slot", element.getSlot().get(i), i); 2566 } 2567 for (int i = 0; i < element.getAccount().size(); i++) { 2568 composeReference(t, "Appointment", "account", element.getAccount().get(i), i); 2569 } 2570 if (element.hasCreatedElement()) { 2571 composeDateTime(t, "Appointment", "created", element.getCreatedElement(), -1); 2572 } 2573 for (int i = 0; i < element.getNote().size(); i++) { 2574 composeAnnotation(t, "Appointment", "note", element.getNote().get(i), i); 2575 } 2576 for (int i = 0; i < element.getPatientInstruction().size(); i++) { 2577 composeCodeableReference(t, "Appointment", "patientInstruction", element.getPatientInstruction().get(i), i); 2578 } 2579 for (int i = 0; i < element.getBasedOn().size(); i++) { 2580 composeReference(t, "Appointment", "basedOn", element.getBasedOn().get(i), i); 2581 } 2582 if (element.hasSubject()) { 2583 composeReference(t, "Appointment", "subject", element.getSubject(), -1); 2584 } 2585 for (int i = 0; i < element.getParticipant().size(); i++) { 2586 composeAppointmentParticipantComponent(t, "Appointment", "participant", element.getParticipant().get(i), i); 2587 } 2588 for (int i = 0; i < element.getRequestedPeriod().size(); i++) { 2589 composePeriod(t, "Appointment", "requestedPeriod", element.getRequestedPeriod().get(i), i); 2590 } 2591 } 2592 2593 protected void composeAppointmentParticipantComponent(Complex parent, String parentType, String name, Appointment.AppointmentParticipantComponent element, int index) { 2594 if (element == null) 2595 return; 2596 Complex t; 2597 if (Utilities.noString(parentType)) 2598 t = parent; 2599 else { 2600 t = parent.predicate("fhir:"+parentType+'.'+name); 2601 } 2602 composeBackboneElement(t, "participant", name, element, index); 2603 for (int i = 0; i < element.getType().size(); i++) { 2604 composeCodeableConcept(t, "AppointmentParticipantComponent", "type", element.getType().get(i), i); 2605 } 2606 if (element.hasPeriod()) { 2607 composePeriod(t, "AppointmentParticipantComponent", "period", element.getPeriod(), -1); 2608 } 2609 if (element.hasActor()) { 2610 composeReference(t, "AppointmentParticipantComponent", "actor", element.getActor(), -1); 2611 } 2612 if (element.hasRequiredElement()) { 2613 composeBoolean(t, "AppointmentParticipantComponent", "required", element.getRequiredElement(), -1); 2614 } 2615 if (element.hasStatusElement()) { 2616 composeEnum(t, "AppointmentParticipantComponent", "status", element.getStatusElement(), -1); 2617 } 2618 } 2619 2620 protected void composeAppointmentResponse(Complex parent, String parentType, String name, AppointmentResponse element, int index) { 2621 if (element == null) 2622 return; 2623 Complex t; 2624 if (Utilities.noString(parentType)) 2625 t = parent; 2626 else { 2627 t = parent.predicate("fhir:"+parentType+'.'+name); 2628 } 2629 composeDomainResource(t, "AppointmentResponse", name, element, index); 2630 for (int i = 0; i < element.getIdentifier().size(); i++) { 2631 composeIdentifier(t, "AppointmentResponse", "identifier", element.getIdentifier().get(i), i); 2632 } 2633 if (element.hasAppointment()) { 2634 composeReference(t, "AppointmentResponse", "appointment", element.getAppointment(), -1); 2635 } 2636 if (element.hasStartElement()) { 2637 composeInstant(t, "AppointmentResponse", "start", element.getStartElement(), -1); 2638 } 2639 if (element.hasEndElement()) { 2640 composeInstant(t, "AppointmentResponse", "end", element.getEndElement(), -1); 2641 } 2642 for (int i = 0; i < element.getParticipantType().size(); i++) { 2643 composeCodeableConcept(t, "AppointmentResponse", "participantType", element.getParticipantType().get(i), i); 2644 } 2645 if (element.hasActor()) { 2646 composeReference(t, "AppointmentResponse", "actor", element.getActor(), -1); 2647 } 2648 if (element.hasParticipantStatusElement()) { 2649 composeEnum(t, "AppointmentResponse", "participantStatus", element.getParticipantStatusElement(), -1); 2650 } 2651 if (element.hasCommentElement()) { 2652 composeString(t, "AppointmentResponse", "comment", element.getCommentElement(), -1); 2653 } 2654 } 2655 2656 protected void composeArtifactAssessment(Complex parent, String parentType, String name, ArtifactAssessment element, int index) { 2657 if (element == null) 2658 return; 2659 Complex t; 2660 if (Utilities.noString(parentType)) 2661 t = parent; 2662 else { 2663 t = parent.predicate("fhir:"+parentType+'.'+name); 2664 } 2665 composeMetadataResource(t, "ArtifactAssessment", name, element, index); 2666 for (int i = 0; i < element.getIdentifier().size(); i++) { 2667 composeIdentifier(t, "ArtifactAssessment", "identifier", element.getIdentifier().get(i), i); 2668 } 2669 if (element.hasCiteAs()) { 2670 composeType(t, "ArtifactAssessment", "citeAs", element.getCiteAs(), -1); 2671 } 2672 if (element.hasDateElement()) { 2673 composeDateTime(t, "ArtifactAssessment", "date", element.getDateElement(), -1); 2674 } 2675 if (element.hasCopyrightElement()) { 2676 composeMarkdown(t, "ArtifactAssessment", "copyright", element.getCopyrightElement(), -1); 2677 } 2678 if (element.hasApprovalDateElement()) { 2679 composeDate(t, "ArtifactAssessment", "approvalDate", element.getApprovalDateElement(), -1); 2680 } 2681 if (element.hasLastReviewDateElement()) { 2682 composeDate(t, "ArtifactAssessment", "lastReviewDate", element.getLastReviewDateElement(), -1); 2683 } 2684 if (element.hasArtifact()) { 2685 composeType(t, "ArtifactAssessment", "artifact", element.getArtifact(), -1); 2686 } 2687 for (int i = 0; i < element.getContent().size(); i++) { 2688 composeArtifactAssessmentContentComponent(t, "ArtifactAssessment", "content", element.getContent().get(i), i); 2689 } 2690 if (element.hasWorkflowStatusElement()) { 2691 composeEnum(t, "ArtifactAssessment", "workflowStatus", element.getWorkflowStatusElement(), -1); 2692 } 2693 if (element.hasDispositionElement()) { 2694 composeEnum(t, "ArtifactAssessment", "disposition", element.getDispositionElement(), -1); 2695 } 2696 } 2697 2698 protected void composeArtifactAssessmentContentComponent(Complex parent, String parentType, String name, ArtifactAssessment.ArtifactAssessmentContentComponent element, int index) { 2699 if (element == null) 2700 return; 2701 Complex t; 2702 if (Utilities.noString(parentType)) 2703 t = parent; 2704 else { 2705 t = parent.predicate("fhir:"+parentType+'.'+name); 2706 } 2707 composeBackboneElement(t, "content", name, element, index); 2708 if (element.hasInformationTypeElement()) { 2709 composeEnum(t, "ArtifactAssessmentContentComponent", "informationType", element.getInformationTypeElement(), -1); 2710 } 2711 if (element.hasSummaryElement()) { 2712 composeMarkdown(t, "ArtifactAssessmentContentComponent", "summary", element.getSummaryElement(), -1); 2713 } 2714 if (element.hasType()) { 2715 composeCodeableConcept(t, "ArtifactAssessmentContentComponent", "type", element.getType(), -1); 2716 } 2717 for (int i = 0; i < element.getClassifier().size(); i++) { 2718 composeCodeableConcept(t, "ArtifactAssessmentContentComponent", "classifier", element.getClassifier().get(i), i); 2719 } 2720 if (element.hasAuthor()) { 2721 composeReference(t, "ArtifactAssessmentContentComponent", "author", element.getAuthor(), -1); 2722 } 2723 for (int i = 0; i < element.getPath().size(); i++) { 2724 composeUri(t, "ArtifactAssessmentContentComponent", "path", element.getPath().get(i), i); 2725 } 2726 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 2727 composeRelatedArtifact(t, "ArtifactAssessmentContentComponent", "relatedArtifact", element.getRelatedArtifact().get(i), i); 2728 } 2729 if (element.hasFreeToShareElement()) { 2730 composeBoolean(t, "ArtifactAssessmentContentComponent", "freeToShare", element.getFreeToShareElement(), -1); 2731 } 2732 for (int i = 0; i < element.getComponent().size(); i++) { 2733 composeArtifactAssessmentContentComponent(t, "ArtifactAssessmentContentComponent", "component", element.getComponent().get(i), i); 2734 } 2735 } 2736 2737 protected void composeAuditEvent(Complex parent, String parentType, String name, AuditEvent element, int index) { 2738 if (element == null) 2739 return; 2740 Complex t; 2741 if (Utilities.noString(parentType)) 2742 t = parent; 2743 else { 2744 t = parent.predicate("fhir:"+parentType+'.'+name); 2745 } 2746 composeDomainResource(t, "AuditEvent", name, element, index); 2747 for (int i = 0; i < element.getCategory().size(); i++) { 2748 composeCodeableConcept(t, "AuditEvent", "category", element.getCategory().get(i), i); 2749 } 2750 if (element.hasCode()) { 2751 composeCodeableConcept(t, "AuditEvent", "code", element.getCode(), -1); 2752 } 2753 if (element.hasActionElement()) { 2754 composeEnum(t, "AuditEvent", "action", element.getActionElement(), -1); 2755 } 2756 if (element.hasSeverityElement()) { 2757 composeEnum(t, "AuditEvent", "severity", element.getSeverityElement(), -1); 2758 } 2759 if (element.hasOccurred()) { 2760 composeType(t, "AuditEvent", "occurred", element.getOccurred(), -1); 2761 } 2762 if (element.hasRecordedElement()) { 2763 composeInstant(t, "AuditEvent", "recorded", element.getRecordedElement(), -1); 2764 } 2765 if (element.hasOutcome()) { 2766 composeAuditEventOutcomeComponent(t, "AuditEvent", "outcome", element.getOutcome(), -1); 2767 } 2768 for (int i = 0; i < element.getAuthorization().size(); i++) { 2769 composeCodeableConcept(t, "AuditEvent", "authorization", element.getAuthorization().get(i), i); 2770 } 2771 for (int i = 0; i < element.getBasedOn().size(); i++) { 2772 composeReference(t, "AuditEvent", "basedOn", element.getBasedOn().get(i), i); 2773 } 2774 if (element.hasEncounter()) { 2775 composeReference(t, "AuditEvent", "encounter", element.getEncounter(), -1); 2776 } 2777 for (int i = 0; i < element.getAgent().size(); i++) { 2778 composeAuditEventAgentComponent(t, "AuditEvent", "agent", element.getAgent().get(i), i); 2779 } 2780 if (element.hasSource()) { 2781 composeAuditEventSourceComponent(t, "AuditEvent", "source", element.getSource(), -1); 2782 } 2783 for (int i = 0; i < element.getEntity().size(); i++) { 2784 composeAuditEventEntityComponent(t, "AuditEvent", "entity", element.getEntity().get(i), i); 2785 } 2786 } 2787 2788 protected void composeAuditEventOutcomeComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventOutcomeComponent element, int index) { 2789 if (element == null) 2790 return; 2791 Complex t; 2792 if (Utilities.noString(parentType)) 2793 t = parent; 2794 else { 2795 t = parent.predicate("fhir:"+parentType+'.'+name); 2796 } 2797 composeBackboneElement(t, "outcome", name, element, index); 2798 if (element.hasCode()) { 2799 composeCoding(t, "AuditEventOutcomeComponent", "code", element.getCode(), -1); 2800 } 2801 for (int i = 0; i < element.getDetail().size(); i++) { 2802 composeCodeableConcept(t, "AuditEventOutcomeComponent", "detail", element.getDetail().get(i), i); 2803 } 2804 } 2805 2806 protected void composeAuditEventAgentComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventAgentComponent element, int index) { 2807 if (element == null) 2808 return; 2809 Complex t; 2810 if (Utilities.noString(parentType)) 2811 t = parent; 2812 else { 2813 t = parent.predicate("fhir:"+parentType+'.'+name); 2814 } 2815 composeBackboneElement(t, "agent", name, element, index); 2816 if (element.hasType()) { 2817 composeCodeableConcept(t, "AuditEventAgentComponent", "type", element.getType(), -1); 2818 } 2819 for (int i = 0; i < element.getRole().size(); i++) { 2820 composeCodeableConcept(t, "AuditEventAgentComponent", "role", element.getRole().get(i), i); 2821 } 2822 if (element.hasWho()) { 2823 composeReference(t, "AuditEventAgentComponent", "who", element.getWho(), -1); 2824 } 2825 if (element.hasRequestorElement()) { 2826 composeBoolean(t, "AuditEventAgentComponent", "requestor", element.getRequestorElement(), -1); 2827 } 2828 if (element.hasLocation()) { 2829 composeReference(t, "AuditEventAgentComponent", "location", element.getLocation(), -1); 2830 } 2831 for (int i = 0; i < element.getPolicy().size(); i++) { 2832 composeUri(t, "AuditEventAgentComponent", "policy", element.getPolicy().get(i), i); 2833 } 2834 if (element.hasNetwork()) { 2835 composeType(t, "AuditEventAgentComponent", "network", element.getNetwork(), -1); 2836 } 2837 for (int i = 0; i < element.getAuthorization().size(); i++) { 2838 composeCodeableConcept(t, "AuditEventAgentComponent", "authorization", element.getAuthorization().get(i), i); 2839 } 2840 } 2841 2842 protected void composeAuditEventSourceComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventSourceComponent element, int index) { 2843 if (element == null) 2844 return; 2845 Complex t; 2846 if (Utilities.noString(parentType)) 2847 t = parent; 2848 else { 2849 t = parent.predicate("fhir:"+parentType+'.'+name); 2850 } 2851 composeBackboneElement(t, "source", name, element, index); 2852 if (element.hasSite()) { 2853 composeReference(t, "AuditEventSourceComponent", "site", element.getSite(), -1); 2854 } 2855 if (element.hasObserver()) { 2856 composeReference(t, "AuditEventSourceComponent", "observer", element.getObserver(), -1); 2857 } 2858 for (int i = 0; i < element.getType().size(); i++) { 2859 composeCodeableConcept(t, "AuditEventSourceComponent", "type", element.getType().get(i), i); 2860 } 2861 } 2862 2863 protected void composeAuditEventEntityComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityComponent element, int index) { 2864 if (element == null) 2865 return; 2866 Complex t; 2867 if (Utilities.noString(parentType)) 2868 t = parent; 2869 else { 2870 t = parent.predicate("fhir:"+parentType+'.'+name); 2871 } 2872 composeBackboneElement(t, "entity", name, element, index); 2873 if (element.hasWhat()) { 2874 composeReference(t, "AuditEventEntityComponent", "what", element.getWhat(), -1); 2875 } 2876 if (element.hasRole()) { 2877 composeCodeableConcept(t, "AuditEventEntityComponent", "role", element.getRole(), -1); 2878 } 2879 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 2880 composeCodeableConcept(t, "AuditEventEntityComponent", "securityLabel", element.getSecurityLabel().get(i), i); 2881 } 2882 if (element.hasQueryElement()) { 2883 composeBase64Binary(t, "AuditEventEntityComponent", "query", element.getQueryElement(), -1); 2884 } 2885 for (int i = 0; i < element.getDetail().size(); i++) { 2886 composeAuditEventEntityDetailComponent(t, "AuditEventEntityComponent", "detail", element.getDetail().get(i), i); 2887 } 2888 for (int i = 0; i < element.getAgent().size(); i++) { 2889 composeAuditEventAgentComponent(t, "AuditEventEntityComponent", "agent", element.getAgent().get(i), i); 2890 } 2891 } 2892 2893 protected void composeAuditEventEntityDetailComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityDetailComponent element, int index) { 2894 if (element == null) 2895 return; 2896 Complex t; 2897 if (Utilities.noString(parentType)) 2898 t = parent; 2899 else { 2900 t = parent.predicate("fhir:"+parentType+'.'+name); 2901 } 2902 composeBackboneElement(t, "detail", name, element, index); 2903 if (element.hasType()) { 2904 composeCodeableConcept(t, "AuditEventEntityDetailComponent", "type", element.getType(), -1); 2905 } 2906 if (element.hasValue()) { 2907 composeType(t, "AuditEventEntityDetailComponent", "value", element.getValue(), -1); 2908 } 2909 } 2910 2911 protected void composeBasic(Complex parent, String parentType, String name, Basic element, int index) { 2912 if (element == null) 2913 return; 2914 Complex t; 2915 if (Utilities.noString(parentType)) 2916 t = parent; 2917 else { 2918 t = parent.predicate("fhir:"+parentType+'.'+name); 2919 } 2920 composeDomainResource(t, "Basic", name, element, index); 2921 for (int i = 0; i < element.getIdentifier().size(); i++) { 2922 composeIdentifier(t, "Basic", "identifier", element.getIdentifier().get(i), i); 2923 } 2924 if (element.hasCode()) { 2925 composeCodeableConcept(t, "Basic", "code", element.getCode(), -1); 2926 } 2927 if (element.hasSubject()) { 2928 composeReference(t, "Basic", "subject", element.getSubject(), -1); 2929 } 2930 if (element.hasCreatedElement()) { 2931 composeDate(t, "Basic", "created", element.getCreatedElement(), -1); 2932 } 2933 if (element.hasAuthor()) { 2934 composeReference(t, "Basic", "author", element.getAuthor(), -1); 2935 } 2936 } 2937 2938 protected void composeBinary(Complex parent, String parentType, String name, Binary element, int index) { 2939 if (element == null) 2940 return; 2941 Complex t; 2942 if (Utilities.noString(parentType)) 2943 t = parent; 2944 else { 2945 t = parent.predicate("fhir:"+parentType+'.'+name); 2946 } 2947 composeResource(t, "Binary", name, element, index); 2948 if (element.hasContentTypeElement()) { 2949 composeCode(t, "Binary", "contentType", element.getContentTypeElement(), -1); 2950 } 2951 if (element.hasSecurityContext()) { 2952 composeReference(t, "Binary", "securityContext", element.getSecurityContext(), -1); 2953 } 2954 if (element.hasDataElement()) { 2955 composeBase64Binary(t, "Binary", "data", element.getDataElement(), -1); 2956 } 2957 } 2958 2959 protected void composeBiologicallyDerivedProduct(Complex parent, String parentType, String name, BiologicallyDerivedProduct element, int index) { 2960 if (element == null) 2961 return; 2962 Complex t; 2963 if (Utilities.noString(parentType)) 2964 t = parent; 2965 else { 2966 t = parent.predicate("fhir:"+parentType+'.'+name); 2967 } 2968 composeDomainResource(t, "BiologicallyDerivedProduct", name, element, index); 2969 if (element.hasProductCategoryElement()) { 2970 composeEnum(t, "BiologicallyDerivedProduct", "productCategory", element.getProductCategoryElement(), -1); 2971 } 2972 if (element.hasProductCode()) { 2973 composeCodeableConcept(t, "BiologicallyDerivedProduct", "productCode", element.getProductCode(), -1); 2974 } 2975 for (int i = 0; i < element.getParent().size(); i++) { 2976 composeReference(t, "BiologicallyDerivedProduct", "parent", element.getParent().get(i), i); 2977 } 2978 for (int i = 0; i < element.getRequest().size(); i++) { 2979 composeReference(t, "BiologicallyDerivedProduct", "request", element.getRequest().get(i), i); 2980 } 2981 for (int i = 0; i < element.getIdentifier().size(); i++) { 2982 composeIdentifier(t, "BiologicallyDerivedProduct", "identifier", element.getIdentifier().get(i), i); 2983 } 2984 if (element.hasBiologicalSource()) { 2985 composeIdentifier(t, "BiologicallyDerivedProduct", "biologicalSource", element.getBiologicalSource(), -1); 2986 } 2987 for (int i = 0; i < element.getProcessingFacility().size(); i++) { 2988 composeReference(t, "BiologicallyDerivedProduct", "processingFacility", element.getProcessingFacility().get(i), i); 2989 } 2990 if (element.hasDivisionElement()) { 2991 composeString(t, "BiologicallyDerivedProduct", "division", element.getDivisionElement(), -1); 2992 } 2993 if (element.hasStatusElement()) { 2994 composeEnum(t, "BiologicallyDerivedProduct", "status", element.getStatusElement(), -1); 2995 } 2996 if (element.hasExpirationDateElement()) { 2997 composeDateTime(t, "BiologicallyDerivedProduct", "expirationDate", element.getExpirationDateElement(), -1); 2998 } 2999 if (element.hasCollection()) { 3000 composeBiologicallyDerivedProductCollectionComponent(t, "BiologicallyDerivedProduct", "collection", element.getCollection(), -1); 3001 } 3002 if (element.hasStorageTempRequirements()) { 3003 composeRange(t, "BiologicallyDerivedProduct", "storageTempRequirements", element.getStorageTempRequirements(), -1); 3004 } 3005 for (int i = 0; i < element.getProperty().size(); i++) { 3006 composeBiologicallyDerivedProductPropertyComponent(t, "BiologicallyDerivedProduct", "property", element.getProperty().get(i), i); 3007 } 3008 } 3009 3010 protected void composeBiologicallyDerivedProductCollectionComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent element, int index) { 3011 if (element == null) 3012 return; 3013 Complex t; 3014 if (Utilities.noString(parentType)) 3015 t = parent; 3016 else { 3017 t = parent.predicate("fhir:"+parentType+'.'+name); 3018 } 3019 composeBackboneElement(t, "collection", name, element, index); 3020 if (element.hasCollector()) { 3021 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "collector", element.getCollector(), -1); 3022 } 3023 if (element.hasSource()) { 3024 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "source", element.getSource(), -1); 3025 } 3026 if (element.hasCollected()) { 3027 composeType(t, "BiologicallyDerivedProductCollectionComponent", "collected", element.getCollected(), -1); 3028 } 3029 } 3030 3031 protected void composeBiologicallyDerivedProductPropertyComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductPropertyComponent element, int index) { 3032 if (element == null) 3033 return; 3034 Complex t; 3035 if (Utilities.noString(parentType)) 3036 t = parent; 3037 else { 3038 t = parent.predicate("fhir:"+parentType+'.'+name); 3039 } 3040 composeBackboneElement(t, "property", name, element, index); 3041 if (element.hasType()) { 3042 composeCodeableConcept(t, "BiologicallyDerivedProductPropertyComponent", "type", element.getType(), -1); 3043 } 3044 if (element.hasValue()) { 3045 composeType(t, "BiologicallyDerivedProductPropertyComponent", "value", element.getValue(), -1); 3046 } 3047 } 3048 3049 protected void composeBodyStructure(Complex parent, String parentType, String name, BodyStructure element, int index) { 3050 if (element == null) 3051 return; 3052 Complex t; 3053 if (Utilities.noString(parentType)) 3054 t = parent; 3055 else { 3056 t = parent.predicate("fhir:"+parentType+'.'+name); 3057 } 3058 composeDomainResource(t, "BodyStructure", name, element, index); 3059 for (int i = 0; i < element.getIdentifier().size(); i++) { 3060 composeIdentifier(t, "BodyStructure", "identifier", element.getIdentifier().get(i), i); 3061 } 3062 if (element.hasActiveElement()) { 3063 composeBoolean(t, "BodyStructure", "active", element.getActiveElement(), -1); 3064 } 3065 if (element.hasMorphology()) { 3066 composeCodeableConcept(t, "BodyStructure", "morphology", element.getMorphology(), -1); 3067 } 3068 if (element.hasLocation()) { 3069 composeCodeableConcept(t, "BodyStructure", "location", element.getLocation(), -1); 3070 } 3071 for (int i = 0; i < element.getIncludedStructure().size(); i++) { 3072 composeBodyStructureIncludedStructureComponent(t, "BodyStructure", "includedStructure", element.getIncludedStructure().get(i), i); 3073 } 3074 for (int i = 0; i < element.getExcludedStructure().size(); i++) { 3075 composeBodyStructureExcludedStructureComponent(t, "BodyStructure", "excludedStructure", element.getExcludedStructure().get(i), i); 3076 } 3077 if (element.hasDescriptionElement()) { 3078 composeString(t, "BodyStructure", "description", element.getDescriptionElement(), -1); 3079 } 3080 for (int i = 0; i < element.getImage().size(); i++) { 3081 composeAttachment(t, "BodyStructure", "image", element.getImage().get(i), i); 3082 } 3083 if (element.hasPatient()) { 3084 composeReference(t, "BodyStructure", "patient", element.getPatient(), -1); 3085 } 3086 } 3087 3088 protected void composeBodyStructureIncludedStructureComponent(Complex parent, String parentType, String name, BodyStructure.BodyStructureIncludedStructureComponent element, int index) { 3089 if (element == null) 3090 return; 3091 Complex t; 3092 if (Utilities.noString(parentType)) 3093 t = parent; 3094 else { 3095 t = parent.predicate("fhir:"+parentType+'.'+name); 3096 } 3097 composeBackboneElement(t, "includedStructure", name, element, index); 3098 if (element.hasStructure()) { 3099 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "structure", element.getStructure(), -1); 3100 } 3101 if (element.hasLaterality()) { 3102 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "laterality", element.getLaterality(), -1); 3103 } 3104 for (int i = 0; i < element.getQualifier().size(); i++) { 3105 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "qualifier", element.getQualifier().get(i), i); 3106 } 3107 } 3108 3109 protected void composeBodyStructureExcludedStructureComponent(Complex parent, String parentType, String name, BodyStructure.BodyStructureExcludedStructureComponent element, int index) { 3110 if (element == null) 3111 return; 3112 Complex t; 3113 if (Utilities.noString(parentType)) 3114 t = parent; 3115 else { 3116 t = parent.predicate("fhir:"+parentType+'.'+name); 3117 } 3118 composeBackboneElement(t, "excludedStructure", name, element, index); 3119 if (element.hasStructure()) { 3120 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "structure", element.getStructure(), -1); 3121 } 3122 if (element.hasLaterality()) { 3123 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "laterality", element.getLaterality(), -1); 3124 } 3125 for (int i = 0; i < element.getQualifier().size(); i++) { 3126 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "qualifier", element.getQualifier().get(i), i); 3127 } 3128 } 3129 3130 protected void composeBundle(Complex parent, String parentType, String name, Bundle element, int index) { 3131 if (element == null) 3132 return; 3133 Complex t; 3134 if (Utilities.noString(parentType)) 3135 t = parent; 3136 else { 3137 t = parent.predicate("fhir:"+parentType+'.'+name); 3138 } 3139 composeResource(t, "Bundle", name, element, index); 3140 if (element.hasIdentifier()) { 3141 composeIdentifier(t, "Bundle", "identifier", element.getIdentifier(), -1); 3142 } 3143 if (element.hasTypeElement()) { 3144 composeEnum(t, "Bundle", "type", element.getTypeElement(), -1); 3145 } 3146 if (element.hasTimestampElement()) { 3147 composeInstant(t, "Bundle", "timestamp", element.getTimestampElement(), -1); 3148 } 3149 if (element.hasTotalElement()) { 3150 composeUnsignedInt(t, "Bundle", "total", element.getTotalElement(), -1); 3151 } 3152 for (int i = 0; i < element.getLink().size(); i++) { 3153 composeBundleLinkComponent(t, "Bundle", "link", element.getLink().get(i), i); 3154 } 3155 for (int i = 0; i < element.getEntry().size(); i++) { 3156 composeBundleEntryComponent(t, "Bundle", "entry", element.getEntry().get(i), i); 3157 } 3158 if (element.hasSignature()) { 3159 composeSignature(t, "Bundle", "signature", element.getSignature(), -1); 3160 } 3161 } 3162 3163 protected void composeBundleLinkComponent(Complex parent, String parentType, String name, Bundle.BundleLinkComponent element, int index) { 3164 if (element == null) 3165 return; 3166 Complex t; 3167 if (Utilities.noString(parentType)) 3168 t = parent; 3169 else { 3170 t = parent.predicate("fhir:"+parentType+'.'+name); 3171 } 3172 composeBackboneElement(t, "link", name, element, index); 3173 if (element.hasRelationElement()) { 3174 composeString(t, "BundleLinkComponent", "relation", element.getRelationElement(), -1); 3175 } 3176 if (element.hasUrlElement()) { 3177 composeUri(t, "BundleLinkComponent", "url", element.getUrlElement(), -1); 3178 } 3179 } 3180 3181 protected void composeBundleEntryComponent(Complex parent, String parentType, String name, Bundle.BundleEntryComponent element, int index) { 3182 if (element == null) 3183 return; 3184 Complex t; 3185 if (Utilities.noString(parentType)) 3186 t = parent; 3187 else { 3188 t = parent.predicate("fhir:"+parentType+'.'+name); 3189 } 3190 composeBackboneElement(t, "entry", name, element, index); 3191 for (int i = 0; i < element.getLink().size(); i++) { 3192 composeBundleLinkComponent(t, "BundleEntryComponent", "link", element.getLink().get(i), i); 3193 } 3194 if (element.hasFullUrlElement()) { 3195 composeUri(t, "BundleEntryComponent", "fullUrl", element.getFullUrlElement(), -1); 3196 } 3197 if (element.hasResource()) { 3198 composeResource(t, "BundleEntryComponent", "resource", element.getResource(), -1); 3199 } 3200 if (element.hasSearch()) { 3201 composeBundleEntrySearchComponent(t, "BundleEntryComponent", "search", element.getSearch(), -1); 3202 } 3203 if (element.hasRequest()) { 3204 composeBundleEntryRequestComponent(t, "BundleEntryComponent", "request", element.getRequest(), -1); 3205 } 3206 if (element.hasResponse()) { 3207 composeBundleEntryResponseComponent(t, "BundleEntryComponent", "response", element.getResponse(), -1); 3208 } 3209 } 3210 3211 protected void composeBundleEntrySearchComponent(Complex parent, String parentType, String name, Bundle.BundleEntrySearchComponent element, int index) { 3212 if (element == null) 3213 return; 3214 Complex t; 3215 if (Utilities.noString(parentType)) 3216 t = parent; 3217 else { 3218 t = parent.predicate("fhir:"+parentType+'.'+name); 3219 } 3220 composeBackboneElement(t, "search", name, element, index); 3221 if (element.hasModeElement()) { 3222 composeEnum(t, "BundleEntrySearchComponent", "mode", element.getModeElement(), -1); 3223 } 3224 if (element.hasScoreElement()) { 3225 composeDecimal(t, "BundleEntrySearchComponent", "score", element.getScoreElement(), -1); 3226 } 3227 } 3228 3229 protected void composeBundleEntryRequestComponent(Complex parent, String parentType, String name, Bundle.BundleEntryRequestComponent element, int index) { 3230 if (element == null) 3231 return; 3232 Complex t; 3233 if (Utilities.noString(parentType)) 3234 t = parent; 3235 else { 3236 t = parent.predicate("fhir:"+parentType+'.'+name); 3237 } 3238 composeBackboneElement(t, "request", name, element, index); 3239 if (element.hasMethodElement()) { 3240 composeEnum(t, "BundleEntryRequestComponent", "method", element.getMethodElement(), -1); 3241 } 3242 if (element.hasUrlElement()) { 3243 composeUri(t, "BundleEntryRequestComponent", "url", element.getUrlElement(), -1); 3244 } 3245 if (element.hasIfNoneMatchElement()) { 3246 composeString(t, "BundleEntryRequestComponent", "ifNoneMatch", element.getIfNoneMatchElement(), -1); 3247 } 3248 if (element.hasIfModifiedSinceElement()) { 3249 composeInstant(t, "BundleEntryRequestComponent", "ifModifiedSince", element.getIfModifiedSinceElement(), -1); 3250 } 3251 if (element.hasIfMatchElement()) { 3252 composeString(t, "BundleEntryRequestComponent", "ifMatch", element.getIfMatchElement(), -1); 3253 } 3254 if (element.hasIfNoneExistElement()) { 3255 composeString(t, "BundleEntryRequestComponent", "ifNoneExist", element.getIfNoneExistElement(), -1); 3256 } 3257 } 3258 3259 protected void composeBundleEntryResponseComponent(Complex parent, String parentType, String name, Bundle.BundleEntryResponseComponent element, int index) { 3260 if (element == null) 3261 return; 3262 Complex t; 3263 if (Utilities.noString(parentType)) 3264 t = parent; 3265 else { 3266 t = parent.predicate("fhir:"+parentType+'.'+name); 3267 } 3268 composeBackboneElement(t, "response", name, element, index); 3269 if (element.hasStatusElement()) { 3270 composeString(t, "BundleEntryResponseComponent", "status", element.getStatusElement(), -1); 3271 } 3272 if (element.hasLocationElement()) { 3273 composeUri(t, "BundleEntryResponseComponent", "location", element.getLocationElement(), -1); 3274 } 3275 if (element.hasEtagElement()) { 3276 composeString(t, "BundleEntryResponseComponent", "etag", element.getEtagElement(), -1); 3277 } 3278 if (element.hasLastModifiedElement()) { 3279 composeInstant(t, "BundleEntryResponseComponent", "lastModified", element.getLastModifiedElement(), -1); 3280 } 3281 if (element.hasOutcome()) { 3282 composeResource(t, "BundleEntryResponseComponent", "outcome", element.getOutcome(), -1); 3283 } 3284 } 3285 3286 protected void composeCapabilityStatement(Complex parent, String parentType, String name, CapabilityStatement element, int index) { 3287 if (element == null) 3288 return; 3289 Complex t; 3290 if (Utilities.noString(parentType)) 3291 t = parent; 3292 else { 3293 t = parent.predicate("fhir:"+parentType+'.'+name); 3294 } 3295 composeCanonicalResource(t, "CapabilityStatement", name, element, index); 3296 if (element.hasUrlElement()) { 3297 composeUri(t, "CapabilityStatement", "url", element.getUrlElement(), -1); 3298 } 3299 if (element.hasVersionElement()) { 3300 composeString(t, "CapabilityStatement", "version", element.getVersionElement(), -1); 3301 } 3302 if (element.hasNameElement()) { 3303 composeString(t, "CapabilityStatement", "name", element.getNameElement(), -1); 3304 } 3305 if (element.hasTitleElement()) { 3306 composeString(t, "CapabilityStatement", "title", element.getTitleElement(), -1); 3307 } 3308 if (element.hasStatusElement()) { 3309 composeEnum(t, "CapabilityStatement", "status", element.getStatusElement(), -1); 3310 } 3311 if (element.hasExperimentalElement()) { 3312 composeBoolean(t, "CapabilityStatement", "experimental", element.getExperimentalElement(), -1); 3313 } 3314 if (element.hasDateElement()) { 3315 composeDateTime(t, "CapabilityStatement", "date", element.getDateElement(), -1); 3316 } 3317 if (element.hasPublisherElement()) { 3318 composeString(t, "CapabilityStatement", "publisher", element.getPublisherElement(), -1); 3319 } 3320 for (int i = 0; i < element.getContact().size(); i++) { 3321 composeContactDetail(t, "CapabilityStatement", "contact", element.getContact().get(i), i); 3322 } 3323 if (element.hasDescriptionElement()) { 3324 composeMarkdown(t, "CapabilityStatement", "description", element.getDescriptionElement(), -1); 3325 } 3326 for (int i = 0; i < element.getUseContext().size(); i++) { 3327 composeUsageContext(t, "CapabilityStatement", "useContext", element.getUseContext().get(i), i); 3328 } 3329 for (int i = 0; i < element.getJurisdiction().size(); i++) { 3330 composeCodeableConcept(t, "CapabilityStatement", "jurisdiction", element.getJurisdiction().get(i), i); 3331 } 3332 if (element.hasPurposeElement()) { 3333 composeMarkdown(t, "CapabilityStatement", "purpose", element.getPurposeElement(), -1); 3334 } 3335 if (element.hasCopyrightElement()) { 3336 composeMarkdown(t, "CapabilityStatement", "copyright", element.getCopyrightElement(), -1); 3337 } 3338 if (element.hasKindElement()) { 3339 composeEnum(t, "CapabilityStatement", "kind", element.getKindElement(), -1); 3340 } 3341 for (int i = 0; i < element.getInstantiates().size(); i++) { 3342 composeCanonical(t, "CapabilityStatement", "instantiates", element.getInstantiates().get(i), i); 3343 } 3344 for (int i = 0; i < element.getImports().size(); i++) { 3345 composeCanonical(t, "CapabilityStatement", "imports", element.getImports().get(i), i); 3346 } 3347 if (element.hasSoftware()) { 3348 composeCapabilityStatementSoftwareComponent(t, "CapabilityStatement", "software", element.getSoftware(), -1); 3349 } 3350 if (element.hasImplementation()) { 3351 composeCapabilityStatementImplementationComponent(t, "CapabilityStatement", "implementation", element.getImplementation(), -1); 3352 } 3353 if (element.hasFhirVersionElement()) { 3354 composeEnum(t, "CapabilityStatement", "fhirVersion", element.getFhirVersionElement(), -1); 3355 } 3356 for (int i = 0; i < element.getFormat().size(); i++) { 3357 composeCode(t, "CapabilityStatement", "format", element.getFormat().get(i), i); 3358 } 3359 for (int i = 0; i < element.getPatchFormat().size(); i++) { 3360 composeCode(t, "CapabilityStatement", "patchFormat", element.getPatchFormat().get(i), i); 3361 } 3362 for (int i = 0; i < element.getImplementationGuide().size(); i++) { 3363 composeCanonical(t, "CapabilityStatement", "implementationGuide", element.getImplementationGuide().get(i), i); 3364 } 3365 for (int i = 0; i < element.getRest().size(); i++) { 3366 composeCapabilityStatementRestComponent(t, "CapabilityStatement", "rest", element.getRest().get(i), i); 3367 } 3368 for (int i = 0; i < element.getMessaging().size(); i++) { 3369 composeCapabilityStatementMessagingComponent(t, "CapabilityStatement", "messaging", element.getMessaging().get(i), i); 3370 } 3371 for (int i = 0; i < element.getDocument().size(); i++) { 3372 composeCapabilityStatementDocumentComponent(t, "CapabilityStatement", "document", element.getDocument().get(i), i); 3373 } 3374 } 3375 3376 protected void composeCapabilityStatementSoftwareComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementSoftwareComponent element, int index) { 3377 if (element == null) 3378 return; 3379 Complex t; 3380 if (Utilities.noString(parentType)) 3381 t = parent; 3382 else { 3383 t = parent.predicate("fhir:"+parentType+'.'+name); 3384 } 3385 composeBackboneElement(t, "software", name, element, index); 3386 if (element.hasNameElement()) { 3387 composeString(t, "CapabilityStatementSoftwareComponent", "name", element.getNameElement(), -1); 3388 } 3389 if (element.hasVersionElement()) { 3390 composeString(t, "CapabilityStatementSoftwareComponent", "version", element.getVersionElement(), -1); 3391 } 3392 if (element.hasReleaseDateElement()) { 3393 composeDateTime(t, "CapabilityStatementSoftwareComponent", "releaseDate", element.getReleaseDateElement(), -1); 3394 } 3395 } 3396 3397 protected void composeCapabilityStatementImplementationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementImplementationComponent element, int index) { 3398 if (element == null) 3399 return; 3400 Complex t; 3401 if (Utilities.noString(parentType)) 3402 t = parent; 3403 else { 3404 t = parent.predicate("fhir:"+parentType+'.'+name); 3405 } 3406 composeBackboneElement(t, "implementation", name, element, index); 3407 if (element.hasDescriptionElement()) { 3408 composeString(t, "CapabilityStatementImplementationComponent", "description", element.getDescriptionElement(), -1); 3409 } 3410 if (element.hasUrlElement()) { 3411 composeUrl(t, "CapabilityStatementImplementationComponent", "url", element.getUrlElement(), -1); 3412 } 3413 if (element.hasCustodian()) { 3414 composeReference(t, "CapabilityStatementImplementationComponent", "custodian", element.getCustodian(), -1); 3415 } 3416 } 3417 3418 protected void composeCapabilityStatementRestComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestComponent element, int index) { 3419 if (element == null) 3420 return; 3421 Complex t; 3422 if (Utilities.noString(parentType)) 3423 t = parent; 3424 else { 3425 t = parent.predicate("fhir:"+parentType+'.'+name); 3426 } 3427 composeBackboneElement(t, "rest", name, element, index); 3428 if (element.hasModeElement()) { 3429 composeEnum(t, "CapabilityStatementRestComponent", "mode", element.getModeElement(), -1); 3430 } 3431 if (element.hasDocumentationElement()) { 3432 composeMarkdown(t, "CapabilityStatementRestComponent", "documentation", element.getDocumentationElement(), -1); 3433 } 3434 if (element.hasSecurity()) { 3435 composeCapabilityStatementRestSecurityComponent(t, "CapabilityStatementRestComponent", "security", element.getSecurity(), -1); 3436 } 3437 for (int i = 0; i < element.getResource().size(); i++) { 3438 composeCapabilityStatementRestResourceComponent(t, "CapabilityStatementRestComponent", "resource", element.getResource().get(i), i); 3439 } 3440 for (int i = 0; i < element.getInteraction().size(); i++) { 3441 composeCapabilityStatementSystemInteractionComponent(t, "CapabilityStatementRestComponent", "interaction", element.getInteraction().get(i), i); 3442 } 3443 for (int i = 0; i < element.getSearchParam().size(); i++) { 3444 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestComponent", "searchParam", element.getSearchParam().get(i), i); 3445 } 3446 for (int i = 0; i < element.getOperation().size(); i++) { 3447 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestComponent", "operation", element.getOperation().get(i), i); 3448 } 3449 for (int i = 0; i < element.getCompartment().size(); i++) { 3450 composeCanonical(t, "CapabilityStatementRestComponent", "compartment", element.getCompartment().get(i), i); 3451 } 3452 } 3453 3454 protected void composeCapabilityStatementRestSecurityComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestSecurityComponent element, int index) { 3455 if (element == null) 3456 return; 3457 Complex t; 3458 if (Utilities.noString(parentType)) 3459 t = parent; 3460 else { 3461 t = parent.predicate("fhir:"+parentType+'.'+name); 3462 } 3463 composeBackboneElement(t, "security", name, element, index); 3464 if (element.hasCorsElement()) { 3465 composeBoolean(t, "CapabilityStatementRestSecurityComponent", "cors", element.getCorsElement(), -1); 3466 } 3467 for (int i = 0; i < element.getService().size(); i++) { 3468 composeCodeableConcept(t, "CapabilityStatementRestSecurityComponent", "service", element.getService().get(i), i); 3469 } 3470 if (element.hasDescriptionElement()) { 3471 composeMarkdown(t, "CapabilityStatementRestSecurityComponent", "description", element.getDescriptionElement(), -1); 3472 } 3473 } 3474 3475 protected void composeCapabilityStatementRestResourceComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceComponent element, int index) { 3476 if (element == null) 3477 return; 3478 Complex t; 3479 if (Utilities.noString(parentType)) 3480 t = parent; 3481 else { 3482 t = parent.predicate("fhir:"+parentType+'.'+name); 3483 } 3484 composeBackboneElement(t, "resource", name, element, index); 3485 if (element.hasTypeElement()) { 3486 composeCode(t, "CapabilityStatementRestResourceComponent", "type", element.getTypeElement(), -1); 3487 } 3488 if (element.hasProfileElement()) { 3489 composeCanonical(t, "CapabilityStatementRestResourceComponent", "profile", element.getProfileElement(), -1); 3490 } 3491 for (int i = 0; i < element.getSupportedProfile().size(); i++) { 3492 composeCanonical(t, "CapabilityStatementRestResourceComponent", "supportedProfile", element.getSupportedProfile().get(i), i); 3493 } 3494 if (element.hasDocumentationElement()) { 3495 composeMarkdown(t, "CapabilityStatementRestResourceComponent", "documentation", element.getDocumentationElement(), -1); 3496 } 3497 for (int i = 0; i < element.getInteraction().size(); i++) { 3498 composeCapabilityStatementResourceInteractionComponent(t, "CapabilityStatementRestResourceComponent", "interaction", element.getInteraction().get(i), i); 3499 } 3500 if (element.hasVersioningElement()) { 3501 composeEnum(t, "CapabilityStatementRestResourceComponent", "versioning", element.getVersioningElement(), -1); 3502 } 3503 if (element.hasReadHistoryElement()) { 3504 composeBoolean(t, "CapabilityStatementRestResourceComponent", "readHistory", element.getReadHistoryElement(), -1); 3505 } 3506 if (element.hasUpdateCreateElement()) { 3507 composeBoolean(t, "CapabilityStatementRestResourceComponent", "updateCreate", element.getUpdateCreateElement(), -1); 3508 } 3509 if (element.hasConditionalCreateElement()) { 3510 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalCreate", element.getConditionalCreateElement(), -1); 3511 } 3512 if (element.hasConditionalReadElement()) { 3513 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalRead", element.getConditionalReadElement(), -1); 3514 } 3515 if (element.hasConditionalUpdateElement()) { 3516 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalUpdate", element.getConditionalUpdateElement(), -1); 3517 } 3518 if (element.hasConditionalDeleteElement()) { 3519 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalDelete", element.getConditionalDeleteElement(), -1); 3520 } 3521 for (int i = 0; i < element.getReferencePolicy().size(); i++) { 3522 composeEnum(t, "CapabilityStatementRestResourceComponent", "referencePolicy", element.getReferencePolicy().get(i), i); 3523 } 3524 for (int i = 0; i < element.getSearchInclude().size(); i++) { 3525 composeString(t, "CapabilityStatementRestResourceComponent", "searchInclude", element.getSearchInclude().get(i), i); 3526 } 3527 for (int i = 0; i < element.getSearchRevInclude().size(); i++) { 3528 composeString(t, "CapabilityStatementRestResourceComponent", "searchRevInclude", element.getSearchRevInclude().get(i), i); 3529 } 3530 for (int i = 0; i < element.getSearchParam().size(); i++) { 3531 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestResourceComponent", "searchParam", element.getSearchParam().get(i), i); 3532 } 3533 for (int i = 0; i < element.getOperation().size(); i++) { 3534 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestResourceComponent", "operation", element.getOperation().get(i), i); 3535 } 3536 } 3537 3538 protected void composeCapabilityStatementResourceInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.ResourceInteractionComponent element, int index) { 3539 if (element == null) 3540 return; 3541 Complex t; 3542 if (Utilities.noString(parentType)) 3543 t = parent; 3544 else { 3545 t = parent.predicate("fhir:"+parentType+'.'+name); 3546 } 3547 composeBackboneElement(t, "interaction", name, element, index); 3548 if (element.hasCodeElement()) { 3549 composeEnum(t, "ResourceInteractionComponent", "code", element.getCodeElement(), -1); 3550 } 3551 if (element.hasDocumentationElement()) { 3552 composeMarkdown(t, "ResourceInteractionComponent", "documentation", element.getDocumentationElement(), -1); 3553 } 3554 } 3555 3556 protected void composeCapabilityStatementRestResourceSearchParamComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent element, int index) { 3557 if (element == null) 3558 return; 3559 Complex t; 3560 if (Utilities.noString(parentType)) 3561 t = parent; 3562 else { 3563 t = parent.predicate("fhir:"+parentType+'.'+name); 3564 } 3565 composeBackboneElement(t, "searchParam", name, element, index); 3566 if (element.hasNameElement()) { 3567 composeString(t, "CapabilityStatementRestResourceSearchParamComponent", "name", element.getNameElement(), -1); 3568 } 3569 if (element.hasDefinitionElement()) { 3570 composeCanonical(t, "CapabilityStatementRestResourceSearchParamComponent", "definition", element.getDefinitionElement(), -1); 3571 } 3572 if (element.hasTypeElement()) { 3573 composeEnum(t, "CapabilityStatementRestResourceSearchParamComponent", "type", element.getTypeElement(), -1); 3574 } 3575 if (element.hasDocumentationElement()) { 3576 composeMarkdown(t, "CapabilityStatementRestResourceSearchParamComponent", "documentation", element.getDocumentationElement(), -1); 3577 } 3578 } 3579 3580 protected void composeCapabilityStatementRestResourceOperationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceOperationComponent element, int index) { 3581 if (element == null) 3582 return; 3583 Complex t; 3584 if (Utilities.noString(parentType)) 3585 t = parent; 3586 else { 3587 t = parent.predicate("fhir:"+parentType+'.'+name); 3588 } 3589 composeBackboneElement(t, "operation", name, element, index); 3590 if (element.hasNameElement()) { 3591 composeString(t, "CapabilityStatementRestResourceOperationComponent", "name", element.getNameElement(), -1); 3592 } 3593 if (element.hasDefinitionElement()) { 3594 composeCanonical(t, "CapabilityStatementRestResourceOperationComponent", "definition", element.getDefinitionElement(), -1); 3595 } 3596 if (element.hasDocumentationElement()) { 3597 composeMarkdown(t, "CapabilityStatementRestResourceOperationComponent", "documentation", element.getDocumentationElement(), -1); 3598 } 3599 } 3600 3601 protected void composeCapabilityStatementSystemInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.SystemInteractionComponent element, int index) { 3602 if (element == null) 3603 return; 3604 Complex t; 3605 if (Utilities.noString(parentType)) 3606 t = parent; 3607 else { 3608 t = parent.predicate("fhir:"+parentType+'.'+name); 3609 } 3610 composeBackboneElement(t, "interaction", name, element, index); 3611 if (element.hasCodeElement()) { 3612 composeEnum(t, "SystemInteractionComponent", "code", element.getCodeElement(), -1); 3613 } 3614 if (element.hasDocumentationElement()) { 3615 composeMarkdown(t, "SystemInteractionComponent", "documentation", element.getDocumentationElement(), -1); 3616 } 3617 } 3618 3619 protected void composeCapabilityStatementMessagingComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingComponent element, int index) { 3620 if (element == null) 3621 return; 3622 Complex t; 3623 if (Utilities.noString(parentType)) 3624 t = parent; 3625 else { 3626 t = parent.predicate("fhir:"+parentType+'.'+name); 3627 } 3628 composeBackboneElement(t, "messaging", name, element, index); 3629 for (int i = 0; i < element.getEndpoint().size(); i++) { 3630 composeCapabilityStatementMessagingEndpointComponent(t, "CapabilityStatementMessagingComponent", "endpoint", element.getEndpoint().get(i), i); 3631 } 3632 if (element.hasReliableCacheElement()) { 3633 composeUnsignedInt(t, "CapabilityStatementMessagingComponent", "reliableCache", element.getReliableCacheElement(), -1); 3634 } 3635 if (element.hasDocumentationElement()) { 3636 composeMarkdown(t, "CapabilityStatementMessagingComponent", "documentation", element.getDocumentationElement(), -1); 3637 } 3638 for (int i = 0; i < element.getSupportedMessage().size(); i++) { 3639 composeCapabilityStatementMessagingSupportedMessageComponent(t, "CapabilityStatementMessagingComponent", "supportedMessage", element.getSupportedMessage().get(i), i); 3640 } 3641 } 3642 3643 protected void composeCapabilityStatementMessagingEndpointComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingEndpointComponent element, int index) { 3644 if (element == null) 3645 return; 3646 Complex t; 3647 if (Utilities.noString(parentType)) 3648 t = parent; 3649 else { 3650 t = parent.predicate("fhir:"+parentType+'.'+name); 3651 } 3652 composeBackboneElement(t, "endpoint", name, element, index); 3653 if (element.hasProtocol()) { 3654 composeCoding(t, "CapabilityStatementMessagingEndpointComponent", "protocol", element.getProtocol(), -1); 3655 } 3656 if (element.hasAddressElement()) { 3657 composeUrl(t, "CapabilityStatementMessagingEndpointComponent", "address", element.getAddressElement(), -1); 3658 } 3659 } 3660 3661 protected void composeCapabilityStatementMessagingSupportedMessageComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent element, int index) { 3662 if (element == null) 3663 return; 3664 Complex t; 3665 if (Utilities.noString(parentType)) 3666 t = parent; 3667 else { 3668 t = parent.predicate("fhir:"+parentType+'.'+name); 3669 } 3670 composeBackboneElement(t, "supportedMessage", name, element, index); 3671 if (element.hasModeElement()) { 3672 composeEnum(t, "CapabilityStatementMessagingSupportedMessageComponent", "mode", element.getModeElement(), -1); 3673 } 3674 if (element.hasDefinitionElement()) { 3675 composeCanonical(t, "CapabilityStatementMessagingSupportedMessageComponent", "definition", element.getDefinitionElement(), -1); 3676 } 3677 } 3678 3679 protected void composeCapabilityStatementDocumentComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementDocumentComponent element, int index) { 3680 if (element == null) 3681 return; 3682 Complex t; 3683 if (Utilities.noString(parentType)) 3684 t = parent; 3685 else { 3686 t = parent.predicate("fhir:"+parentType+'.'+name); 3687 } 3688 composeBackboneElement(t, "document", name, element, index); 3689 if (element.hasModeElement()) { 3690 composeEnum(t, "CapabilityStatementDocumentComponent", "mode", element.getModeElement(), -1); 3691 } 3692 if (element.hasDocumentationElement()) { 3693 composeMarkdown(t, "CapabilityStatementDocumentComponent", "documentation", element.getDocumentationElement(), -1); 3694 } 3695 if (element.hasProfileElement()) { 3696 composeCanonical(t, "CapabilityStatementDocumentComponent", "profile", element.getProfileElement(), -1); 3697 } 3698 } 3699 3700 protected void composeCapabilityStatement2(Complex parent, String parentType, String name, CapabilityStatement2 element, int index) { 3701 if (element == null) 3702 return; 3703 Complex t; 3704 if (Utilities.noString(parentType)) 3705 t = parent; 3706 else { 3707 t = parent.predicate("fhir:"+parentType+'.'+name); 3708 } 3709 composeCanonicalResource(t, "CapabilityStatement2", name, element, index); 3710 if (element.hasUrlElement()) { 3711 composeUri(t, "CapabilityStatement2", "url", element.getUrlElement(), -1); 3712 } 3713 if (element.hasVersionElement()) { 3714 composeString(t, "CapabilityStatement2", "version", element.getVersionElement(), -1); 3715 } 3716 if (element.hasNameElement()) { 3717 composeString(t, "CapabilityStatement2", "name", element.getNameElement(), -1); 3718 } 3719 if (element.hasTitleElement()) { 3720 composeString(t, "CapabilityStatement2", "title", element.getTitleElement(), -1); 3721 } 3722 if (element.hasStatusElement()) { 3723 composeEnum(t, "CapabilityStatement2", "status", element.getStatusElement(), -1); 3724 } 3725 if (element.hasExperimentalElement()) { 3726 composeBoolean(t, "CapabilityStatement2", "experimental", element.getExperimentalElement(), -1); 3727 } 3728 if (element.hasDateElement()) { 3729 composeDateTime(t, "CapabilityStatement2", "date", element.getDateElement(), -1); 3730 } 3731 if (element.hasPublisherElement()) { 3732 composeString(t, "CapabilityStatement2", "publisher", element.getPublisherElement(), -1); 3733 } 3734 for (int i = 0; i < element.getContact().size(); i++) { 3735 composeContactDetail(t, "CapabilityStatement2", "contact", element.getContact().get(i), i); 3736 } 3737 if (element.hasDescriptionElement()) { 3738 composeMarkdown(t, "CapabilityStatement2", "description", element.getDescriptionElement(), -1); 3739 } 3740 for (int i = 0; i < element.getUseContext().size(); i++) { 3741 composeUsageContext(t, "CapabilityStatement2", "useContext", element.getUseContext().get(i), i); 3742 } 3743 for (int i = 0; i < element.getJurisdiction().size(); i++) { 3744 composeCodeableConcept(t, "CapabilityStatement2", "jurisdiction", element.getJurisdiction().get(i), i); 3745 } 3746 if (element.hasPurposeElement()) { 3747 composeMarkdown(t, "CapabilityStatement2", "purpose", element.getPurposeElement(), -1); 3748 } 3749 if (element.hasCopyrightElement()) { 3750 composeMarkdown(t, "CapabilityStatement2", "copyright", element.getCopyrightElement(), -1); 3751 } 3752 if (element.hasKindElement()) { 3753 composeEnum(t, "CapabilityStatement2", "kind", element.getKindElement(), -1); 3754 } 3755 for (int i = 0; i < element.getInstantiates().size(); i++) { 3756 composeCanonical(t, "CapabilityStatement2", "instantiates", element.getInstantiates().get(i), i); 3757 } 3758 for (int i = 0; i < element.getImports().size(); i++) { 3759 composeCanonical(t, "CapabilityStatement2", "imports", element.getImports().get(i), i); 3760 } 3761 if (element.hasSoftware()) { 3762 composeCapabilityStatement2SoftwareComponent(t, "CapabilityStatement2", "software", element.getSoftware(), -1); 3763 } 3764 if (element.hasImplementation()) { 3765 composeCapabilityStatement2ImplementationComponent(t, "CapabilityStatement2", "implementation", element.getImplementation(), -1); 3766 } 3767 if (element.hasFhirVersionElement()) { 3768 composeEnum(t, "CapabilityStatement2", "fhirVersion", element.getFhirVersionElement(), -1); 3769 } 3770 for (int i = 0; i < element.getFormat().size(); i++) { 3771 composeCode(t, "CapabilityStatement2", "format", element.getFormat().get(i), i); 3772 } 3773 for (int i = 0; i < element.getPatchFormat().size(); i++) { 3774 composeCode(t, "CapabilityStatement2", "patchFormat", element.getPatchFormat().get(i), i); 3775 } 3776 for (int i = 0; i < element.getImplementationGuide().size(); i++) { 3777 composeCanonical(t, "CapabilityStatement2", "implementationGuide", element.getImplementationGuide().get(i), i); 3778 } 3779 for (int i = 0; i < element.getRest().size(); i++) { 3780 composeCapabilityStatement2RestComponent(t, "CapabilityStatement2", "rest", element.getRest().get(i), i); 3781 } 3782 } 3783 3784 protected void composeCapabilityStatement2SoftwareComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2SoftwareComponent element, int index) { 3785 if (element == null) 3786 return; 3787 Complex t; 3788 if (Utilities.noString(parentType)) 3789 t = parent; 3790 else { 3791 t = parent.predicate("fhir:"+parentType+'.'+name); 3792 } 3793 composeBackboneElement(t, "software", name, element, index); 3794 if (element.hasNameElement()) { 3795 composeString(t, "CapabilityStatement2SoftwareComponent", "name", element.getNameElement(), -1); 3796 } 3797 if (element.hasVersionElement()) { 3798 composeString(t, "CapabilityStatement2SoftwareComponent", "version", element.getVersionElement(), -1); 3799 } 3800 if (element.hasReleaseDateElement()) { 3801 composeDateTime(t, "CapabilityStatement2SoftwareComponent", "releaseDate", element.getReleaseDateElement(), -1); 3802 } 3803 } 3804 3805 protected void composeCapabilityStatement2ImplementationComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2ImplementationComponent element, int index) { 3806 if (element == null) 3807 return; 3808 Complex t; 3809 if (Utilities.noString(parentType)) 3810 t = parent; 3811 else { 3812 t = parent.predicate("fhir:"+parentType+'.'+name); 3813 } 3814 composeBackboneElement(t, "implementation", name, element, index); 3815 if (element.hasDescriptionElement()) { 3816 composeString(t, "CapabilityStatement2ImplementationComponent", "description", element.getDescriptionElement(), -1); 3817 } 3818 if (element.hasUrlElement()) { 3819 composeUrl(t, "CapabilityStatement2ImplementationComponent", "url", element.getUrlElement(), -1); 3820 } 3821 if (element.hasCustodian()) { 3822 composeReference(t, "CapabilityStatement2ImplementationComponent", "custodian", element.getCustodian(), -1); 3823 } 3824 } 3825 3826 protected void composeCapabilityStatement2RestComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestComponent element, int index) { 3827 if (element == null) 3828 return; 3829 Complex t; 3830 if (Utilities.noString(parentType)) 3831 t = parent; 3832 else { 3833 t = parent.predicate("fhir:"+parentType+'.'+name); 3834 } 3835 composeBackboneElement(t, "rest", name, element, index); 3836 if (element.hasModeElement()) { 3837 composeEnum(t, "CapabilityStatement2RestComponent", "mode", element.getModeElement(), -1); 3838 } 3839 if (element.hasDocumentationElement()) { 3840 composeMarkdown(t, "CapabilityStatement2RestComponent", "documentation", element.getDocumentationElement(), -1); 3841 } 3842 for (int i = 0; i < element.getFeature().size(); i++) { 3843 composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestComponent", "feature", element.getFeature().get(i), i); 3844 } 3845 for (int i = 0; i < element.getResource().size(); i++) { 3846 composeCapabilityStatement2RestResourceComponent(t, "CapabilityStatement2RestComponent", "resource", element.getResource().get(i), i); 3847 } 3848 for (int i = 0; i < element.getInteraction().size(); i++) { 3849 composeCapabilityStatement2SystemInteractionComponent(t, "CapabilityStatement2RestComponent", "interaction", element.getInteraction().get(i), i); 3850 } 3851 for (int i = 0; i < element.getSearchParam().size(); i++) { 3852 composeCapabilityStatement2RestResourceSearchParamComponent(t, "CapabilityStatement2RestComponent", "searchParam", element.getSearchParam().get(i), i); 3853 } 3854 for (int i = 0; i < element.getOperation().size(); i++) { 3855 composeCapabilityStatement2RestResourceOperationComponent(t, "CapabilityStatement2RestComponent", "operation", element.getOperation().get(i), i); 3856 } 3857 for (int i = 0; i < element.getCompartment().size(); i++) { 3858 composeCanonical(t, "CapabilityStatement2RestComponent", "compartment", element.getCompartment().get(i), i); 3859 } 3860 } 3861 3862 protected void composeCapabilityStatement2RestFeatureComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestFeatureComponent element, int index) { 3863 if (element == null) 3864 return; 3865 Complex t; 3866 if (Utilities.noString(parentType)) 3867 t = parent; 3868 else { 3869 t = parent.predicate("fhir:"+parentType+'.'+name); 3870 } 3871 composeBackboneElement(t, "feature", name, element, index); 3872 if (element.hasCodeElement()) { 3873 composeEnum(t, "CapabilityStatement2RestFeatureComponent", "code", element.getCodeElement(), -1); 3874 } 3875 if (element.hasValueElement()) { 3876 composeEnum(t, "CapabilityStatement2RestFeatureComponent", "value", element.getValueElement(), -1); 3877 } 3878 } 3879 3880 protected void composeCapabilityStatement2RestResourceComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceComponent element, int index) { 3881 if (element == null) 3882 return; 3883 Complex t; 3884 if (Utilities.noString(parentType)) 3885 t = parent; 3886 else { 3887 t = parent.predicate("fhir:"+parentType+'.'+name); 3888 } 3889 composeBackboneElement(t, "resource", name, element, index); 3890 if (element.hasTypeElement()) { 3891 composeCode(t, "CapabilityStatement2RestResourceComponent", "type", element.getTypeElement(), -1); 3892 } 3893 if (element.hasProfileElement()) { 3894 composeCanonical(t, "CapabilityStatement2RestResourceComponent", "profile", element.getProfileElement(), -1); 3895 } 3896 for (int i = 0; i < element.getSupportedProfile().size(); i++) { 3897 composeCanonical(t, "CapabilityStatement2RestResourceComponent", "supportedProfile", element.getSupportedProfile().get(i), i); 3898 } 3899 if (element.hasDocumentationElement()) { 3900 composeMarkdown(t, "CapabilityStatement2RestResourceComponent", "documentation", element.getDocumentationElement(), -1); 3901 } 3902 for (int i = 0; i < element.getFeature().size(); i++) { 3903 composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceComponent", "feature", element.getFeature().get(i), i); 3904 } 3905 for (int i = 0; i < element.getInteraction().size(); i++) { 3906 composeCapabilityStatement2ResourceInteractionComponent(t, "CapabilityStatement2RestResourceComponent", "interaction", element.getInteraction().get(i), i); 3907 } 3908 for (int i = 0; i < element.getSearchParam().size(); i++) { 3909 composeCapabilityStatement2RestResourceSearchParamComponent(t, "CapabilityStatement2RestResourceComponent", "searchParam", element.getSearchParam().get(i), i); 3910 } 3911 for (int i = 0; i < element.getOperation().size(); i++) { 3912 composeCapabilityStatement2RestResourceOperationComponent(t, "CapabilityStatement2RestResourceComponent", "operation", element.getOperation().get(i), i); 3913 } 3914 } 3915 3916 protected void composeCapabilityStatement2ResourceInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement2.ResourceInteractionComponent element, int index) { 3917 if (element == null) 3918 return; 3919 Complex t; 3920 if (Utilities.noString(parentType)) 3921 t = parent; 3922 else { 3923 t = parent.predicate("fhir:"+parentType+'.'+name); 3924 } 3925 composeBackboneElement(t, "interaction", name, element, index); 3926 if (element.hasCodeElement()) { 3927 composeEnum(t, "ResourceInteractionComponent", "code", element.getCodeElement(), -1); 3928 } 3929 if (element.hasDocumentationElement()) { 3930 composeMarkdown(t, "ResourceInteractionComponent", "documentation", element.getDocumentationElement(), -1); 3931 } 3932 for (int i = 0; i < element.getFeature().size(); i++) { 3933 composeCapabilityStatement2RestFeatureComponent(t, "ResourceInteractionComponent", "feature", element.getFeature().get(i), i); 3934 } 3935 } 3936 3937 protected void composeCapabilityStatement2RestResourceSearchParamComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element, int index) { 3938 if (element == null) 3939 return; 3940 Complex t; 3941 if (Utilities.noString(parentType)) 3942 t = parent; 3943 else { 3944 t = parent.predicate("fhir:"+parentType+'.'+name); 3945 } 3946 composeBackboneElement(t, "searchParam", name, element, index); 3947 if (element.hasNameElement()) { 3948 composeString(t, "CapabilityStatement2RestResourceSearchParamComponent", "name", element.getNameElement(), -1); 3949 } 3950 if (element.hasDefinitionElement()) { 3951 composeCanonical(t, "CapabilityStatement2RestResourceSearchParamComponent", "definition", element.getDefinitionElement(), -1); 3952 } 3953 if (element.hasTypeElement()) { 3954 composeEnum(t, "CapabilityStatement2RestResourceSearchParamComponent", "type", element.getTypeElement(), -1); 3955 } 3956 if (element.hasDocumentationElement()) { 3957 composeMarkdown(t, "CapabilityStatement2RestResourceSearchParamComponent", "documentation", element.getDocumentationElement(), -1); 3958 } 3959 for (int i = 0; i < element.getFeature().size(); i++) { 3960 composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceSearchParamComponent", "feature", element.getFeature().get(i), i); 3961 } 3962 } 3963 3964 protected void composeCapabilityStatement2RestResourceOperationComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element, int index) { 3965 if (element == null) 3966 return; 3967 Complex t; 3968 if (Utilities.noString(parentType)) 3969 t = parent; 3970 else { 3971 t = parent.predicate("fhir:"+parentType+'.'+name); 3972 } 3973 composeBackboneElement(t, "operation", name, element, index); 3974 if (element.hasNameElement()) { 3975 composeString(t, "CapabilityStatement2RestResourceOperationComponent", "name", element.getNameElement(), -1); 3976 } 3977 if (element.hasDefinitionElement()) { 3978 composeCanonical(t, "CapabilityStatement2RestResourceOperationComponent", "definition", element.getDefinitionElement(), -1); 3979 } 3980 if (element.hasDocumentationElement()) { 3981 composeMarkdown(t, "CapabilityStatement2RestResourceOperationComponent", "documentation", element.getDocumentationElement(), -1); 3982 } 3983 for (int i = 0; i < element.getFeature().size(); i++) { 3984 composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceOperationComponent", "feature", element.getFeature().get(i), i); 3985 } 3986 } 3987 3988 protected void composeCapabilityStatement2SystemInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement2.SystemInteractionComponent element, int index) { 3989 if (element == null) 3990 return; 3991 Complex t; 3992 if (Utilities.noString(parentType)) 3993 t = parent; 3994 else { 3995 t = parent.predicate("fhir:"+parentType+'.'+name); 3996 } 3997 composeBackboneElement(t, "interaction", name, element, index); 3998 if (element.hasCodeElement()) { 3999 composeEnum(t, "SystemInteractionComponent", "code", element.getCodeElement(), -1); 4000 } 4001 if (element.hasDocumentationElement()) { 4002 composeMarkdown(t, "SystemInteractionComponent", "documentation", element.getDocumentationElement(), -1); 4003 } 4004 for (int i = 0; i < element.getFeature().size(); i++) { 4005 composeCapabilityStatement2RestFeatureComponent(t, "SystemInteractionComponent", "feature", element.getFeature().get(i), i); 4006 } 4007 } 4008 4009 protected void composeCarePlan(Complex parent, String parentType, String name, CarePlan element, int index) { 4010 if (element == null) 4011 return; 4012 Complex t; 4013 if (Utilities.noString(parentType)) 4014 t = parent; 4015 else { 4016 t = parent.predicate("fhir:"+parentType+'.'+name); 4017 } 4018 composeDomainResource(t, "CarePlan", name, element, index); 4019 for (int i = 0; i < element.getIdentifier().size(); i++) { 4020 composeIdentifier(t, "CarePlan", "identifier", element.getIdentifier().get(i), i); 4021 } 4022 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 4023 composeCanonical(t, "CarePlan", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 4024 } 4025 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 4026 composeUri(t, "CarePlan", "instantiatesUri", element.getInstantiatesUri().get(i), i); 4027 } 4028 for (int i = 0; i < element.getBasedOn().size(); i++) { 4029 composeReference(t, "CarePlan", "basedOn", element.getBasedOn().get(i), i); 4030 } 4031 for (int i = 0; i < element.getReplaces().size(); i++) { 4032 composeReference(t, "CarePlan", "replaces", element.getReplaces().get(i), i); 4033 } 4034 for (int i = 0; i < element.getPartOf().size(); i++) { 4035 composeReference(t, "CarePlan", "partOf", element.getPartOf().get(i), i); 4036 } 4037 if (element.hasStatusElement()) { 4038 composeEnum(t, "CarePlan", "status", element.getStatusElement(), -1); 4039 } 4040 if (element.hasIntentElement()) { 4041 composeEnum(t, "CarePlan", "intent", element.getIntentElement(), -1); 4042 } 4043 for (int i = 0; i < element.getCategory().size(); i++) { 4044 composeCodeableConcept(t, "CarePlan", "category", element.getCategory().get(i), i); 4045 } 4046 if (element.hasTitleElement()) { 4047 composeString(t, "CarePlan", "title", element.getTitleElement(), -1); 4048 } 4049 if (element.hasDescriptionElement()) { 4050 composeString(t, "CarePlan", "description", element.getDescriptionElement(), -1); 4051 } 4052 if (element.hasSubject()) { 4053 composeReference(t, "CarePlan", "subject", element.getSubject(), -1); 4054 } 4055 if (element.hasEncounter()) { 4056 composeReference(t, "CarePlan", "encounter", element.getEncounter(), -1); 4057 } 4058 if (element.hasPeriod()) { 4059 composePeriod(t, "CarePlan", "period", element.getPeriod(), -1); 4060 } 4061 if (element.hasCreatedElement()) { 4062 composeDateTime(t, "CarePlan", "created", element.getCreatedElement(), -1); 4063 } 4064 if (element.hasAuthor()) { 4065 composeReference(t, "CarePlan", "author", element.getAuthor(), -1); 4066 } 4067 for (int i = 0; i < element.getContributor().size(); i++) { 4068 composeReference(t, "CarePlan", "contributor", element.getContributor().get(i), i); 4069 } 4070 for (int i = 0; i < element.getCareTeam().size(); i++) { 4071 composeReference(t, "CarePlan", "careTeam", element.getCareTeam().get(i), i); 4072 } 4073 for (int i = 0; i < element.getAddresses().size(); i++) { 4074 composeCodeableReference(t, "CarePlan", "addresses", element.getAddresses().get(i), i); 4075 } 4076 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 4077 composeReference(t, "CarePlan", "supportingInfo", element.getSupportingInfo().get(i), i); 4078 } 4079 for (int i = 0; i < element.getGoal().size(); i++) { 4080 composeReference(t, "CarePlan", "goal", element.getGoal().get(i), i); 4081 } 4082 for (int i = 0; i < element.getActivity().size(); i++) { 4083 composeCarePlanActivityComponent(t, "CarePlan", "activity", element.getActivity().get(i), i); 4084 } 4085 for (int i = 0; i < element.getNote().size(); i++) { 4086 composeAnnotation(t, "CarePlan", "note", element.getNote().get(i), i); 4087 } 4088 } 4089 4090 protected void composeCarePlanActivityComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityComponent element, int index) { 4091 if (element == null) 4092 return; 4093 Complex t; 4094 if (Utilities.noString(parentType)) 4095 t = parent; 4096 else { 4097 t = parent.predicate("fhir:"+parentType+'.'+name); 4098 } 4099 composeBackboneElement(t, "activity", name, element, index); 4100 for (int i = 0; i < element.getPerformedActivity().size(); i++) { 4101 composeCodeableReference(t, "CarePlanActivityComponent", "performedActivity", element.getPerformedActivity().get(i), i); 4102 } 4103 for (int i = 0; i < element.getProgress().size(); i++) { 4104 composeAnnotation(t, "CarePlanActivityComponent", "progress", element.getProgress().get(i), i); 4105 } 4106 if (element.hasPlannedActivityReference()) { 4107 composeReference(t, "CarePlanActivityComponent", "plannedActivityReference", element.getPlannedActivityReference(), -1); 4108 } 4109 if (element.hasPlannedActivityDetail()) { 4110 composeCarePlanActivityPlannedActivityDetailComponent(t, "CarePlanActivityComponent", "plannedActivityDetail", element.getPlannedActivityDetail(), -1); 4111 } 4112 } 4113 4114 protected void composeCarePlanActivityPlannedActivityDetailComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityPlannedActivityDetailComponent element, int index) { 4115 if (element == null) 4116 return; 4117 Complex t; 4118 if (Utilities.noString(parentType)) 4119 t = parent; 4120 else { 4121 t = parent.predicate("fhir:"+parentType+'.'+name); 4122 } 4123 composeBackboneElement(t, "plannedActivityDetail", name, element, index); 4124 if (element.hasKindElement()) { 4125 composeEnum(t, "CarePlanActivityPlannedActivityDetailComponent", "kind", element.getKindElement(), -1); 4126 } 4127 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 4128 composeCanonical(t, "CarePlanActivityPlannedActivityDetailComponent", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 4129 } 4130 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 4131 composeUri(t, "CarePlanActivityPlannedActivityDetailComponent", "instantiatesUri", element.getInstantiatesUri().get(i), i); 4132 } 4133 if (element.hasCode()) { 4134 composeCodeableConcept(t, "CarePlanActivityPlannedActivityDetailComponent", "code", element.getCode(), -1); 4135 } 4136 for (int i = 0; i < element.getReason().size(); i++) { 4137 composeCodeableReference(t, "CarePlanActivityPlannedActivityDetailComponent", "reason", element.getReason().get(i), i); 4138 } 4139 for (int i = 0; i < element.getGoal().size(); i++) { 4140 composeReference(t, "CarePlanActivityPlannedActivityDetailComponent", "goal", element.getGoal().get(i), i); 4141 } 4142 if (element.hasStatusElement()) { 4143 composeEnum(t, "CarePlanActivityPlannedActivityDetailComponent", "status", element.getStatusElement(), -1); 4144 } 4145 if (element.hasStatusReason()) { 4146 composeCodeableConcept(t, "CarePlanActivityPlannedActivityDetailComponent", "statusReason", element.getStatusReason(), -1); 4147 } 4148 if (element.hasDoNotPerformElement()) { 4149 composeBoolean(t, "CarePlanActivityPlannedActivityDetailComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 4150 } 4151 if (element.hasScheduled()) { 4152 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "scheduled", element.getScheduled(), -1); 4153 } 4154 if (element.hasLocation()) { 4155 composeCodeableReference(t, "CarePlanActivityPlannedActivityDetailComponent", "location", element.getLocation(), -1); 4156 } 4157 if (element.hasReported()) { 4158 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "reported", element.getReported(), -1); 4159 } 4160 for (int i = 0; i < element.getPerformer().size(); i++) { 4161 composeReference(t, "CarePlanActivityPlannedActivityDetailComponent", "performer", element.getPerformer().get(i), i); 4162 } 4163 if (element.hasProduct()) { 4164 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "product", element.getProduct(), -1); 4165 } 4166 if (element.hasDailyAmount()) { 4167 composeQuantity(t, "CarePlanActivityPlannedActivityDetailComponent", "dailyAmount", element.getDailyAmount(), -1); 4168 } 4169 if (element.hasQuantity()) { 4170 composeQuantity(t, "CarePlanActivityPlannedActivityDetailComponent", "quantity", element.getQuantity(), -1); 4171 } 4172 if (element.hasDescriptionElement()) { 4173 composeString(t, "CarePlanActivityPlannedActivityDetailComponent", "description", element.getDescriptionElement(), -1); 4174 } 4175 } 4176 4177 protected void composeCareTeam(Complex parent, String parentType, String name, CareTeam element, int index) { 4178 if (element == null) 4179 return; 4180 Complex t; 4181 if (Utilities.noString(parentType)) 4182 t = parent; 4183 else { 4184 t = parent.predicate("fhir:"+parentType+'.'+name); 4185 } 4186 composeDomainResource(t, "CareTeam", name, element, index); 4187 for (int i = 0; i < element.getIdentifier().size(); i++) { 4188 composeIdentifier(t, "CareTeam", "identifier", element.getIdentifier().get(i), i); 4189 } 4190 if (element.hasStatusElement()) { 4191 composeEnum(t, "CareTeam", "status", element.getStatusElement(), -1); 4192 } 4193 for (int i = 0; i < element.getCategory().size(); i++) { 4194 composeCodeableConcept(t, "CareTeam", "category", element.getCategory().get(i), i); 4195 } 4196 if (element.hasNameElement()) { 4197 composeString(t, "CareTeam", "name", element.getNameElement(), -1); 4198 } 4199 if (element.hasSubject()) { 4200 composeReference(t, "CareTeam", "subject", element.getSubject(), -1); 4201 } 4202 if (element.hasPeriod()) { 4203 composePeriod(t, "CareTeam", "period", element.getPeriod(), -1); 4204 } 4205 for (int i = 0; i < element.getParticipant().size(); i++) { 4206 composeCareTeamParticipantComponent(t, "CareTeam", "participant", element.getParticipant().get(i), i); 4207 } 4208 for (int i = 0; i < element.getReason().size(); i++) { 4209 composeCodeableReference(t, "CareTeam", "reason", element.getReason().get(i), i); 4210 } 4211 for (int i = 0; i < element.getManagingOrganization().size(); i++) { 4212 composeReference(t, "CareTeam", "managingOrganization", element.getManagingOrganization().get(i), i); 4213 } 4214 for (int i = 0; i < element.getTelecom().size(); i++) { 4215 composeContactPoint(t, "CareTeam", "telecom", element.getTelecom().get(i), i); 4216 } 4217 for (int i = 0; i < element.getNote().size(); i++) { 4218 composeAnnotation(t, "CareTeam", "note", element.getNote().get(i), i); 4219 } 4220 } 4221 4222 protected void composeCareTeamParticipantComponent(Complex parent, String parentType, String name, CareTeam.CareTeamParticipantComponent element, int index) { 4223 if (element == null) 4224 return; 4225 Complex t; 4226 if (Utilities.noString(parentType)) 4227 t = parent; 4228 else { 4229 t = parent.predicate("fhir:"+parentType+'.'+name); 4230 } 4231 composeBackboneElement(t, "participant", name, element, index); 4232 if (element.hasRole()) { 4233 composeCodeableConcept(t, "CareTeamParticipantComponent", "role", element.getRole(), -1); 4234 } 4235 if (element.hasMember()) { 4236 composeReference(t, "CareTeamParticipantComponent", "member", element.getMember(), -1); 4237 } 4238 if (element.hasOnBehalfOf()) { 4239 composeReference(t, "CareTeamParticipantComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 4240 } 4241 if (element.hasCoverage()) { 4242 composeType(t, "CareTeamParticipantComponent", "coverage", element.getCoverage(), -1); 4243 } 4244 } 4245 4246 protected void composeChargeItem(Complex parent, String parentType, String name, ChargeItem element, int index) { 4247 if (element == null) 4248 return; 4249 Complex t; 4250 if (Utilities.noString(parentType)) 4251 t = parent; 4252 else { 4253 t = parent.predicate("fhir:"+parentType+'.'+name); 4254 } 4255 composeDomainResource(t, "ChargeItem", name, element, index); 4256 for (int i = 0; i < element.getIdentifier().size(); i++) { 4257 composeIdentifier(t, "ChargeItem", "identifier", element.getIdentifier().get(i), i); 4258 } 4259 for (int i = 0; i < element.getDefinitionUri().size(); i++) { 4260 composeUri(t, "ChargeItem", "definitionUri", element.getDefinitionUri().get(i), i); 4261 } 4262 for (int i = 0; i < element.getDefinitionCanonical().size(); i++) { 4263 composeCanonical(t, "ChargeItem", "definitionCanonical", element.getDefinitionCanonical().get(i), i); 4264 } 4265 if (element.hasStatusElement()) { 4266 composeEnum(t, "ChargeItem", "status", element.getStatusElement(), -1); 4267 } 4268 for (int i = 0; i < element.getPartOf().size(); i++) { 4269 composeReference(t, "ChargeItem", "partOf", element.getPartOf().get(i), i); 4270 } 4271 if (element.hasCode()) { 4272 composeCodeableConcept(t, "ChargeItem", "code", element.getCode(), -1); 4273 } 4274 if (element.hasSubject()) { 4275 composeReference(t, "ChargeItem", "subject", element.getSubject(), -1); 4276 } 4277 if (element.hasContext()) { 4278 composeReference(t, "ChargeItem", "context", element.getContext(), -1); 4279 } 4280 if (element.hasOccurrence()) { 4281 composeType(t, "ChargeItem", "occurrence", element.getOccurrence(), -1); 4282 } 4283 for (int i = 0; i < element.getPerformer().size(); i++) { 4284 composeChargeItemPerformerComponent(t, "ChargeItem", "performer", element.getPerformer().get(i), i); 4285 } 4286 if (element.hasPerformingOrganization()) { 4287 composeReference(t, "ChargeItem", "performingOrganization", element.getPerformingOrganization(), -1); 4288 } 4289 if (element.hasRequestingOrganization()) { 4290 composeReference(t, "ChargeItem", "requestingOrganization", element.getRequestingOrganization(), -1); 4291 } 4292 if (element.hasCostCenter()) { 4293 composeReference(t, "ChargeItem", "costCenter", element.getCostCenter(), -1); 4294 } 4295 if (element.hasQuantity()) { 4296 composeQuantity(t, "ChargeItem", "quantity", element.getQuantity(), -1); 4297 } 4298 for (int i = 0; i < element.getBodysite().size(); i++) { 4299 composeCodeableConcept(t, "ChargeItem", "bodysite", element.getBodysite().get(i), i); 4300 } 4301 if (element.hasFactorOverrideElement()) { 4302 composeDecimal(t, "ChargeItem", "factorOverride", element.getFactorOverrideElement(), -1); 4303 } 4304 if (element.hasPriceOverride()) { 4305 composeMoney(t, "ChargeItem", "priceOverride", element.getPriceOverride(), -1); 4306 } 4307 if (element.hasOverrideReasonElement()) { 4308 composeString(t, "ChargeItem", "overrideReason", element.getOverrideReasonElement(), -1); 4309 } 4310 if (element.hasEnterer()) { 4311 composeReference(t, "ChargeItem", "enterer", element.getEnterer(), -1); 4312 } 4313 if (element.hasEnteredDateElement()) { 4314 composeDateTime(t, "ChargeItem", "enteredDate", element.getEnteredDateElement(), -1); 4315 } 4316 for (int i = 0; i < element.getReason().size(); i++) { 4317 composeCodeableConcept(t, "ChargeItem", "reason", element.getReason().get(i), i); 4318 } 4319 for (int i = 0; i < element.getService().size(); i++) { 4320 composeReference(t, "ChargeItem", "service", element.getService().get(i), i); 4321 } 4322 for (int i = 0; i < element.getProduct().size(); i++) { 4323 composeCodeableReference(t, "ChargeItem", "product", element.getProduct().get(i), i); 4324 } 4325 for (int i = 0; i < element.getAccount().size(); i++) { 4326 composeReference(t, "ChargeItem", "account", element.getAccount().get(i), i); 4327 } 4328 for (int i = 0; i < element.getNote().size(); i++) { 4329 composeAnnotation(t, "ChargeItem", "note", element.getNote().get(i), i); 4330 } 4331 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 4332 composeReference(t, "ChargeItem", "supportingInformation", element.getSupportingInformation().get(i), i); 4333 } 4334 } 4335 4336 protected void composeChargeItemPerformerComponent(Complex parent, String parentType, String name, ChargeItem.ChargeItemPerformerComponent element, int index) { 4337 if (element == null) 4338 return; 4339 Complex t; 4340 if (Utilities.noString(parentType)) 4341 t = parent; 4342 else { 4343 t = parent.predicate("fhir:"+parentType+'.'+name); 4344 } 4345 composeBackboneElement(t, "performer", name, element, index); 4346 if (element.hasFunction()) { 4347 composeCodeableConcept(t, "ChargeItemPerformerComponent", "function", element.getFunction(), -1); 4348 } 4349 if (element.hasActor()) { 4350 composeReference(t, "ChargeItemPerformerComponent", "actor", element.getActor(), -1); 4351 } 4352 } 4353 4354 protected void composeChargeItemDefinition(Complex parent, String parentType, String name, ChargeItemDefinition element, int index) { 4355 if (element == null) 4356 return; 4357 Complex t; 4358 if (Utilities.noString(parentType)) 4359 t = parent; 4360 else { 4361 t = parent.predicate("fhir:"+parentType+'.'+name); 4362 } 4363 composeMetadataResource(t, "ChargeItemDefinition", name, element, index); 4364 if (element.hasUrlElement()) { 4365 composeUri(t, "ChargeItemDefinition", "url", element.getUrlElement(), -1); 4366 } 4367 for (int i = 0; i < element.getIdentifier().size(); i++) { 4368 composeIdentifier(t, "ChargeItemDefinition", "identifier", element.getIdentifier().get(i), i); 4369 } 4370 if (element.hasVersionElement()) { 4371 composeString(t, "ChargeItemDefinition", "version", element.getVersionElement(), -1); 4372 } 4373 if (element.hasTitleElement()) { 4374 composeString(t, "ChargeItemDefinition", "title", element.getTitleElement(), -1); 4375 } 4376 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 4377 composeUri(t, "ChargeItemDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 4378 } 4379 for (int i = 0; i < element.getPartOf().size(); i++) { 4380 composeCanonical(t, "ChargeItemDefinition", "partOf", element.getPartOf().get(i), i); 4381 } 4382 for (int i = 0; i < element.getReplaces().size(); i++) { 4383 composeCanonical(t, "ChargeItemDefinition", "replaces", element.getReplaces().get(i), i); 4384 } 4385 if (element.hasStatusElement()) { 4386 composeEnum(t, "ChargeItemDefinition", "status", element.getStatusElement(), -1); 4387 } 4388 if (element.hasExperimentalElement()) { 4389 composeBoolean(t, "ChargeItemDefinition", "experimental", element.getExperimentalElement(), -1); 4390 } 4391 if (element.hasDateElement()) { 4392 composeDateTime(t, "ChargeItemDefinition", "date", element.getDateElement(), -1); 4393 } 4394 if (element.hasPublisherElement()) { 4395 composeString(t, "ChargeItemDefinition", "publisher", element.getPublisherElement(), -1); 4396 } 4397 for (int i = 0; i < element.getContact().size(); i++) { 4398 composeContactDetail(t, "ChargeItemDefinition", "contact", element.getContact().get(i), i); 4399 } 4400 if (element.hasDescriptionElement()) { 4401 composeMarkdown(t, "ChargeItemDefinition", "description", element.getDescriptionElement(), -1); 4402 } 4403 for (int i = 0; i < element.getUseContext().size(); i++) { 4404 composeUsageContext(t, "ChargeItemDefinition", "useContext", element.getUseContext().get(i), i); 4405 } 4406 for (int i = 0; i < element.getJurisdiction().size(); i++) { 4407 composeCodeableConcept(t, "ChargeItemDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 4408 } 4409 if (element.hasCopyrightElement()) { 4410 composeMarkdown(t, "ChargeItemDefinition", "copyright", element.getCopyrightElement(), -1); 4411 } 4412 if (element.hasApprovalDateElement()) { 4413 composeDate(t, "ChargeItemDefinition", "approvalDate", element.getApprovalDateElement(), -1); 4414 } 4415 if (element.hasLastReviewDateElement()) { 4416 composeDate(t, "ChargeItemDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 4417 } 4418 if (element.hasEffectivePeriod()) { 4419 composePeriod(t, "ChargeItemDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 4420 } 4421 if (element.hasCode()) { 4422 composeCodeableConcept(t, "ChargeItemDefinition", "code", element.getCode(), -1); 4423 } 4424 for (int i = 0; i < element.getInstance().size(); i++) { 4425 composeReference(t, "ChargeItemDefinition", "instance", element.getInstance().get(i), i); 4426 } 4427 for (int i = 0; i < element.getApplicability().size(); i++) { 4428 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinition", "applicability", element.getApplicability().get(i), i); 4429 } 4430 for (int i = 0; i < element.getPropertyGroup().size(); i++) { 4431 composeChargeItemDefinitionPropertyGroupComponent(t, "ChargeItemDefinition", "propertyGroup", element.getPropertyGroup().get(i), i); 4432 } 4433 } 4434 4435 protected void composeChargeItemDefinitionApplicabilityComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element, int index) { 4436 if (element == null) 4437 return; 4438 Complex t; 4439 if (Utilities.noString(parentType)) 4440 t = parent; 4441 else { 4442 t = parent.predicate("fhir:"+parentType+'.'+name); 4443 } 4444 composeBackboneElement(t, "applicability", name, element, index); 4445 if (element.hasDescriptionElement()) { 4446 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "description", element.getDescriptionElement(), -1); 4447 } 4448 if (element.hasLanguageElement()) { 4449 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "language", element.getLanguageElement(), -1); 4450 } 4451 if (element.hasExpressionElement()) { 4452 composeString(t, "ChargeItemDefinitionApplicabilityComponent", "expression", element.getExpressionElement(), -1); 4453 } 4454 } 4455 4456 protected void composeChargeItemDefinitionPropertyGroupComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent element, int index) { 4457 if (element == null) 4458 return; 4459 Complex t; 4460 if (Utilities.noString(parentType)) 4461 t = parent; 4462 else { 4463 t = parent.predicate("fhir:"+parentType+'.'+name); 4464 } 4465 composeBackboneElement(t, "propertyGroup", name, element, index); 4466 for (int i = 0; i < element.getApplicability().size(); i++) { 4467 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "applicability", element.getApplicability().get(i), i); 4468 } 4469 for (int i = 0; i < element.getPriceComponent().size(); i++) { 4470 composeChargeItemDefinitionPropertyGroupPriceComponentComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "priceComponent", element.getPriceComponent().get(i), i); 4471 } 4472 } 4473 4474 protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element, int index) { 4475 if (element == null) 4476 return; 4477 Complex t; 4478 if (Utilities.noString(parentType)) 4479 t = parent; 4480 else { 4481 t = parent.predicate("fhir:"+parentType+'.'+name); 4482 } 4483 composeBackboneElement(t, "priceComponent", name, element, index); 4484 if (element.hasTypeElement()) { 4485 composeEnum(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "type", element.getTypeElement(), -1); 4486 } 4487 if (element.hasCode()) { 4488 composeCodeableConcept(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "code", element.getCode(), -1); 4489 } 4490 if (element.hasFactorElement()) { 4491 composeDecimal(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "factor", element.getFactorElement(), -1); 4492 } 4493 if (element.hasAmount()) { 4494 composeMoney(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "amount", element.getAmount(), -1); 4495 } 4496 } 4497 4498 protected void composeCitation(Complex parent, String parentType, String name, Citation element, int index) { 4499 if (element == null) 4500 return; 4501 Complex t; 4502 if (Utilities.noString(parentType)) 4503 t = parent; 4504 else { 4505 t = parent.predicate("fhir:"+parentType+'.'+name); 4506 } 4507 composeMetadataResource(t, "Citation", name, element, index); 4508 if (element.hasUrlElement()) { 4509 composeUri(t, "Citation", "url", element.getUrlElement(), -1); 4510 } 4511 for (int i = 0; i < element.getIdentifier().size(); i++) { 4512 composeIdentifier(t, "Citation", "identifier", element.getIdentifier().get(i), i); 4513 } 4514 if (element.hasVersionElement()) { 4515 composeString(t, "Citation", "version", element.getVersionElement(), -1); 4516 } 4517 if (element.hasNameElement()) { 4518 composeString(t, "Citation", "name", element.getNameElement(), -1); 4519 } 4520 if (element.hasTitleElement()) { 4521 composeString(t, "Citation", "title", element.getTitleElement(), -1); 4522 } 4523 if (element.hasStatusElement()) { 4524 composeEnum(t, "Citation", "status", element.getStatusElement(), -1); 4525 } 4526 if (element.hasExperimentalElement()) { 4527 composeBoolean(t, "Citation", "experimental", element.getExperimentalElement(), -1); 4528 } 4529 if (element.hasDateElement()) { 4530 composeDateTime(t, "Citation", "date", element.getDateElement(), -1); 4531 } 4532 if (element.hasPublisherElement()) { 4533 composeString(t, "Citation", "publisher", element.getPublisherElement(), -1); 4534 } 4535 for (int i = 0; i < element.getContact().size(); i++) { 4536 composeContactDetail(t, "Citation", "contact", element.getContact().get(i), i); 4537 } 4538 if (element.hasDescriptionElement()) { 4539 composeMarkdown(t, "Citation", "description", element.getDescriptionElement(), -1); 4540 } 4541 for (int i = 0; i < element.getUseContext().size(); i++) { 4542 composeUsageContext(t, "Citation", "useContext", element.getUseContext().get(i), i); 4543 } 4544 for (int i = 0; i < element.getJurisdiction().size(); i++) { 4545 composeCodeableConcept(t, "Citation", "jurisdiction", element.getJurisdiction().get(i), i); 4546 } 4547 if (element.hasPurposeElement()) { 4548 composeMarkdown(t, "Citation", "purpose", element.getPurposeElement(), -1); 4549 } 4550 if (element.hasCopyrightElement()) { 4551 composeMarkdown(t, "Citation", "copyright", element.getCopyrightElement(), -1); 4552 } 4553 if (element.hasApprovalDateElement()) { 4554 composeDate(t, "Citation", "approvalDate", element.getApprovalDateElement(), -1); 4555 } 4556 if (element.hasLastReviewDateElement()) { 4557 composeDate(t, "Citation", "lastReviewDate", element.getLastReviewDateElement(), -1); 4558 } 4559 if (element.hasEffectivePeriod()) { 4560 composePeriod(t, "Citation", "effectivePeriod", element.getEffectivePeriod(), -1); 4561 } 4562 for (int i = 0; i < element.getAuthor().size(); i++) { 4563 composeContactDetail(t, "Citation", "author", element.getAuthor().get(i), i); 4564 } 4565 for (int i = 0; i < element.getEditor().size(); i++) { 4566 composeContactDetail(t, "Citation", "editor", element.getEditor().get(i), i); 4567 } 4568 for (int i = 0; i < element.getReviewer().size(); i++) { 4569 composeContactDetail(t, "Citation", "reviewer", element.getReviewer().get(i), i); 4570 } 4571 for (int i = 0; i < element.getEndorser().size(); i++) { 4572 composeContactDetail(t, "Citation", "endorser", element.getEndorser().get(i), i); 4573 } 4574 for (int i = 0; i < element.getSummary().size(); i++) { 4575 composeCitationSummaryComponent(t, "Citation", "summary", element.getSummary().get(i), i); 4576 } 4577 for (int i = 0; i < element.getClassification().size(); i++) { 4578 composeCitationClassificationComponent(t, "Citation", "classification", element.getClassification().get(i), i); 4579 } 4580 for (int i = 0; i < element.getNote().size(); i++) { 4581 composeAnnotation(t, "Citation", "note", element.getNote().get(i), i); 4582 } 4583 for (int i = 0; i < element.getCurrentState().size(); i++) { 4584 composeCodeableConcept(t, "Citation", "currentState", element.getCurrentState().get(i), i); 4585 } 4586 for (int i = 0; i < element.getStatusDate().size(); i++) { 4587 composeCitationStatusDateComponent(t, "Citation", "statusDate", element.getStatusDate().get(i), i); 4588 } 4589 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 4590 composeRelatedArtifact(t, "Citation", "relatedArtifact", element.getRelatedArtifact().get(i), i); 4591 } 4592 if (element.hasCitedArtifact()) { 4593 composeCitationCitedArtifactComponent(t, "Citation", "citedArtifact", element.getCitedArtifact(), -1); 4594 } 4595 } 4596 4597 protected void composeCitationSummaryComponent(Complex parent, String parentType, String name, Citation.CitationSummaryComponent element, int index) { 4598 if (element == null) 4599 return; 4600 Complex t; 4601 if (Utilities.noString(parentType)) 4602 t = parent; 4603 else { 4604 t = parent.predicate("fhir:"+parentType+'.'+name); 4605 } 4606 composeBackboneElement(t, "summary", name, element, index); 4607 if (element.hasStyle()) { 4608 composeCodeableConcept(t, "CitationSummaryComponent", "style", element.getStyle(), -1); 4609 } 4610 if (element.hasTextElement()) { 4611 composeMarkdown(t, "CitationSummaryComponent", "text", element.getTextElement(), -1); 4612 } 4613 } 4614 4615 protected void composeCitationClassificationComponent(Complex parent, String parentType, String name, Citation.CitationClassificationComponent element, int index) { 4616 if (element == null) 4617 return; 4618 Complex t; 4619 if (Utilities.noString(parentType)) 4620 t = parent; 4621 else { 4622 t = parent.predicate("fhir:"+parentType+'.'+name); 4623 } 4624 composeBackboneElement(t, "classification", name, element, index); 4625 if (element.hasType()) { 4626 composeCodeableConcept(t, "CitationClassificationComponent", "type", element.getType(), -1); 4627 } 4628 for (int i = 0; i < element.getClassifier().size(); i++) { 4629 composeCodeableConcept(t, "CitationClassificationComponent", "classifier", element.getClassifier().get(i), i); 4630 } 4631 } 4632 4633 protected void composeCitationStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationStatusDateComponent element, int index) { 4634 if (element == null) 4635 return; 4636 Complex t; 4637 if (Utilities.noString(parentType)) 4638 t = parent; 4639 else { 4640 t = parent.predicate("fhir:"+parentType+'.'+name); 4641 } 4642 composeBackboneElement(t, "statusDate", name, element, index); 4643 if (element.hasActivity()) { 4644 composeCodeableConcept(t, "CitationStatusDateComponent", "activity", element.getActivity(), -1); 4645 } 4646 if (element.hasActualElement()) { 4647 composeBoolean(t, "CitationStatusDateComponent", "actual", element.getActualElement(), -1); 4648 } 4649 if (element.hasPeriod()) { 4650 composePeriod(t, "CitationStatusDateComponent", "period", element.getPeriod(), -1); 4651 } 4652 } 4653 4654 protected void composeCitationCitedArtifactComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactComponent element, int index) { 4655 if (element == null) 4656 return; 4657 Complex t; 4658 if (Utilities.noString(parentType)) 4659 t = parent; 4660 else { 4661 t = parent.predicate("fhir:"+parentType+'.'+name); 4662 } 4663 composeBackboneElement(t, "citedArtifact", name, element, index); 4664 for (int i = 0; i < element.getIdentifier().size(); i++) { 4665 composeIdentifier(t, "CitationCitedArtifactComponent", "identifier", element.getIdentifier().get(i), i); 4666 } 4667 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 4668 composeIdentifier(t, "CitationCitedArtifactComponent", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 4669 } 4670 if (element.hasDateAccessedElement()) { 4671 composeDateTime(t, "CitationCitedArtifactComponent", "dateAccessed", element.getDateAccessedElement(), -1); 4672 } 4673 if (element.hasVersion()) { 4674 composeCitationCitedArtifactVersionComponent(t, "CitationCitedArtifactComponent", "version", element.getVersion(), -1); 4675 } 4676 for (int i = 0; i < element.getCurrentState().size(); i++) { 4677 composeCodeableConcept(t, "CitationCitedArtifactComponent", "currentState", element.getCurrentState().get(i), i); 4678 } 4679 for (int i = 0; i < element.getStatusDate().size(); i++) { 4680 composeCitationCitedArtifactStatusDateComponent(t, "CitationCitedArtifactComponent", "statusDate", element.getStatusDate().get(i), i); 4681 } 4682 for (int i = 0; i < element.getTitle().size(); i++) { 4683 composeCitationCitedArtifactTitleComponent(t, "CitationCitedArtifactComponent", "title", element.getTitle().get(i), i); 4684 } 4685 for (int i = 0; i < element.getAbstract().size(); i++) { 4686 composeCitationCitedArtifactAbstractComponent(t, "CitationCitedArtifactComponent", "abstract", element.getAbstract().get(i), i); 4687 } 4688 if (element.hasPart()) { 4689 composeCitationCitedArtifactPartComponent(t, "CitationCitedArtifactComponent", "part", element.getPart(), -1); 4690 } 4691 for (int i = 0; i < element.getRelatesTo().size(); i++) { 4692 composeRelatedArtifact(t, "CitationCitedArtifactComponent", "relatesTo", element.getRelatesTo().get(i), i); 4693 } 4694 for (int i = 0; i < element.getPublicationForm().size(); i++) { 4695 composeCitationCitedArtifactPublicationFormComponent(t, "CitationCitedArtifactComponent", "publicationForm", element.getPublicationForm().get(i), i); 4696 } 4697 for (int i = 0; i < element.getWebLocation().size(); i++) { 4698 composeCitationCitedArtifactWebLocationComponent(t, "CitationCitedArtifactComponent", "webLocation", element.getWebLocation().get(i), i); 4699 } 4700 for (int i = 0; i < element.getClassification().size(); i++) { 4701 composeCitationCitedArtifactClassificationComponent(t, "CitationCitedArtifactComponent", "classification", element.getClassification().get(i), i); 4702 } 4703 if (element.hasContributorship()) { 4704 composeCitationCitedArtifactContributorshipComponent(t, "CitationCitedArtifactComponent", "contributorship", element.getContributorship(), -1); 4705 } 4706 for (int i = 0; i < element.getNote().size(); i++) { 4707 composeAnnotation(t, "CitationCitedArtifactComponent", "note", element.getNote().get(i), i); 4708 } 4709 } 4710 4711 protected void composeCitationCitedArtifactVersionComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactVersionComponent element, int index) { 4712 if (element == null) 4713 return; 4714 Complex t; 4715 if (Utilities.noString(parentType)) 4716 t = parent; 4717 else { 4718 t = parent.predicate("fhir:"+parentType+'.'+name); 4719 } 4720 composeBackboneElement(t, "version", name, element, index); 4721 if (element.hasValueElement()) { 4722 composeString(t, "CitationCitedArtifactVersionComponent", "value", element.getValueElement(), -1); 4723 } 4724 if (element.hasBaseCitation()) { 4725 composeReference(t, "CitationCitedArtifactVersionComponent", "baseCitation", element.getBaseCitation(), -1); 4726 } 4727 } 4728 4729 protected void composeCitationCitedArtifactStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactStatusDateComponent element, int index) { 4730 if (element == null) 4731 return; 4732 Complex t; 4733 if (Utilities.noString(parentType)) 4734 t = parent; 4735 else { 4736 t = parent.predicate("fhir:"+parentType+'.'+name); 4737 } 4738 composeBackboneElement(t, "statusDate", name, element, index); 4739 if (element.hasActivity()) { 4740 composeCodeableConcept(t, "CitationCitedArtifactStatusDateComponent", "activity", element.getActivity(), -1); 4741 } 4742 if (element.hasActualElement()) { 4743 composeBoolean(t, "CitationCitedArtifactStatusDateComponent", "actual", element.getActualElement(), -1); 4744 } 4745 if (element.hasPeriod()) { 4746 composePeriod(t, "CitationCitedArtifactStatusDateComponent", "period", element.getPeriod(), -1); 4747 } 4748 } 4749 4750 protected void composeCitationCitedArtifactTitleComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactTitleComponent element, int index) { 4751 if (element == null) 4752 return; 4753 Complex t; 4754 if (Utilities.noString(parentType)) 4755 t = parent; 4756 else { 4757 t = parent.predicate("fhir:"+parentType+'.'+name); 4758 } 4759 composeBackboneElement(t, "title", name, element, index); 4760 for (int i = 0; i < element.getType().size(); i++) { 4761 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "type", element.getType().get(i), i); 4762 } 4763 if (element.hasLanguage()) { 4764 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "language", element.getLanguage(), -1); 4765 } 4766 if (element.hasTextElement()) { 4767 composeMarkdown(t, "CitationCitedArtifactTitleComponent", "text", element.getTextElement(), -1); 4768 } 4769 } 4770 4771 protected void composeCitationCitedArtifactAbstractComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactAbstractComponent element, int index) { 4772 if (element == null) 4773 return; 4774 Complex t; 4775 if (Utilities.noString(parentType)) 4776 t = parent; 4777 else { 4778 t = parent.predicate("fhir:"+parentType+'.'+name); 4779 } 4780 composeBackboneElement(t, "abstract", name, element, index); 4781 if (element.hasType()) { 4782 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "type", element.getType(), -1); 4783 } 4784 if (element.hasLanguage()) { 4785 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "language", element.getLanguage(), -1); 4786 } 4787 if (element.hasTextElement()) { 4788 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "text", element.getTextElement(), -1); 4789 } 4790 if (element.hasCopyrightElement()) { 4791 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "copyright", element.getCopyrightElement(), -1); 4792 } 4793 } 4794 4795 protected void composeCitationCitedArtifactPartComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPartComponent element, int index) { 4796 if (element == null) 4797 return; 4798 Complex t; 4799 if (Utilities.noString(parentType)) 4800 t = parent; 4801 else { 4802 t = parent.predicate("fhir:"+parentType+'.'+name); 4803 } 4804 composeBackboneElement(t, "part", name, element, index); 4805 if (element.hasType()) { 4806 composeCodeableConcept(t, "CitationCitedArtifactPartComponent", "type", element.getType(), -1); 4807 } 4808 if (element.hasValueElement()) { 4809 composeString(t, "CitationCitedArtifactPartComponent", "value", element.getValueElement(), -1); 4810 } 4811 if (element.hasBaseCitation()) { 4812 composeReference(t, "CitationCitedArtifactPartComponent", "baseCitation", element.getBaseCitation(), -1); 4813 } 4814 } 4815 4816 protected void composeCitationCitedArtifactPublicationFormComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormComponent element, int index) { 4817 if (element == null) 4818 return; 4819 Complex t; 4820 if (Utilities.noString(parentType)) 4821 t = parent; 4822 else { 4823 t = parent.predicate("fhir:"+parentType+'.'+name); 4824 } 4825 composeBackboneElement(t, "publicationForm", name, element, index); 4826 if (element.hasPublishedIn()) { 4827 composeCitationCitedArtifactPublicationFormPublishedInComponent(t, "CitationCitedArtifactPublicationFormComponent", "publishedIn", element.getPublishedIn(), -1); 4828 } 4829 if (element.hasPeriodicRelease()) { 4830 composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(t, "CitationCitedArtifactPublicationFormComponent", "periodicRelease", element.getPeriodicRelease(), -1); 4831 } 4832 if (element.hasArticleDateElement()) { 4833 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "articleDate", element.getArticleDateElement(), -1); 4834 } 4835 if (element.hasLastRevisionDateElement()) { 4836 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "lastRevisionDate", element.getLastRevisionDateElement(), -1); 4837 } 4838 for (int i = 0; i < element.getLanguage().size(); i++) { 4839 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormComponent", "language", element.getLanguage().get(i), i); 4840 } 4841 if (element.hasAccessionNumberElement()) { 4842 composeString(t, "CitationCitedArtifactPublicationFormComponent", "accessionNumber", element.getAccessionNumberElement(), -1); 4843 } 4844 if (element.hasPageStringElement()) { 4845 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageString", element.getPageStringElement(), -1); 4846 } 4847 if (element.hasFirstPageElement()) { 4848 composeString(t, "CitationCitedArtifactPublicationFormComponent", "firstPage", element.getFirstPageElement(), -1); 4849 } 4850 if (element.hasLastPageElement()) { 4851 composeString(t, "CitationCitedArtifactPublicationFormComponent", "lastPage", element.getLastPageElement(), -1); 4852 } 4853 if (element.hasPageCountElement()) { 4854 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageCount", element.getPageCountElement(), -1); 4855 } 4856 if (element.hasCopyrightElement()) { 4857 composeMarkdown(t, "CitationCitedArtifactPublicationFormComponent", "copyright", element.getCopyrightElement(), -1); 4858 } 4859 } 4860 4861 protected void composeCitationCitedArtifactPublicationFormPublishedInComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPublishedInComponent element, int index) { 4862 if (element == null) 4863 return; 4864 Complex t; 4865 if (Utilities.noString(parentType)) 4866 t = parent; 4867 else { 4868 t = parent.predicate("fhir:"+parentType+'.'+name); 4869 } 4870 composeBackboneElement(t, "publishedIn", name, element, index); 4871 if (element.hasType()) { 4872 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "type", element.getType(), -1); 4873 } 4874 for (int i = 0; i < element.getIdentifier().size(); i++) { 4875 composeIdentifier(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "identifier", element.getIdentifier().get(i), i); 4876 } 4877 if (element.hasTitleElement()) { 4878 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "title", element.getTitleElement(), -1); 4879 } 4880 if (element.hasPublisher()) { 4881 composeReference(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisher", element.getPublisher(), -1); 4882 } 4883 if (element.hasPublisherLocationElement()) { 4884 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisherLocation", element.getPublisherLocationElement(), -1); 4885 } 4886 } 4887 4888 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element, int index) { 4889 if (element == null) 4890 return; 4891 Complex t; 4892 if (Utilities.noString(parentType)) 4893 t = parent; 4894 else { 4895 t = parent.predicate("fhir:"+parentType+'.'+name); 4896 } 4897 composeBackboneElement(t, "periodicRelease", name, element, index); 4898 if (element.hasCitedMedium()) { 4899 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "citedMedium", element.getCitedMedium(), -1); 4900 } 4901 if (element.hasVolumeElement()) { 4902 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "volume", element.getVolumeElement(), -1); 4903 } 4904 if (element.hasIssueElement()) { 4905 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "issue", element.getIssueElement(), -1); 4906 } 4907 if (element.hasDateOfPublication()) { 4908 composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "dateOfPublication", element.getDateOfPublication(), -1); 4909 } 4910 } 4911 4912 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element, int index) { 4913 if (element == null) 4914 return; 4915 Complex t; 4916 if (Utilities.noString(parentType)) 4917 t = parent; 4918 else { 4919 t = parent.predicate("fhir:"+parentType+'.'+name); 4920 } 4921 composeBackboneElement(t, "dateOfPublication", name, element, index); 4922 if (element.hasDateElement()) { 4923 composeDate(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "date", element.getDateElement(), -1); 4924 } 4925 if (element.hasYearElement()) { 4926 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "year", element.getYearElement(), -1); 4927 } 4928 if (element.hasMonthElement()) { 4929 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "month", element.getMonthElement(), -1); 4930 } 4931 if (element.hasDayElement()) { 4932 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "day", element.getDayElement(), -1); 4933 } 4934 if (element.hasSeasonElement()) { 4935 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "season", element.getSeasonElement(), -1); 4936 } 4937 if (element.hasTextElement()) { 4938 composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "text", element.getTextElement(), -1); 4939 } 4940 } 4941 4942 protected void composeCitationCitedArtifactWebLocationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactWebLocationComponent element, int index) { 4943 if (element == null) 4944 return; 4945 Complex t; 4946 if (Utilities.noString(parentType)) 4947 t = parent; 4948 else { 4949 t = parent.predicate("fhir:"+parentType+'.'+name); 4950 } 4951 composeBackboneElement(t, "webLocation", name, element, index); 4952 for (int i = 0; i < element.getClassifier().size(); i++) { 4953 composeCodeableConcept(t, "CitationCitedArtifactWebLocationComponent", "classifier", element.getClassifier().get(i), i); 4954 } 4955 if (element.hasUrlElement()) { 4956 composeUri(t, "CitationCitedArtifactWebLocationComponent", "url", element.getUrlElement(), -1); 4957 } 4958 } 4959 4960 protected void composeCitationCitedArtifactClassificationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactClassificationComponent element, int index) { 4961 if (element == null) 4962 return; 4963 Complex t; 4964 if (Utilities.noString(parentType)) 4965 t = parent; 4966 else { 4967 t = parent.predicate("fhir:"+parentType+'.'+name); 4968 } 4969 composeBackboneElement(t, "classification", name, element, index); 4970 if (element.hasType()) { 4971 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "type", element.getType(), -1); 4972 } 4973 for (int i = 0; i < element.getClassifier().size(); i++) { 4974 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "classifier", element.getClassifier().get(i), i); 4975 } 4976 if (element.hasWhoClassified()) { 4977 composeCitationCitedArtifactClassificationWhoClassifiedComponent(t, "CitationCitedArtifactClassificationComponent", "whoClassified", element.getWhoClassified(), -1); 4978 } 4979 } 4980 4981 protected void composeCitationCitedArtifactClassificationWhoClassifiedComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactClassificationWhoClassifiedComponent element, int index) { 4982 if (element == null) 4983 return; 4984 Complex t; 4985 if (Utilities.noString(parentType)) 4986 t = parent; 4987 else { 4988 t = parent.predicate("fhir:"+parentType+'.'+name); 4989 } 4990 composeBackboneElement(t, "whoClassified", name, element, index); 4991 if (element.hasPerson()) { 4992 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "person", element.getPerson(), -1); 4993 } 4994 if (element.hasOrganization()) { 4995 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "organization", element.getOrganization(), -1); 4996 } 4997 if (element.hasPublisher()) { 4998 composeReference(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "publisher", element.getPublisher(), -1); 4999 } 5000 if (element.hasClassifierCopyrightElement()) { 5001 composeString(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "classifierCopyright", element.getClassifierCopyrightElement(), -1); 5002 } 5003 if (element.hasFreeToShareElement()) { 5004 composeBoolean(t, "CitationCitedArtifactClassificationWhoClassifiedComponent", "freeToShare", element.getFreeToShareElement(), -1); 5005 } 5006 } 5007 5008 protected void composeCitationCitedArtifactContributorshipComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipComponent element, int index) { 5009 if (element == null) 5010 return; 5011 Complex t; 5012 if (Utilities.noString(parentType)) 5013 t = parent; 5014 else { 5015 t = parent.predicate("fhir:"+parentType+'.'+name); 5016 } 5017 composeBackboneElement(t, "contributorship", name, element, index); 5018 if (element.hasCompleteElement()) { 5019 composeBoolean(t, "CitationCitedArtifactContributorshipComponent", "complete", element.getCompleteElement(), -1); 5020 } 5021 for (int i = 0; i < element.getEntry().size(); i++) { 5022 composeCitationCitedArtifactContributorshipEntryComponent(t, "CitationCitedArtifactContributorshipComponent", "entry", element.getEntry().get(i), i); 5023 } 5024 for (int i = 0; i < element.getSummary().size(); i++) { 5025 composeCitationCitedArtifactContributorshipSummaryComponent(t, "CitationCitedArtifactContributorshipComponent", "summary", element.getSummary().get(i), i); 5026 } 5027 } 5028 5029 protected void composeCitationCitedArtifactContributorshipEntryComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryComponent element, int index) { 5030 if (element == null) 5031 return; 5032 Complex t; 5033 if (Utilities.noString(parentType)) 5034 t = parent; 5035 else { 5036 t = parent.predicate("fhir:"+parentType+'.'+name); 5037 } 5038 composeBackboneElement(t, "entry", name, element, index); 5039 if (element.hasName()) { 5040 composeHumanName(t, "CitationCitedArtifactContributorshipEntryComponent", "name", element.getName(), -1); 5041 } 5042 if (element.hasInitialsElement()) { 5043 composeString(t, "CitationCitedArtifactContributorshipEntryComponent", "initials", element.getInitialsElement(), -1); 5044 } 5045 if (element.hasCollectiveNameElement()) { 5046 composeString(t, "CitationCitedArtifactContributorshipEntryComponent", "collectiveName", element.getCollectiveNameElement(), -1); 5047 } 5048 for (int i = 0; i < element.getIdentifier().size(); i++) { 5049 composeIdentifier(t, "CitationCitedArtifactContributorshipEntryComponent", "identifier", element.getIdentifier().get(i), i); 5050 } 5051 for (int i = 0; i < element.getAffiliationInfo().size(); i++) { 5052 composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(t, "CitationCitedArtifactContributorshipEntryComponent", "affiliationInfo", element.getAffiliationInfo().get(i), i); 5053 } 5054 for (int i = 0; i < element.getAddress().size(); i++) { 5055 composeAddress(t, "CitationCitedArtifactContributorshipEntryComponent", "address", element.getAddress().get(i), i); 5056 } 5057 for (int i = 0; i < element.getTelecom().size(); i++) { 5058 composeContactPoint(t, "CitationCitedArtifactContributorshipEntryComponent", "telecom", element.getTelecom().get(i), i); 5059 } 5060 for (int i = 0; i < element.getContributionType().size(); i++) { 5061 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionType", element.getContributionType().get(i), i); 5062 } 5063 if (element.hasRole()) { 5064 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "role", element.getRole(), -1); 5065 } 5066 for (int i = 0; i < element.getContributionInstance().size(); i++) { 5067 composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionInstance", element.getContributionInstance().get(i), i); 5068 } 5069 if (element.hasCorrespondingContactElement()) { 5070 composeBoolean(t, "CitationCitedArtifactContributorshipEntryComponent", "correspondingContact", element.getCorrespondingContactElement(), -1); 5071 } 5072 if (element.hasRankingOrderElement()) { 5073 composePositiveInt(t, "CitationCitedArtifactContributorshipEntryComponent", "rankingOrder", element.getRankingOrderElement(), -1); 5074 } 5075 } 5076 5077 protected void composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent element, int index) { 5078 if (element == null) 5079 return; 5080 Complex t; 5081 if (Utilities.noString(parentType)) 5082 t = parent; 5083 else { 5084 t = parent.predicate("fhir:"+parentType+'.'+name); 5085 } 5086 composeBackboneElement(t, "affiliationInfo", name, element, index); 5087 if (element.hasAffiliationElement()) { 5088 composeString(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "affiliation", element.getAffiliationElement(), -1); 5089 } 5090 if (element.hasRoleElement()) { 5091 composeString(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "role", element.getRoleElement(), -1); 5092 } 5093 for (int i = 0; i < element.getIdentifier().size(); i++) { 5094 composeIdentifier(t, "CitationCitedArtifactContributorshipEntryAffiliationInfoComponent", "identifier", element.getIdentifier().get(i), i); 5095 } 5096 } 5097 5098 protected void composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent element, int index) { 5099 if (element == null) 5100 return; 5101 Complex t; 5102 if (Utilities.noString(parentType)) 5103 t = parent; 5104 else { 5105 t = parent.predicate("fhir:"+parentType+'.'+name); 5106 } 5107 composeBackboneElement(t, "contributionInstance", name, element, index); 5108 if (element.hasType()) { 5109 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "type", element.getType(), -1); 5110 } 5111 if (element.hasTimeElement()) { 5112 composeDateTime(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "time", element.getTimeElement(), -1); 5113 } 5114 } 5115 5116 protected void composeCitationCitedArtifactContributorshipSummaryComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipSummaryComponent element, int index) { 5117 if (element == null) 5118 return; 5119 Complex t; 5120 if (Utilities.noString(parentType)) 5121 t = parent; 5122 else { 5123 t = parent.predicate("fhir:"+parentType+'.'+name); 5124 } 5125 composeBackboneElement(t, "summary", name, element, index); 5126 if (element.hasType()) { 5127 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "type", element.getType(), -1); 5128 } 5129 if (element.hasStyle()) { 5130 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "style", element.getStyle(), -1); 5131 } 5132 if (element.hasSource()) { 5133 composeCodeableConcept(t, "CitationCitedArtifactContributorshipSummaryComponent", "source", element.getSource(), -1); 5134 } 5135 if (element.hasValueElement()) { 5136 composeMarkdown(t, "CitationCitedArtifactContributorshipSummaryComponent", "value", element.getValueElement(), -1); 5137 } 5138 } 5139 5140 protected void composeClaim(Complex parent, String parentType, String name, Claim element, int index) { 5141 if (element == null) 5142 return; 5143 Complex t; 5144 if (Utilities.noString(parentType)) 5145 t = parent; 5146 else { 5147 t = parent.predicate("fhir:"+parentType+'.'+name); 5148 } 5149 composeDomainResource(t, "Claim", name, element, index); 5150 for (int i = 0; i < element.getIdentifier().size(); i++) { 5151 composeIdentifier(t, "Claim", "identifier", element.getIdentifier().get(i), i); 5152 } 5153 if (element.hasStatusElement()) { 5154 composeEnum(t, "Claim", "status", element.getStatusElement(), -1); 5155 } 5156 if (element.hasType()) { 5157 composeCodeableConcept(t, "Claim", "type", element.getType(), -1); 5158 } 5159 if (element.hasSubType()) { 5160 composeCodeableConcept(t, "Claim", "subType", element.getSubType(), -1); 5161 } 5162 if (element.hasUseElement()) { 5163 composeEnum(t, "Claim", "use", element.getUseElement(), -1); 5164 } 5165 if (element.hasPatient()) { 5166 composeReference(t, "Claim", "patient", element.getPatient(), -1); 5167 } 5168 if (element.hasBillablePeriod()) { 5169 composePeriod(t, "Claim", "billablePeriod", element.getBillablePeriod(), -1); 5170 } 5171 if (element.hasCreatedElement()) { 5172 composeDateTime(t, "Claim", "created", element.getCreatedElement(), -1); 5173 } 5174 if (element.hasEnterer()) { 5175 composeReference(t, "Claim", "enterer", element.getEnterer(), -1); 5176 } 5177 if (element.hasInsurer()) { 5178 composeReference(t, "Claim", "insurer", element.getInsurer(), -1); 5179 } 5180 if (element.hasProvider()) { 5181 composeReference(t, "Claim", "provider", element.getProvider(), -1); 5182 } 5183 if (element.hasPriority()) { 5184 composeCodeableConcept(t, "Claim", "priority", element.getPriority(), -1); 5185 } 5186 if (element.hasFundsReserve()) { 5187 composeCodeableConcept(t, "Claim", "fundsReserve", element.getFundsReserve(), -1); 5188 } 5189 for (int i = 0; i < element.getRelated().size(); i++) { 5190 composeClaimRelatedClaimComponent(t, "Claim", "related", element.getRelated().get(i), i); 5191 } 5192 if (element.hasPrescription()) { 5193 composeReference(t, "Claim", "prescription", element.getPrescription(), -1); 5194 } 5195 if (element.hasOriginalPrescription()) { 5196 composeReference(t, "Claim", "originalPrescription", element.getOriginalPrescription(), -1); 5197 } 5198 if (element.hasPayee()) { 5199 composeClaimPayeeComponent(t, "Claim", "payee", element.getPayee(), -1); 5200 } 5201 if (element.hasReferral()) { 5202 composeReference(t, "Claim", "referral", element.getReferral(), -1); 5203 } 5204 if (element.hasFacility()) { 5205 composeReference(t, "Claim", "facility", element.getFacility(), -1); 5206 } 5207 for (int i = 0; i < element.getCareTeam().size(); i++) { 5208 composeClaimCareTeamComponent(t, "Claim", "careTeam", element.getCareTeam().get(i), i); 5209 } 5210 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 5211 composeClaimSupportingInformationComponent(t, "Claim", "supportingInfo", element.getSupportingInfo().get(i), i); 5212 } 5213 for (int i = 0; i < element.getDiagnosis().size(); i++) { 5214 composeClaimDiagnosisComponent(t, "Claim", "diagnosis", element.getDiagnosis().get(i), i); 5215 } 5216 for (int i = 0; i < element.getProcedure().size(); i++) { 5217 composeClaimProcedureComponent(t, "Claim", "procedure", element.getProcedure().get(i), i); 5218 } 5219 for (int i = 0; i < element.getInsurance().size(); i++) { 5220 composeClaimInsuranceComponent(t, "Claim", "insurance", element.getInsurance().get(i), i); 5221 } 5222 if (element.hasAccident()) { 5223 composeClaimAccidentComponent(t, "Claim", "accident", element.getAccident(), -1); 5224 } 5225 for (int i = 0; i < element.getItem().size(); i++) { 5226 composeClaimItemComponent(t, "Claim", "item", element.getItem().get(i), i); 5227 } 5228 if (element.hasTotal()) { 5229 composeMoney(t, "Claim", "total", element.getTotal(), -1); 5230 } 5231 } 5232 5233 protected void composeClaimRelatedClaimComponent(Complex parent, String parentType, String name, Claim.RelatedClaimComponent element, int index) { 5234 if (element == null) 5235 return; 5236 Complex t; 5237 if (Utilities.noString(parentType)) 5238 t = parent; 5239 else { 5240 t = parent.predicate("fhir:"+parentType+'.'+name); 5241 } 5242 composeBackboneElement(t, "related", name, element, index); 5243 if (element.hasClaim()) { 5244 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 5245 } 5246 if (element.hasRelationship()) { 5247 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 5248 } 5249 if (element.hasReference()) { 5250 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 5251 } 5252 } 5253 5254 protected void composeClaimPayeeComponent(Complex parent, String parentType, String name, Claim.PayeeComponent element, int index) { 5255 if (element == null) 5256 return; 5257 Complex t; 5258 if (Utilities.noString(parentType)) 5259 t = parent; 5260 else { 5261 t = parent.predicate("fhir:"+parentType+'.'+name); 5262 } 5263 composeBackboneElement(t, "payee", name, element, index); 5264 if (element.hasType()) { 5265 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 5266 } 5267 if (element.hasParty()) { 5268 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 5269 } 5270 } 5271 5272 protected void composeClaimCareTeamComponent(Complex parent, String parentType, String name, Claim.CareTeamComponent element, int index) { 5273 if (element == null) 5274 return; 5275 Complex t; 5276 if (Utilities.noString(parentType)) 5277 t = parent; 5278 else { 5279 t = parent.predicate("fhir:"+parentType+'.'+name); 5280 } 5281 composeBackboneElement(t, "careTeam", name, element, index); 5282 if (element.hasSequenceElement()) { 5283 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 5284 } 5285 if (element.hasProvider()) { 5286 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 5287 } 5288 if (element.hasResponsibleElement()) { 5289 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 5290 } 5291 if (element.hasRole()) { 5292 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 5293 } 5294 if (element.hasQualification()) { 5295 composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); 5296 } 5297 } 5298 5299 protected void composeClaimSupportingInformationComponent(Complex parent, String parentType, String name, Claim.SupportingInformationComponent element, int index) { 5300 if (element == null) 5301 return; 5302 Complex t; 5303 if (Utilities.noString(parentType)) 5304 t = parent; 5305 else { 5306 t = parent.predicate("fhir:"+parentType+'.'+name); 5307 } 5308 composeBackboneElement(t, "supportingInfo", name, element, index); 5309 if (element.hasSequenceElement()) { 5310 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 5311 } 5312 if (element.hasCategory()) { 5313 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 5314 } 5315 if (element.hasCode()) { 5316 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 5317 } 5318 if (element.hasTiming()) { 5319 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 5320 } 5321 if (element.hasValue()) { 5322 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 5323 } 5324 if (element.hasReason()) { 5325 composeCodeableConcept(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 5326 } 5327 } 5328 5329 protected void composeClaimDiagnosisComponent(Complex parent, String parentType, String name, Claim.DiagnosisComponent element, int index) { 5330 if (element == null) 5331 return; 5332 Complex t; 5333 if (Utilities.noString(parentType)) 5334 t = parent; 5335 else { 5336 t = parent.predicate("fhir:"+parentType+'.'+name); 5337 } 5338 composeBackboneElement(t, "diagnosis", name, element, index); 5339 if (element.hasSequenceElement()) { 5340 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 5341 } 5342 if (element.hasDiagnosis()) { 5343 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 5344 } 5345 for (int i = 0; i < element.getType().size(); i++) { 5346 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 5347 } 5348 if (element.hasOnAdmission()) { 5349 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 5350 } 5351 if (element.hasPackageCode()) { 5352 composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); 5353 } 5354 } 5355 5356 protected void composeClaimProcedureComponent(Complex parent, String parentType, String name, Claim.ProcedureComponent element, int index) { 5357 if (element == null) 5358 return; 5359 Complex t; 5360 if (Utilities.noString(parentType)) 5361 t = parent; 5362 else { 5363 t = parent.predicate("fhir:"+parentType+'.'+name); 5364 } 5365 composeBackboneElement(t, "procedure", name, element, index); 5366 if (element.hasSequenceElement()) { 5367 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 5368 } 5369 for (int i = 0; i < element.getType().size(); i++) { 5370 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 5371 } 5372 if (element.hasDateElement()) { 5373 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 5374 } 5375 if (element.hasProcedure()) { 5376 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 5377 } 5378 for (int i = 0; i < element.getUdi().size(); i++) { 5379 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 5380 } 5381 } 5382 5383 protected void composeClaimInsuranceComponent(Complex parent, String parentType, String name, Claim.InsuranceComponent element, int index) { 5384 if (element == null) 5385 return; 5386 Complex t; 5387 if (Utilities.noString(parentType)) 5388 t = parent; 5389 else { 5390 t = parent.predicate("fhir:"+parentType+'.'+name); 5391 } 5392 composeBackboneElement(t, "insurance", name, element, index); 5393 if (element.hasSequenceElement()) { 5394 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 5395 } 5396 if (element.hasFocalElement()) { 5397 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 5398 } 5399 if (element.hasIdentifier()) { 5400 composeIdentifier(t, "InsuranceComponent", "identifier", element.getIdentifier(), -1); 5401 } 5402 if (element.hasCoverage()) { 5403 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 5404 } 5405 if (element.hasBusinessArrangementElement()) { 5406 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 5407 } 5408 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 5409 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 5410 } 5411 if (element.hasClaimResponse()) { 5412 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 5413 } 5414 } 5415 5416 protected void composeClaimAccidentComponent(Complex parent, String parentType, String name, Claim.AccidentComponent element, int index) { 5417 if (element == null) 5418 return; 5419 Complex t; 5420 if (Utilities.noString(parentType)) 5421 t = parent; 5422 else { 5423 t = parent.predicate("fhir:"+parentType+'.'+name); 5424 } 5425 composeBackboneElement(t, "accident", name, element, index); 5426 if (element.hasDateElement()) { 5427 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 5428 } 5429 if (element.hasType()) { 5430 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 5431 } 5432 if (element.hasLocation()) { 5433 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 5434 } 5435 } 5436 5437 protected void composeClaimItemComponent(Complex parent, String parentType, String name, Claim.ItemComponent element, int index) { 5438 if (element == null) 5439 return; 5440 Complex t; 5441 if (Utilities.noString(parentType)) 5442 t = parent; 5443 else { 5444 t = parent.predicate("fhir:"+parentType+'.'+name); 5445 } 5446 composeBackboneElement(t, "item", name, element, index); 5447 if (element.hasSequenceElement()) { 5448 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 5449 } 5450 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 5451 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 5452 } 5453 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 5454 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 5455 } 5456 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 5457 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 5458 } 5459 for (int i = 0; i < element.getInformationSequence().size(); i++) { 5460 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 5461 } 5462 if (element.hasRevenue()) { 5463 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 5464 } 5465 if (element.hasCategory()) { 5466 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 5467 } 5468 if (element.hasProductOrService()) { 5469 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 5470 } 5471 for (int i = 0; i < element.getModifier().size(); i++) { 5472 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 5473 } 5474 for (int i = 0; i < element.getProgramCode().size(); i++) { 5475 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 5476 } 5477 if (element.hasServiced()) { 5478 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 5479 } 5480 if (element.hasLocation()) { 5481 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 5482 } 5483 if (element.hasQuantity()) { 5484 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 5485 } 5486 if (element.hasUnitPrice()) { 5487 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 5488 } 5489 if (element.hasFactorElement()) { 5490 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 5491 } 5492 if (element.hasNet()) { 5493 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 5494 } 5495 for (int i = 0; i < element.getUdi().size(); i++) { 5496 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 5497 } 5498 if (element.hasBodySite()) { 5499 composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); 5500 } 5501 for (int i = 0; i < element.getSubSite().size(); i++) { 5502 composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); 5503 } 5504 for (int i = 0; i < element.getEncounter().size(); i++) { 5505 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 5506 } 5507 for (int i = 0; i < element.getDetail().size(); i++) { 5508 composeClaimDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5509 } 5510 } 5511 5512 protected void composeClaimDetailComponent(Complex parent, String parentType, String name, Claim.DetailComponent element, int index) { 5513 if (element == null) 5514 return; 5515 Complex t; 5516 if (Utilities.noString(parentType)) 5517 t = parent; 5518 else { 5519 t = parent.predicate("fhir:"+parentType+'.'+name); 5520 } 5521 composeBackboneElement(t, "detail", name, element, index); 5522 if (element.hasSequenceElement()) { 5523 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 5524 } 5525 if (element.hasRevenue()) { 5526 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 5527 } 5528 if (element.hasCategory()) { 5529 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 5530 } 5531 if (element.hasProductOrService()) { 5532 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 5533 } 5534 for (int i = 0; i < element.getModifier().size(); i++) { 5535 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 5536 } 5537 for (int i = 0; i < element.getProgramCode().size(); i++) { 5538 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 5539 } 5540 if (element.hasQuantity()) { 5541 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 5542 } 5543 if (element.hasUnitPrice()) { 5544 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 5545 } 5546 if (element.hasFactorElement()) { 5547 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 5548 } 5549 if (element.hasNet()) { 5550 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 5551 } 5552 for (int i = 0; i < element.getUdi().size(); i++) { 5553 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 5554 } 5555 for (int i = 0; i < element.getSubDetail().size(); i++) { 5556 composeClaimSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 5557 } 5558 } 5559 5560 protected void composeClaimSubDetailComponent(Complex parent, String parentType, String name, Claim.SubDetailComponent element, int index) { 5561 if (element == null) 5562 return; 5563 Complex t; 5564 if (Utilities.noString(parentType)) 5565 t = parent; 5566 else { 5567 t = parent.predicate("fhir:"+parentType+'.'+name); 5568 } 5569 composeBackboneElement(t, "subDetail", name, element, index); 5570 if (element.hasSequenceElement()) { 5571 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 5572 } 5573 if (element.hasRevenue()) { 5574 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 5575 } 5576 if (element.hasCategory()) { 5577 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 5578 } 5579 if (element.hasProductOrService()) { 5580 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 5581 } 5582 for (int i = 0; i < element.getModifier().size(); i++) { 5583 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 5584 } 5585 for (int i = 0; i < element.getProgramCode().size(); i++) { 5586 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 5587 } 5588 if (element.hasQuantity()) { 5589 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 5590 } 5591 if (element.hasUnitPrice()) { 5592 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5593 } 5594 if (element.hasFactorElement()) { 5595 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 5596 } 5597 if (element.hasNet()) { 5598 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 5599 } 5600 for (int i = 0; i < element.getUdi().size(); i++) { 5601 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 5602 } 5603 } 5604 5605 protected void composeClaimResponse(Complex parent, String parentType, String name, ClaimResponse element, int index) { 5606 if (element == null) 5607 return; 5608 Complex t; 5609 if (Utilities.noString(parentType)) 5610 t = parent; 5611 else { 5612 t = parent.predicate("fhir:"+parentType+'.'+name); 5613 } 5614 composeDomainResource(t, "ClaimResponse", name, element, index); 5615 for (int i = 0; i < element.getIdentifier().size(); i++) { 5616 composeIdentifier(t, "ClaimResponse", "identifier", element.getIdentifier().get(i), i); 5617 } 5618 if (element.hasStatusElement()) { 5619 composeEnum(t, "ClaimResponse", "status", element.getStatusElement(), -1); 5620 } 5621 if (element.hasType()) { 5622 composeCodeableConcept(t, "ClaimResponse", "type", element.getType(), -1); 5623 } 5624 if (element.hasSubType()) { 5625 composeCodeableConcept(t, "ClaimResponse", "subType", element.getSubType(), -1); 5626 } 5627 if (element.hasUseElement()) { 5628 composeEnum(t, "ClaimResponse", "use", element.getUseElement(), -1); 5629 } 5630 if (element.hasPatient()) { 5631 composeReference(t, "ClaimResponse", "patient", element.getPatient(), -1); 5632 } 5633 if (element.hasCreatedElement()) { 5634 composeDateTime(t, "ClaimResponse", "created", element.getCreatedElement(), -1); 5635 } 5636 if (element.hasInsurer()) { 5637 composeReference(t, "ClaimResponse", "insurer", element.getInsurer(), -1); 5638 } 5639 if (element.hasRequestor()) { 5640 composeReference(t, "ClaimResponse", "requestor", element.getRequestor(), -1); 5641 } 5642 if (element.hasRequest()) { 5643 composeReference(t, "ClaimResponse", "request", element.getRequest(), -1); 5644 } 5645 if (element.hasOutcomeElement()) { 5646 composeEnum(t, "ClaimResponse", "outcome", element.getOutcomeElement(), -1); 5647 } 5648 if (element.hasDispositionElement()) { 5649 composeString(t, "ClaimResponse", "disposition", element.getDispositionElement(), -1); 5650 } 5651 if (element.hasPreAuthRefElement()) { 5652 composeString(t, "ClaimResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 5653 } 5654 if (element.hasPreAuthPeriod()) { 5655 composePeriod(t, "ClaimResponse", "preAuthPeriod", element.getPreAuthPeriod(), -1); 5656 } 5657 if (element.hasPayeeType()) { 5658 composeCodeableConcept(t, "ClaimResponse", "payeeType", element.getPayeeType(), -1); 5659 } 5660 for (int i = 0; i < element.getItem().size(); i++) { 5661 composeClaimResponseItemComponent(t, "ClaimResponse", "item", element.getItem().get(i), i); 5662 } 5663 for (int i = 0; i < element.getAddItem().size(); i++) { 5664 composeClaimResponseAddedItemComponent(t, "ClaimResponse", "addItem", element.getAddItem().get(i), i); 5665 } 5666 for (int i = 0; i < element.getAdjudication().size(); i++) { 5667 composeClaimResponseAdjudicationComponent(t, "ClaimResponse", "adjudication", element.getAdjudication().get(i), i); 5668 } 5669 for (int i = 0; i < element.getTotal().size(); i++) { 5670 composeClaimResponseTotalComponent(t, "ClaimResponse", "total", element.getTotal().get(i), i); 5671 } 5672 if (element.hasPayment()) { 5673 composeClaimResponsePaymentComponent(t, "ClaimResponse", "payment", element.getPayment(), -1); 5674 } 5675 if (element.hasFundsReserve()) { 5676 composeCodeableConcept(t, "ClaimResponse", "fundsReserve", element.getFundsReserve(), -1); 5677 } 5678 if (element.hasFormCode()) { 5679 composeCodeableConcept(t, "ClaimResponse", "formCode", element.getFormCode(), -1); 5680 } 5681 if (element.hasForm()) { 5682 composeAttachment(t, "ClaimResponse", "form", element.getForm(), -1); 5683 } 5684 for (int i = 0; i < element.getProcessNote().size(); i++) { 5685 composeClaimResponseNoteComponent(t, "ClaimResponse", "processNote", element.getProcessNote().get(i), i); 5686 } 5687 for (int i = 0; i < element.getCommunicationRequest().size(); i++) { 5688 composeReference(t, "ClaimResponse", "communicationRequest", element.getCommunicationRequest().get(i), i); 5689 } 5690 for (int i = 0; i < element.getInsurance().size(); i++) { 5691 composeClaimResponseInsuranceComponent(t, "ClaimResponse", "insurance", element.getInsurance().get(i), i); 5692 } 5693 for (int i = 0; i < element.getError().size(); i++) { 5694 composeClaimResponseErrorComponent(t, "ClaimResponse", "error", element.getError().get(i), i); 5695 } 5696 } 5697 5698 protected void composeClaimResponseItemComponent(Complex parent, String parentType, String name, ClaimResponse.ItemComponent element, int index) { 5699 if (element == null) 5700 return; 5701 Complex t; 5702 if (Utilities.noString(parentType)) 5703 t = parent; 5704 else { 5705 t = parent.predicate("fhir:"+parentType+'.'+name); 5706 } 5707 composeBackboneElement(t, "item", name, element, index); 5708 if (element.hasItemSequenceElement()) { 5709 composePositiveInt(t, "ItemComponent", "itemSequence", element.getItemSequenceElement(), -1); 5710 } 5711 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5712 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 5713 } 5714 for (int i = 0; i < element.getAdjudication().size(); i++) { 5715 composeClaimResponseAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 5716 } 5717 for (int i = 0; i < element.getDetail().size(); i++) { 5718 composeClaimResponseItemDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5719 } 5720 } 5721 5722 protected void composeClaimResponseAdjudicationComponent(Complex parent, String parentType, String name, ClaimResponse.AdjudicationComponent element, int index) { 5723 if (element == null) 5724 return; 5725 Complex t; 5726 if (Utilities.noString(parentType)) 5727 t = parent; 5728 else { 5729 t = parent.predicate("fhir:"+parentType+'.'+name); 5730 } 5731 composeBackboneElement(t, "adjudication", name, element, index); 5732 if (element.hasCategory()) { 5733 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 5734 } 5735 if (element.hasReason()) { 5736 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 5737 } 5738 if (element.hasAmount()) { 5739 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 5740 } 5741 if (element.hasValueElement()) { 5742 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 5743 } 5744 } 5745 5746 protected void composeClaimResponseItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.ItemDetailComponent element, int index) { 5747 if (element == null) 5748 return; 5749 Complex t; 5750 if (Utilities.noString(parentType)) 5751 t = parent; 5752 else { 5753 t = parent.predicate("fhir:"+parentType+'.'+name); 5754 } 5755 composeBackboneElement(t, "detail", name, element, index); 5756 if (element.hasDetailSequenceElement()) { 5757 composePositiveInt(t, "ItemDetailComponent", "detailSequence", element.getDetailSequenceElement(), -1); 5758 } 5759 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5760 composePositiveInt(t, "ItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5761 } 5762 for (int i = 0; i < element.getAdjudication().size(); i++) { 5763 composeClaimResponseAdjudicationComponent(t, "ItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5764 } 5765 for (int i = 0; i < element.getSubDetail().size(); i++) { 5766 composeClaimResponseSubDetailComponent(t, "ItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 5767 } 5768 } 5769 5770 protected void composeClaimResponseSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.SubDetailComponent element, int index) { 5771 if (element == null) 5772 return; 5773 Complex t; 5774 if (Utilities.noString(parentType)) 5775 t = parent; 5776 else { 5777 t = parent.predicate("fhir:"+parentType+'.'+name); 5778 } 5779 composeBackboneElement(t, "subDetail", name, element, index); 5780 if (element.hasSubDetailSequenceElement()) { 5781 composePositiveInt(t, "SubDetailComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 5782 } 5783 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5784 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5785 } 5786 for (int i = 0; i < element.getAdjudication().size(); i++) { 5787 composeClaimResponseAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5788 } 5789 } 5790 5791 protected void composeClaimResponseAddedItemComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemComponent element, int index) { 5792 if (element == null) 5793 return; 5794 Complex t; 5795 if (Utilities.noString(parentType)) 5796 t = parent; 5797 else { 5798 t = parent.predicate("fhir:"+parentType+'.'+name); 5799 } 5800 composeBackboneElement(t, "addItem", name, element, index); 5801 for (int i = 0; i < element.getItemSequence().size(); i++) { 5802 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 5803 } 5804 for (int i = 0; i < element.getDetailSequence().size(); i++) { 5805 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 5806 } 5807 for (int i = 0; i < element.getSubdetailSequence().size(); i++) { 5808 composePositiveInt(t, "AddedItemComponent", "subdetailSequence", element.getSubdetailSequence().get(i), i); 5809 } 5810 for (int i = 0; i < element.getProvider().size(); i++) { 5811 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 5812 } 5813 if (element.hasProductOrService()) { 5814 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 5815 } 5816 for (int i = 0; i < element.getModifier().size(); i++) { 5817 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 5818 } 5819 for (int i = 0; i < element.getProgramCode().size(); i++) { 5820 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 5821 } 5822 if (element.hasServiced()) { 5823 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 5824 } 5825 if (element.hasLocation()) { 5826 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 5827 } 5828 if (element.hasQuantity()) { 5829 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 5830 } 5831 if (element.hasUnitPrice()) { 5832 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 5833 } 5834 if (element.hasFactorElement()) { 5835 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 5836 } 5837 if (element.hasNet()) { 5838 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 5839 } 5840 if (element.hasBodySite()) { 5841 composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); 5842 } 5843 for (int i = 0; i < element.getSubSite().size(); i++) { 5844 composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); 5845 } 5846 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5847 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 5848 } 5849 for (int i = 0; i < element.getAdjudication().size(); i++) { 5850 composeClaimResponseAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 5851 } 5852 for (int i = 0; i < element.getDetail().size(); i++) { 5853 composeClaimResponseAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 5854 } 5855 } 5856 5857 protected void composeClaimResponseAddedItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemDetailComponent element, int index) { 5858 if (element == null) 5859 return; 5860 Complex t; 5861 if (Utilities.noString(parentType)) 5862 t = parent; 5863 else { 5864 t = parent.predicate("fhir:"+parentType+'.'+name); 5865 } 5866 composeBackboneElement(t, "detail", name, element, index); 5867 if (element.hasProductOrService()) { 5868 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 5869 } 5870 for (int i = 0; i < element.getModifier().size(); i++) { 5871 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 5872 } 5873 if (element.hasQuantity()) { 5874 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 5875 } 5876 if (element.hasUnitPrice()) { 5877 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5878 } 5879 if (element.hasFactorElement()) { 5880 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 5881 } 5882 if (element.hasNet()) { 5883 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 5884 } 5885 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5886 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5887 } 5888 for (int i = 0; i < element.getAdjudication().size(); i++) { 5889 composeClaimResponseAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5890 } 5891 for (int i = 0; i < element.getSubDetail().size(); i++) { 5892 composeClaimResponseAddedItemSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 5893 } 5894 } 5895 5896 protected void composeClaimResponseAddedItemSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemSubDetailComponent element, int index) { 5897 if (element == null) 5898 return; 5899 Complex t; 5900 if (Utilities.noString(parentType)) 5901 t = parent; 5902 else { 5903 t = parent.predicate("fhir:"+parentType+'.'+name); 5904 } 5905 composeBackboneElement(t, "subDetail", name, element, index); 5906 if (element.hasProductOrService()) { 5907 composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrService", element.getProductOrService(), -1); 5908 } 5909 for (int i = 0; i < element.getModifier().size(); i++) { 5910 composeCodeableConcept(t, "AddedItemSubDetailComponent", "modifier", element.getModifier().get(i), i); 5911 } 5912 if (element.hasQuantity()) { 5913 composeQuantity(t, "AddedItemSubDetailComponent", "quantity", element.getQuantity(), -1); 5914 } 5915 if (element.hasUnitPrice()) { 5916 composeMoney(t, "AddedItemSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5917 } 5918 if (element.hasFactorElement()) { 5919 composeDecimal(t, "AddedItemSubDetailComponent", "factor", element.getFactorElement(), -1); 5920 } 5921 if (element.hasNet()) { 5922 composeMoney(t, "AddedItemSubDetailComponent", "net", element.getNet(), -1); 5923 } 5924 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5925 composePositiveInt(t, "AddedItemSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5926 } 5927 for (int i = 0; i < element.getAdjudication().size(); i++) { 5928 composeClaimResponseAdjudicationComponent(t, "AddedItemSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5929 } 5930 } 5931 5932 protected void composeClaimResponseTotalComponent(Complex parent, String parentType, String name, ClaimResponse.TotalComponent element, int index) { 5933 if (element == null) 5934 return; 5935 Complex t; 5936 if (Utilities.noString(parentType)) 5937 t = parent; 5938 else { 5939 t = parent.predicate("fhir:"+parentType+'.'+name); 5940 } 5941 composeBackboneElement(t, "total", name, element, index); 5942 if (element.hasCategory()) { 5943 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 5944 } 5945 if (element.hasAmount()) { 5946 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 5947 } 5948 } 5949 5950 protected void composeClaimResponsePaymentComponent(Complex parent, String parentType, String name, ClaimResponse.PaymentComponent element, int index) { 5951 if (element == null) 5952 return; 5953 Complex t; 5954 if (Utilities.noString(parentType)) 5955 t = parent; 5956 else { 5957 t = parent.predicate("fhir:"+parentType+'.'+name); 5958 } 5959 composeBackboneElement(t, "payment", name, element, index); 5960 if (element.hasType()) { 5961 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 5962 } 5963 if (element.hasAdjustment()) { 5964 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 5965 } 5966 if (element.hasAdjustmentReason()) { 5967 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 5968 } 5969 if (element.hasDateElement()) { 5970 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 5971 } 5972 if (element.hasAmount()) { 5973 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 5974 } 5975 if (element.hasIdentifier()) { 5976 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 5977 } 5978 } 5979 5980 protected void composeClaimResponseNoteComponent(Complex parent, String parentType, String name, ClaimResponse.NoteComponent element, int index) { 5981 if (element == null) 5982 return; 5983 Complex t; 5984 if (Utilities.noString(parentType)) 5985 t = parent; 5986 else { 5987 t = parent.predicate("fhir:"+parentType+'.'+name); 5988 } 5989 composeBackboneElement(t, "processNote", name, element, index); 5990 if (element.hasNumberElement()) { 5991 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 5992 } 5993 if (element.hasTypeElement()) { 5994 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 5995 } 5996 if (element.hasTextElement()) { 5997 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 5998 } 5999 if (element.hasLanguage()) { 6000 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 6001 } 6002 } 6003 6004 protected void composeClaimResponseInsuranceComponent(Complex parent, String parentType, String name, ClaimResponse.InsuranceComponent element, int index) { 6005 if (element == null) 6006 return; 6007 Complex t; 6008 if (Utilities.noString(parentType)) 6009 t = parent; 6010 else { 6011 t = parent.predicate("fhir:"+parentType+'.'+name); 6012 } 6013 composeBackboneElement(t, "insurance", name, element, index); 6014 if (element.hasSequenceElement()) { 6015 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 6016 } 6017 if (element.hasFocalElement()) { 6018 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 6019 } 6020 if (element.hasCoverage()) { 6021 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 6022 } 6023 if (element.hasBusinessArrangementElement()) { 6024 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 6025 } 6026 if (element.hasClaimResponse()) { 6027 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 6028 } 6029 } 6030 6031 protected void composeClaimResponseErrorComponent(Complex parent, String parentType, String name, ClaimResponse.ErrorComponent element, int index) { 6032 if (element == null) 6033 return; 6034 Complex t; 6035 if (Utilities.noString(parentType)) 6036 t = parent; 6037 else { 6038 t = parent.predicate("fhir:"+parentType+'.'+name); 6039 } 6040 composeBackboneElement(t, "error", name, element, index); 6041 if (element.hasItemSequenceElement()) { 6042 composePositiveInt(t, "ErrorComponent", "itemSequence", element.getItemSequenceElement(), -1); 6043 } 6044 if (element.hasDetailSequenceElement()) { 6045 composePositiveInt(t, "ErrorComponent", "detailSequence", element.getDetailSequenceElement(), -1); 6046 } 6047 if (element.hasSubDetailSequenceElement()) { 6048 composePositiveInt(t, "ErrorComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 6049 } 6050 if (element.hasCode()) { 6051 composeCodeableConcept(t, "ErrorComponent", "code", element.getCode(), -1); 6052 } 6053 } 6054 6055 protected void composeClinicalImpression(Complex parent, String parentType, String name, ClinicalImpression element, int index) { 6056 if (element == null) 6057 return; 6058 Complex t; 6059 if (Utilities.noString(parentType)) 6060 t = parent; 6061 else { 6062 t = parent.predicate("fhir:"+parentType+'.'+name); 6063 } 6064 composeDomainResource(t, "ClinicalImpression", name, element, index); 6065 for (int i = 0; i < element.getIdentifier().size(); i++) { 6066 composeIdentifier(t, "ClinicalImpression", "identifier", element.getIdentifier().get(i), i); 6067 } 6068 if (element.hasStatusElement()) { 6069 composeEnum(t, "ClinicalImpression", "status", element.getStatusElement(), -1); 6070 } 6071 if (element.hasStatusReason()) { 6072 composeCodeableConcept(t, "ClinicalImpression", "statusReason", element.getStatusReason(), -1); 6073 } 6074 if (element.hasDescriptionElement()) { 6075 composeString(t, "ClinicalImpression", "description", element.getDescriptionElement(), -1); 6076 } 6077 if (element.hasSubject()) { 6078 composeReference(t, "ClinicalImpression", "subject", element.getSubject(), -1); 6079 } 6080 if (element.hasEncounter()) { 6081 composeReference(t, "ClinicalImpression", "encounter", element.getEncounter(), -1); 6082 } 6083 if (element.hasEffective()) { 6084 composeType(t, "ClinicalImpression", "effective", element.getEffective(), -1); 6085 } 6086 if (element.hasDateElement()) { 6087 composeDateTime(t, "ClinicalImpression", "date", element.getDateElement(), -1); 6088 } 6089 if (element.hasPerformer()) { 6090 composeReference(t, "ClinicalImpression", "performer", element.getPerformer(), -1); 6091 } 6092 if (element.hasPrevious()) { 6093 composeReference(t, "ClinicalImpression", "previous", element.getPrevious(), -1); 6094 } 6095 for (int i = 0; i < element.getProblem().size(); i++) { 6096 composeReference(t, "ClinicalImpression", "problem", element.getProblem().get(i), i); 6097 } 6098 for (int i = 0; i < element.getProtocol().size(); i++) { 6099 composeUri(t, "ClinicalImpression", "protocol", element.getProtocol().get(i), i); 6100 } 6101 if (element.hasSummaryElement()) { 6102 composeString(t, "ClinicalImpression", "summary", element.getSummaryElement(), -1); 6103 } 6104 for (int i = 0; i < element.getFinding().size(); i++) { 6105 composeClinicalImpressionFindingComponent(t, "ClinicalImpression", "finding", element.getFinding().get(i), i); 6106 } 6107 for (int i = 0; i < element.getPrognosisCodeableConcept().size(); i++) { 6108 composeCodeableConcept(t, "ClinicalImpression", "prognosisCodeableConcept", element.getPrognosisCodeableConcept().get(i), i); 6109 } 6110 for (int i = 0; i < element.getPrognosisReference().size(); i++) { 6111 composeReference(t, "ClinicalImpression", "prognosisReference", element.getPrognosisReference().get(i), i); 6112 } 6113 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 6114 composeReference(t, "ClinicalImpression", "supportingInfo", element.getSupportingInfo().get(i), i); 6115 } 6116 for (int i = 0; i < element.getNote().size(); i++) { 6117 composeAnnotation(t, "ClinicalImpression", "note", element.getNote().get(i), i); 6118 } 6119 } 6120 6121 protected void composeClinicalImpressionFindingComponent(Complex parent, String parentType, String name, ClinicalImpression.ClinicalImpressionFindingComponent element, int index) { 6122 if (element == null) 6123 return; 6124 Complex t; 6125 if (Utilities.noString(parentType)) 6126 t = parent; 6127 else { 6128 t = parent.predicate("fhir:"+parentType+'.'+name); 6129 } 6130 composeBackboneElement(t, "finding", name, element, index); 6131 if (element.hasItem()) { 6132 composeCodeableReference(t, "ClinicalImpressionFindingComponent", "item", element.getItem(), -1); 6133 } 6134 if (element.hasBasisElement()) { 6135 composeString(t, "ClinicalImpressionFindingComponent", "basis", element.getBasisElement(), -1); 6136 } 6137 } 6138 6139 protected void composeClinicalUseDefinition(Complex parent, String parentType, String name, ClinicalUseDefinition element, int index) { 6140 if (element == null) 6141 return; 6142 Complex t; 6143 if (Utilities.noString(parentType)) 6144 t = parent; 6145 else { 6146 t = parent.predicate("fhir:"+parentType+'.'+name); 6147 } 6148 composeDomainResource(t, "ClinicalUseDefinition", name, element, index); 6149 for (int i = 0; i < element.getIdentifier().size(); i++) { 6150 composeIdentifier(t, "ClinicalUseDefinition", "identifier", element.getIdentifier().get(i), i); 6151 } 6152 if (element.hasTypeElement()) { 6153 composeEnum(t, "ClinicalUseDefinition", "type", element.getTypeElement(), -1); 6154 } 6155 for (int i = 0; i < element.getCategory().size(); i++) { 6156 composeCodeableConcept(t, "ClinicalUseDefinition", "category", element.getCategory().get(i), i); 6157 } 6158 for (int i = 0; i < element.getSubject().size(); i++) { 6159 composeReference(t, "ClinicalUseDefinition", "subject", element.getSubject().get(i), i); 6160 } 6161 if (element.hasStatus()) { 6162 composeCodeableConcept(t, "ClinicalUseDefinition", "status", element.getStatus(), -1); 6163 } 6164 if (element.hasContraindication()) { 6165 composeClinicalUseDefinitionContraindicationComponent(t, "ClinicalUseDefinition", "contraindication", element.getContraindication(), -1); 6166 } 6167 if (element.hasIndication()) { 6168 composeClinicalUseDefinitionIndicationComponent(t, "ClinicalUseDefinition", "indication", element.getIndication(), -1); 6169 } 6170 if (element.hasInteraction()) { 6171 composeClinicalUseDefinitionInteractionComponent(t, "ClinicalUseDefinition", "interaction", element.getInteraction(), -1); 6172 } 6173 for (int i = 0; i < element.getPopulation().size(); i++) { 6174 composeReference(t, "ClinicalUseDefinition", "population", element.getPopulation().get(i), i); 6175 } 6176 if (element.hasUndesirableEffect()) { 6177 composeClinicalUseDefinitionUndesirableEffectComponent(t, "ClinicalUseDefinition", "undesirableEffect", element.getUndesirableEffect(), -1); 6178 } 6179 if (element.hasWarning()) { 6180 composeClinicalUseDefinitionWarningComponent(t, "ClinicalUseDefinition", "warning", element.getWarning(), -1); 6181 } 6182 } 6183 6184 protected void composeClinicalUseDefinitionContraindicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent element, int index) { 6185 if (element == null) 6186 return; 6187 Complex t; 6188 if (Utilities.noString(parentType)) 6189 t = parent; 6190 else { 6191 t = parent.predicate("fhir:"+parentType+'.'+name); 6192 } 6193 composeBackboneElement(t, "contraindication", name, element, index); 6194 if (element.hasDiseaseSymptomProcedure()) { 6195 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6196 } 6197 if (element.hasDiseaseStatus()) { 6198 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6199 } 6200 for (int i = 0; i < element.getComorbidity().size(); i++) { 6201 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6202 } 6203 for (int i = 0; i < element.getIndication().size(); i++) { 6204 composeReference(t, "ClinicalUseDefinitionContraindicationComponent", "indication", element.getIndication().get(i), i); 6205 } 6206 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6207 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionContraindicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6208 } 6209 } 6210 6211 protected void composeClinicalUseDefinitionContraindicationOtherTherapyComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent element, int index) { 6212 if (element == null) 6213 return; 6214 Complex t; 6215 if (Utilities.noString(parentType)) 6216 t = parent; 6217 else { 6218 t = parent.predicate("fhir:"+parentType+'.'+name); 6219 } 6220 composeBackboneElement(t, "otherTherapy", name, element, index); 6221 if (element.hasRelationshipType()) { 6222 composeCodeableConcept(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "relationshipType", element.getRelationshipType(), -1); 6223 } 6224 if (element.hasTherapy()) { 6225 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "therapy", element.getTherapy(), -1); 6226 } 6227 } 6228 6229 protected void composeClinicalUseDefinitionIndicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent element, int index) { 6230 if (element == null) 6231 return; 6232 Complex t; 6233 if (Utilities.noString(parentType)) 6234 t = parent; 6235 else { 6236 t = parent.predicate("fhir:"+parentType+'.'+name); 6237 } 6238 composeBackboneElement(t, "indication", name, element, index); 6239 if (element.hasDiseaseSymptomProcedure()) { 6240 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6241 } 6242 if (element.hasDiseaseStatus()) { 6243 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6244 } 6245 for (int i = 0; i < element.getComorbidity().size(); i++) { 6246 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6247 } 6248 if (element.hasIntendedEffect()) { 6249 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "intendedEffect", element.getIntendedEffect(), -1); 6250 } 6251 if (element.hasDuration()) { 6252 composeQuantity(t, "ClinicalUseDefinitionIndicationComponent", "duration", element.getDuration(), -1); 6253 } 6254 for (int i = 0; i < element.getUndesirableEffect().size(); i++) { 6255 composeReference(t, "ClinicalUseDefinitionIndicationComponent", "undesirableEffect", element.getUndesirableEffect().get(i), i); 6256 } 6257 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6258 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionIndicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6259 } 6260 } 6261 6262 protected void composeClinicalUseDefinitionInteractionComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent element, int index) { 6263 if (element == null) 6264 return; 6265 Complex t; 6266 if (Utilities.noString(parentType)) 6267 t = parent; 6268 else { 6269 t = parent.predicate("fhir:"+parentType+'.'+name); 6270 } 6271 composeBackboneElement(t, "interaction", name, element, index); 6272 for (int i = 0; i < element.getInteractant().size(); i++) { 6273 composeClinicalUseDefinitionInteractionInteractantComponent(t, "ClinicalUseDefinitionInteractionComponent", "interactant", element.getInteractant().get(i), i); 6274 } 6275 if (element.hasType()) { 6276 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "type", element.getType(), -1); 6277 } 6278 if (element.hasEffect()) { 6279 composeCodeableReference(t, "ClinicalUseDefinitionInteractionComponent", "effect", element.getEffect(), -1); 6280 } 6281 if (element.hasIncidence()) { 6282 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "incidence", element.getIncidence(), -1); 6283 } 6284 for (int i = 0; i < element.getManagement().size(); i++) { 6285 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "management", element.getManagement().get(i), i); 6286 } 6287 } 6288 6289 protected void composeClinicalUseDefinitionInteractionInteractantComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent element, int index) { 6290 if (element == null) 6291 return; 6292 Complex t; 6293 if (Utilities.noString(parentType)) 6294 t = parent; 6295 else { 6296 t = parent.predicate("fhir:"+parentType+'.'+name); 6297 } 6298 composeBackboneElement(t, "interactant", name, element, index); 6299 if (element.hasItem()) { 6300 composeType(t, "ClinicalUseDefinitionInteractionInteractantComponent", "item", element.getItem(), -1); 6301 } 6302 } 6303 6304 protected void composeClinicalUseDefinitionUndesirableEffectComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent element, int index) { 6305 if (element == null) 6306 return; 6307 Complex t; 6308 if (Utilities.noString(parentType)) 6309 t = parent; 6310 else { 6311 t = parent.predicate("fhir:"+parentType+'.'+name); 6312 } 6313 composeBackboneElement(t, "undesirableEffect", name, element, index); 6314 if (element.hasSymptomConditionEffect()) { 6315 composeCodeableReference(t, "ClinicalUseDefinitionUndesirableEffectComponent", "symptomConditionEffect", element.getSymptomConditionEffect(), -1); 6316 } 6317 if (element.hasClassification()) { 6318 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "classification", element.getClassification(), -1); 6319 } 6320 if (element.hasFrequencyOfOccurrence()) { 6321 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "frequencyOfOccurrence", element.getFrequencyOfOccurrence(), -1); 6322 } 6323 } 6324 6325 protected void composeClinicalUseDefinitionWarningComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent element, int index) { 6326 if (element == null) 6327 return; 6328 Complex t; 6329 if (Utilities.noString(parentType)) 6330 t = parent; 6331 else { 6332 t = parent.predicate("fhir:"+parentType+'.'+name); 6333 } 6334 composeBackboneElement(t, "warning", name, element, index); 6335 if (element.hasDescriptionElement()) { 6336 composeMarkdown(t, "ClinicalUseDefinitionWarningComponent", "description", element.getDescriptionElement(), -1); 6337 } 6338 if (element.hasCode()) { 6339 composeCodeableConcept(t, "ClinicalUseDefinitionWarningComponent", "code", element.getCode(), -1); 6340 } 6341 } 6342 6343 protected void composeClinicalUseIssue(Complex parent, String parentType, String name, ClinicalUseIssue element, int index) { 6344 if (element == null) 6345 return; 6346 Complex t; 6347 if (Utilities.noString(parentType)) 6348 t = parent; 6349 else { 6350 t = parent.predicate("fhir:"+parentType+'.'+name); 6351 } 6352 composeDomainResource(t, "ClinicalUseIssue", name, element, index); 6353 for (int i = 0; i < element.getIdentifier().size(); i++) { 6354 composeIdentifier(t, "ClinicalUseIssue", "identifier", element.getIdentifier().get(i), i); 6355 } 6356 if (element.hasTypeElement()) { 6357 composeEnum(t, "ClinicalUseIssue", "type", element.getTypeElement(), -1); 6358 } 6359 for (int i = 0; i < element.getCategory().size(); i++) { 6360 composeCodeableConcept(t, "ClinicalUseIssue", "category", element.getCategory().get(i), i); 6361 } 6362 for (int i = 0; i < element.getSubject().size(); i++) { 6363 composeReference(t, "ClinicalUseIssue", "subject", element.getSubject().get(i), i); 6364 } 6365 if (element.hasStatus()) { 6366 composeCodeableConcept(t, "ClinicalUseIssue", "status", element.getStatus(), -1); 6367 } 6368 if (element.hasDescriptionElement()) { 6369 composeMarkdown(t, "ClinicalUseIssue", "description", element.getDescriptionElement(), -1); 6370 } 6371 if (element.hasContraindication()) { 6372 composeClinicalUseIssueContraindicationComponent(t, "ClinicalUseIssue", "contraindication", element.getContraindication(), -1); 6373 } 6374 if (element.hasIndication()) { 6375 composeClinicalUseIssueIndicationComponent(t, "ClinicalUseIssue", "indication", element.getIndication(), -1); 6376 } 6377 if (element.hasInteraction()) { 6378 composeClinicalUseIssueInteractionComponent(t, "ClinicalUseIssue", "interaction", element.getInteraction(), -1); 6379 } 6380 for (int i = 0; i < element.getPopulation().size(); i++) { 6381 composePopulation(t, "ClinicalUseIssue", "population", element.getPopulation().get(i), i); 6382 } 6383 if (element.hasUndesirableEffect()) { 6384 composeClinicalUseIssueUndesirableEffectComponent(t, "ClinicalUseIssue", "undesirableEffect", element.getUndesirableEffect(), -1); 6385 } 6386 } 6387 6388 protected void composeClinicalUseIssueContraindicationComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueContraindicationComponent element, int index) { 6389 if (element == null) 6390 return; 6391 Complex t; 6392 if (Utilities.noString(parentType)) 6393 t = parent; 6394 else { 6395 t = parent.predicate("fhir:"+parentType+'.'+name); 6396 } 6397 composeBackboneElement(t, "contraindication", name, element, index); 6398 if (element.hasDiseaseSymptomProcedure()) { 6399 composeCodeableReference(t, "ClinicalUseIssueContraindicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6400 } 6401 if (element.hasDiseaseStatus()) { 6402 composeCodeableReference(t, "ClinicalUseIssueContraindicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6403 } 6404 for (int i = 0; i < element.getComorbidity().size(); i++) { 6405 composeCodeableReference(t, "ClinicalUseIssueContraindicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6406 } 6407 for (int i = 0; i < element.getIndication().size(); i++) { 6408 composeReference(t, "ClinicalUseIssueContraindicationComponent", "indication", element.getIndication().get(i), i); 6409 } 6410 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6411 composeClinicalUseIssueContraindicationOtherTherapyComponent(t, "ClinicalUseIssueContraindicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6412 } 6413 } 6414 6415 protected void composeClinicalUseIssueContraindicationOtherTherapyComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueContraindicationOtherTherapyComponent element, int index) { 6416 if (element == null) 6417 return; 6418 Complex t; 6419 if (Utilities.noString(parentType)) 6420 t = parent; 6421 else { 6422 t = parent.predicate("fhir:"+parentType+'.'+name); 6423 } 6424 composeBackboneElement(t, "otherTherapy", name, element, index); 6425 if (element.hasRelationshipType()) { 6426 composeCodeableConcept(t, "ClinicalUseIssueContraindicationOtherTherapyComponent", "relationshipType", element.getRelationshipType(), -1); 6427 } 6428 if (element.hasTherapy()) { 6429 composeCodeableReference(t, "ClinicalUseIssueContraindicationOtherTherapyComponent", "therapy", element.getTherapy(), -1); 6430 } 6431 } 6432 6433 protected void composeClinicalUseIssueIndicationComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueIndicationComponent element, int index) { 6434 if (element == null) 6435 return; 6436 Complex t; 6437 if (Utilities.noString(parentType)) 6438 t = parent; 6439 else { 6440 t = parent.predicate("fhir:"+parentType+'.'+name); 6441 } 6442 composeBackboneElement(t, "indication", name, element, index); 6443 if (element.hasDiseaseSymptomProcedure()) { 6444 composeCodeableReference(t, "ClinicalUseIssueIndicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6445 } 6446 if (element.hasDiseaseStatus()) { 6447 composeCodeableReference(t, "ClinicalUseIssueIndicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6448 } 6449 for (int i = 0; i < element.getComorbidity().size(); i++) { 6450 composeCodeableReference(t, "ClinicalUseIssueIndicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6451 } 6452 if (element.hasIntendedEffect()) { 6453 composeCodeableReference(t, "ClinicalUseIssueIndicationComponent", "intendedEffect", element.getIntendedEffect(), -1); 6454 } 6455 if (element.hasDuration()) { 6456 composeQuantity(t, "ClinicalUseIssueIndicationComponent", "duration", element.getDuration(), -1); 6457 } 6458 for (int i = 0; i < element.getUndesirableEffect().size(); i++) { 6459 composeReference(t, "ClinicalUseIssueIndicationComponent", "undesirableEffect", element.getUndesirableEffect().get(i), i); 6460 } 6461 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6462 composeClinicalUseIssueContraindicationOtherTherapyComponent(t, "ClinicalUseIssueIndicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6463 } 6464 } 6465 6466 protected void composeClinicalUseIssueInteractionComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueInteractionComponent element, int index) { 6467 if (element == null) 6468 return; 6469 Complex t; 6470 if (Utilities.noString(parentType)) 6471 t = parent; 6472 else { 6473 t = parent.predicate("fhir:"+parentType+'.'+name); 6474 } 6475 composeBackboneElement(t, "interaction", name, element, index); 6476 for (int i = 0; i < element.getInteractant().size(); i++) { 6477 composeClinicalUseIssueInteractionInteractantComponent(t, "ClinicalUseIssueInteractionComponent", "interactant", element.getInteractant().get(i), i); 6478 } 6479 if (element.hasType()) { 6480 composeCodeableConcept(t, "ClinicalUseIssueInteractionComponent", "type", element.getType(), -1); 6481 } 6482 if (element.hasEffect()) { 6483 composeCodeableReference(t, "ClinicalUseIssueInteractionComponent", "effect", element.getEffect(), -1); 6484 } 6485 if (element.hasIncidence()) { 6486 composeCodeableConcept(t, "ClinicalUseIssueInteractionComponent", "incidence", element.getIncidence(), -1); 6487 } 6488 for (int i = 0; i < element.getManagement().size(); i++) { 6489 composeCodeableConcept(t, "ClinicalUseIssueInteractionComponent", "management", element.getManagement().get(i), i); 6490 } 6491 } 6492 6493 protected void composeClinicalUseIssueInteractionInteractantComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueInteractionInteractantComponent element, int index) { 6494 if (element == null) 6495 return; 6496 Complex t; 6497 if (Utilities.noString(parentType)) 6498 t = parent; 6499 else { 6500 t = parent.predicate("fhir:"+parentType+'.'+name); 6501 } 6502 composeBackboneElement(t, "interactant", name, element, index); 6503 if (element.hasItem()) { 6504 composeType(t, "ClinicalUseIssueInteractionInteractantComponent", "item", element.getItem(), -1); 6505 } 6506 } 6507 6508 protected void composeClinicalUseIssueUndesirableEffectComponent(Complex parent, String parentType, String name, ClinicalUseIssue.ClinicalUseIssueUndesirableEffectComponent element, int index) { 6509 if (element == null) 6510 return; 6511 Complex t; 6512 if (Utilities.noString(parentType)) 6513 t = parent; 6514 else { 6515 t = parent.predicate("fhir:"+parentType+'.'+name); 6516 } 6517 composeBackboneElement(t, "undesirableEffect", name, element, index); 6518 if (element.hasSymptomConditionEffect()) { 6519 composeCodeableReference(t, "ClinicalUseIssueUndesirableEffectComponent", "symptomConditionEffect", element.getSymptomConditionEffect(), -1); 6520 } 6521 if (element.hasClassification()) { 6522 composeCodeableConcept(t, "ClinicalUseIssueUndesirableEffectComponent", "classification", element.getClassification(), -1); 6523 } 6524 if (element.hasFrequencyOfOccurrence()) { 6525 composeCodeableConcept(t, "ClinicalUseIssueUndesirableEffectComponent", "frequencyOfOccurrence", element.getFrequencyOfOccurrence(), -1); 6526 } 6527 } 6528 6529 protected void composeCodeSystem(Complex parent, String parentType, String name, CodeSystem element, int index) { 6530 if (element == null) 6531 return; 6532 Complex t; 6533 if (Utilities.noString(parentType)) 6534 t = parent; 6535 else { 6536 t = parent.predicate("fhir:"+parentType+'.'+name); 6537 } 6538 composeCanonicalResource(t, "CodeSystem", name, element, index); 6539 if (element.hasUrlElement()) { 6540 composeUri(t, "CodeSystem", "url", element.getUrlElement(), -1); 6541 } 6542 for (int i = 0; i < element.getIdentifier().size(); i++) { 6543 composeIdentifier(t, "CodeSystem", "identifier", element.getIdentifier().get(i), i); 6544 } 6545 if (element.hasVersionElement()) { 6546 composeString(t, "CodeSystem", "version", element.getVersionElement(), -1); 6547 } 6548 if (element.hasNameElement()) { 6549 composeString(t, "CodeSystem", "name", element.getNameElement(), -1); 6550 } 6551 if (element.hasTitleElement()) { 6552 composeString(t, "CodeSystem", "title", element.getTitleElement(), -1); 6553 } 6554 if (element.hasStatusElement()) { 6555 composeEnum(t, "CodeSystem", "status", element.getStatusElement(), -1); 6556 } 6557 if (element.hasExperimentalElement()) { 6558 composeBoolean(t, "CodeSystem", "experimental", element.getExperimentalElement(), -1); 6559 } 6560 if (element.hasDateElement()) { 6561 composeDateTime(t, "CodeSystem", "date", element.getDateElement(), -1); 6562 } 6563 if (element.hasPublisherElement()) { 6564 composeString(t, "CodeSystem", "publisher", element.getPublisherElement(), -1); 6565 } 6566 for (int i = 0; i < element.getContact().size(); i++) { 6567 composeContactDetail(t, "CodeSystem", "contact", element.getContact().get(i), i); 6568 } 6569 if (element.hasDescriptionElement()) { 6570 composeMarkdown(t, "CodeSystem", "description", element.getDescriptionElement(), -1); 6571 } 6572 for (int i = 0; i < element.getUseContext().size(); i++) { 6573 composeUsageContext(t, "CodeSystem", "useContext", element.getUseContext().get(i), i); 6574 } 6575 for (int i = 0; i < element.getJurisdiction().size(); i++) { 6576 composeCodeableConcept(t, "CodeSystem", "jurisdiction", element.getJurisdiction().get(i), i); 6577 } 6578 if (element.hasPurposeElement()) { 6579 composeMarkdown(t, "CodeSystem", "purpose", element.getPurposeElement(), -1); 6580 } 6581 if (element.hasCopyrightElement()) { 6582 composeMarkdown(t, "CodeSystem", "copyright", element.getCopyrightElement(), -1); 6583 } 6584 if (element.hasCaseSensitiveElement()) { 6585 composeBoolean(t, "CodeSystem", "caseSensitive", element.getCaseSensitiveElement(), -1); 6586 } 6587 if (element.hasValueSetElement()) { 6588 composeCanonical(t, "CodeSystem", "valueSet", element.getValueSetElement(), -1); 6589 } 6590 if (element.hasHierarchyMeaningElement()) { 6591 composeEnum(t, "CodeSystem", "hierarchyMeaning", element.getHierarchyMeaningElement(), -1); 6592 } 6593 if (element.hasCompositionalElement()) { 6594 composeBoolean(t, "CodeSystem", "compositional", element.getCompositionalElement(), -1); 6595 } 6596 if (element.hasVersionNeededElement()) { 6597 composeBoolean(t, "CodeSystem", "versionNeeded", element.getVersionNeededElement(), -1); 6598 } 6599 if (element.hasContentElement()) { 6600 composeEnum(t, "CodeSystem", "content", element.getContentElement(), -1); 6601 } 6602 if (element.hasSupplementsElement()) { 6603 composeCanonical(t, "CodeSystem", "supplements", element.getSupplementsElement(), -1); 6604 } 6605 if (element.hasCountElement()) { 6606 composeUnsignedInt(t, "CodeSystem", "count", element.getCountElement(), -1); 6607 } 6608 for (int i = 0; i < element.getFilter().size(); i++) { 6609 composeCodeSystemFilterComponent(t, "CodeSystem", "filter", element.getFilter().get(i), i); 6610 } 6611 for (int i = 0; i < element.getProperty().size(); i++) { 6612 composeCodeSystemPropertyComponent(t, "CodeSystem", "property", element.getProperty().get(i), i); 6613 } 6614 for (int i = 0; i < element.getConcept().size(); i++) { 6615 composeCodeSystemConceptDefinitionComponent(t, "CodeSystem", "concept", element.getConcept().get(i), i); 6616 } 6617 } 6618 6619 protected void composeCodeSystemFilterComponent(Complex parent, String parentType, String name, CodeSystem.CodeSystemFilterComponent element, int index) { 6620 if (element == null) 6621 return; 6622 Complex t; 6623 if (Utilities.noString(parentType)) 6624 t = parent; 6625 else { 6626 t = parent.predicate("fhir:"+parentType+'.'+name); 6627 } 6628 composeBackboneElement(t, "filter", name, element, index); 6629 if (element.hasCodeElement()) { 6630 composeCode(t, "CodeSystemFilterComponent", "code", element.getCodeElement(), -1); 6631 } 6632 if (element.hasDescriptionElement()) { 6633 composeString(t, "CodeSystemFilterComponent", "description", element.getDescriptionElement(), -1); 6634 } 6635 for (int i = 0; i < element.getOperator().size(); i++) { 6636 composeEnum(t, "CodeSystemFilterComponent", "operator", element.getOperator().get(i), i); 6637 } 6638 if (element.hasValueElement()) { 6639 composeString(t, "CodeSystemFilterComponent", "value", element.getValueElement(), -1); 6640 } 6641 } 6642 6643 protected void composeCodeSystemPropertyComponent(Complex parent, String parentType, String name, CodeSystem.PropertyComponent element, int index) { 6644 if (element == null) 6645 return; 6646 Complex t; 6647 if (Utilities.noString(parentType)) 6648 t = parent; 6649 else { 6650 t = parent.predicate("fhir:"+parentType+'.'+name); 6651 } 6652 composeBackboneElement(t, "property", name, element, index); 6653 if (element.hasCodeElement()) { 6654 composeCode(t, "PropertyComponent", "code", element.getCodeElement(), -1); 6655 } 6656 if (element.hasUriElement()) { 6657 composeUri(t, "PropertyComponent", "uri", element.getUriElement(), -1); 6658 } 6659 if (element.hasDescriptionElement()) { 6660 composeString(t, "PropertyComponent", "description", element.getDescriptionElement(), -1); 6661 } 6662 if (element.hasTypeElement()) { 6663 composeEnum(t, "PropertyComponent", "type", element.getTypeElement(), -1); 6664 } 6665 } 6666 6667 protected void composeCodeSystemConceptDefinitionComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionComponent element, int index) { 6668 if (element == null) 6669 return; 6670 Complex t; 6671 if (Utilities.noString(parentType)) 6672 t = parent; 6673 else { 6674 t = parent.predicate("fhir:"+parentType+'.'+name); 6675 } 6676 composeBackboneElement(t, "concept", name, element, index); 6677 if (element.hasCodeElement()) { 6678 composeCode(t, "ConceptDefinitionComponent", "code", element.getCodeElement(), -1); 6679 } 6680 if (element.hasDisplayElement()) { 6681 composeString(t, "ConceptDefinitionComponent", "display", element.getDisplayElement(), -1); 6682 } 6683 if (element.hasDefinitionElement()) { 6684 composeString(t, "ConceptDefinitionComponent", "definition", element.getDefinitionElement(), -1); 6685 } 6686 for (int i = 0; i < element.getDesignation().size(); i++) { 6687 composeCodeSystemConceptDefinitionDesignationComponent(t, "ConceptDefinitionComponent", "designation", element.getDesignation().get(i), i); 6688 } 6689 for (int i = 0; i < element.getProperty().size(); i++) { 6690 composeCodeSystemConceptPropertyComponent(t, "ConceptDefinitionComponent", "property", element.getProperty().get(i), i); 6691 } 6692 for (int i = 0; i < element.getConcept().size(); i++) { 6693 composeCodeSystemConceptDefinitionComponent(t, "ConceptDefinitionComponent", "concept", element.getConcept().get(i), i); 6694 } 6695 } 6696 6697 protected void composeCodeSystemConceptDefinitionDesignationComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionDesignationComponent element, int index) { 6698 if (element == null) 6699 return; 6700 Complex t; 6701 if (Utilities.noString(parentType)) 6702 t = parent; 6703 else { 6704 t = parent.predicate("fhir:"+parentType+'.'+name); 6705 } 6706 composeBackboneElement(t, "designation", name, element, index); 6707 if (element.hasLanguageElement()) { 6708 composeCode(t, "ConceptDefinitionDesignationComponent", "language", element.getLanguageElement(), -1); 6709 } 6710 if (element.hasUse()) { 6711 composeCoding(t, "ConceptDefinitionDesignationComponent", "use", element.getUse(), -1); 6712 } 6713 if (element.hasValueElement()) { 6714 composeString(t, "ConceptDefinitionDesignationComponent", "value", element.getValueElement(), -1); 6715 } 6716 } 6717 6718 protected void composeCodeSystemConceptPropertyComponent(Complex parent, String parentType, String name, CodeSystem.ConceptPropertyComponent element, int index) { 6719 if (element == null) 6720 return; 6721 Complex t; 6722 if (Utilities.noString(parentType)) 6723 t = parent; 6724 else { 6725 t = parent.predicate("fhir:"+parentType+'.'+name); 6726 } 6727 composeBackboneElement(t, "property", name, element, index); 6728 if (element.hasCodeElement()) { 6729 composeCode(t, "ConceptPropertyComponent", "code", element.getCodeElement(), -1); 6730 } 6731 if (element.hasValue()) { 6732 composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); 6733 } 6734 } 6735 6736 protected void composeCommunication(Complex parent, String parentType, String name, Communication element, int index) { 6737 if (element == null) 6738 return; 6739 Complex t; 6740 if (Utilities.noString(parentType)) 6741 t = parent; 6742 else { 6743 t = parent.predicate("fhir:"+parentType+'.'+name); 6744 } 6745 composeDomainResource(t, "Communication", name, element, index); 6746 for (int i = 0; i < element.getIdentifier().size(); i++) { 6747 composeIdentifier(t, "Communication", "identifier", element.getIdentifier().get(i), i); 6748 } 6749 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 6750 composeCanonical(t, "Communication", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 6751 } 6752 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 6753 composeUri(t, "Communication", "instantiatesUri", element.getInstantiatesUri().get(i), i); 6754 } 6755 for (int i = 0; i < element.getBasedOn().size(); i++) { 6756 composeReference(t, "Communication", "basedOn", element.getBasedOn().get(i), i); 6757 } 6758 for (int i = 0; i < element.getPartOf().size(); i++) { 6759 composeReference(t, "Communication", "partOf", element.getPartOf().get(i), i); 6760 } 6761 for (int i = 0; i < element.getInResponseTo().size(); i++) { 6762 composeReference(t, "Communication", "inResponseTo", element.getInResponseTo().get(i), i); 6763 } 6764 if (element.hasStatusElement()) { 6765 composeEnum(t, "Communication", "status", element.getStatusElement(), -1); 6766 } 6767 if (element.hasStatusReason()) { 6768 composeCodeableConcept(t, "Communication", "statusReason", element.getStatusReason(), -1); 6769 } 6770 for (int i = 0; i < element.getCategory().size(); i++) { 6771 composeCodeableConcept(t, "Communication", "category", element.getCategory().get(i), i); 6772 } 6773 if (element.hasPriorityElement()) { 6774 composeEnum(t, "Communication", "priority", element.getPriorityElement(), -1); 6775 } 6776 for (int i = 0; i < element.getMedium().size(); i++) { 6777 composeCodeableConcept(t, "Communication", "medium", element.getMedium().get(i), i); 6778 } 6779 if (element.hasSubject()) { 6780 composeReference(t, "Communication", "subject", element.getSubject(), -1); 6781 } 6782 if (element.hasTopic()) { 6783 composeCodeableConcept(t, "Communication", "topic", element.getTopic(), -1); 6784 } 6785 for (int i = 0; i < element.getAbout().size(); i++) { 6786 composeReference(t, "Communication", "about", element.getAbout().get(i), i); 6787 } 6788 if (element.hasEncounter()) { 6789 composeReference(t, "Communication", "encounter", element.getEncounter(), -1); 6790 } 6791 if (element.hasSentElement()) { 6792 composeDateTime(t, "Communication", "sent", element.getSentElement(), -1); 6793 } 6794 if (element.hasReceivedElement()) { 6795 composeDateTime(t, "Communication", "received", element.getReceivedElement(), -1); 6796 } 6797 for (int i = 0; i < element.getRecipient().size(); i++) { 6798 composeReference(t, "Communication", "recipient", element.getRecipient().get(i), i); 6799 } 6800 if (element.hasSender()) { 6801 composeReference(t, "Communication", "sender", element.getSender(), -1); 6802 } 6803 for (int i = 0; i < element.getReason().size(); i++) { 6804 composeCodeableReference(t, "Communication", "reason", element.getReason().get(i), i); 6805 } 6806 for (int i = 0; i < element.getPayload().size(); i++) { 6807 composeCommunicationPayloadComponent(t, "Communication", "payload", element.getPayload().get(i), i); 6808 } 6809 for (int i = 0; i < element.getNote().size(); i++) { 6810 composeAnnotation(t, "Communication", "note", element.getNote().get(i), i); 6811 } 6812 } 6813 6814 protected void composeCommunicationPayloadComponent(Complex parent, String parentType, String name, Communication.CommunicationPayloadComponent element, int index) { 6815 if (element == null) 6816 return; 6817 Complex t; 6818 if (Utilities.noString(parentType)) 6819 t = parent; 6820 else { 6821 t = parent.predicate("fhir:"+parentType+'.'+name); 6822 } 6823 composeBackboneElement(t, "payload", name, element, index); 6824 if (element.hasContent()) { 6825 composeType(t, "CommunicationPayloadComponent", "content", element.getContent(), -1); 6826 } 6827 } 6828 6829 protected void composeCommunicationRequest(Complex parent, String parentType, String name, CommunicationRequest element, int index) { 6830 if (element == null) 6831 return; 6832 Complex t; 6833 if (Utilities.noString(parentType)) 6834 t = parent; 6835 else { 6836 t = parent.predicate("fhir:"+parentType+'.'+name); 6837 } 6838 composeDomainResource(t, "CommunicationRequest", name, element, index); 6839 for (int i = 0; i < element.getIdentifier().size(); i++) { 6840 composeIdentifier(t, "CommunicationRequest", "identifier", element.getIdentifier().get(i), i); 6841 } 6842 for (int i = 0; i < element.getBasedOn().size(); i++) { 6843 composeReference(t, "CommunicationRequest", "basedOn", element.getBasedOn().get(i), i); 6844 } 6845 for (int i = 0; i < element.getReplaces().size(); i++) { 6846 composeReference(t, "CommunicationRequest", "replaces", element.getReplaces().get(i), i); 6847 } 6848 if (element.hasGroupIdentifier()) { 6849 composeIdentifier(t, "CommunicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 6850 } 6851 if (element.hasStatusElement()) { 6852 composeEnum(t, "CommunicationRequest", "status", element.getStatusElement(), -1); 6853 } 6854 if (element.hasStatusReason()) { 6855 composeCodeableConcept(t, "CommunicationRequest", "statusReason", element.getStatusReason(), -1); 6856 } 6857 if (element.hasIntentElement()) { 6858 composeEnum(t, "CommunicationRequest", "intent", element.getIntentElement(), -1); 6859 } 6860 for (int i = 0; i < element.getCategory().size(); i++) { 6861 composeCodeableConcept(t, "CommunicationRequest", "category", element.getCategory().get(i), i); 6862 } 6863 if (element.hasPriorityElement()) { 6864 composeEnum(t, "CommunicationRequest", "priority", element.getPriorityElement(), -1); 6865 } 6866 if (element.hasDoNotPerformElement()) { 6867 composeBoolean(t, "CommunicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 6868 } 6869 for (int i = 0; i < element.getMedium().size(); i++) { 6870 composeCodeableConcept(t, "CommunicationRequest", "medium", element.getMedium().get(i), i); 6871 } 6872 if (element.hasSubject()) { 6873 composeReference(t, "CommunicationRequest", "subject", element.getSubject(), -1); 6874 } 6875 for (int i = 0; i < element.getAbout().size(); i++) { 6876 composeReference(t, "CommunicationRequest", "about", element.getAbout().get(i), i); 6877 } 6878 if (element.hasEncounter()) { 6879 composeReference(t, "CommunicationRequest", "encounter", element.getEncounter(), -1); 6880 } 6881 for (int i = 0; i < element.getPayload().size(); i++) { 6882 composeCommunicationRequestPayloadComponent(t, "CommunicationRequest", "payload", element.getPayload().get(i), i); 6883 } 6884 if (element.hasOccurrence()) { 6885 composeType(t, "CommunicationRequest", "occurrence", element.getOccurrence(), -1); 6886 } 6887 if (element.hasAuthoredOnElement()) { 6888 composeDateTime(t, "CommunicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 6889 } 6890 if (element.hasRequester()) { 6891 composeReference(t, "CommunicationRequest", "requester", element.getRequester(), -1); 6892 } 6893 for (int i = 0; i < element.getRecipient().size(); i++) { 6894 composeReference(t, "CommunicationRequest", "recipient", element.getRecipient().get(i), i); 6895 } 6896 for (int i = 0; i < element.getInformationProvider().size(); i++) { 6897 composeReference(t, "CommunicationRequest", "informationProvider", element.getInformationProvider().get(i), i); 6898 } 6899 for (int i = 0; i < element.getReason().size(); i++) { 6900 composeCodeableReference(t, "CommunicationRequest", "reason", element.getReason().get(i), i); 6901 } 6902 for (int i = 0; i < element.getNote().size(); i++) { 6903 composeAnnotation(t, "CommunicationRequest", "note", element.getNote().get(i), i); 6904 } 6905 } 6906 6907 protected void composeCommunicationRequestPayloadComponent(Complex parent, String parentType, String name, CommunicationRequest.CommunicationRequestPayloadComponent element, int index) { 6908 if (element == null) 6909 return; 6910 Complex t; 6911 if (Utilities.noString(parentType)) 6912 t = parent; 6913 else { 6914 t = parent.predicate("fhir:"+parentType+'.'+name); 6915 } 6916 composeBackboneElement(t, "payload", name, element, index); 6917 if (element.hasContent()) { 6918 composeType(t, "CommunicationRequestPayloadComponent", "content", element.getContent(), -1); 6919 } 6920 } 6921 6922 protected void composeCompartmentDefinition(Complex parent, String parentType, String name, CompartmentDefinition element, int index) { 6923 if (element == null) 6924 return; 6925 Complex t; 6926 if (Utilities.noString(parentType)) 6927 t = parent; 6928 else { 6929 t = parent.predicate("fhir:"+parentType+'.'+name); 6930 } 6931 composeCanonicalResource(t, "CompartmentDefinition", name, element, index); 6932 if (element.hasUrlElement()) { 6933 composeUri(t, "CompartmentDefinition", "url", element.getUrlElement(), -1); 6934 } 6935 if (element.hasVersionElement()) { 6936 composeString(t, "CompartmentDefinition", "version", element.getVersionElement(), -1); 6937 } 6938 if (element.hasNameElement()) { 6939 composeString(t, "CompartmentDefinition", "name", element.getNameElement(), -1); 6940 } 6941 if (element.hasStatusElement()) { 6942 composeEnum(t, "CompartmentDefinition", "status", element.getStatusElement(), -1); 6943 } 6944 if (element.hasExperimentalElement()) { 6945 composeBoolean(t, "CompartmentDefinition", "experimental", element.getExperimentalElement(), -1); 6946 } 6947 if (element.hasDateElement()) { 6948 composeDateTime(t, "CompartmentDefinition", "date", element.getDateElement(), -1); 6949 } 6950 if (element.hasPublisherElement()) { 6951 composeString(t, "CompartmentDefinition", "publisher", element.getPublisherElement(), -1); 6952 } 6953 for (int i = 0; i < element.getContact().size(); i++) { 6954 composeContactDetail(t, "CompartmentDefinition", "contact", element.getContact().get(i), i); 6955 } 6956 if (element.hasDescriptionElement()) { 6957 composeMarkdown(t, "CompartmentDefinition", "description", element.getDescriptionElement(), -1); 6958 } 6959 for (int i = 0; i < element.getUseContext().size(); i++) { 6960 composeUsageContext(t, "CompartmentDefinition", "useContext", element.getUseContext().get(i), i); 6961 } 6962 if (element.hasPurposeElement()) { 6963 composeMarkdown(t, "CompartmentDefinition", "purpose", element.getPurposeElement(), -1); 6964 } 6965 if (element.hasCodeElement()) { 6966 composeEnum(t, "CompartmentDefinition", "code", element.getCodeElement(), -1); 6967 } 6968 if (element.hasSearchElement()) { 6969 composeBoolean(t, "CompartmentDefinition", "search", element.getSearchElement(), -1); 6970 } 6971 for (int i = 0; i < element.getResource().size(); i++) { 6972 composeCompartmentDefinitionResourceComponent(t, "CompartmentDefinition", "resource", element.getResource().get(i), i); 6973 } 6974 } 6975 6976 protected void composeCompartmentDefinitionResourceComponent(Complex parent, String parentType, String name, CompartmentDefinition.CompartmentDefinitionResourceComponent element, int index) { 6977 if (element == null) 6978 return; 6979 Complex t; 6980 if (Utilities.noString(parentType)) 6981 t = parent; 6982 else { 6983 t = parent.predicate("fhir:"+parentType+'.'+name); 6984 } 6985 composeBackboneElement(t, "resource", name, element, index); 6986 if (element.hasCodeElement()) { 6987 composeCode(t, "CompartmentDefinitionResourceComponent", "code", element.getCodeElement(), -1); 6988 } 6989 for (int i = 0; i < element.getParam().size(); i++) { 6990 composeString(t, "CompartmentDefinitionResourceComponent", "param", element.getParam().get(i), i); 6991 } 6992 if (element.hasDocumentationElement()) { 6993 composeString(t, "CompartmentDefinitionResourceComponent", "documentation", element.getDocumentationElement(), -1); 6994 } 6995 } 6996 6997 protected void composeComposition(Complex parent, String parentType, String name, Composition element, int index) { 6998 if (element == null) 6999 return; 7000 Complex t; 7001 if (Utilities.noString(parentType)) 7002 t = parent; 7003 else { 7004 t = parent.predicate("fhir:"+parentType+'.'+name); 7005 } 7006 composeDomainResource(t, "Composition", name, element, index); 7007 if (element.hasIdentifier()) { 7008 composeIdentifier(t, "Composition", "identifier", element.getIdentifier(), -1); 7009 } 7010 if (element.hasStatusElement()) { 7011 composeEnum(t, "Composition", "status", element.getStatusElement(), -1); 7012 } 7013 if (element.hasType()) { 7014 composeCodeableConcept(t, "Composition", "type", element.getType(), -1); 7015 } 7016 for (int i = 0; i < element.getCategory().size(); i++) { 7017 composeCodeableConcept(t, "Composition", "category", element.getCategory().get(i), i); 7018 } 7019 if (element.hasSubject()) { 7020 composeReference(t, "Composition", "subject", element.getSubject(), -1); 7021 } 7022 if (element.hasEncounter()) { 7023 composeReference(t, "Composition", "encounter", element.getEncounter(), -1); 7024 } 7025 if (element.hasDateElement()) { 7026 composeDateTime(t, "Composition", "date", element.getDateElement(), -1); 7027 } 7028 for (int i = 0; i < element.getAuthor().size(); i++) { 7029 composeReference(t, "Composition", "author", element.getAuthor().get(i), i); 7030 } 7031 if (element.hasTitleElement()) { 7032 composeString(t, "Composition", "title", element.getTitleElement(), -1); 7033 } 7034 if (element.hasConfidentialityElement()) { 7035 composeCode(t, "Composition", "confidentiality", element.getConfidentialityElement(), -1); 7036 } 7037 for (int i = 0; i < element.getAttester().size(); i++) { 7038 composeCompositionAttesterComponent(t, "Composition", "attester", element.getAttester().get(i), i); 7039 } 7040 if (element.hasCustodian()) { 7041 composeReference(t, "Composition", "custodian", element.getCustodian(), -1); 7042 } 7043 for (int i = 0; i < element.getRelatesTo().size(); i++) { 7044 composeRelatedArtifact(t, "Composition", "relatesTo", element.getRelatesTo().get(i), i); 7045 } 7046 for (int i = 0; i < element.getEvent().size(); i++) { 7047 composeCompositionEventComponent(t, "Composition", "event", element.getEvent().get(i), i); 7048 } 7049 for (int i = 0; i < element.getSection().size(); i++) { 7050 composeCompositionSectionComponent(t, "Composition", "section", element.getSection().get(i), i); 7051 } 7052 } 7053 7054 protected void composeCompositionAttesterComponent(Complex parent, String parentType, String name, Composition.CompositionAttesterComponent element, int index) { 7055 if (element == null) 7056 return; 7057 Complex t; 7058 if (Utilities.noString(parentType)) 7059 t = parent; 7060 else { 7061 t = parent.predicate("fhir:"+parentType+'.'+name); 7062 } 7063 composeBackboneElement(t, "attester", name, element, index); 7064 if (element.hasMode()) { 7065 composeCodeableConcept(t, "CompositionAttesterComponent", "mode", element.getMode(), -1); 7066 } 7067 if (element.hasTimeElement()) { 7068 composeDateTime(t, "CompositionAttesterComponent", "time", element.getTimeElement(), -1); 7069 } 7070 if (element.hasParty()) { 7071 composeReference(t, "CompositionAttesterComponent", "party", element.getParty(), -1); 7072 } 7073 } 7074 7075 protected void composeCompositionEventComponent(Complex parent, String parentType, String name, Composition.CompositionEventComponent element, int index) { 7076 if (element == null) 7077 return; 7078 Complex t; 7079 if (Utilities.noString(parentType)) 7080 t = parent; 7081 else { 7082 t = parent.predicate("fhir:"+parentType+'.'+name); 7083 } 7084 composeBackboneElement(t, "event", name, element, index); 7085 for (int i = 0; i < element.getCode().size(); i++) { 7086 composeCodeableConcept(t, "CompositionEventComponent", "code", element.getCode().get(i), i); 7087 } 7088 if (element.hasPeriod()) { 7089 composePeriod(t, "CompositionEventComponent", "period", element.getPeriod(), -1); 7090 } 7091 for (int i = 0; i < element.getDetail().size(); i++) { 7092 composeReference(t, "CompositionEventComponent", "detail", element.getDetail().get(i), i); 7093 } 7094 } 7095 7096 protected void composeCompositionSectionComponent(Complex parent, String parentType, String name, Composition.SectionComponent element, int index) { 7097 if (element == null) 7098 return; 7099 Complex t; 7100 if (Utilities.noString(parentType)) 7101 t = parent; 7102 else { 7103 t = parent.predicate("fhir:"+parentType+'.'+name); 7104 } 7105 composeBackboneElement(t, "section", name, element, index); 7106 if (element.hasTitleElement()) { 7107 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 7108 } 7109 if (element.hasCode()) { 7110 composeCodeableConcept(t, "SectionComponent", "code", element.getCode(), -1); 7111 } 7112 for (int i = 0; i < element.getAuthor().size(); i++) { 7113 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 7114 } 7115 if (element.hasFocus()) { 7116 composeReference(t, "SectionComponent", "focus", element.getFocus(), -1); 7117 } 7118 if (element.hasText()) { 7119 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 7120 } 7121 if (element.hasModeElement()) { 7122 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 7123 } 7124 if (element.hasOrderedBy()) { 7125 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 7126 } 7127 for (int i = 0; i < element.getEntry().size(); i++) { 7128 composeReference(t, "SectionComponent", "entry", element.getEntry().get(i), i); 7129 } 7130 if (element.hasEmptyReason()) { 7131 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 7132 } 7133 for (int i = 0; i < element.getSection().size(); i++) { 7134 composeCompositionSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 7135 } 7136 } 7137 7138 protected void composeConceptMap(Complex parent, String parentType, String name, ConceptMap element, int index) { 7139 if (element == null) 7140 return; 7141 Complex t; 7142 if (Utilities.noString(parentType)) 7143 t = parent; 7144 else { 7145 t = parent.predicate("fhir:"+parentType+'.'+name); 7146 } 7147 composeCanonicalResource(t, "ConceptMap", name, element, index); 7148 if (element.hasUrlElement()) { 7149 composeUri(t, "ConceptMap", "url", element.getUrlElement(), -1); 7150 } 7151 for (int i = 0; i < element.getIdentifier().size(); i++) { 7152 composeIdentifier(t, "ConceptMap", "identifier", element.getIdentifier().get(i), i); 7153 } 7154 if (element.hasVersionElement()) { 7155 composeString(t, "ConceptMap", "version", element.getVersionElement(), -1); 7156 } 7157 if (element.hasNameElement()) { 7158 composeString(t, "ConceptMap", "name", element.getNameElement(), -1); 7159 } 7160 if (element.hasTitleElement()) { 7161 composeString(t, "ConceptMap", "title", element.getTitleElement(), -1); 7162 } 7163 if (element.hasStatusElement()) { 7164 composeEnum(t, "ConceptMap", "status", element.getStatusElement(), -1); 7165 } 7166 if (element.hasExperimentalElement()) { 7167 composeBoolean(t, "ConceptMap", "experimental", element.getExperimentalElement(), -1); 7168 } 7169 if (element.hasDateElement()) { 7170 composeDateTime(t, "ConceptMap", "date", element.getDateElement(), -1); 7171 } 7172 if (element.hasPublisherElement()) { 7173 composeString(t, "ConceptMap", "publisher", element.getPublisherElement(), -1); 7174 } 7175 for (int i = 0; i < element.getContact().size(); i++) { 7176 composeContactDetail(t, "ConceptMap", "contact", element.getContact().get(i), i); 7177 } 7178 if (element.hasDescriptionElement()) { 7179 composeMarkdown(t, "ConceptMap", "description", element.getDescriptionElement(), -1); 7180 } 7181 for (int i = 0; i < element.getUseContext().size(); i++) { 7182 composeUsageContext(t, "ConceptMap", "useContext", element.getUseContext().get(i), i); 7183 } 7184 for (int i = 0; i < element.getJurisdiction().size(); i++) { 7185 composeCodeableConcept(t, "ConceptMap", "jurisdiction", element.getJurisdiction().get(i), i); 7186 } 7187 if (element.hasPurposeElement()) { 7188 composeMarkdown(t, "ConceptMap", "purpose", element.getPurposeElement(), -1); 7189 } 7190 if (element.hasCopyrightElement()) { 7191 composeMarkdown(t, "ConceptMap", "copyright", element.getCopyrightElement(), -1); 7192 } 7193 if (element.hasSource()) { 7194 composeType(t, "ConceptMap", "source", element.getSource(), -1); 7195 } 7196 if (element.hasTarget()) { 7197 composeType(t, "ConceptMap", "target", element.getTarget(), -1); 7198 } 7199 for (int i = 0; i < element.getGroup().size(); i++) { 7200 composeConceptMapGroupComponent(t, "ConceptMap", "group", element.getGroup().get(i), i); 7201 } 7202 } 7203 7204 protected void composeConceptMapGroupComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupComponent element, int index) { 7205 if (element == null) 7206 return; 7207 Complex t; 7208 if (Utilities.noString(parentType)) 7209 t = parent; 7210 else { 7211 t = parent.predicate("fhir:"+parentType+'.'+name); 7212 } 7213 composeBackboneElement(t, "group", name, element, index); 7214 if (element.hasSourceElement()) { 7215 composeCanonical(t, "ConceptMapGroupComponent", "source", element.getSourceElement(), -1); 7216 } 7217 if (element.hasTargetElement()) { 7218 composeCanonical(t, "ConceptMapGroupComponent", "target", element.getTargetElement(), -1); 7219 } 7220 for (int i = 0; i < element.getElement().size(); i++) { 7221 composeConceptMapSourceElementComponent(t, "ConceptMapGroupComponent", "element", element.getElement().get(i), i); 7222 } 7223 if (element.hasUnmapped()) { 7224 composeConceptMapGroupUnmappedComponent(t, "ConceptMapGroupComponent", "unmapped", element.getUnmapped(), -1); 7225 } 7226 } 7227 7228 protected void composeConceptMapSourceElementComponent(Complex parent, String parentType, String name, ConceptMap.SourceElementComponent element, int index) { 7229 if (element == null) 7230 return; 7231 Complex t; 7232 if (Utilities.noString(parentType)) 7233 t = parent; 7234 else { 7235 t = parent.predicate("fhir:"+parentType+'.'+name); 7236 } 7237 composeBackboneElement(t, "element", name, element, index); 7238 if (element.hasCodeElement()) { 7239 composeCode(t, "SourceElementComponent", "code", element.getCodeElement(), -1); 7240 } 7241 if (element.hasDisplayElement()) { 7242 composeString(t, "SourceElementComponent", "display", element.getDisplayElement(), -1); 7243 } 7244 if (element.hasNoMapElement()) { 7245 composeBoolean(t, "SourceElementComponent", "noMap", element.getNoMapElement(), -1); 7246 } 7247 for (int i = 0; i < element.getTarget().size(); i++) { 7248 composeConceptMapTargetElementComponent(t, "SourceElementComponent", "target", element.getTarget().get(i), i); 7249 } 7250 } 7251 7252 protected void composeConceptMapTargetElementComponent(Complex parent, String parentType, String name, ConceptMap.TargetElementComponent element, int index) { 7253 if (element == null) 7254 return; 7255 Complex t; 7256 if (Utilities.noString(parentType)) 7257 t = parent; 7258 else { 7259 t = parent.predicate("fhir:"+parentType+'.'+name); 7260 } 7261 composeBackboneElement(t, "target", name, element, index); 7262 if (element.hasCodeElement()) { 7263 composeCode(t, "TargetElementComponent", "code", element.getCodeElement(), -1); 7264 } 7265 if (element.hasDisplayElement()) { 7266 composeString(t, "TargetElementComponent", "display", element.getDisplayElement(), -1); 7267 } 7268 if (element.hasRelationshipElement()) { 7269 composeEnum(t, "TargetElementComponent", "relationship", element.getRelationshipElement(), -1); 7270 } 7271 if (element.hasCommentElement()) { 7272 composeString(t, "TargetElementComponent", "comment", element.getCommentElement(), -1); 7273 } 7274 for (int i = 0; i < element.getDependsOn().size(); i++) { 7275 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "dependsOn", element.getDependsOn().get(i), i); 7276 } 7277 for (int i = 0; i < element.getProduct().size(); i++) { 7278 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "product", element.getProduct().get(i), i); 7279 } 7280 } 7281 7282 protected void composeConceptMapOtherElementComponent(Complex parent, String parentType, String name, ConceptMap.OtherElementComponent element, int index) { 7283 if (element == null) 7284 return; 7285 Complex t; 7286 if (Utilities.noString(parentType)) 7287 t = parent; 7288 else { 7289 t = parent.predicate("fhir:"+parentType+'.'+name); 7290 } 7291 composeBackboneElement(t, "dependsOn", name, element, index); 7292 if (element.hasPropertyElement()) { 7293 composeUri(t, "OtherElementComponent", "property", element.getPropertyElement(), -1); 7294 } 7295 if (element.hasSystemElement()) { 7296 composeCanonical(t, "OtherElementComponent", "system", element.getSystemElement(), -1); 7297 } 7298 if (element.hasValueElement()) { 7299 composeString(t, "OtherElementComponent", "value", element.getValueElement(), -1); 7300 } 7301 if (element.hasDisplayElement()) { 7302 composeString(t, "OtherElementComponent", "display", element.getDisplayElement(), -1); 7303 } 7304 } 7305 7306 protected void composeConceptMapGroupUnmappedComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupUnmappedComponent element, int index) { 7307 if (element == null) 7308 return; 7309 Complex t; 7310 if (Utilities.noString(parentType)) 7311 t = parent; 7312 else { 7313 t = parent.predicate("fhir:"+parentType+'.'+name); 7314 } 7315 composeBackboneElement(t, "unmapped", name, element, index); 7316 if (element.hasModeElement()) { 7317 composeEnum(t, "ConceptMapGroupUnmappedComponent", "mode", element.getModeElement(), -1); 7318 } 7319 if (element.hasCodeElement()) { 7320 composeCode(t, "ConceptMapGroupUnmappedComponent", "code", element.getCodeElement(), -1); 7321 } 7322 if (element.hasDisplayElement()) { 7323 composeString(t, "ConceptMapGroupUnmappedComponent", "display", element.getDisplayElement(), -1); 7324 } 7325 if (element.hasUrlElement()) { 7326 composeCanonical(t, "ConceptMapGroupUnmappedComponent", "url", element.getUrlElement(), -1); 7327 } 7328 } 7329 7330 protected void composeConceptMap2(Complex parent, String parentType, String name, ConceptMap2 element, int index) { 7331 if (element == null) 7332 return; 7333 Complex t; 7334 if (Utilities.noString(parentType)) 7335 t = parent; 7336 else { 7337 t = parent.predicate("fhir:"+parentType+'.'+name); 7338 } 7339 composeCanonicalResource(t, "ConceptMap2", name, element, index); 7340 if (element.hasUrlElement()) { 7341 composeUri(t, "ConceptMap2", "url", element.getUrlElement(), -1); 7342 } 7343 for (int i = 0; i < element.getIdentifier().size(); i++) { 7344 composeIdentifier(t, "ConceptMap2", "identifier", element.getIdentifier().get(i), i); 7345 } 7346 if (element.hasVersionElement()) { 7347 composeString(t, "ConceptMap2", "version", element.getVersionElement(), -1); 7348 } 7349 if (element.hasNameElement()) { 7350 composeString(t, "ConceptMap2", "name", element.getNameElement(), -1); 7351 } 7352 if (element.hasTitleElement()) { 7353 composeString(t, "ConceptMap2", "title", element.getTitleElement(), -1); 7354 } 7355 if (element.hasStatusElement()) { 7356 composeEnum(t, "ConceptMap2", "status", element.getStatusElement(), -1); 7357 } 7358 if (element.hasExperimentalElement()) { 7359 composeBoolean(t, "ConceptMap2", "experimental", element.getExperimentalElement(), -1); 7360 } 7361 if (element.hasDateElement()) { 7362 composeDateTime(t, "ConceptMap2", "date", element.getDateElement(), -1); 7363 } 7364 if (element.hasPublisherElement()) { 7365 composeString(t, "ConceptMap2", "publisher", element.getPublisherElement(), -1); 7366 } 7367 for (int i = 0; i < element.getContact().size(); i++) { 7368 composeContactDetail(t, "ConceptMap2", "contact", element.getContact().get(i), i); 7369 } 7370 if (element.hasDescriptionElement()) { 7371 composeMarkdown(t, "ConceptMap2", "description", element.getDescriptionElement(), -1); 7372 } 7373 for (int i = 0; i < element.getUseContext().size(); i++) { 7374 composeUsageContext(t, "ConceptMap2", "useContext", element.getUseContext().get(i), i); 7375 } 7376 for (int i = 0; i < element.getJurisdiction().size(); i++) { 7377 composeCodeableConcept(t, "ConceptMap2", "jurisdiction", element.getJurisdiction().get(i), i); 7378 } 7379 if (element.hasPurposeElement()) { 7380 composeMarkdown(t, "ConceptMap2", "purpose", element.getPurposeElement(), -1); 7381 } 7382 if (element.hasCopyrightElement()) { 7383 composeMarkdown(t, "ConceptMap2", "copyright", element.getCopyrightElement(), -1); 7384 } 7385 if (element.hasSource()) { 7386 composeType(t, "ConceptMap2", "source", element.getSource(), -1); 7387 } 7388 if (element.hasTarget()) { 7389 composeType(t, "ConceptMap2", "target", element.getTarget(), -1); 7390 } 7391 for (int i = 0; i < element.getGroup().size(); i++) { 7392 composeConceptMap2GroupComponent(t, "ConceptMap2", "group", element.getGroup().get(i), i); 7393 } 7394 } 7395 7396 protected void composeConceptMap2GroupComponent(Complex parent, String parentType, String name, ConceptMap2.ConceptMap2GroupComponent element, int index) { 7397 if (element == null) 7398 return; 7399 Complex t; 7400 if (Utilities.noString(parentType)) 7401 t = parent; 7402 else { 7403 t = parent.predicate("fhir:"+parentType+'.'+name); 7404 } 7405 composeBackboneElement(t, "group", name, element, index); 7406 if (element.hasSourceElement()) { 7407 composeCanonical(t, "ConceptMap2GroupComponent", "source", element.getSourceElement(), -1); 7408 } 7409 if (element.hasTargetElement()) { 7410 composeCanonical(t, "ConceptMap2GroupComponent", "target", element.getTargetElement(), -1); 7411 } 7412 for (int i = 0; i < element.getElement().size(); i++) { 7413 composeConceptMap2SourceElementComponent(t, "ConceptMap2GroupComponent", "element", element.getElement().get(i), i); 7414 } 7415 if (element.hasUnmapped()) { 7416 composeConceptMap2GroupUnmappedComponent(t, "ConceptMap2GroupComponent", "unmapped", element.getUnmapped(), -1); 7417 } 7418 } 7419 7420 protected void composeConceptMap2SourceElementComponent(Complex parent, String parentType, String name, ConceptMap2.SourceElementComponent element, int index) { 7421 if (element == null) 7422 return; 7423 Complex t; 7424 if (Utilities.noString(parentType)) 7425 t = parent; 7426 else { 7427 t = parent.predicate("fhir:"+parentType+'.'+name); 7428 } 7429 composeBackboneElement(t, "element", name, element, index); 7430 if (element.hasCodeElement()) { 7431 composeCode(t, "SourceElementComponent", "code", element.getCodeElement(), -1); 7432 } 7433 if (element.hasDisplayElement()) { 7434 composeString(t, "SourceElementComponent", "display", element.getDisplayElement(), -1); 7435 } 7436 if (element.hasValueSetElement()) { 7437 composeCanonical(t, "SourceElementComponent", "valueSet", element.getValueSetElement(), -1); 7438 } 7439 if (element.hasNoMapElement()) { 7440 composeBoolean(t, "SourceElementComponent", "noMap", element.getNoMapElement(), -1); 7441 } 7442 for (int i = 0; i < element.getTarget().size(); i++) { 7443 composeConceptMap2TargetElementComponent(t, "SourceElementComponent", "target", element.getTarget().get(i), i); 7444 } 7445 } 7446 7447 protected void composeConceptMap2TargetElementComponent(Complex parent, String parentType, String name, ConceptMap2.TargetElementComponent element, int index) { 7448 if (element == null) 7449 return; 7450 Complex t; 7451 if (Utilities.noString(parentType)) 7452 t = parent; 7453 else { 7454 t = parent.predicate("fhir:"+parentType+'.'+name); 7455 } 7456 composeBackboneElement(t, "target", name, element, index); 7457 if (element.hasCodeElement()) { 7458 composeCode(t, "TargetElementComponent", "code", element.getCodeElement(), -1); 7459 } 7460 if (element.hasDisplayElement()) { 7461 composeString(t, "TargetElementComponent", "display", element.getDisplayElement(), -1); 7462 } 7463 if (element.hasValueSetElement()) { 7464 composeCanonical(t, "TargetElementComponent", "valueSet", element.getValueSetElement(), -1); 7465 } 7466 if (element.hasRelationshipElement()) { 7467 composeEnum(t, "TargetElementComponent", "relationship", element.getRelationshipElement(), -1); 7468 } 7469 if (element.hasCommentElement()) { 7470 composeString(t, "TargetElementComponent", "comment", element.getCommentElement(), -1); 7471 } 7472 for (int i = 0; i < element.getDependsOn().size(); i++) { 7473 composeConceptMap2OtherElementComponent(t, "TargetElementComponent", "dependsOn", element.getDependsOn().get(i), i); 7474 } 7475 for (int i = 0; i < element.getProduct().size(); i++) { 7476 composeConceptMap2OtherElementComponent(t, "TargetElementComponent", "product", element.getProduct().get(i), i); 7477 } 7478 } 7479 7480 protected void composeConceptMap2OtherElementComponent(Complex parent, String parentType, String name, ConceptMap2.OtherElementComponent element, int index) { 7481 if (element == null) 7482 return; 7483 Complex t; 7484 if (Utilities.noString(parentType)) 7485 t = parent; 7486 else { 7487 t = parent.predicate("fhir:"+parentType+'.'+name); 7488 } 7489 composeBackboneElement(t, "dependsOn", name, element, index); 7490 if (element.hasPropertyElement()) { 7491 composeUri(t, "OtherElementComponent", "property", element.getPropertyElement(), -1); 7492 } 7493 if (element.hasValue()) { 7494 composeType(t, "OtherElementComponent", "value", element.getValue(), -1); 7495 } 7496 } 7497 7498 protected void composeConceptMap2GroupUnmappedComponent(Complex parent, String parentType, String name, ConceptMap2.ConceptMap2GroupUnmappedComponent element, int index) { 7499 if (element == null) 7500 return; 7501 Complex t; 7502 if (Utilities.noString(parentType)) 7503 t = parent; 7504 else { 7505 t = parent.predicate("fhir:"+parentType+'.'+name); 7506 } 7507 composeBackboneElement(t, "unmapped", name, element, index); 7508 if (element.hasModeElement()) { 7509 composeEnum(t, "ConceptMap2GroupUnmappedComponent", "mode", element.getModeElement(), -1); 7510 } 7511 if (element.hasCodeElement()) { 7512 composeCode(t, "ConceptMap2GroupUnmappedComponent", "code", element.getCodeElement(), -1); 7513 } 7514 if (element.hasDisplayElement()) { 7515 composeString(t, "ConceptMap2GroupUnmappedComponent", "display", element.getDisplayElement(), -1); 7516 } 7517 if (element.hasValueSetElement()) { 7518 composeCanonical(t, "ConceptMap2GroupUnmappedComponent", "valueSet", element.getValueSetElement(), -1); 7519 } 7520 if (element.hasUrlElement()) { 7521 composeCanonical(t, "ConceptMap2GroupUnmappedComponent", "url", element.getUrlElement(), -1); 7522 } 7523 } 7524 7525 protected void composeCondition(Complex parent, String parentType, String name, Condition element, int index) { 7526 if (element == null) 7527 return; 7528 Complex t; 7529 if (Utilities.noString(parentType)) 7530 t = parent; 7531 else { 7532 t = parent.predicate("fhir:"+parentType+'.'+name); 7533 } 7534 composeDomainResource(t, "Condition", name, element, index); 7535 for (int i = 0; i < element.getIdentifier().size(); i++) { 7536 composeIdentifier(t, "Condition", "identifier", element.getIdentifier().get(i), i); 7537 } 7538 if (element.hasClinicalStatus()) { 7539 composeCodeableConcept(t, "Condition", "clinicalStatus", element.getClinicalStatus(), -1); 7540 } 7541 if (element.hasVerificationStatus()) { 7542 composeCodeableConcept(t, "Condition", "verificationStatus", element.getVerificationStatus(), -1); 7543 } 7544 for (int i = 0; i < element.getCategory().size(); i++) { 7545 composeCodeableConcept(t, "Condition", "category", element.getCategory().get(i), i); 7546 } 7547 if (element.hasSeverity()) { 7548 composeCodeableConcept(t, "Condition", "severity", element.getSeverity(), -1); 7549 } 7550 if (element.hasCode()) { 7551 composeCodeableConcept(t, "Condition", "code", element.getCode(), -1); 7552 } 7553 for (int i = 0; i < element.getBodySite().size(); i++) { 7554 composeCodeableConcept(t, "Condition", "bodySite", element.getBodySite().get(i), i); 7555 } 7556 if (element.hasSubject()) { 7557 composeReference(t, "Condition", "subject", element.getSubject(), -1); 7558 } 7559 if (element.hasEncounter()) { 7560 composeReference(t, "Condition", "encounter", element.getEncounter(), -1); 7561 } 7562 if (element.hasOnset()) { 7563 composeType(t, "Condition", "onset", element.getOnset(), -1); 7564 } 7565 if (element.hasAbatement()) { 7566 composeType(t, "Condition", "abatement", element.getAbatement(), -1); 7567 } 7568 if (element.hasRecordedDateElement()) { 7569 composeDateTime(t, "Condition", "recordedDate", element.getRecordedDateElement(), -1); 7570 } 7571 if (element.hasRecorder()) { 7572 composeReference(t, "Condition", "recorder", element.getRecorder(), -1); 7573 } 7574 if (element.hasAsserter()) { 7575 composeReference(t, "Condition", "asserter", element.getAsserter(), -1); 7576 } 7577 for (int i = 0; i < element.getStage().size(); i++) { 7578 composeConditionStageComponent(t, "Condition", "stage", element.getStage().get(i), i); 7579 } 7580 for (int i = 0; i < element.getEvidence().size(); i++) { 7581 composeConditionEvidenceComponent(t, "Condition", "evidence", element.getEvidence().get(i), i); 7582 } 7583 for (int i = 0; i < element.getNote().size(); i++) { 7584 composeAnnotation(t, "Condition", "note", element.getNote().get(i), i); 7585 } 7586 } 7587 7588 protected void composeConditionStageComponent(Complex parent, String parentType, String name, Condition.ConditionStageComponent element, int index) { 7589 if (element == null) 7590 return; 7591 Complex t; 7592 if (Utilities.noString(parentType)) 7593 t = parent; 7594 else { 7595 t = parent.predicate("fhir:"+parentType+'.'+name); 7596 } 7597 composeBackboneElement(t, "stage", name, element, index); 7598 if (element.hasSummary()) { 7599 composeCodeableConcept(t, "ConditionStageComponent", "summary", element.getSummary(), -1); 7600 } 7601 for (int i = 0; i < element.getAssessment().size(); i++) { 7602 composeReference(t, "ConditionStageComponent", "assessment", element.getAssessment().get(i), i); 7603 } 7604 if (element.hasType()) { 7605 composeCodeableConcept(t, "ConditionStageComponent", "type", element.getType(), -1); 7606 } 7607 } 7608 7609 protected void composeConditionEvidenceComponent(Complex parent, String parentType, String name, Condition.ConditionEvidenceComponent element, int index) { 7610 if (element == null) 7611 return; 7612 Complex t; 7613 if (Utilities.noString(parentType)) 7614 t = parent; 7615 else { 7616 t = parent.predicate("fhir:"+parentType+'.'+name); 7617 } 7618 composeBackboneElement(t, "evidence", name, element, index); 7619 for (int i = 0; i < element.getCode().size(); i++) { 7620 composeCodeableConcept(t, "ConditionEvidenceComponent", "code", element.getCode().get(i), i); 7621 } 7622 for (int i = 0; i < element.getDetail().size(); i++) { 7623 composeReference(t, "ConditionEvidenceComponent", "detail", element.getDetail().get(i), i); 7624 } 7625 } 7626 7627 protected void composeConditionDefinition(Complex parent, String parentType, String name, ConditionDefinition element, int index) { 7628 if (element == null) 7629 return; 7630 Complex t; 7631 if (Utilities.noString(parentType)) 7632 t = parent; 7633 else { 7634 t = parent.predicate("fhir:"+parentType+'.'+name); 7635 } 7636 composeMetadataResource(t, "ConditionDefinition", name, element, index); 7637 if (element.hasUrlElement()) { 7638 composeUri(t, "ConditionDefinition", "url", element.getUrlElement(), -1); 7639 } 7640 for (int i = 0; i < element.getIdentifier().size(); i++) { 7641 composeIdentifier(t, "ConditionDefinition", "identifier", element.getIdentifier().get(i), i); 7642 } 7643 if (element.hasVersionElement()) { 7644 composeString(t, "ConditionDefinition", "version", element.getVersionElement(), -1); 7645 } 7646 if (element.hasNameElement()) { 7647 composeString(t, "ConditionDefinition", "name", element.getNameElement(), -1); 7648 } 7649 if (element.hasTitleElement()) { 7650 composeString(t, "ConditionDefinition", "title", element.getTitleElement(), -1); 7651 } 7652 if (element.hasSubtitleElement()) { 7653 composeString(t, "ConditionDefinition", "subtitle", element.getSubtitleElement(), -1); 7654 } 7655 if (element.hasStatusElement()) { 7656 composeEnum(t, "ConditionDefinition", "status", element.getStatusElement(), -1); 7657 } 7658 if (element.hasExperimentalElement()) { 7659 composeBoolean(t, "ConditionDefinition", "experimental", element.getExperimentalElement(), -1); 7660 } 7661 if (element.hasDateElement()) { 7662 composeDateTime(t, "ConditionDefinition", "date", element.getDateElement(), -1); 7663 } 7664 if (element.hasPublisherElement()) { 7665 composeString(t, "ConditionDefinition", "publisher", element.getPublisherElement(), -1); 7666 } 7667 for (int i = 0; i < element.getContact().size(); i++) { 7668 composeContactDetail(t, "ConditionDefinition", "contact", element.getContact().get(i), i); 7669 } 7670 if (element.hasDescriptionElement()) { 7671 composeMarkdown(t, "ConditionDefinition", "description", element.getDescriptionElement(), -1); 7672 } 7673 for (int i = 0; i < element.getUseContext().size(); i++) { 7674 composeUsageContext(t, "ConditionDefinition", "useContext", element.getUseContext().get(i), i); 7675 } 7676 for (int i = 0; i < element.getJurisdiction().size(); i++) { 7677 composeCodeableConcept(t, "ConditionDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 7678 } 7679 if (element.hasCode()) { 7680 composeCodeableConcept(t, "ConditionDefinition", "code", element.getCode(), -1); 7681 } 7682 if (element.hasSeverity()) { 7683 composeCodeableConcept(t, "ConditionDefinition", "severity", element.getSeverity(), -1); 7684 } 7685 if (element.hasBodySite()) { 7686 composeCodeableConcept(t, "ConditionDefinition", "bodySite", element.getBodySite(), -1); 7687 } 7688 if (element.hasStage()) { 7689 composeCodeableConcept(t, "ConditionDefinition", "stage", element.getStage(), -1); 7690 } 7691 if (element.hasHasSeverityElement()) { 7692 composeBoolean(t, "ConditionDefinition", "hasSeverity", element.getHasSeverityElement(), -1); 7693 } 7694 if (element.hasHasBodySiteElement()) { 7695 composeBoolean(t, "ConditionDefinition", "hasBodySite", element.getHasBodySiteElement(), -1); 7696 } 7697 if (element.hasHasStageElement()) { 7698 composeBoolean(t, "ConditionDefinition", "hasStage", element.getHasStageElement(), -1); 7699 } 7700 for (int i = 0; i < element.getDefinition().size(); i++) { 7701 composeUri(t, "ConditionDefinition", "definition", element.getDefinition().get(i), i); 7702 } 7703 for (int i = 0; i < element.getObservation().size(); i++) { 7704 composeConditionDefinitionObservationComponent(t, "ConditionDefinition", "observation", element.getObservation().get(i), i); 7705 } 7706 for (int i = 0; i < element.getMedication().size(); i++) { 7707 composeConditionDefinitionMedicationComponent(t, "ConditionDefinition", "medication", element.getMedication().get(i), i); 7708 } 7709 for (int i = 0; i < element.getPrecondition().size(); i++) { 7710 composeConditionDefinitionPreconditionComponent(t, "ConditionDefinition", "precondition", element.getPrecondition().get(i), i); 7711 } 7712 for (int i = 0; i < element.getTeam().size(); i++) { 7713 composeReference(t, "ConditionDefinition", "team", element.getTeam().get(i), i); 7714 } 7715 for (int i = 0; i < element.getQuestionnaire().size(); i++) { 7716 composeConditionDefinitionQuestionnaireComponent(t, "ConditionDefinition", "questionnaire", element.getQuestionnaire().get(i), i); 7717 } 7718 for (int i = 0; i < element.getPlan().size(); i++) { 7719 composeConditionDefinitionPlanComponent(t, "ConditionDefinition", "plan", element.getPlan().get(i), i); 7720 } 7721 } 7722 7723 protected void composeConditionDefinitionObservationComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionObservationComponent element, int index) { 7724 if (element == null) 7725 return; 7726 Complex t; 7727 if (Utilities.noString(parentType)) 7728 t = parent; 7729 else { 7730 t = parent.predicate("fhir:"+parentType+'.'+name); 7731 } 7732 composeBackboneElement(t, "observation", name, element, index); 7733 if (element.hasCategory()) { 7734 composeCodeableConcept(t, "ConditionDefinitionObservationComponent", "category", element.getCategory(), -1); 7735 } 7736 if (element.hasCode()) { 7737 composeCodeableConcept(t, "ConditionDefinitionObservationComponent", "code", element.getCode(), -1); 7738 } 7739 } 7740 7741 protected void composeConditionDefinitionMedicationComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionMedicationComponent element, int index) { 7742 if (element == null) 7743 return; 7744 Complex t; 7745 if (Utilities.noString(parentType)) 7746 t = parent; 7747 else { 7748 t = parent.predicate("fhir:"+parentType+'.'+name); 7749 } 7750 composeBackboneElement(t, "medication", name, element, index); 7751 if (element.hasCategory()) { 7752 composeCodeableConcept(t, "ConditionDefinitionMedicationComponent", "category", element.getCategory(), -1); 7753 } 7754 if (element.hasCode()) { 7755 composeCodeableConcept(t, "ConditionDefinitionMedicationComponent", "code", element.getCode(), -1); 7756 } 7757 } 7758 7759 protected void composeConditionDefinitionPreconditionComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionPreconditionComponent element, int index) { 7760 if (element == null) 7761 return; 7762 Complex t; 7763 if (Utilities.noString(parentType)) 7764 t = parent; 7765 else { 7766 t = parent.predicate("fhir:"+parentType+'.'+name); 7767 } 7768 composeBackboneElement(t, "precondition", name, element, index); 7769 if (element.hasTypeElement()) { 7770 composeEnum(t, "ConditionDefinitionPreconditionComponent", "type", element.getTypeElement(), -1); 7771 } 7772 if (element.hasCode()) { 7773 composeCodeableConcept(t, "ConditionDefinitionPreconditionComponent", "code", element.getCode(), -1); 7774 } 7775 if (element.hasValue()) { 7776 composeType(t, "ConditionDefinitionPreconditionComponent", "value", element.getValue(), -1); 7777 } 7778 } 7779 7780 protected void composeConditionDefinitionQuestionnaireComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionQuestionnaireComponent element, int index) { 7781 if (element == null) 7782 return; 7783 Complex t; 7784 if (Utilities.noString(parentType)) 7785 t = parent; 7786 else { 7787 t = parent.predicate("fhir:"+parentType+'.'+name); 7788 } 7789 composeBackboneElement(t, "questionnaire", name, element, index); 7790 if (element.hasPurposeElement()) { 7791 composeEnum(t, "ConditionDefinitionQuestionnaireComponent", "purpose", element.getPurposeElement(), -1); 7792 } 7793 if (element.hasReference()) { 7794 composeReference(t, "ConditionDefinitionQuestionnaireComponent", "reference", element.getReference(), -1); 7795 } 7796 } 7797 7798 protected void composeConditionDefinitionPlanComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionPlanComponent element, int index) { 7799 if (element == null) 7800 return; 7801 Complex t; 7802 if (Utilities.noString(parentType)) 7803 t = parent; 7804 else { 7805 t = parent.predicate("fhir:"+parentType+'.'+name); 7806 } 7807 composeBackboneElement(t, "plan", name, element, index); 7808 if (element.hasRole()) { 7809 composeCodeableConcept(t, "ConditionDefinitionPlanComponent", "role", element.getRole(), -1); 7810 } 7811 if (element.hasReference()) { 7812 composeReference(t, "ConditionDefinitionPlanComponent", "reference", element.getReference(), -1); 7813 } 7814 } 7815 7816 protected void composeConsent(Complex parent, String parentType, String name, Consent element, int index) { 7817 if (element == null) 7818 return; 7819 Complex t; 7820 if (Utilities.noString(parentType)) 7821 t = parent; 7822 else { 7823 t = parent.predicate("fhir:"+parentType+'.'+name); 7824 } 7825 composeDomainResource(t, "Consent", name, element, index); 7826 for (int i = 0; i < element.getIdentifier().size(); i++) { 7827 composeIdentifier(t, "Consent", "identifier", element.getIdentifier().get(i), i); 7828 } 7829 if (element.hasStatusElement()) { 7830 composeEnum(t, "Consent", "status", element.getStatusElement(), -1); 7831 } 7832 for (int i = 0; i < element.getCategory().size(); i++) { 7833 composeCodeableConcept(t, "Consent", "category", element.getCategory().get(i), i); 7834 } 7835 if (element.hasSubject()) { 7836 composeReference(t, "Consent", "subject", element.getSubject(), -1); 7837 } 7838 if (element.hasDateTimeElement()) { 7839 composeDateTime(t, "Consent", "dateTime", element.getDateTimeElement(), -1); 7840 } 7841 for (int i = 0; i < element.getGrantor().size(); i++) { 7842 composeReference(t, "Consent", "grantor", element.getGrantor().get(i), i); 7843 } 7844 for (int i = 0; i < element.getGrantee().size(); i++) { 7845 composeReference(t, "Consent", "grantee", element.getGrantee().get(i), i); 7846 } 7847 for (int i = 0; i < element.getManager().size(); i++) { 7848 composeReference(t, "Consent", "manager", element.getManager().get(i), i); 7849 } 7850 for (int i = 0; i < element.getController().size(); i++) { 7851 composeReference(t, "Consent", "controller", element.getController().get(i), i); 7852 } 7853 for (int i = 0; i < element.getSourceAttachment().size(); i++) { 7854 composeAttachment(t, "Consent", "sourceAttachment", element.getSourceAttachment().get(i), i); 7855 } 7856 for (int i = 0; i < element.getSourceReference().size(); i++) { 7857 composeReference(t, "Consent", "sourceReference", element.getSourceReference().get(i), i); 7858 } 7859 for (int i = 0; i < element.getPolicy().size(); i++) { 7860 composeConsentPolicyComponent(t, "Consent", "policy", element.getPolicy().get(i), i); 7861 } 7862 if (element.hasPolicyRule()) { 7863 composeCodeableConcept(t, "Consent", "policyRule", element.getPolicyRule(), -1); 7864 } 7865 for (int i = 0; i < element.getVerification().size(); i++) { 7866 composeConsentVerificationComponent(t, "Consent", "verification", element.getVerification().get(i), i); 7867 } 7868 if (element.hasProvision()) { 7869 composeConsentProvisionComponent(t, "Consent", "provision", element.getProvision(), -1); 7870 } 7871 } 7872 7873 protected void composeConsentPolicyComponent(Complex parent, String parentType, String name, Consent.ConsentPolicyComponent element, int index) { 7874 if (element == null) 7875 return; 7876 Complex t; 7877 if (Utilities.noString(parentType)) 7878 t = parent; 7879 else { 7880 t = parent.predicate("fhir:"+parentType+'.'+name); 7881 } 7882 composeBackboneElement(t, "policy", name, element, index); 7883 if (element.hasAuthorityElement()) { 7884 composeUri(t, "ConsentPolicyComponent", "authority", element.getAuthorityElement(), -1); 7885 } 7886 if (element.hasUriElement()) { 7887 composeUri(t, "ConsentPolicyComponent", "uri", element.getUriElement(), -1); 7888 } 7889 } 7890 7891 protected void composeConsentVerificationComponent(Complex parent, String parentType, String name, Consent.ConsentVerificationComponent element, int index) { 7892 if (element == null) 7893 return; 7894 Complex t; 7895 if (Utilities.noString(parentType)) 7896 t = parent; 7897 else { 7898 t = parent.predicate("fhir:"+parentType+'.'+name); 7899 } 7900 composeBackboneElement(t, "verification", name, element, index); 7901 if (element.hasVerifiedElement()) { 7902 composeBoolean(t, "ConsentVerificationComponent", "verified", element.getVerifiedElement(), -1); 7903 } 7904 if (element.hasVerificationType()) { 7905 composeCodeableConcept(t, "ConsentVerificationComponent", "verificationType", element.getVerificationType(), -1); 7906 } 7907 if (element.hasVerifiedBy()) { 7908 composeReference(t, "ConsentVerificationComponent", "verifiedBy", element.getVerifiedBy(), -1); 7909 } 7910 if (element.hasVerifiedWith()) { 7911 composeReference(t, "ConsentVerificationComponent", "verifiedWith", element.getVerifiedWith(), -1); 7912 } 7913 for (int i = 0; i < element.getVerificationDate().size(); i++) { 7914 composeDateTime(t, "ConsentVerificationComponent", "verificationDate", element.getVerificationDate().get(i), i); 7915 } 7916 } 7917 7918 protected void composeConsentProvisionComponent(Complex parent, String parentType, String name, Consent.ProvisionComponent element, int index) { 7919 if (element == null) 7920 return; 7921 Complex t; 7922 if (Utilities.noString(parentType)) 7923 t = parent; 7924 else { 7925 t = parent.predicate("fhir:"+parentType+'.'+name); 7926 } 7927 composeBackboneElement(t, "provision", name, element, index); 7928 if (element.hasTypeElement()) { 7929 composeEnum(t, "ProvisionComponent", "type", element.getTypeElement(), -1); 7930 } 7931 if (element.hasPeriod()) { 7932 composePeriod(t, "ProvisionComponent", "period", element.getPeriod(), -1); 7933 } 7934 for (int i = 0; i < element.getActor().size(); i++) { 7935 composeConsentProvisionActorComponent(t, "ProvisionComponent", "actor", element.getActor().get(i), i); 7936 } 7937 for (int i = 0; i < element.getAction().size(); i++) { 7938 composeCodeableConcept(t, "ProvisionComponent", "action", element.getAction().get(i), i); 7939 } 7940 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 7941 composeCoding(t, "ProvisionComponent", "securityLabel", element.getSecurityLabel().get(i), i); 7942 } 7943 for (int i = 0; i < element.getPurpose().size(); i++) { 7944 composeCoding(t, "ProvisionComponent", "purpose", element.getPurpose().get(i), i); 7945 } 7946 for (int i = 0; i < element.getClass_().size(); i++) { 7947 composeCoding(t, "ProvisionComponent", "class", element.getClass_().get(i), i); 7948 } 7949 for (int i = 0; i < element.getCode().size(); i++) { 7950 composeCodeableConcept(t, "ProvisionComponent", "code", element.getCode().get(i), i); 7951 } 7952 if (element.hasDataPeriod()) { 7953 composePeriod(t, "ProvisionComponent", "dataPeriod", element.getDataPeriod(), -1); 7954 } 7955 for (int i = 0; i < element.getData().size(); i++) { 7956 composeConsentProvisionDataComponent(t, "ProvisionComponent", "data", element.getData().get(i), i); 7957 } 7958 if (element.hasExpression()) { 7959 composeExpression(t, "ProvisionComponent", "expression", element.getExpression(), -1); 7960 } 7961 for (int i = 0; i < element.getProvision().size(); i++) { 7962 composeConsentProvisionComponent(t, "ProvisionComponent", "provision", element.getProvision().get(i), i); 7963 } 7964 } 7965 7966 protected void composeConsentProvisionActorComponent(Complex parent, String parentType, String name, Consent.ProvisionActorComponent element, int index) { 7967 if (element == null) 7968 return; 7969 Complex t; 7970 if (Utilities.noString(parentType)) 7971 t = parent; 7972 else { 7973 t = parent.predicate("fhir:"+parentType+'.'+name); 7974 } 7975 composeBackboneElement(t, "actor", name, element, index); 7976 if (element.hasRole()) { 7977 composeCodeableConcept(t, "ProvisionActorComponent", "role", element.getRole(), -1); 7978 } 7979 if (element.hasReference()) { 7980 composeReference(t, "ProvisionActorComponent", "reference", element.getReference(), -1); 7981 } 7982 } 7983 7984 protected void composeConsentProvisionDataComponent(Complex parent, String parentType, String name, Consent.ProvisionDataComponent element, int index) { 7985 if (element == null) 7986 return; 7987 Complex t; 7988 if (Utilities.noString(parentType)) 7989 t = parent; 7990 else { 7991 t = parent.predicate("fhir:"+parentType+'.'+name); 7992 } 7993 composeBackboneElement(t, "data", name, element, index); 7994 if (element.hasMeaningElement()) { 7995 composeEnum(t, "ProvisionDataComponent", "meaning", element.getMeaningElement(), -1); 7996 } 7997 if (element.hasReference()) { 7998 composeReference(t, "ProvisionDataComponent", "reference", element.getReference(), -1); 7999 } 8000 } 8001 8002 protected void composeContract(Complex parent, String parentType, String name, Contract element, int index) { 8003 if (element == null) 8004 return; 8005 Complex t; 8006 if (Utilities.noString(parentType)) 8007 t = parent; 8008 else { 8009 t = parent.predicate("fhir:"+parentType+'.'+name); 8010 } 8011 composeDomainResource(t, "Contract", name, element, index); 8012 for (int i = 0; i < element.getIdentifier().size(); i++) { 8013 composeIdentifier(t, "Contract", "identifier", element.getIdentifier().get(i), i); 8014 } 8015 if (element.hasUrlElement()) { 8016 composeUri(t, "Contract", "url", element.getUrlElement(), -1); 8017 } 8018 if (element.hasVersionElement()) { 8019 composeString(t, "Contract", "version", element.getVersionElement(), -1); 8020 } 8021 if (element.hasStatusElement()) { 8022 composeEnum(t, "Contract", "status", element.getStatusElement(), -1); 8023 } 8024 if (element.hasLegalState()) { 8025 composeCodeableConcept(t, "Contract", "legalState", element.getLegalState(), -1); 8026 } 8027 if (element.hasInstantiatesCanonical()) { 8028 composeReference(t, "Contract", "instantiatesCanonical", element.getInstantiatesCanonical(), -1); 8029 } 8030 if (element.hasInstantiatesUriElement()) { 8031 composeUri(t, "Contract", "instantiatesUri", element.getInstantiatesUriElement(), -1); 8032 } 8033 if (element.hasContentDerivative()) { 8034 composeCodeableConcept(t, "Contract", "contentDerivative", element.getContentDerivative(), -1); 8035 } 8036 if (element.hasIssuedElement()) { 8037 composeDateTime(t, "Contract", "issued", element.getIssuedElement(), -1); 8038 } 8039 if (element.hasApplies()) { 8040 composePeriod(t, "Contract", "applies", element.getApplies(), -1); 8041 } 8042 if (element.hasExpirationType()) { 8043 composeCodeableConcept(t, "Contract", "expirationType", element.getExpirationType(), -1); 8044 } 8045 for (int i = 0; i < element.getSubject().size(); i++) { 8046 composeReference(t, "Contract", "subject", element.getSubject().get(i), i); 8047 } 8048 for (int i = 0; i < element.getAuthority().size(); i++) { 8049 composeReference(t, "Contract", "authority", element.getAuthority().get(i), i); 8050 } 8051 for (int i = 0; i < element.getDomain().size(); i++) { 8052 composeReference(t, "Contract", "domain", element.getDomain().get(i), i); 8053 } 8054 for (int i = 0; i < element.getSite().size(); i++) { 8055 composeReference(t, "Contract", "site", element.getSite().get(i), i); 8056 } 8057 if (element.hasNameElement()) { 8058 composeString(t, "Contract", "name", element.getNameElement(), -1); 8059 } 8060 if (element.hasTitleElement()) { 8061 composeString(t, "Contract", "title", element.getTitleElement(), -1); 8062 } 8063 if (element.hasSubtitleElement()) { 8064 composeString(t, "Contract", "subtitle", element.getSubtitleElement(), -1); 8065 } 8066 for (int i = 0; i < element.getAlias().size(); i++) { 8067 composeString(t, "Contract", "alias", element.getAlias().get(i), i); 8068 } 8069 if (element.hasAuthor()) { 8070 composeReference(t, "Contract", "author", element.getAuthor(), -1); 8071 } 8072 if (element.hasScope()) { 8073 composeCodeableConcept(t, "Contract", "scope", element.getScope(), -1); 8074 } 8075 if (element.hasTopic()) { 8076 composeType(t, "Contract", "topic", element.getTopic(), -1); 8077 } 8078 if (element.hasType()) { 8079 composeCodeableConcept(t, "Contract", "type", element.getType(), -1); 8080 } 8081 for (int i = 0; i < element.getSubType().size(); i++) { 8082 composeCodeableConcept(t, "Contract", "subType", element.getSubType().get(i), i); 8083 } 8084 if (element.hasContentDefinition()) { 8085 composeContractContentDefinitionComponent(t, "Contract", "contentDefinition", element.getContentDefinition(), -1); 8086 } 8087 for (int i = 0; i < element.getTerm().size(); i++) { 8088 composeContractTermComponent(t, "Contract", "term", element.getTerm().get(i), i); 8089 } 8090 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 8091 composeReference(t, "Contract", "supportingInfo", element.getSupportingInfo().get(i), i); 8092 } 8093 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 8094 composeReference(t, "Contract", "relevantHistory", element.getRelevantHistory().get(i), i); 8095 } 8096 for (int i = 0; i < element.getSigner().size(); i++) { 8097 composeContractSignatoryComponent(t, "Contract", "signer", element.getSigner().get(i), i); 8098 } 8099 for (int i = 0; i < element.getFriendly().size(); i++) { 8100 composeContractFriendlyLanguageComponent(t, "Contract", "friendly", element.getFriendly().get(i), i); 8101 } 8102 for (int i = 0; i < element.getLegal().size(); i++) { 8103 composeContractLegalLanguageComponent(t, "Contract", "legal", element.getLegal().get(i), i); 8104 } 8105 for (int i = 0; i < element.getRule().size(); i++) { 8106 composeContractComputableLanguageComponent(t, "Contract", "rule", element.getRule().get(i), i); 8107 } 8108 if (element.hasLegallyBinding()) { 8109 composeType(t, "Contract", "legallyBinding", element.getLegallyBinding(), -1); 8110 } 8111 } 8112 8113 protected void composeContractContentDefinitionComponent(Complex parent, String parentType, String name, Contract.ContentDefinitionComponent element, int index) { 8114 if (element == null) 8115 return; 8116 Complex t; 8117 if (Utilities.noString(parentType)) 8118 t = parent; 8119 else { 8120 t = parent.predicate("fhir:"+parentType+'.'+name); 8121 } 8122 composeBackboneElement(t, "contentDefinition", name, element, index); 8123 if (element.hasType()) { 8124 composeCodeableConcept(t, "ContentDefinitionComponent", "type", element.getType(), -1); 8125 } 8126 if (element.hasSubType()) { 8127 composeCodeableConcept(t, "ContentDefinitionComponent", "subType", element.getSubType(), -1); 8128 } 8129 if (element.hasPublisher()) { 8130 composeReference(t, "ContentDefinitionComponent", "publisher", element.getPublisher(), -1); 8131 } 8132 if (element.hasPublicationDateElement()) { 8133 composeDateTime(t, "ContentDefinitionComponent", "publicationDate", element.getPublicationDateElement(), -1); 8134 } 8135 if (element.hasPublicationStatusElement()) { 8136 composeEnum(t, "ContentDefinitionComponent", "publicationStatus", element.getPublicationStatusElement(), -1); 8137 } 8138 if (element.hasCopyrightElement()) { 8139 composeMarkdown(t, "ContentDefinitionComponent", "copyright", element.getCopyrightElement(), -1); 8140 } 8141 } 8142 8143 protected void composeContractTermComponent(Complex parent, String parentType, String name, Contract.TermComponent element, int index) { 8144 if (element == null) 8145 return; 8146 Complex t; 8147 if (Utilities.noString(parentType)) 8148 t = parent; 8149 else { 8150 t = parent.predicate("fhir:"+parentType+'.'+name); 8151 } 8152 composeBackboneElement(t, "term", name, element, index); 8153 if (element.hasIdentifier()) { 8154 composeIdentifier(t, "TermComponent", "identifier", element.getIdentifier(), -1); 8155 } 8156 if (element.hasIssuedElement()) { 8157 composeDateTime(t, "TermComponent", "issued", element.getIssuedElement(), -1); 8158 } 8159 if (element.hasApplies()) { 8160 composePeriod(t, "TermComponent", "applies", element.getApplies(), -1); 8161 } 8162 if (element.hasTopic()) { 8163 composeType(t, "TermComponent", "topic", element.getTopic(), -1); 8164 } 8165 if (element.hasType()) { 8166 composeCodeableConcept(t, "TermComponent", "type", element.getType(), -1); 8167 } 8168 if (element.hasSubType()) { 8169 composeCodeableConcept(t, "TermComponent", "subType", element.getSubType(), -1); 8170 } 8171 if (element.hasTextElement()) { 8172 composeString(t, "TermComponent", "text", element.getTextElement(), -1); 8173 } 8174 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 8175 composeContractSecurityLabelComponent(t, "TermComponent", "securityLabel", element.getSecurityLabel().get(i), i); 8176 } 8177 if (element.hasOffer()) { 8178 composeContractOfferComponent(t, "TermComponent", "offer", element.getOffer(), -1); 8179 } 8180 for (int i = 0; i < element.getAsset().size(); i++) { 8181 composeContractAssetComponent(t, "TermComponent", "asset", element.getAsset().get(i), i); 8182 } 8183 for (int i = 0; i < element.getAction().size(); i++) { 8184 composeContractActionComponent(t, "TermComponent", "action", element.getAction().get(i), i); 8185 } 8186 for (int i = 0; i < element.getGroup().size(); i++) { 8187 composeContractTermComponent(t, "TermComponent", "group", element.getGroup().get(i), i); 8188 } 8189 } 8190 8191 protected void composeContractSecurityLabelComponent(Complex parent, String parentType, String name, Contract.SecurityLabelComponent element, int index) { 8192 if (element == null) 8193 return; 8194 Complex t; 8195 if (Utilities.noString(parentType)) 8196 t = parent; 8197 else { 8198 t = parent.predicate("fhir:"+parentType+'.'+name); 8199 } 8200 composeBackboneElement(t, "securityLabel", name, element, index); 8201 for (int i = 0; i < element.getNumber().size(); i++) { 8202 composeUnsignedInt(t, "SecurityLabelComponent", "number", element.getNumber().get(i), i); 8203 } 8204 if (element.hasClassification()) { 8205 composeCoding(t, "SecurityLabelComponent", "classification", element.getClassification(), -1); 8206 } 8207 for (int i = 0; i < element.getCategory().size(); i++) { 8208 composeCoding(t, "SecurityLabelComponent", "category", element.getCategory().get(i), i); 8209 } 8210 for (int i = 0; i < element.getControl().size(); i++) { 8211 composeCoding(t, "SecurityLabelComponent", "control", element.getControl().get(i), i); 8212 } 8213 } 8214 8215 protected void composeContractOfferComponent(Complex parent, String parentType, String name, Contract.ContractOfferComponent element, int index) { 8216 if (element == null) 8217 return; 8218 Complex t; 8219 if (Utilities.noString(parentType)) 8220 t = parent; 8221 else { 8222 t = parent.predicate("fhir:"+parentType+'.'+name); 8223 } 8224 composeBackboneElement(t, "offer", name, element, index); 8225 for (int i = 0; i < element.getIdentifier().size(); i++) { 8226 composeIdentifier(t, "ContractOfferComponent", "identifier", element.getIdentifier().get(i), i); 8227 } 8228 for (int i = 0; i < element.getParty().size(); i++) { 8229 composeContractPartyComponent(t, "ContractOfferComponent", "party", element.getParty().get(i), i); 8230 } 8231 if (element.hasTopic()) { 8232 composeReference(t, "ContractOfferComponent", "topic", element.getTopic(), -1); 8233 } 8234 if (element.hasType()) { 8235 composeCodeableConcept(t, "ContractOfferComponent", "type", element.getType(), -1); 8236 } 8237 if (element.hasDecision()) { 8238 composeCodeableConcept(t, "ContractOfferComponent", "decision", element.getDecision(), -1); 8239 } 8240 for (int i = 0; i < element.getDecisionMode().size(); i++) { 8241 composeCodeableConcept(t, "ContractOfferComponent", "decisionMode", element.getDecisionMode().get(i), i); 8242 } 8243 for (int i = 0; i < element.getAnswer().size(); i++) { 8244 composeContractAnswerComponent(t, "ContractOfferComponent", "answer", element.getAnswer().get(i), i); 8245 } 8246 if (element.hasTextElement()) { 8247 composeString(t, "ContractOfferComponent", "text", element.getTextElement(), -1); 8248 } 8249 for (int i = 0; i < element.getLinkId().size(); i++) { 8250 composeString(t, "ContractOfferComponent", "linkId", element.getLinkId().get(i), i); 8251 } 8252 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8253 composeUnsignedInt(t, "ContractOfferComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8254 } 8255 } 8256 8257 protected void composeContractPartyComponent(Complex parent, String parentType, String name, Contract.ContractPartyComponent element, int index) { 8258 if (element == null) 8259 return; 8260 Complex t; 8261 if (Utilities.noString(parentType)) 8262 t = parent; 8263 else { 8264 t = parent.predicate("fhir:"+parentType+'.'+name); 8265 } 8266 composeBackboneElement(t, "party", name, element, index); 8267 for (int i = 0; i < element.getReference().size(); i++) { 8268 composeReference(t, "ContractPartyComponent", "reference", element.getReference().get(i), i); 8269 } 8270 if (element.hasRole()) { 8271 composeCodeableConcept(t, "ContractPartyComponent", "role", element.getRole(), -1); 8272 } 8273 } 8274 8275 protected void composeContractAnswerComponent(Complex parent, String parentType, String name, Contract.AnswerComponent element, int index) { 8276 if (element == null) 8277 return; 8278 Complex t; 8279 if (Utilities.noString(parentType)) 8280 t = parent; 8281 else { 8282 t = parent.predicate("fhir:"+parentType+'.'+name); 8283 } 8284 composeBackboneElement(t, "answer", name, element, index); 8285 if (element.hasValue()) { 8286 composeType(t, "AnswerComponent", "value", element.getValue(), -1); 8287 } 8288 } 8289 8290 protected void composeContractAssetComponent(Complex parent, String parentType, String name, Contract.ContractAssetComponent element, int index) { 8291 if (element == null) 8292 return; 8293 Complex t; 8294 if (Utilities.noString(parentType)) 8295 t = parent; 8296 else { 8297 t = parent.predicate("fhir:"+parentType+'.'+name); 8298 } 8299 composeBackboneElement(t, "asset", name, element, index); 8300 if (element.hasScope()) { 8301 composeCodeableConcept(t, "ContractAssetComponent", "scope", element.getScope(), -1); 8302 } 8303 for (int i = 0; i < element.getType().size(); i++) { 8304 composeCodeableConcept(t, "ContractAssetComponent", "type", element.getType().get(i), i); 8305 } 8306 for (int i = 0; i < element.getTypeReference().size(); i++) { 8307 composeReference(t, "ContractAssetComponent", "typeReference", element.getTypeReference().get(i), i); 8308 } 8309 for (int i = 0; i < element.getSubtype().size(); i++) { 8310 composeCodeableConcept(t, "ContractAssetComponent", "subtype", element.getSubtype().get(i), i); 8311 } 8312 if (element.hasRelationship()) { 8313 composeCoding(t, "ContractAssetComponent", "relationship", element.getRelationship(), -1); 8314 } 8315 for (int i = 0; i < element.getContext().size(); i++) { 8316 composeContractAssetContextComponent(t, "ContractAssetComponent", "context", element.getContext().get(i), i); 8317 } 8318 if (element.hasConditionElement()) { 8319 composeString(t, "ContractAssetComponent", "condition", element.getConditionElement(), -1); 8320 } 8321 for (int i = 0; i < element.getPeriodType().size(); i++) { 8322 composeCodeableConcept(t, "ContractAssetComponent", "periodType", element.getPeriodType().get(i), i); 8323 } 8324 for (int i = 0; i < element.getPeriod().size(); i++) { 8325 composePeriod(t, "ContractAssetComponent", "period", element.getPeriod().get(i), i); 8326 } 8327 for (int i = 0; i < element.getUsePeriod().size(); i++) { 8328 composePeriod(t, "ContractAssetComponent", "usePeriod", element.getUsePeriod().get(i), i); 8329 } 8330 if (element.hasTextElement()) { 8331 composeString(t, "ContractAssetComponent", "text", element.getTextElement(), -1); 8332 } 8333 for (int i = 0; i < element.getLinkId().size(); i++) { 8334 composeString(t, "ContractAssetComponent", "linkId", element.getLinkId().get(i), i); 8335 } 8336 for (int i = 0; i < element.getAnswer().size(); i++) { 8337 composeContractAnswerComponent(t, "ContractAssetComponent", "answer", element.getAnswer().get(i), i); 8338 } 8339 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8340 composeUnsignedInt(t, "ContractAssetComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8341 } 8342 for (int i = 0; i < element.getValuedItem().size(); i++) { 8343 composeContractValuedItemComponent(t, "ContractAssetComponent", "valuedItem", element.getValuedItem().get(i), i); 8344 } 8345 } 8346 8347 protected void composeContractAssetContextComponent(Complex parent, String parentType, String name, Contract.AssetContextComponent element, int index) { 8348 if (element == null) 8349 return; 8350 Complex t; 8351 if (Utilities.noString(parentType)) 8352 t = parent; 8353 else { 8354 t = parent.predicate("fhir:"+parentType+'.'+name); 8355 } 8356 composeBackboneElement(t, "context", name, element, index); 8357 if (element.hasReference()) { 8358 composeReference(t, "AssetContextComponent", "reference", element.getReference(), -1); 8359 } 8360 for (int i = 0; i < element.getCode().size(); i++) { 8361 composeCodeableConcept(t, "AssetContextComponent", "code", element.getCode().get(i), i); 8362 } 8363 if (element.hasTextElement()) { 8364 composeString(t, "AssetContextComponent", "text", element.getTextElement(), -1); 8365 } 8366 } 8367 8368 protected void composeContractValuedItemComponent(Complex parent, String parentType, String name, Contract.ValuedItemComponent element, int index) { 8369 if (element == null) 8370 return; 8371 Complex t; 8372 if (Utilities.noString(parentType)) 8373 t = parent; 8374 else { 8375 t = parent.predicate("fhir:"+parentType+'.'+name); 8376 } 8377 composeBackboneElement(t, "valuedItem", name, element, index); 8378 if (element.hasEntity()) { 8379 composeType(t, "ValuedItemComponent", "entity", element.getEntity(), -1); 8380 } 8381 if (element.hasIdentifier()) { 8382 composeIdentifier(t, "ValuedItemComponent", "identifier", element.getIdentifier(), -1); 8383 } 8384 if (element.hasEffectiveTimeElement()) { 8385 composeDateTime(t, "ValuedItemComponent", "effectiveTime", element.getEffectiveTimeElement(), -1); 8386 } 8387 if (element.hasQuantity()) { 8388 composeQuantity(t, "ValuedItemComponent", "quantity", element.getQuantity(), -1); 8389 } 8390 if (element.hasUnitPrice()) { 8391 composeMoney(t, "ValuedItemComponent", "unitPrice", element.getUnitPrice(), -1); 8392 } 8393 if (element.hasFactorElement()) { 8394 composeDecimal(t, "ValuedItemComponent", "factor", element.getFactorElement(), -1); 8395 } 8396 if (element.hasPointsElement()) { 8397 composeDecimal(t, "ValuedItemComponent", "points", element.getPointsElement(), -1); 8398 } 8399 if (element.hasNet()) { 8400 composeMoney(t, "ValuedItemComponent", "net", element.getNet(), -1); 8401 } 8402 if (element.hasPaymentElement()) { 8403 composeString(t, "ValuedItemComponent", "payment", element.getPaymentElement(), -1); 8404 } 8405 if (element.hasPaymentDateElement()) { 8406 composeDateTime(t, "ValuedItemComponent", "paymentDate", element.getPaymentDateElement(), -1); 8407 } 8408 if (element.hasResponsible()) { 8409 composeReference(t, "ValuedItemComponent", "responsible", element.getResponsible(), -1); 8410 } 8411 if (element.hasRecipient()) { 8412 composeReference(t, "ValuedItemComponent", "recipient", element.getRecipient(), -1); 8413 } 8414 for (int i = 0; i < element.getLinkId().size(); i++) { 8415 composeString(t, "ValuedItemComponent", "linkId", element.getLinkId().get(i), i); 8416 } 8417 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8418 composeUnsignedInt(t, "ValuedItemComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8419 } 8420 } 8421 8422 protected void composeContractActionComponent(Complex parent, String parentType, String name, Contract.ActionComponent element, int index) { 8423 if (element == null) 8424 return; 8425 Complex t; 8426 if (Utilities.noString(parentType)) 8427 t = parent; 8428 else { 8429 t = parent.predicate("fhir:"+parentType+'.'+name); 8430 } 8431 composeBackboneElement(t, "action", name, element, index); 8432 if (element.hasDoNotPerformElement()) { 8433 composeBoolean(t, "ActionComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 8434 } 8435 if (element.hasType()) { 8436 composeCodeableConcept(t, "ActionComponent", "type", element.getType(), -1); 8437 } 8438 for (int i = 0; i < element.getSubject().size(); i++) { 8439 composeContractActionSubjectComponent(t, "ActionComponent", "subject", element.getSubject().get(i), i); 8440 } 8441 if (element.hasIntent()) { 8442 composeCodeableConcept(t, "ActionComponent", "intent", element.getIntent(), -1); 8443 } 8444 for (int i = 0; i < element.getLinkId().size(); i++) { 8445 composeString(t, "ActionComponent", "linkId", element.getLinkId().get(i), i); 8446 } 8447 if (element.hasStatus()) { 8448 composeCodeableConcept(t, "ActionComponent", "status", element.getStatus(), -1); 8449 } 8450 if (element.hasContext()) { 8451 composeReference(t, "ActionComponent", "context", element.getContext(), -1); 8452 } 8453 for (int i = 0; i < element.getContextLinkId().size(); i++) { 8454 composeString(t, "ActionComponent", "contextLinkId", element.getContextLinkId().get(i), i); 8455 } 8456 if (element.hasOccurrence()) { 8457 composeType(t, "ActionComponent", "occurrence", element.getOccurrence(), -1); 8458 } 8459 for (int i = 0; i < element.getRequester().size(); i++) { 8460 composeReference(t, "ActionComponent", "requester", element.getRequester().get(i), i); 8461 } 8462 for (int i = 0; i < element.getRequesterLinkId().size(); i++) { 8463 composeString(t, "ActionComponent", "requesterLinkId", element.getRequesterLinkId().get(i), i); 8464 } 8465 for (int i = 0; i < element.getPerformerType().size(); i++) { 8466 composeCodeableConcept(t, "ActionComponent", "performerType", element.getPerformerType().get(i), i); 8467 } 8468 if (element.hasPerformerRole()) { 8469 composeCodeableConcept(t, "ActionComponent", "performerRole", element.getPerformerRole(), -1); 8470 } 8471 if (element.hasPerformer()) { 8472 composeReference(t, "ActionComponent", "performer", element.getPerformer(), -1); 8473 } 8474 for (int i = 0; i < element.getPerformerLinkId().size(); i++) { 8475 composeString(t, "ActionComponent", "performerLinkId", element.getPerformerLinkId().get(i), i); 8476 } 8477 for (int i = 0; i < element.getReason().size(); i++) { 8478 composeCodeableReference(t, "ActionComponent", "reason", element.getReason().get(i), i); 8479 } 8480 for (int i = 0; i < element.getReasonLinkId().size(); i++) { 8481 composeString(t, "ActionComponent", "reasonLinkId", element.getReasonLinkId().get(i), i); 8482 } 8483 for (int i = 0; i < element.getNote().size(); i++) { 8484 composeAnnotation(t, "ActionComponent", "note", element.getNote().get(i), i); 8485 } 8486 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8487 composeUnsignedInt(t, "ActionComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8488 } 8489 } 8490 8491 protected void composeContractActionSubjectComponent(Complex parent, String parentType, String name, Contract.ActionSubjectComponent element, int index) { 8492 if (element == null) 8493 return; 8494 Complex t; 8495 if (Utilities.noString(parentType)) 8496 t = parent; 8497 else { 8498 t = parent.predicate("fhir:"+parentType+'.'+name); 8499 } 8500 composeBackboneElement(t, "subject", name, element, index); 8501 for (int i = 0; i < element.getReference().size(); i++) { 8502 composeReference(t, "ActionSubjectComponent", "reference", element.getReference().get(i), i); 8503 } 8504 if (element.hasRole()) { 8505 composeCodeableConcept(t, "ActionSubjectComponent", "role", element.getRole(), -1); 8506 } 8507 } 8508 8509 protected void composeContractSignatoryComponent(Complex parent, String parentType, String name, Contract.SignatoryComponent element, int index) { 8510 if (element == null) 8511 return; 8512 Complex t; 8513 if (Utilities.noString(parentType)) 8514 t = parent; 8515 else { 8516 t = parent.predicate("fhir:"+parentType+'.'+name); 8517 } 8518 composeBackboneElement(t, "signer", name, element, index); 8519 if (element.hasType()) { 8520 composeCoding(t, "SignatoryComponent", "type", element.getType(), -1); 8521 } 8522 if (element.hasParty()) { 8523 composeReference(t, "SignatoryComponent", "party", element.getParty(), -1); 8524 } 8525 for (int i = 0; i < element.getSignature().size(); i++) { 8526 composeSignature(t, "SignatoryComponent", "signature", element.getSignature().get(i), i); 8527 } 8528 } 8529 8530 protected void composeContractFriendlyLanguageComponent(Complex parent, String parentType, String name, Contract.FriendlyLanguageComponent element, int index) { 8531 if (element == null) 8532 return; 8533 Complex t; 8534 if (Utilities.noString(parentType)) 8535 t = parent; 8536 else { 8537 t = parent.predicate("fhir:"+parentType+'.'+name); 8538 } 8539 composeBackboneElement(t, "friendly", name, element, index); 8540 if (element.hasContent()) { 8541 composeType(t, "FriendlyLanguageComponent", "content", element.getContent(), -1); 8542 } 8543 } 8544 8545 protected void composeContractLegalLanguageComponent(Complex parent, String parentType, String name, Contract.LegalLanguageComponent element, int index) { 8546 if (element == null) 8547 return; 8548 Complex t; 8549 if (Utilities.noString(parentType)) 8550 t = parent; 8551 else { 8552 t = parent.predicate("fhir:"+parentType+'.'+name); 8553 } 8554 composeBackboneElement(t, "legal", name, element, index); 8555 if (element.hasContent()) { 8556 composeType(t, "LegalLanguageComponent", "content", element.getContent(), -1); 8557 } 8558 } 8559 8560 protected void composeContractComputableLanguageComponent(Complex parent, String parentType, String name, Contract.ComputableLanguageComponent element, int index) { 8561 if (element == null) 8562 return; 8563 Complex t; 8564 if (Utilities.noString(parentType)) 8565 t = parent; 8566 else { 8567 t = parent.predicate("fhir:"+parentType+'.'+name); 8568 } 8569 composeBackboneElement(t, "rule", name, element, index); 8570 if (element.hasContent()) { 8571 composeType(t, "ComputableLanguageComponent", "content", element.getContent(), -1); 8572 } 8573 } 8574 8575 protected void composeCoverage(Complex parent, String parentType, String name, Coverage element, int index) { 8576 if (element == null) 8577 return; 8578 Complex t; 8579 if (Utilities.noString(parentType)) 8580 t = parent; 8581 else { 8582 t = parent.predicate("fhir:"+parentType+'.'+name); 8583 } 8584 composeDomainResource(t, "Coverage", name, element, index); 8585 for (int i = 0; i < element.getIdentifier().size(); i++) { 8586 composeIdentifier(t, "Coverage", "identifier", element.getIdentifier().get(i), i); 8587 } 8588 if (element.hasStatusElement()) { 8589 composeEnum(t, "Coverage", "status", element.getStatusElement(), -1); 8590 } 8591 if (element.hasType()) { 8592 composeCodeableConcept(t, "Coverage", "type", element.getType(), -1); 8593 } 8594 if (element.hasPolicyHolder()) { 8595 composeReference(t, "Coverage", "policyHolder", element.getPolicyHolder(), -1); 8596 } 8597 if (element.hasSubscriber()) { 8598 composeReference(t, "Coverage", "subscriber", element.getSubscriber(), -1); 8599 } 8600 if (element.hasSubscriberId()) { 8601 composeIdentifier(t, "Coverage", "subscriberId", element.getSubscriberId(), -1); 8602 } 8603 if (element.hasBeneficiary()) { 8604 composeReference(t, "Coverage", "beneficiary", element.getBeneficiary(), -1); 8605 } 8606 if (element.hasDependentElement()) { 8607 composeString(t, "Coverage", "dependent", element.getDependentElement(), -1); 8608 } 8609 if (element.hasRelationship()) { 8610 composeCodeableConcept(t, "Coverage", "relationship", element.getRelationship(), -1); 8611 } 8612 if (element.hasPeriod()) { 8613 composePeriod(t, "Coverage", "period", element.getPeriod(), -1); 8614 } 8615 for (int i = 0; i < element.getPayor().size(); i++) { 8616 composeReference(t, "Coverage", "payor", element.getPayor().get(i), i); 8617 } 8618 for (int i = 0; i < element.getClass_().size(); i++) { 8619 composeCoverageClassComponent(t, "Coverage", "class", element.getClass_().get(i), i); 8620 } 8621 if (element.hasOrderElement()) { 8622 composePositiveInt(t, "Coverage", "order", element.getOrderElement(), -1); 8623 } 8624 if (element.hasNetworkElement()) { 8625 composeString(t, "Coverage", "network", element.getNetworkElement(), -1); 8626 } 8627 for (int i = 0; i < element.getCostToBeneficiary().size(); i++) { 8628 composeCoverageCostToBeneficiaryComponent(t, "Coverage", "costToBeneficiary", element.getCostToBeneficiary().get(i), i); 8629 } 8630 if (element.hasSubrogationElement()) { 8631 composeBoolean(t, "Coverage", "subrogation", element.getSubrogationElement(), -1); 8632 } 8633 for (int i = 0; i < element.getContract().size(); i++) { 8634 composeReference(t, "Coverage", "contract", element.getContract().get(i), i); 8635 } 8636 } 8637 8638 protected void composeCoverageClassComponent(Complex parent, String parentType, String name, Coverage.ClassComponent element, int index) { 8639 if (element == null) 8640 return; 8641 Complex t; 8642 if (Utilities.noString(parentType)) 8643 t = parent; 8644 else { 8645 t = parent.predicate("fhir:"+parentType+'.'+name); 8646 } 8647 composeBackboneElement(t, "class", name, element, index); 8648 if (element.hasType()) { 8649 composeCodeableConcept(t, "ClassComponent", "type", element.getType(), -1); 8650 } 8651 if (element.hasValueElement()) { 8652 composeString(t, "ClassComponent", "value", element.getValueElement(), -1); 8653 } 8654 if (element.hasNameElement()) { 8655 composeString(t, "ClassComponent", "name", element.getNameElement(), -1); 8656 } 8657 } 8658 8659 protected void composeCoverageCostToBeneficiaryComponent(Complex parent, String parentType, String name, Coverage.CostToBeneficiaryComponent element, int index) { 8660 if (element == null) 8661 return; 8662 Complex t; 8663 if (Utilities.noString(parentType)) 8664 t = parent; 8665 else { 8666 t = parent.predicate("fhir:"+parentType+'.'+name); 8667 } 8668 composeBackboneElement(t, "costToBeneficiary", name, element, index); 8669 if (element.hasType()) { 8670 composeCodeableConcept(t, "CostToBeneficiaryComponent", "type", element.getType(), -1); 8671 } 8672 if (element.hasValue()) { 8673 composeType(t, "CostToBeneficiaryComponent", "value", element.getValue(), -1); 8674 } 8675 for (int i = 0; i < element.getException().size(); i++) { 8676 composeCoverageExemptionComponent(t, "CostToBeneficiaryComponent", "exception", element.getException().get(i), i); 8677 } 8678 } 8679 8680 protected void composeCoverageExemptionComponent(Complex parent, String parentType, String name, Coverage.ExemptionComponent element, int index) { 8681 if (element == null) 8682 return; 8683 Complex t; 8684 if (Utilities.noString(parentType)) 8685 t = parent; 8686 else { 8687 t = parent.predicate("fhir:"+parentType+'.'+name); 8688 } 8689 composeBackboneElement(t, "exception", name, element, index); 8690 if (element.hasType()) { 8691 composeCodeableConcept(t, "ExemptionComponent", "type", element.getType(), -1); 8692 } 8693 if (element.hasPeriod()) { 8694 composePeriod(t, "ExemptionComponent", "period", element.getPeriod(), -1); 8695 } 8696 } 8697 8698 protected void composeCoverageEligibilityRequest(Complex parent, String parentType, String name, CoverageEligibilityRequest element, int index) { 8699 if (element == null) 8700 return; 8701 Complex t; 8702 if (Utilities.noString(parentType)) 8703 t = parent; 8704 else { 8705 t = parent.predicate("fhir:"+parentType+'.'+name); 8706 } 8707 composeDomainResource(t, "CoverageEligibilityRequest", name, element, index); 8708 for (int i = 0; i < element.getIdentifier().size(); i++) { 8709 composeIdentifier(t, "CoverageEligibilityRequest", "identifier", element.getIdentifier().get(i), i); 8710 } 8711 if (element.hasStatusElement()) { 8712 composeEnum(t, "CoverageEligibilityRequest", "status", element.getStatusElement(), -1); 8713 } 8714 if (element.hasPriority()) { 8715 composeCodeableConcept(t, "CoverageEligibilityRequest", "priority", element.getPriority(), -1); 8716 } 8717 for (int i = 0; i < element.getPurpose().size(); i++) { 8718 composeEnum(t, "CoverageEligibilityRequest", "purpose", element.getPurpose().get(i), i); 8719 } 8720 if (element.hasPatient()) { 8721 composeReference(t, "CoverageEligibilityRequest", "patient", element.getPatient(), -1); 8722 } 8723 if (element.hasServiced()) { 8724 composeType(t, "CoverageEligibilityRequest", "serviced", element.getServiced(), -1); 8725 } 8726 if (element.hasCreatedElement()) { 8727 composeDateTime(t, "CoverageEligibilityRequest", "created", element.getCreatedElement(), -1); 8728 } 8729 if (element.hasEnterer()) { 8730 composeReference(t, "CoverageEligibilityRequest", "enterer", element.getEnterer(), -1); 8731 } 8732 if (element.hasProvider()) { 8733 composeReference(t, "CoverageEligibilityRequest", "provider", element.getProvider(), -1); 8734 } 8735 if (element.hasInsurer()) { 8736 composeReference(t, "CoverageEligibilityRequest", "insurer", element.getInsurer(), -1); 8737 } 8738 if (element.hasFacility()) { 8739 composeReference(t, "CoverageEligibilityRequest", "facility", element.getFacility(), -1); 8740 } 8741 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 8742 composeCoverageEligibilityRequestSupportingInformationComponent(t, "CoverageEligibilityRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 8743 } 8744 for (int i = 0; i < element.getInsurance().size(); i++) { 8745 composeCoverageEligibilityRequestInsuranceComponent(t, "CoverageEligibilityRequest", "insurance", element.getInsurance().get(i), i); 8746 } 8747 for (int i = 0; i < element.getItem().size(); i++) { 8748 composeCoverageEligibilityRequestDetailsComponent(t, "CoverageEligibilityRequest", "item", element.getItem().get(i), i); 8749 } 8750 } 8751 8752 protected void composeCoverageEligibilityRequestSupportingInformationComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.SupportingInformationComponent element, int index) { 8753 if (element == null) 8754 return; 8755 Complex t; 8756 if (Utilities.noString(parentType)) 8757 t = parent; 8758 else { 8759 t = parent.predicate("fhir:"+parentType+'.'+name); 8760 } 8761 composeBackboneElement(t, "supportingInfo", name, element, index); 8762 if (element.hasSequenceElement()) { 8763 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 8764 } 8765 if (element.hasInformation()) { 8766 composeReference(t, "SupportingInformationComponent", "information", element.getInformation(), -1); 8767 } 8768 if (element.hasAppliesToAllElement()) { 8769 composeBoolean(t, "SupportingInformationComponent", "appliesToAll", element.getAppliesToAllElement(), -1); 8770 } 8771 } 8772 8773 protected void composeCoverageEligibilityRequestInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.InsuranceComponent element, int index) { 8774 if (element == null) 8775 return; 8776 Complex t; 8777 if (Utilities.noString(parentType)) 8778 t = parent; 8779 else { 8780 t = parent.predicate("fhir:"+parentType+'.'+name); 8781 } 8782 composeBackboneElement(t, "insurance", name, element, index); 8783 if (element.hasFocalElement()) { 8784 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 8785 } 8786 if (element.hasCoverage()) { 8787 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 8788 } 8789 if (element.hasBusinessArrangementElement()) { 8790 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 8791 } 8792 } 8793 8794 protected void composeCoverageEligibilityRequestDetailsComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DetailsComponent element, int index) { 8795 if (element == null) 8796 return; 8797 Complex t; 8798 if (Utilities.noString(parentType)) 8799 t = parent; 8800 else { 8801 t = parent.predicate("fhir:"+parentType+'.'+name); 8802 } 8803 composeBackboneElement(t, "item", name, element, index); 8804 for (int i = 0; i < element.getSupportingInfoSequence().size(); i++) { 8805 composePositiveInt(t, "DetailsComponent", "supportingInfoSequence", element.getSupportingInfoSequence().get(i), i); 8806 } 8807 if (element.hasCategory()) { 8808 composeCodeableConcept(t, "DetailsComponent", "category", element.getCategory(), -1); 8809 } 8810 if (element.hasProductOrService()) { 8811 composeCodeableConcept(t, "DetailsComponent", "productOrService", element.getProductOrService(), -1); 8812 } 8813 for (int i = 0; i < element.getModifier().size(); i++) { 8814 composeCodeableConcept(t, "DetailsComponent", "modifier", element.getModifier().get(i), i); 8815 } 8816 if (element.hasProvider()) { 8817 composeReference(t, "DetailsComponent", "provider", element.getProvider(), -1); 8818 } 8819 if (element.hasQuantity()) { 8820 composeQuantity(t, "DetailsComponent", "quantity", element.getQuantity(), -1); 8821 } 8822 if (element.hasUnitPrice()) { 8823 composeMoney(t, "DetailsComponent", "unitPrice", element.getUnitPrice(), -1); 8824 } 8825 if (element.hasFacility()) { 8826 composeReference(t, "DetailsComponent", "facility", element.getFacility(), -1); 8827 } 8828 for (int i = 0; i < element.getDiagnosis().size(); i++) { 8829 composeCoverageEligibilityRequestDiagnosisComponent(t, "DetailsComponent", "diagnosis", element.getDiagnosis().get(i), i); 8830 } 8831 for (int i = 0; i < element.getDetail().size(); i++) { 8832 composeReference(t, "DetailsComponent", "detail", element.getDetail().get(i), i); 8833 } 8834 } 8835 8836 protected void composeCoverageEligibilityRequestDiagnosisComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DiagnosisComponent element, int index) { 8837 if (element == null) 8838 return; 8839 Complex t; 8840 if (Utilities.noString(parentType)) 8841 t = parent; 8842 else { 8843 t = parent.predicate("fhir:"+parentType+'.'+name); 8844 } 8845 composeBackboneElement(t, "diagnosis", name, element, index); 8846 if (element.hasDiagnosis()) { 8847 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 8848 } 8849 } 8850 8851 protected void composeCoverageEligibilityResponse(Complex parent, String parentType, String name, CoverageEligibilityResponse element, int index) { 8852 if (element == null) 8853 return; 8854 Complex t; 8855 if (Utilities.noString(parentType)) 8856 t = parent; 8857 else { 8858 t = parent.predicate("fhir:"+parentType+'.'+name); 8859 } 8860 composeDomainResource(t, "CoverageEligibilityResponse", name, element, index); 8861 for (int i = 0; i < element.getIdentifier().size(); i++) { 8862 composeIdentifier(t, "CoverageEligibilityResponse", "identifier", element.getIdentifier().get(i), i); 8863 } 8864 if (element.hasStatusElement()) { 8865 composeEnum(t, "CoverageEligibilityResponse", "status", element.getStatusElement(), -1); 8866 } 8867 for (int i = 0; i < element.getPurpose().size(); i++) { 8868 composeEnum(t, "CoverageEligibilityResponse", "purpose", element.getPurpose().get(i), i); 8869 } 8870 if (element.hasPatient()) { 8871 composeReference(t, "CoverageEligibilityResponse", "patient", element.getPatient(), -1); 8872 } 8873 if (element.hasServiced()) { 8874 composeType(t, "CoverageEligibilityResponse", "serviced", element.getServiced(), -1); 8875 } 8876 if (element.hasCreatedElement()) { 8877 composeDateTime(t, "CoverageEligibilityResponse", "created", element.getCreatedElement(), -1); 8878 } 8879 if (element.hasRequestor()) { 8880 composeReference(t, "CoverageEligibilityResponse", "requestor", element.getRequestor(), -1); 8881 } 8882 if (element.hasRequest()) { 8883 composeReference(t, "CoverageEligibilityResponse", "request", element.getRequest(), -1); 8884 } 8885 if (element.hasOutcomeElement()) { 8886 composeEnum(t, "CoverageEligibilityResponse", "outcome", element.getOutcomeElement(), -1); 8887 } 8888 if (element.hasDispositionElement()) { 8889 composeString(t, "CoverageEligibilityResponse", "disposition", element.getDispositionElement(), -1); 8890 } 8891 if (element.hasInsurer()) { 8892 composeReference(t, "CoverageEligibilityResponse", "insurer", element.getInsurer(), -1); 8893 } 8894 for (int i = 0; i < element.getInsurance().size(); i++) { 8895 composeCoverageEligibilityResponseInsuranceComponent(t, "CoverageEligibilityResponse", "insurance", element.getInsurance().get(i), i); 8896 } 8897 if (element.hasPreAuthRefElement()) { 8898 composeString(t, "CoverageEligibilityResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 8899 } 8900 if (element.hasForm()) { 8901 composeCodeableConcept(t, "CoverageEligibilityResponse", "form", element.getForm(), -1); 8902 } 8903 for (int i = 0; i < element.getError().size(); i++) { 8904 composeCoverageEligibilityResponseErrorsComponent(t, "CoverageEligibilityResponse", "error", element.getError().get(i), i); 8905 } 8906 } 8907 8908 protected void composeCoverageEligibilityResponseInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.InsuranceComponent element, int index) { 8909 if (element == null) 8910 return; 8911 Complex t; 8912 if (Utilities.noString(parentType)) 8913 t = parent; 8914 else { 8915 t = parent.predicate("fhir:"+parentType+'.'+name); 8916 } 8917 composeBackboneElement(t, "insurance", name, element, index); 8918 if (element.hasCoverage()) { 8919 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 8920 } 8921 if (element.hasInforceElement()) { 8922 composeBoolean(t, "InsuranceComponent", "inforce", element.getInforceElement(), -1); 8923 } 8924 if (element.hasBenefitPeriod()) { 8925 composePeriod(t, "InsuranceComponent", "benefitPeriod", element.getBenefitPeriod(), -1); 8926 } 8927 for (int i = 0; i < element.getItem().size(); i++) { 8928 composeCoverageEligibilityResponseItemsComponent(t, "InsuranceComponent", "item", element.getItem().get(i), i); 8929 } 8930 } 8931 8932 protected void composeCoverageEligibilityResponseItemsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ItemsComponent element, int index) { 8933 if (element == null) 8934 return; 8935 Complex t; 8936 if (Utilities.noString(parentType)) 8937 t = parent; 8938 else { 8939 t = parent.predicate("fhir:"+parentType+'.'+name); 8940 } 8941 composeBackboneElement(t, "item", name, element, index); 8942 if (element.hasCategory()) { 8943 composeCodeableConcept(t, "ItemsComponent", "category", element.getCategory(), -1); 8944 } 8945 if (element.hasProductOrService()) { 8946 composeCodeableConcept(t, "ItemsComponent", "productOrService", element.getProductOrService(), -1); 8947 } 8948 for (int i = 0; i < element.getModifier().size(); i++) { 8949 composeCodeableConcept(t, "ItemsComponent", "modifier", element.getModifier().get(i), i); 8950 } 8951 if (element.hasProvider()) { 8952 composeReference(t, "ItemsComponent", "provider", element.getProvider(), -1); 8953 } 8954 if (element.hasExcludedElement()) { 8955 composeBoolean(t, "ItemsComponent", "excluded", element.getExcludedElement(), -1); 8956 } 8957 if (element.hasNameElement()) { 8958 composeString(t, "ItemsComponent", "name", element.getNameElement(), -1); 8959 } 8960 if (element.hasDescriptionElement()) { 8961 composeString(t, "ItemsComponent", "description", element.getDescriptionElement(), -1); 8962 } 8963 if (element.hasNetwork()) { 8964 composeCodeableConcept(t, "ItemsComponent", "network", element.getNetwork(), -1); 8965 } 8966 if (element.hasUnit()) { 8967 composeCodeableConcept(t, "ItemsComponent", "unit", element.getUnit(), -1); 8968 } 8969 if (element.hasTerm()) { 8970 composeCodeableConcept(t, "ItemsComponent", "term", element.getTerm(), -1); 8971 } 8972 for (int i = 0; i < element.getBenefit().size(); i++) { 8973 composeCoverageEligibilityResponseBenefitComponent(t, "ItemsComponent", "benefit", element.getBenefit().get(i), i); 8974 } 8975 if (element.hasAuthorizationRequiredElement()) { 8976 composeBoolean(t, "ItemsComponent", "authorizationRequired", element.getAuthorizationRequiredElement(), -1); 8977 } 8978 for (int i = 0; i < element.getAuthorizationSupporting().size(); i++) { 8979 composeCodeableConcept(t, "ItemsComponent", "authorizationSupporting", element.getAuthorizationSupporting().get(i), i); 8980 } 8981 if (element.hasAuthorizationUrlElement()) { 8982 composeUri(t, "ItemsComponent", "authorizationUrl", element.getAuthorizationUrlElement(), -1); 8983 } 8984 } 8985 8986 protected void composeCoverageEligibilityResponseBenefitComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.BenefitComponent element, int index) { 8987 if (element == null) 8988 return; 8989 Complex t; 8990 if (Utilities.noString(parentType)) 8991 t = parent; 8992 else { 8993 t = parent.predicate("fhir:"+parentType+'.'+name); 8994 } 8995 composeBackboneElement(t, "benefit", name, element, index); 8996 if (element.hasType()) { 8997 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 8998 } 8999 if (element.hasAllowed()) { 9000 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 9001 } 9002 if (element.hasUsed()) { 9003 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 9004 } 9005 } 9006 9007 protected void composeCoverageEligibilityResponseErrorsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ErrorsComponent element, int index) { 9008 if (element == null) 9009 return; 9010 Complex t; 9011 if (Utilities.noString(parentType)) 9012 t = parent; 9013 else { 9014 t = parent.predicate("fhir:"+parentType+'.'+name); 9015 } 9016 composeBackboneElement(t, "error", name, element, index); 9017 if (element.hasCode()) { 9018 composeCodeableConcept(t, "ErrorsComponent", "code", element.getCode(), -1); 9019 } 9020 } 9021 9022 protected void composeDetectedIssue(Complex parent, String parentType, String name, DetectedIssue element, int index) { 9023 if (element == null) 9024 return; 9025 Complex t; 9026 if (Utilities.noString(parentType)) 9027 t = parent; 9028 else { 9029 t = parent.predicate("fhir:"+parentType+'.'+name); 9030 } 9031 composeDomainResource(t, "DetectedIssue", name, element, index); 9032 for (int i = 0; i < element.getIdentifier().size(); i++) { 9033 composeIdentifier(t, "DetectedIssue", "identifier", element.getIdentifier().get(i), i); 9034 } 9035 if (element.hasStatusElement()) { 9036 composeEnum(t, "DetectedIssue", "status", element.getStatusElement(), -1); 9037 } 9038 if (element.hasCode()) { 9039 composeCodeableConcept(t, "DetectedIssue", "code", element.getCode(), -1); 9040 } 9041 if (element.hasSeverityElement()) { 9042 composeEnum(t, "DetectedIssue", "severity", element.getSeverityElement(), -1); 9043 } 9044 if (element.hasPatient()) { 9045 composeReference(t, "DetectedIssue", "patient", element.getPatient(), -1); 9046 } 9047 if (element.hasIdentified()) { 9048 composeType(t, "DetectedIssue", "identified", element.getIdentified(), -1); 9049 } 9050 if (element.hasAuthor()) { 9051 composeReference(t, "DetectedIssue", "author", element.getAuthor(), -1); 9052 } 9053 for (int i = 0; i < element.getImplicated().size(); i++) { 9054 composeReference(t, "DetectedIssue", "implicated", element.getImplicated().get(i), i); 9055 } 9056 for (int i = 0; i < element.getEvidence().size(); i++) { 9057 composeDetectedIssueEvidenceComponent(t, "DetectedIssue", "evidence", element.getEvidence().get(i), i); 9058 } 9059 if (element.hasDetailElement()) { 9060 composeString(t, "DetectedIssue", "detail", element.getDetailElement(), -1); 9061 } 9062 if (element.hasReferenceElement()) { 9063 composeUri(t, "DetectedIssue", "reference", element.getReferenceElement(), -1); 9064 } 9065 for (int i = 0; i < element.getMitigation().size(); i++) { 9066 composeDetectedIssueMitigationComponent(t, "DetectedIssue", "mitigation", element.getMitigation().get(i), i); 9067 } 9068 } 9069 9070 protected void composeDetectedIssueEvidenceComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueEvidenceComponent element, int index) { 9071 if (element == null) 9072 return; 9073 Complex t; 9074 if (Utilities.noString(parentType)) 9075 t = parent; 9076 else { 9077 t = parent.predicate("fhir:"+parentType+'.'+name); 9078 } 9079 composeBackboneElement(t, "evidence", name, element, index); 9080 for (int i = 0; i < element.getCode().size(); i++) { 9081 composeCodeableConcept(t, "DetectedIssueEvidenceComponent", "code", element.getCode().get(i), i); 9082 } 9083 for (int i = 0; i < element.getDetail().size(); i++) { 9084 composeReference(t, "DetectedIssueEvidenceComponent", "detail", element.getDetail().get(i), i); 9085 } 9086 } 9087 9088 protected void composeDetectedIssueMitigationComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueMitigationComponent element, int index) { 9089 if (element == null) 9090 return; 9091 Complex t; 9092 if (Utilities.noString(parentType)) 9093 t = parent; 9094 else { 9095 t = parent.predicate("fhir:"+parentType+'.'+name); 9096 } 9097 composeBackboneElement(t, "mitigation", name, element, index); 9098 if (element.hasAction()) { 9099 composeCodeableConcept(t, "DetectedIssueMitigationComponent", "action", element.getAction(), -1); 9100 } 9101 if (element.hasDateElement()) { 9102 composeDateTime(t, "DetectedIssueMitigationComponent", "date", element.getDateElement(), -1); 9103 } 9104 if (element.hasAuthor()) { 9105 composeReference(t, "DetectedIssueMitigationComponent", "author", element.getAuthor(), -1); 9106 } 9107 } 9108 9109 protected void composeDevice(Complex parent, String parentType, String name, Device element, int index) { 9110 if (element == null) 9111 return; 9112 Complex t; 9113 if (Utilities.noString(parentType)) 9114 t = parent; 9115 else { 9116 t = parent.predicate("fhir:"+parentType+'.'+name); 9117 } 9118 composeDomainResource(t, "Device", name, element, index); 9119 for (int i = 0; i < element.getIdentifier().size(); i++) { 9120 composeIdentifier(t, "Device", "identifier", element.getIdentifier().get(i), i); 9121 } 9122 if (element.hasDisplayNameElement()) { 9123 composeString(t, "Device", "displayName", element.getDisplayNameElement(), -1); 9124 } 9125 if (element.hasDefinition()) { 9126 composeCodeableReference(t, "Device", "definition", element.getDefinition(), -1); 9127 } 9128 for (int i = 0; i < element.getUdiCarrier().size(); i++) { 9129 composeDeviceUdiCarrierComponent(t, "Device", "udiCarrier", element.getUdiCarrier().get(i), i); 9130 } 9131 if (element.hasStatusElement()) { 9132 composeEnum(t, "Device", "status", element.getStatusElement(), -1); 9133 } 9134 for (int i = 0; i < element.getStatusReason().size(); i++) { 9135 composeCodeableConcept(t, "Device", "statusReason", element.getStatusReason().get(i), i); 9136 } 9137 if (element.hasBiologicalSource()) { 9138 composeIdentifier(t, "Device", "biologicalSource", element.getBiologicalSource(), -1); 9139 } 9140 if (element.hasManufacturerElement()) { 9141 composeString(t, "Device", "manufacturer", element.getManufacturerElement(), -1); 9142 } 9143 if (element.hasManufactureDateElement()) { 9144 composeDateTime(t, "Device", "manufactureDate", element.getManufactureDateElement(), -1); 9145 } 9146 if (element.hasExpirationDateElement()) { 9147 composeDateTime(t, "Device", "expirationDate", element.getExpirationDateElement(), -1); 9148 } 9149 if (element.hasLotNumberElement()) { 9150 composeString(t, "Device", "lotNumber", element.getLotNumberElement(), -1); 9151 } 9152 if (element.hasSerialNumberElement()) { 9153 composeString(t, "Device", "serialNumber", element.getSerialNumberElement(), -1); 9154 } 9155 for (int i = 0; i < element.getDeviceName().size(); i++) { 9156 composeDeviceDeviceNameComponent(t, "Device", "deviceName", element.getDeviceName().get(i), i); 9157 } 9158 if (element.hasModelNumberElement()) { 9159 composeString(t, "Device", "modelNumber", element.getModelNumberElement(), -1); 9160 } 9161 if (element.hasPartNumberElement()) { 9162 composeString(t, "Device", "partNumber", element.getPartNumberElement(), -1); 9163 } 9164 for (int i = 0; i < element.getType().size(); i++) { 9165 composeCodeableConcept(t, "Device", "type", element.getType().get(i), i); 9166 } 9167 for (int i = 0; i < element.getVersion().size(); i++) { 9168 composeDeviceVersionComponent(t, "Device", "version", element.getVersion().get(i), i); 9169 } 9170 for (int i = 0; i < element.getProperty().size(); i++) { 9171 composeDevicePropertyComponent(t, "Device", "property", element.getProperty().get(i), i); 9172 } 9173 if (element.hasSubject()) { 9174 composeReference(t, "Device", "subject", element.getSubject(), -1); 9175 } 9176 if (element.hasOperationalStatus()) { 9177 composeDeviceOperationalStatusComponent(t, "Device", "operationalStatus", element.getOperationalStatus(), -1); 9178 } 9179 if (element.hasAssociationStatus()) { 9180 composeDeviceAssociationStatusComponent(t, "Device", "associationStatus", element.getAssociationStatus(), -1); 9181 } 9182 if (element.hasOwner()) { 9183 composeReference(t, "Device", "owner", element.getOwner(), -1); 9184 } 9185 for (int i = 0; i < element.getContact().size(); i++) { 9186 composeContactPoint(t, "Device", "contact", element.getContact().get(i), i); 9187 } 9188 if (element.hasLocation()) { 9189 composeReference(t, "Device", "location", element.getLocation(), -1); 9190 } 9191 if (element.hasUrlElement()) { 9192 composeUri(t, "Device", "url", element.getUrlElement(), -1); 9193 } 9194 for (int i = 0; i < element.getEndpoint().size(); i++) { 9195 composeReference(t, "Device", "endpoint", element.getEndpoint().get(i), i); 9196 } 9197 for (int i = 0; i < element.getLink().size(); i++) { 9198 composeDeviceLinkComponent(t, "Device", "link", element.getLink().get(i), i); 9199 } 9200 for (int i = 0; i < element.getNote().size(); i++) { 9201 composeAnnotation(t, "Device", "note", element.getNote().get(i), i); 9202 } 9203 for (int i = 0; i < element.getSafety().size(); i++) { 9204 composeCodeableConcept(t, "Device", "safety", element.getSafety().get(i), i); 9205 } 9206 if (element.hasParent()) { 9207 composeReference(t, "Device", "parent", element.getParent(), -1); 9208 } 9209 } 9210 9211 protected void composeDeviceUdiCarrierComponent(Complex parent, String parentType, String name, Device.DeviceUdiCarrierComponent element, int index) { 9212 if (element == null) 9213 return; 9214 Complex t; 9215 if (Utilities.noString(parentType)) 9216 t = parent; 9217 else { 9218 t = parent.predicate("fhir:"+parentType+'.'+name); 9219 } 9220 composeBackboneElement(t, "udiCarrier", name, element, index); 9221 if (element.hasDeviceIdentifierElement()) { 9222 composeString(t, "DeviceUdiCarrierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9223 } 9224 if (element.hasIssuerElement()) { 9225 composeUri(t, "DeviceUdiCarrierComponent", "issuer", element.getIssuerElement(), -1); 9226 } 9227 if (element.hasJurisdictionElement()) { 9228 composeUri(t, "DeviceUdiCarrierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9229 } 9230 if (element.hasCarrierAIDCElement()) { 9231 composeBase64Binary(t, "DeviceUdiCarrierComponent", "carrierAIDC", element.getCarrierAIDCElement(), -1); 9232 } 9233 if (element.hasCarrierHRFElement()) { 9234 composeString(t, "DeviceUdiCarrierComponent", "carrierHRF", element.getCarrierHRFElement(), -1); 9235 } 9236 if (element.hasEntryTypeElement()) { 9237 composeEnum(t, "DeviceUdiCarrierComponent", "entryType", element.getEntryTypeElement(), -1); 9238 } 9239 } 9240 9241 protected void composeDeviceDeviceNameComponent(Complex parent, String parentType, String name, Device.DeviceDeviceNameComponent element, int index) { 9242 if (element == null) 9243 return; 9244 Complex t; 9245 if (Utilities.noString(parentType)) 9246 t = parent; 9247 else { 9248 t = parent.predicate("fhir:"+parentType+'.'+name); 9249 } 9250 composeBackboneElement(t, "deviceName", name, element, index); 9251 if (element.hasNameElement()) { 9252 composeString(t, "DeviceDeviceNameComponent", "name", element.getNameElement(), -1); 9253 } 9254 if (element.hasTypeElement()) { 9255 composeEnum(t, "DeviceDeviceNameComponent", "type", element.getTypeElement(), -1); 9256 } 9257 } 9258 9259 protected void composeDeviceVersionComponent(Complex parent, String parentType, String name, Device.DeviceVersionComponent element, int index) { 9260 if (element == null) 9261 return; 9262 Complex t; 9263 if (Utilities.noString(parentType)) 9264 t = parent; 9265 else { 9266 t = parent.predicate("fhir:"+parentType+'.'+name); 9267 } 9268 composeBackboneElement(t, "version", name, element, index); 9269 if (element.hasType()) { 9270 composeCodeableConcept(t, "DeviceVersionComponent", "type", element.getType(), -1); 9271 } 9272 if (element.hasComponent()) { 9273 composeIdentifier(t, "DeviceVersionComponent", "component", element.getComponent(), -1); 9274 } 9275 if (element.hasValueElement()) { 9276 composeString(t, "DeviceVersionComponent", "value", element.getValueElement(), -1); 9277 } 9278 } 9279 9280 protected void composeDevicePropertyComponent(Complex parent, String parentType, String name, Device.DevicePropertyComponent element, int index) { 9281 if (element == null) 9282 return; 9283 Complex t; 9284 if (Utilities.noString(parentType)) 9285 t = parent; 9286 else { 9287 t = parent.predicate("fhir:"+parentType+'.'+name); 9288 } 9289 composeBackboneElement(t, "property", name, element, index); 9290 if (element.hasType()) { 9291 composeCodeableConcept(t, "DevicePropertyComponent", "type", element.getType(), -1); 9292 } 9293 if (element.hasValue()) { 9294 composeType(t, "DevicePropertyComponent", "value", element.getValue(), -1); 9295 } 9296 } 9297 9298 protected void composeDeviceOperationalStatusComponent(Complex parent, String parentType, String name, Device.DeviceOperationalStatusComponent element, int index) { 9299 if (element == null) 9300 return; 9301 Complex t; 9302 if (Utilities.noString(parentType)) 9303 t = parent; 9304 else { 9305 t = parent.predicate("fhir:"+parentType+'.'+name); 9306 } 9307 composeBackboneElement(t, "operationalStatus", name, element, index); 9308 if (element.hasValue()) { 9309 composeCodeableConcept(t, "DeviceOperationalStatusComponent", "value", element.getValue(), -1); 9310 } 9311 for (int i = 0; i < element.getReason().size(); i++) { 9312 composeCodeableConcept(t, "DeviceOperationalStatusComponent", "reason", element.getReason().get(i), i); 9313 } 9314 } 9315 9316 protected void composeDeviceAssociationStatusComponent(Complex parent, String parentType, String name, Device.DeviceAssociationStatusComponent element, int index) { 9317 if (element == null) 9318 return; 9319 Complex t; 9320 if (Utilities.noString(parentType)) 9321 t = parent; 9322 else { 9323 t = parent.predicate("fhir:"+parentType+'.'+name); 9324 } 9325 composeBackboneElement(t, "associationStatus", name, element, index); 9326 if (element.hasValue()) { 9327 composeCodeableConcept(t, "DeviceAssociationStatusComponent", "value", element.getValue(), -1); 9328 } 9329 for (int i = 0; i < element.getReason().size(); i++) { 9330 composeCodeableConcept(t, "DeviceAssociationStatusComponent", "reason", element.getReason().get(i), i); 9331 } 9332 } 9333 9334 protected void composeDeviceLinkComponent(Complex parent, String parentType, String name, Device.DeviceLinkComponent element, int index) { 9335 if (element == null) 9336 return; 9337 Complex t; 9338 if (Utilities.noString(parentType)) 9339 t = parent; 9340 else { 9341 t = parent.predicate("fhir:"+parentType+'.'+name); 9342 } 9343 composeBackboneElement(t, "link", name, element, index); 9344 if (element.hasRelation()) { 9345 composeCoding(t, "DeviceLinkComponent", "relation", element.getRelation(), -1); 9346 } 9347 if (element.hasRelatedDevice()) { 9348 composeCodeableReference(t, "DeviceLinkComponent", "relatedDevice", element.getRelatedDevice(), -1); 9349 } 9350 } 9351 9352 protected void composeDeviceDefinition(Complex parent, String parentType, String name, DeviceDefinition element, int index) { 9353 if (element == null) 9354 return; 9355 Complex t; 9356 if (Utilities.noString(parentType)) 9357 t = parent; 9358 else { 9359 t = parent.predicate("fhir:"+parentType+'.'+name); 9360 } 9361 composeDomainResource(t, "DeviceDefinition", name, element, index); 9362 if (element.hasDescriptionElement()) { 9363 composeMarkdown(t, "DeviceDefinition", "description", element.getDescriptionElement(), -1); 9364 } 9365 for (int i = 0; i < element.getIdentifier().size(); i++) { 9366 composeIdentifier(t, "DeviceDefinition", "identifier", element.getIdentifier().get(i), i); 9367 } 9368 for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { 9369 composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinition", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); 9370 } 9371 if (element.hasPartNumberElement()) { 9372 composeString(t, "DeviceDefinition", "partNumber", element.getPartNumberElement(), -1); 9373 } 9374 if (element.hasManufacturer()) { 9375 composeType(t, "DeviceDefinition", "manufacturer", element.getManufacturer(), -1); 9376 } 9377 for (int i = 0; i < element.getDeviceName().size(); i++) { 9378 composeDeviceDefinitionDeviceNameComponent(t, "DeviceDefinition", "deviceName", element.getDeviceName().get(i), i); 9379 } 9380 if (element.hasModelNumberElement()) { 9381 composeString(t, "DeviceDefinition", "modelNumber", element.getModelNumberElement(), -1); 9382 } 9383 for (int i = 0; i < element.getClassification().size(); i++) { 9384 composeDeviceDefinitionClassificationComponent(t, "DeviceDefinition", "classification", element.getClassification().get(i), i); 9385 } 9386 for (int i = 0; i < element.getSpecialization().size(); i++) { 9387 composeRelatedArtifact(t, "DeviceDefinition", "specialization", element.getSpecialization().get(i), i); 9388 } 9389 for (int i = 0; i < element.getHasPart().size(); i++) { 9390 composeDeviceDefinitionHasPartComponent(t, "DeviceDefinition", "hasPart", element.getHasPart().get(i), i); 9391 } 9392 for (int i = 0; i < element.getPackaging().size(); i++) { 9393 composeDeviceDefinitionPackagingComponent(t, "DeviceDefinition", "packaging", element.getPackaging().get(i), i); 9394 } 9395 for (int i = 0; i < element.getVersion().size(); i++) { 9396 composeDeviceDefinitionVersionComponent(t, "DeviceDefinition", "version", element.getVersion().get(i), i); 9397 } 9398 for (int i = 0; i < element.getSafety().size(); i++) { 9399 composeCodeableConcept(t, "DeviceDefinition", "safety", element.getSafety().get(i), i); 9400 } 9401 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 9402 composeProductShelfLife(t, "DeviceDefinition", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 9403 } 9404 for (int i = 0; i < element.getLanguageCode().size(); i++) { 9405 composeCodeableConcept(t, "DeviceDefinition", "languageCode", element.getLanguageCode().get(i), i); 9406 } 9407 for (int i = 0; i < element.getProperty().size(); i++) { 9408 composeDeviceDefinitionPropertyComponent(t, "DeviceDefinition", "property", element.getProperty().get(i), i); 9409 } 9410 if (element.hasOwner()) { 9411 composeReference(t, "DeviceDefinition", "owner", element.getOwner(), -1); 9412 } 9413 for (int i = 0; i < element.getContact().size(); i++) { 9414 composeContactPoint(t, "DeviceDefinition", "contact", element.getContact().get(i), i); 9415 } 9416 for (int i = 0; i < element.getLink().size(); i++) { 9417 composeDeviceDefinitionLinkComponent(t, "DeviceDefinition", "link", element.getLink().get(i), i); 9418 } 9419 for (int i = 0; i < element.getNote().size(); i++) { 9420 composeAnnotation(t, "DeviceDefinition", "note", element.getNote().get(i), i); 9421 } 9422 if (element.hasParentDevice()) { 9423 composeReference(t, "DeviceDefinition", "parentDevice", element.getParentDevice(), -1); 9424 } 9425 for (int i = 0; i < element.getMaterial().size(); i++) { 9426 composeDeviceDefinitionMaterialComponent(t, "DeviceDefinition", "material", element.getMaterial().get(i), i); 9427 } 9428 for (int i = 0; i < element.getProductionIdentifierInUDI().size(); i++) { 9429 composeEnum(t, "DeviceDefinition", "productionIdentifierInUDI", element.getProductionIdentifierInUDI().get(i), i); 9430 } 9431 if (element.hasGuideline()) { 9432 composeDeviceDefinitionGuidelineComponent(t, "DeviceDefinition", "guideline", element.getGuideline(), -1); 9433 } 9434 if (element.hasCorrectiveAction()) { 9435 composeDeviceDefinitionCorrectiveActionComponent(t, "DeviceDefinition", "correctiveAction", element.getCorrectiveAction(), -1); 9436 } 9437 for (int i = 0; i < element.getChargeItem().size(); i++) { 9438 composeDeviceDefinitionChargeItemComponent(t, "DeviceDefinition", "chargeItem", element.getChargeItem().get(i), i); 9439 } 9440 } 9441 9442 protected void composeDeviceDefinitionUdiDeviceIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent element, int index) { 9443 if (element == null) 9444 return; 9445 Complex t; 9446 if (Utilities.noString(parentType)) 9447 t = parent; 9448 else { 9449 t = parent.predicate("fhir:"+parentType+'.'+name); 9450 } 9451 composeBackboneElement(t, "udiDeviceIdentifier", name, element, index); 9452 if (element.hasDeviceIdentifierElement()) { 9453 composeString(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9454 } 9455 if (element.hasIssuerElement()) { 9456 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "issuer", element.getIssuerElement(), -1); 9457 } 9458 if (element.hasJurisdictionElement()) { 9459 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9460 } 9461 for (int i = 0; i < element.getMarketDistribution().size(); i++) { 9462 composeDeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "marketDistribution", element.getMarketDistribution().get(i), i); 9463 } 9464 } 9465 9466 protected void composeDeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent element, int index) { 9467 if (element == null) 9468 return; 9469 Complex t; 9470 if (Utilities.noString(parentType)) 9471 t = parent; 9472 else { 9473 t = parent.predicate("fhir:"+parentType+'.'+name); 9474 } 9475 composeBackboneElement(t, "marketDistribution", name, element, index); 9476 if (element.hasMarketPeriod()) { 9477 composePeriod(t, "DeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent", "marketPeriod", element.getMarketPeriod(), -1); 9478 } 9479 if (element.hasSubJurisdictionElement()) { 9480 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent", "subJurisdiction", element.getSubJurisdictionElement(), -1); 9481 } 9482 } 9483 9484 protected void composeDeviceDefinitionDeviceNameComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element, int index) { 9485 if (element == null) 9486 return; 9487 Complex t; 9488 if (Utilities.noString(parentType)) 9489 t = parent; 9490 else { 9491 t = parent.predicate("fhir:"+parentType+'.'+name); 9492 } 9493 composeBackboneElement(t, "deviceName", name, element, index); 9494 if (element.hasNameElement()) { 9495 composeString(t, "DeviceDefinitionDeviceNameComponent", "name", element.getNameElement(), -1); 9496 } 9497 if (element.hasTypeElement()) { 9498 composeEnum(t, "DeviceDefinitionDeviceNameComponent", "type", element.getTypeElement(), -1); 9499 } 9500 } 9501 9502 protected void composeDeviceDefinitionClassificationComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionClassificationComponent element, int index) { 9503 if (element == null) 9504 return; 9505 Complex t; 9506 if (Utilities.noString(parentType)) 9507 t = parent; 9508 else { 9509 t = parent.predicate("fhir:"+parentType+'.'+name); 9510 } 9511 composeBackboneElement(t, "classification", name, element, index); 9512 if (element.hasType()) { 9513 composeCodeableConcept(t, "DeviceDefinitionClassificationComponent", "type", element.getType(), -1); 9514 } 9515 for (int i = 0; i < element.getJustification().size(); i++) { 9516 composeRelatedArtifact(t, "DeviceDefinitionClassificationComponent", "justification", element.getJustification().get(i), i); 9517 } 9518 } 9519 9520 protected void composeDeviceDefinitionHasPartComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionHasPartComponent element, int index) { 9521 if (element == null) 9522 return; 9523 Complex t; 9524 if (Utilities.noString(parentType)) 9525 t = parent; 9526 else { 9527 t = parent.predicate("fhir:"+parentType+'.'+name); 9528 } 9529 composeBackboneElement(t, "hasPart", name, element, index); 9530 if (element.hasReference()) { 9531 composeReference(t, "DeviceDefinitionHasPartComponent", "reference", element.getReference(), -1); 9532 } 9533 if (element.hasCountElement()) { 9534 composeInteger(t, "DeviceDefinitionHasPartComponent", "count", element.getCountElement(), -1); 9535 } 9536 } 9537 9538 protected void composeDeviceDefinitionPackagingComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingComponent element, int index) { 9539 if (element == null) 9540 return; 9541 Complex t; 9542 if (Utilities.noString(parentType)) 9543 t = parent; 9544 else { 9545 t = parent.predicate("fhir:"+parentType+'.'+name); 9546 } 9547 composeBackboneElement(t, "packaging", name, element, index); 9548 if (element.hasIdentifier()) { 9549 composeIdentifier(t, "DeviceDefinitionPackagingComponent", "identifier", element.getIdentifier(), -1); 9550 } 9551 if (element.hasType()) { 9552 composeCodeableConcept(t, "DeviceDefinitionPackagingComponent", "type", element.getType(), -1); 9553 } 9554 if (element.hasCountElement()) { 9555 composeInteger(t, "DeviceDefinitionPackagingComponent", "count", element.getCountElement(), -1); 9556 } 9557 for (int i = 0; i < element.getDistributor().size(); i++) { 9558 composeDeviceDefinitionPackagingDistributorComponent(t, "DeviceDefinitionPackagingComponent", "distributor", element.getDistributor().get(i), i); 9559 } 9560 for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { 9561 composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(t, "DeviceDefinitionPackagingComponent", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); 9562 } 9563 for (int i = 0; i < element.getPackaging().size(); i++) { 9564 composeDeviceDefinitionPackagingComponent(t, "DeviceDefinitionPackagingComponent", "packaging", element.getPackaging().get(i), i); 9565 } 9566 } 9567 9568 protected void composeDeviceDefinitionPackagingDistributorComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingDistributorComponent element, int index) { 9569 if (element == null) 9570 return; 9571 Complex t; 9572 if (Utilities.noString(parentType)) 9573 t = parent; 9574 else { 9575 t = parent.predicate("fhir:"+parentType+'.'+name); 9576 } 9577 composeBackboneElement(t, "distributor", name, element, index); 9578 if (element.hasNameElement()) { 9579 composeString(t, "DeviceDefinitionPackagingDistributorComponent", "name", element.getNameElement(), -1); 9580 } 9581 for (int i = 0; i < element.getOrganizationReference().size(); i++) { 9582 composeReference(t, "DeviceDefinitionPackagingDistributorComponent", "organizationReference", element.getOrganizationReference().get(i), i); 9583 } 9584 } 9585 9586 protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element, int index) { 9587 if (element == null) 9588 return; 9589 Complex t; 9590 if (Utilities.noString(parentType)) 9591 t = parent; 9592 else { 9593 t = parent.predicate("fhir:"+parentType+'.'+name); 9594 } 9595 composeBackboneElement(t, "udiDeviceIdentifier", name, element, index); 9596 if (element.hasDeviceIdentifierElement()) { 9597 composeString(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9598 } 9599 if (element.hasIssuerElement()) { 9600 composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "issuer", element.getIssuerElement(), -1); 9601 } 9602 if (element.hasJurisdictionElement()) { 9603 composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9604 } 9605 if (element.hasMarketDistribution()) { 9606 composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "marketDistribution", element.getMarketDistribution(), -1); 9607 } 9608 } 9609 9610 protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element, int index) { 9611 if (element == null) 9612 return; 9613 Complex t; 9614 if (Utilities.noString(parentType)) 9615 t = parent; 9616 else { 9617 t = parent.predicate("fhir:"+parentType+'.'+name); 9618 } 9619 composeBackboneElement(t, "marketDistribution", name, element, index); 9620 if (element.hasMarketPeriod()) { 9621 composePeriod(t, "DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent", "marketPeriod", element.getMarketPeriod(), -1); 9622 } 9623 if (element.hasSubJurisdictionElement()) { 9624 composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent", "subJurisdiction", element.getSubJurisdictionElement(), -1); 9625 } 9626 } 9627 9628 protected void composeDeviceDefinitionVersionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionVersionComponent element, int index) { 9629 if (element == null) 9630 return; 9631 Complex t; 9632 if (Utilities.noString(parentType)) 9633 t = parent; 9634 else { 9635 t = parent.predicate("fhir:"+parentType+'.'+name); 9636 } 9637 composeBackboneElement(t, "version", name, element, index); 9638 if (element.hasType()) { 9639 composeCodeableConcept(t, "DeviceDefinitionVersionComponent", "type", element.getType(), -1); 9640 } 9641 if (element.hasComponent()) { 9642 composeIdentifier(t, "DeviceDefinitionVersionComponent", "component", element.getComponent(), -1); 9643 } 9644 if (element.hasValueElement()) { 9645 composeString(t, "DeviceDefinitionVersionComponent", "value", element.getValueElement(), -1); 9646 } 9647 } 9648 9649 protected void composeDeviceDefinitionPropertyComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPropertyComponent element, int index) { 9650 if (element == null) 9651 return; 9652 Complex t; 9653 if (Utilities.noString(parentType)) 9654 t = parent; 9655 else { 9656 t = parent.predicate("fhir:"+parentType+'.'+name); 9657 } 9658 composeBackboneElement(t, "property", name, element, index); 9659 if (element.hasType()) { 9660 composeCodeableConcept(t, "DeviceDefinitionPropertyComponent", "type", element.getType(), -1); 9661 } 9662 if (element.hasValue()) { 9663 composeType(t, "DeviceDefinitionPropertyComponent", "value", element.getValue(), -1); 9664 } 9665 } 9666 9667 protected void composeDeviceDefinitionLinkComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionLinkComponent element, int index) { 9668 if (element == null) 9669 return; 9670 Complex t; 9671 if (Utilities.noString(parentType)) 9672 t = parent; 9673 else { 9674 t = parent.predicate("fhir:"+parentType+'.'+name); 9675 } 9676 composeBackboneElement(t, "link", name, element, index); 9677 if (element.hasRelation()) { 9678 composeCoding(t, "DeviceDefinitionLinkComponent", "relation", element.getRelation(), -1); 9679 } 9680 if (element.hasRelatedDevice()) { 9681 composeCodeableReference(t, "DeviceDefinitionLinkComponent", "relatedDevice", element.getRelatedDevice(), -1); 9682 } 9683 } 9684 9685 protected void composeDeviceDefinitionMaterialComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionMaterialComponent element, int index) { 9686 if (element == null) 9687 return; 9688 Complex t; 9689 if (Utilities.noString(parentType)) 9690 t = parent; 9691 else { 9692 t = parent.predicate("fhir:"+parentType+'.'+name); 9693 } 9694 composeBackboneElement(t, "material", name, element, index); 9695 if (element.hasSubstance()) { 9696 composeCodeableConcept(t, "DeviceDefinitionMaterialComponent", "substance", element.getSubstance(), -1); 9697 } 9698 if (element.hasAlternateElement()) { 9699 composeBoolean(t, "DeviceDefinitionMaterialComponent", "alternate", element.getAlternateElement(), -1); 9700 } 9701 if (element.hasAllergenicIndicatorElement()) { 9702 composeBoolean(t, "DeviceDefinitionMaterialComponent", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 9703 } 9704 } 9705 9706 protected void composeDeviceDefinitionGuidelineComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionGuidelineComponent element, int index) { 9707 if (element == null) 9708 return; 9709 Complex t; 9710 if (Utilities.noString(parentType)) 9711 t = parent; 9712 else { 9713 t = parent.predicate("fhir:"+parentType+'.'+name); 9714 } 9715 composeBackboneElement(t, "guideline", name, element, index); 9716 for (int i = 0; i < element.getUseContext().size(); i++) { 9717 composeUsageContext(t, "DeviceDefinitionGuidelineComponent", "useContext", element.getUseContext().get(i), i); 9718 } 9719 if (element.hasUsageInstructionElement()) { 9720 composeMarkdown(t, "DeviceDefinitionGuidelineComponent", "usageInstruction", element.getUsageInstructionElement(), -1); 9721 } 9722 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 9723 composeRelatedArtifact(t, "DeviceDefinitionGuidelineComponent", "relatedArtifact", element.getRelatedArtifact().get(i), i); 9724 } 9725 for (int i = 0; i < element.getIndication().size(); i++) { 9726 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "indication", element.getIndication().get(i), i); 9727 } 9728 for (int i = 0; i < element.getContraindication().size(); i++) { 9729 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "contraindication", element.getContraindication().get(i), i); 9730 } 9731 for (int i = 0; i < element.getWarning().size(); i++) { 9732 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "warning", element.getWarning().get(i), i); 9733 } 9734 if (element.hasIntendedUseElement()) { 9735 composeString(t, "DeviceDefinitionGuidelineComponent", "intendedUse", element.getIntendedUseElement(), -1); 9736 } 9737 } 9738 9739 protected void composeDeviceDefinitionCorrectiveActionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionCorrectiveActionComponent element, int index) { 9740 if (element == null) 9741 return; 9742 Complex t; 9743 if (Utilities.noString(parentType)) 9744 t = parent; 9745 else { 9746 t = parent.predicate("fhir:"+parentType+'.'+name); 9747 } 9748 composeBackboneElement(t, "correctiveAction", name, element, index); 9749 if (element.hasRecallElement()) { 9750 composeBoolean(t, "DeviceDefinitionCorrectiveActionComponent", "recall", element.getRecallElement(), -1); 9751 } 9752 if (element.hasScopeElement()) { 9753 composeEnum(t, "DeviceDefinitionCorrectiveActionComponent", "scope", element.getScopeElement(), -1); 9754 } 9755 if (element.hasPeriod()) { 9756 composePeriod(t, "DeviceDefinitionCorrectiveActionComponent", "period", element.getPeriod(), -1); 9757 } 9758 } 9759 9760 protected void composeDeviceDefinitionChargeItemComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionChargeItemComponent element, int index) { 9761 if (element == null) 9762 return; 9763 Complex t; 9764 if (Utilities.noString(parentType)) 9765 t = parent; 9766 else { 9767 t = parent.predicate("fhir:"+parentType+'.'+name); 9768 } 9769 composeBackboneElement(t, "chargeItem", name, element, index); 9770 if (element.hasChargeItemCode()) { 9771 composeCodeableReference(t, "DeviceDefinitionChargeItemComponent", "chargeItemCode", element.getChargeItemCode(), -1); 9772 } 9773 if (element.hasCount()) { 9774 composeQuantity(t, "DeviceDefinitionChargeItemComponent", "count", element.getCount(), -1); 9775 } 9776 if (element.hasEffectivePeriod()) { 9777 composePeriod(t, "DeviceDefinitionChargeItemComponent", "effectivePeriod", element.getEffectivePeriod(), -1); 9778 } 9779 for (int i = 0; i < element.getUseContext().size(); i++) { 9780 composeUsageContext(t, "DeviceDefinitionChargeItemComponent", "useContext", element.getUseContext().get(i), i); 9781 } 9782 } 9783 9784 protected void composeDeviceDispense(Complex parent, String parentType, String name, DeviceDispense element, int index) { 9785 if (element == null) 9786 return; 9787 Complex t; 9788 if (Utilities.noString(parentType)) 9789 t = parent; 9790 else { 9791 t = parent.predicate("fhir:"+parentType+'.'+name); 9792 } 9793 composeDomainResource(t, "DeviceDispense", name, element, index); 9794 for (int i = 0; i < element.getIdentifier().size(); i++) { 9795 composeIdentifier(t, "DeviceDispense", "identifier", element.getIdentifier().get(i), i); 9796 } 9797 for (int i = 0; i < element.getBasedOn().size(); i++) { 9798 composeReference(t, "DeviceDispense", "basedOn", element.getBasedOn().get(i), i); 9799 } 9800 for (int i = 0; i < element.getPartOf().size(); i++) { 9801 composeReference(t, "DeviceDispense", "partOf", element.getPartOf().get(i), i); 9802 } 9803 if (element.hasStatusElement()) { 9804 composeEnum(t, "DeviceDispense", "status", element.getStatusElement(), -1); 9805 } 9806 if (element.hasStatusReason()) { 9807 composeCodeableReference(t, "DeviceDispense", "statusReason", element.getStatusReason(), -1); 9808 } 9809 for (int i = 0; i < element.getCategory().size(); i++) { 9810 composeCodeableConcept(t, "DeviceDispense", "category", element.getCategory().get(i), i); 9811 } 9812 if (element.hasDevice()) { 9813 composeCodeableReference(t, "DeviceDispense", "device", element.getDevice(), -1); 9814 } 9815 if (element.hasSubject()) { 9816 composeReference(t, "DeviceDispense", "subject", element.getSubject(), -1); 9817 } 9818 if (element.hasEncounter()) { 9819 composeReference(t, "DeviceDispense", "encounter", element.getEncounter(), -1); 9820 } 9821 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 9822 composeReference(t, "DeviceDispense", "supportingInformation", element.getSupportingInformation().get(i), i); 9823 } 9824 for (int i = 0; i < element.getPerformer().size(); i++) { 9825 composeDeviceDispensePerformerComponent(t, "DeviceDispense", "performer", element.getPerformer().get(i), i); 9826 } 9827 if (element.hasLocation()) { 9828 composeReference(t, "DeviceDispense", "location", element.getLocation(), -1); 9829 } 9830 if (element.hasType()) { 9831 composeCodeableConcept(t, "DeviceDispense", "type", element.getType(), -1); 9832 } 9833 if (element.hasQuantity()) { 9834 composeQuantity(t, "DeviceDispense", "quantity", element.getQuantity(), -1); 9835 } 9836 if (element.hasPreparedDateElement()) { 9837 composeDateTime(t, "DeviceDispense", "preparedDate", element.getPreparedDateElement(), -1); 9838 } 9839 if (element.hasWhenHandedOverElement()) { 9840 composeDateTime(t, "DeviceDispense", "whenHandedOver", element.getWhenHandedOverElement(), -1); 9841 } 9842 if (element.hasDestination()) { 9843 composeReference(t, "DeviceDispense", "destination", element.getDestination(), -1); 9844 } 9845 for (int i = 0; i < element.getNote().size(); i++) { 9846 composeAnnotation(t, "DeviceDispense", "note", element.getNote().get(i), i); 9847 } 9848 if (element.hasUsageInstructionElement()) { 9849 composeString(t, "DeviceDispense", "usageInstruction", element.getUsageInstructionElement(), -1); 9850 } 9851 for (int i = 0; i < element.getEventHistory().size(); i++) { 9852 composeReference(t, "DeviceDispense", "eventHistory", element.getEventHistory().get(i), i); 9853 } 9854 } 9855 9856 protected void composeDeviceDispensePerformerComponent(Complex parent, String parentType, String name, DeviceDispense.DeviceDispensePerformerComponent element, int index) { 9857 if (element == null) 9858 return; 9859 Complex t; 9860 if (Utilities.noString(parentType)) 9861 t = parent; 9862 else { 9863 t = parent.predicate("fhir:"+parentType+'.'+name); 9864 } 9865 composeBackboneElement(t, "performer", name, element, index); 9866 if (element.hasFunction()) { 9867 composeCodeableConcept(t, "DeviceDispensePerformerComponent", "function", element.getFunction(), -1); 9868 } 9869 if (element.hasActor()) { 9870 composeReference(t, "DeviceDispensePerformerComponent", "actor", element.getActor(), -1); 9871 } 9872 } 9873 9874 protected void composeDeviceMetric(Complex parent, String parentType, String name, DeviceMetric element, int index) { 9875 if (element == null) 9876 return; 9877 Complex t; 9878 if (Utilities.noString(parentType)) 9879 t = parent; 9880 else { 9881 t = parent.predicate("fhir:"+parentType+'.'+name); 9882 } 9883 composeDomainResource(t, "DeviceMetric", name, element, index); 9884 for (int i = 0; i < element.getIdentifier().size(); i++) { 9885 composeIdentifier(t, "DeviceMetric", "identifier", element.getIdentifier().get(i), i); 9886 } 9887 if (element.hasType()) { 9888 composeCodeableConcept(t, "DeviceMetric", "type", element.getType(), -1); 9889 } 9890 if (element.hasUnit()) { 9891 composeCodeableConcept(t, "DeviceMetric", "unit", element.getUnit(), -1); 9892 } 9893 if (element.hasSource()) { 9894 composeReference(t, "DeviceMetric", "source", element.getSource(), -1); 9895 } 9896 if (element.hasParent()) { 9897 composeReference(t, "DeviceMetric", "parent", element.getParent(), -1); 9898 } 9899 if (element.hasOperationalStatusElement()) { 9900 composeEnum(t, "DeviceMetric", "operationalStatus", element.getOperationalStatusElement(), -1); 9901 } 9902 if (element.hasColorElement()) { 9903 composeEnum(t, "DeviceMetric", "color", element.getColorElement(), -1); 9904 } 9905 if (element.hasCategoryElement()) { 9906 composeEnum(t, "DeviceMetric", "category", element.getCategoryElement(), -1); 9907 } 9908 if (element.hasMeasurementPeriod()) { 9909 composeTiming(t, "DeviceMetric", "measurementPeriod", element.getMeasurementPeriod(), -1); 9910 } 9911 for (int i = 0; i < element.getCalibration().size(); i++) { 9912 composeDeviceMetricCalibrationComponent(t, "DeviceMetric", "calibration", element.getCalibration().get(i), i); 9913 } 9914 } 9915 9916 protected void composeDeviceMetricCalibrationComponent(Complex parent, String parentType, String name, DeviceMetric.DeviceMetricCalibrationComponent element, int index) { 9917 if (element == null) 9918 return; 9919 Complex t; 9920 if (Utilities.noString(parentType)) 9921 t = parent; 9922 else { 9923 t = parent.predicate("fhir:"+parentType+'.'+name); 9924 } 9925 composeBackboneElement(t, "calibration", name, element, index); 9926 if (element.hasTypeElement()) { 9927 composeEnum(t, "DeviceMetricCalibrationComponent", "type", element.getTypeElement(), -1); 9928 } 9929 if (element.hasStateElement()) { 9930 composeEnum(t, "DeviceMetricCalibrationComponent", "state", element.getStateElement(), -1); 9931 } 9932 if (element.hasTimeElement()) { 9933 composeInstant(t, "DeviceMetricCalibrationComponent", "time", element.getTimeElement(), -1); 9934 } 9935 } 9936 9937 protected void composeDeviceRequest(Complex parent, String parentType, String name, DeviceRequest element, int index) { 9938 if (element == null) 9939 return; 9940 Complex t; 9941 if (Utilities.noString(parentType)) 9942 t = parent; 9943 else { 9944 t = parent.predicate("fhir:"+parentType+'.'+name); 9945 } 9946 composeDomainResource(t, "DeviceRequest", name, element, index); 9947 for (int i = 0; i < element.getIdentifier().size(); i++) { 9948 composeIdentifier(t, "DeviceRequest", "identifier", element.getIdentifier().get(i), i); 9949 } 9950 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 9951 composeCanonical(t, "DeviceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 9952 } 9953 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 9954 composeUri(t, "DeviceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 9955 } 9956 for (int i = 0; i < element.getBasedOn().size(); i++) { 9957 composeReference(t, "DeviceRequest", "basedOn", element.getBasedOn().get(i), i); 9958 } 9959 for (int i = 0; i < element.getPriorRequest().size(); i++) { 9960 composeReference(t, "DeviceRequest", "priorRequest", element.getPriorRequest().get(i), i); 9961 } 9962 if (element.hasGroupIdentifier()) { 9963 composeIdentifier(t, "DeviceRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 9964 } 9965 if (element.hasStatusElement()) { 9966 composeEnum(t, "DeviceRequest", "status", element.getStatusElement(), -1); 9967 } 9968 if (element.hasIntentElement()) { 9969 composeEnum(t, "DeviceRequest", "intent", element.getIntentElement(), -1); 9970 } 9971 if (element.hasPriorityElement()) { 9972 composeEnum(t, "DeviceRequest", "priority", element.getPriorityElement(), -1); 9973 } 9974 if (element.hasDoNotPerformElement()) { 9975 composeBoolean(t, "DeviceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 9976 } 9977 if (element.hasCode()) { 9978 composeCodeableReference(t, "DeviceRequest", "code", element.getCode(), -1); 9979 } 9980 if (element.hasQuantityElement()) { 9981 composeInteger(t, "DeviceRequest", "quantity", element.getQuantityElement(), -1); 9982 } 9983 for (int i = 0; i < element.getParameter().size(); i++) { 9984 composeDeviceRequestParameterComponent(t, "DeviceRequest", "parameter", element.getParameter().get(i), i); 9985 } 9986 if (element.hasSubject()) { 9987 composeReference(t, "DeviceRequest", "subject", element.getSubject(), -1); 9988 } 9989 if (element.hasEncounter()) { 9990 composeReference(t, "DeviceRequest", "encounter", element.getEncounter(), -1); 9991 } 9992 if (element.hasOccurrence()) { 9993 composeType(t, "DeviceRequest", "occurrence", element.getOccurrence(), -1); 9994 } 9995 if (element.hasAuthoredOnElement()) { 9996 composeDateTime(t, "DeviceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 9997 } 9998 if (element.hasRequester()) { 9999 composeReference(t, "DeviceRequest", "requester", element.getRequester(), -1); 10000 } 10001 if (element.hasPerformerType()) { 10002 composeCodeableConcept(t, "DeviceRequest", "performerType", element.getPerformerType(), -1); 10003 } 10004 if (element.hasPerformer()) { 10005 composeReference(t, "DeviceRequest", "performer", element.getPerformer(), -1); 10006 } 10007 for (int i = 0; i < element.getReason().size(); i++) { 10008 composeCodeableReference(t, "DeviceRequest", "reason", element.getReason().get(i), i); 10009 } 10010 for (int i = 0; i < element.getInsurance().size(); i++) { 10011 composeReference(t, "DeviceRequest", "insurance", element.getInsurance().get(i), i); 10012 } 10013 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 10014 composeReference(t, "DeviceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 10015 } 10016 for (int i = 0; i < element.getNote().size(); i++) { 10017 composeAnnotation(t, "DeviceRequest", "note", element.getNote().get(i), i); 10018 } 10019 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 10020 composeReference(t, "DeviceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 10021 } 10022 } 10023 10024 protected void composeDeviceRequestParameterComponent(Complex parent, String parentType, String name, DeviceRequest.DeviceRequestParameterComponent element, int index) { 10025 if (element == null) 10026 return; 10027 Complex t; 10028 if (Utilities.noString(parentType)) 10029 t = parent; 10030 else { 10031 t = parent.predicate("fhir:"+parentType+'.'+name); 10032 } 10033 composeBackboneElement(t, "parameter", name, element, index); 10034 if (element.hasCode()) { 10035 composeCodeableConcept(t, "DeviceRequestParameterComponent", "code", element.getCode(), -1); 10036 } 10037 if (element.hasValue()) { 10038 composeType(t, "DeviceRequestParameterComponent", "value", element.getValue(), -1); 10039 } 10040 } 10041 10042 protected void composeDeviceUsage(Complex parent, String parentType, String name, DeviceUsage element, int index) { 10043 if (element == null) 10044 return; 10045 Complex t; 10046 if (Utilities.noString(parentType)) 10047 t = parent; 10048 else { 10049 t = parent.predicate("fhir:"+parentType+'.'+name); 10050 } 10051 composeDomainResource(t, "DeviceUsage", name, element, index); 10052 for (int i = 0; i < element.getIdentifier().size(); i++) { 10053 composeIdentifier(t, "DeviceUsage", "identifier", element.getIdentifier().get(i), i); 10054 } 10055 for (int i = 0; i < element.getBasedOn().size(); i++) { 10056 composeReference(t, "DeviceUsage", "basedOn", element.getBasedOn().get(i), i); 10057 } 10058 if (element.hasStatusElement()) { 10059 composeEnum(t, "DeviceUsage", "status", element.getStatusElement(), -1); 10060 } 10061 for (int i = 0; i < element.getCategory().size(); i++) { 10062 composeCodeableConcept(t, "DeviceUsage", "category", element.getCategory().get(i), i); 10063 } 10064 if (element.hasPatient()) { 10065 composeReference(t, "DeviceUsage", "patient", element.getPatient(), -1); 10066 } 10067 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 10068 composeReference(t, "DeviceUsage", "derivedFrom", element.getDerivedFrom().get(i), i); 10069 } 10070 if (element.hasContext()) { 10071 composeReference(t, "DeviceUsage", "context", element.getContext(), -1); 10072 } 10073 if (element.hasTiming()) { 10074 composeType(t, "DeviceUsage", "timing", element.getTiming(), -1); 10075 } 10076 if (element.hasDateAssertedElement()) { 10077 composeDateTime(t, "DeviceUsage", "dateAsserted", element.getDateAssertedElement(), -1); 10078 } 10079 if (element.hasUsageStatus()) { 10080 composeCodeableConcept(t, "DeviceUsage", "usageStatus", element.getUsageStatus(), -1); 10081 } 10082 for (int i = 0; i < element.getUsageReason().size(); i++) { 10083 composeCodeableConcept(t, "DeviceUsage", "usageReason", element.getUsageReason().get(i), i); 10084 } 10085 if (element.hasInformationSource()) { 10086 composeReference(t, "DeviceUsage", "informationSource", element.getInformationSource(), -1); 10087 } 10088 if (element.hasDevice()) { 10089 composeCodeableReference(t, "DeviceUsage", "device", element.getDevice(), -1); 10090 } 10091 for (int i = 0; i < element.getReason().size(); i++) { 10092 composeCodeableReference(t, "DeviceUsage", "reason", element.getReason().get(i), i); 10093 } 10094 if (element.hasBodySite()) { 10095 composeCodeableReference(t, "DeviceUsage", "bodySite", element.getBodySite(), -1); 10096 } 10097 for (int i = 0; i < element.getNote().size(); i++) { 10098 composeAnnotation(t, "DeviceUsage", "note", element.getNote().get(i), i); 10099 } 10100 } 10101 10102 protected void composeDiagnosticReport(Complex parent, String parentType, String name, DiagnosticReport element, int index) { 10103 if (element == null) 10104 return; 10105 Complex t; 10106 if (Utilities.noString(parentType)) 10107 t = parent; 10108 else { 10109 t = parent.predicate("fhir:"+parentType+'.'+name); 10110 } 10111 composeDomainResource(t, "DiagnosticReport", name, element, index); 10112 for (int i = 0; i < element.getIdentifier().size(); i++) { 10113 composeIdentifier(t, "DiagnosticReport", "identifier", element.getIdentifier().get(i), i); 10114 } 10115 for (int i = 0; i < element.getBasedOn().size(); i++) { 10116 composeReference(t, "DiagnosticReport", "basedOn", element.getBasedOn().get(i), i); 10117 } 10118 if (element.hasStatusElement()) { 10119 composeEnum(t, "DiagnosticReport", "status", element.getStatusElement(), -1); 10120 } 10121 for (int i = 0; i < element.getCategory().size(); i++) { 10122 composeCodeableConcept(t, "DiagnosticReport", "category", element.getCategory().get(i), i); 10123 } 10124 if (element.hasCode()) { 10125 composeCodeableConcept(t, "DiagnosticReport", "code", element.getCode(), -1); 10126 } 10127 if (element.hasSubject()) { 10128 composeReference(t, "DiagnosticReport", "subject", element.getSubject(), -1); 10129 } 10130 if (element.hasEncounter()) { 10131 composeReference(t, "DiagnosticReport", "encounter", element.getEncounter(), -1); 10132 } 10133 if (element.hasEffective()) { 10134 composeType(t, "DiagnosticReport", "effective", element.getEffective(), -1); 10135 } 10136 if (element.hasIssuedElement()) { 10137 composeInstant(t, "DiagnosticReport", "issued", element.getIssuedElement(), -1); 10138 } 10139 for (int i = 0; i < element.getPerformer().size(); i++) { 10140 composeReference(t, "DiagnosticReport", "performer", element.getPerformer().get(i), i); 10141 } 10142 for (int i = 0; i < element.getResultsInterpreter().size(); i++) { 10143 composeReference(t, "DiagnosticReport", "resultsInterpreter", element.getResultsInterpreter().get(i), i); 10144 } 10145 for (int i = 0; i < element.getSpecimen().size(); i++) { 10146 composeReference(t, "DiagnosticReport", "specimen", element.getSpecimen().get(i), i); 10147 } 10148 for (int i = 0; i < element.getResult().size(); i++) { 10149 composeReference(t, "DiagnosticReport", "result", element.getResult().get(i), i); 10150 } 10151 for (int i = 0; i < element.getNote().size(); i++) { 10152 composeAnnotation(t, "DiagnosticReport", "note", element.getNote().get(i), i); 10153 } 10154 for (int i = 0; i < element.getImagingStudy().size(); i++) { 10155 composeReference(t, "DiagnosticReport", "imagingStudy", element.getImagingStudy().get(i), i); 10156 } 10157 for (int i = 0; i < element.getMedia().size(); i++) { 10158 composeDiagnosticReportMediaComponent(t, "DiagnosticReport", "media", element.getMedia().get(i), i); 10159 } 10160 if (element.hasComposition()) { 10161 composeReference(t, "DiagnosticReport", "composition", element.getComposition(), -1); 10162 } 10163 if (element.hasConclusionElement()) { 10164 composeString(t, "DiagnosticReport", "conclusion", element.getConclusionElement(), -1); 10165 } 10166 for (int i = 0; i < element.getConclusionCode().size(); i++) { 10167 composeCodeableConcept(t, "DiagnosticReport", "conclusionCode", element.getConclusionCode().get(i), i); 10168 } 10169 for (int i = 0; i < element.getPresentedForm().size(); i++) { 10170 composeAttachment(t, "DiagnosticReport", "presentedForm", element.getPresentedForm().get(i), i); 10171 } 10172 } 10173 10174 protected void composeDiagnosticReportMediaComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportMediaComponent element, int index) { 10175 if (element == null) 10176 return; 10177 Complex t; 10178 if (Utilities.noString(parentType)) 10179 t = parent; 10180 else { 10181 t = parent.predicate("fhir:"+parentType+'.'+name); 10182 } 10183 composeBackboneElement(t, "media", name, element, index); 10184 if (element.hasCommentElement()) { 10185 composeString(t, "DiagnosticReportMediaComponent", "comment", element.getCommentElement(), -1); 10186 } 10187 if (element.hasLink()) { 10188 composeReference(t, "DiagnosticReportMediaComponent", "link", element.getLink(), -1); 10189 } 10190 } 10191 10192 protected void composeDocumentManifest(Complex parent, String parentType, String name, DocumentManifest element, int index) { 10193 if (element == null) 10194 return; 10195 Complex t; 10196 if (Utilities.noString(parentType)) 10197 t = parent; 10198 else { 10199 t = parent.predicate("fhir:"+parentType+'.'+name); 10200 } 10201 composeDomainResource(t, "DocumentManifest", name, element, index); 10202 if (element.hasMasterIdentifier()) { 10203 composeIdentifier(t, "DocumentManifest", "masterIdentifier", element.getMasterIdentifier(), -1); 10204 } 10205 for (int i = 0; i < element.getIdentifier().size(); i++) { 10206 composeIdentifier(t, "DocumentManifest", "identifier", element.getIdentifier().get(i), i); 10207 } 10208 if (element.hasStatusElement()) { 10209 composeEnum(t, "DocumentManifest", "status", element.getStatusElement(), -1); 10210 } 10211 if (element.hasType()) { 10212 composeCodeableConcept(t, "DocumentManifest", "type", element.getType(), -1); 10213 } 10214 if (element.hasSubject()) { 10215 composeReference(t, "DocumentManifest", "subject", element.getSubject(), -1); 10216 } 10217 if (element.hasCreatedElement()) { 10218 composeDateTime(t, "DocumentManifest", "created", element.getCreatedElement(), -1); 10219 } 10220 for (int i = 0; i < element.getAuthor().size(); i++) { 10221 composeReference(t, "DocumentManifest", "author", element.getAuthor().get(i), i); 10222 } 10223 for (int i = 0; i < element.getRecipient().size(); i++) { 10224 composeReference(t, "DocumentManifest", "recipient", element.getRecipient().get(i), i); 10225 } 10226 if (element.hasSourceElement()) { 10227 composeUri(t, "DocumentManifest", "source", element.getSourceElement(), -1); 10228 } 10229 if (element.hasDescriptionElement()) { 10230 composeString(t, "DocumentManifest", "description", element.getDescriptionElement(), -1); 10231 } 10232 for (int i = 0; i < element.getContent().size(); i++) { 10233 composeReference(t, "DocumentManifest", "content", element.getContent().get(i), i); 10234 } 10235 for (int i = 0; i < element.getRelated().size(); i++) { 10236 composeDocumentManifestRelatedComponent(t, "DocumentManifest", "related", element.getRelated().get(i), i); 10237 } 10238 } 10239 10240 protected void composeDocumentManifestRelatedComponent(Complex parent, String parentType, String name, DocumentManifest.DocumentManifestRelatedComponent element, int index) { 10241 if (element == null) 10242 return; 10243 Complex t; 10244 if (Utilities.noString(parentType)) 10245 t = parent; 10246 else { 10247 t = parent.predicate("fhir:"+parentType+'.'+name); 10248 } 10249 composeBackboneElement(t, "related", name, element, index); 10250 if (element.hasIdentifier()) { 10251 composeIdentifier(t, "DocumentManifestRelatedComponent", "identifier", element.getIdentifier(), -1); 10252 } 10253 if (element.hasRef()) { 10254 composeReference(t, "DocumentManifestRelatedComponent", "ref", element.getRef(), -1); 10255 } 10256 } 10257 10258 protected void composeDocumentReference(Complex parent, String parentType, String name, DocumentReference element, int index) { 10259 if (element == null) 10260 return; 10261 Complex t; 10262 if (Utilities.noString(parentType)) 10263 t = parent; 10264 else { 10265 t = parent.predicate("fhir:"+parentType+'.'+name); 10266 } 10267 composeDomainResource(t, "DocumentReference", name, element, index); 10268 for (int i = 0; i < element.getIdentifier().size(); i++) { 10269 composeIdentifier(t, "DocumentReference", "identifier", element.getIdentifier().get(i), i); 10270 } 10271 for (int i = 0; i < element.getBasedOn().size(); i++) { 10272 composeReference(t, "DocumentReference", "basedOn", element.getBasedOn().get(i), i); 10273 } 10274 if (element.hasStatusElement()) { 10275 composeEnum(t, "DocumentReference", "status", element.getStatusElement(), -1); 10276 } 10277 if (element.hasDocStatusElement()) { 10278 composeEnum(t, "DocumentReference", "docStatus", element.getDocStatusElement(), -1); 10279 } 10280 if (element.hasType()) { 10281 composeCodeableConcept(t, "DocumentReference", "type", element.getType(), -1); 10282 } 10283 for (int i = 0; i < element.getCategory().size(); i++) { 10284 composeCodeableConcept(t, "DocumentReference", "category", element.getCategory().get(i), i); 10285 } 10286 if (element.hasSubject()) { 10287 composeReference(t, "DocumentReference", "subject", element.getSubject(), -1); 10288 } 10289 for (int i = 0; i < element.getEncounter().size(); i++) { 10290 composeReference(t, "DocumentReference", "encounter", element.getEncounter().get(i), i); 10291 } 10292 for (int i = 0; i < element.getEvent().size(); i++) { 10293 composeCodeableConcept(t, "DocumentReference", "event", element.getEvent().get(i), i); 10294 } 10295 if (element.hasFacilityType()) { 10296 composeCodeableConcept(t, "DocumentReference", "facilityType", element.getFacilityType(), -1); 10297 } 10298 if (element.hasPracticeSetting()) { 10299 composeCodeableConcept(t, "DocumentReference", "practiceSetting", element.getPracticeSetting(), -1); 10300 } 10301 if (element.hasPeriod()) { 10302 composePeriod(t, "DocumentReference", "period", element.getPeriod(), -1); 10303 } 10304 if (element.hasDateElement()) { 10305 composeInstant(t, "DocumentReference", "date", element.getDateElement(), -1); 10306 } 10307 for (int i = 0; i < element.getAuthor().size(); i++) { 10308 composeReference(t, "DocumentReference", "author", element.getAuthor().get(i), i); 10309 } 10310 for (int i = 0; i < element.getAttester().size(); i++) { 10311 composeDocumentReferenceAttesterComponent(t, "DocumentReference", "attester", element.getAttester().get(i), i); 10312 } 10313 if (element.hasCustodian()) { 10314 composeReference(t, "DocumentReference", "custodian", element.getCustodian(), -1); 10315 } 10316 for (int i = 0; i < element.getRelatesTo().size(); i++) { 10317 composeDocumentReferenceRelatesToComponent(t, "DocumentReference", "relatesTo", element.getRelatesTo().get(i), i); 10318 } 10319 if (element.hasDescriptionElement()) { 10320 composeMarkdown(t, "DocumentReference", "description", element.getDescriptionElement(), -1); 10321 } 10322 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 10323 composeCodeableConcept(t, "DocumentReference", "securityLabel", element.getSecurityLabel().get(i), i); 10324 } 10325 for (int i = 0; i < element.getContent().size(); i++) { 10326 composeDocumentReferenceContentComponent(t, "DocumentReference", "content", element.getContent().get(i), i); 10327 } 10328 if (element.hasSourcePatientInfo()) { 10329 composeReference(t, "DocumentReference", "sourcePatientInfo", element.getSourcePatientInfo(), -1); 10330 } 10331 for (int i = 0; i < element.getRelated().size(); i++) { 10332 composeReference(t, "DocumentReference", "related", element.getRelated().get(i), i); 10333 } 10334 } 10335 10336 protected void composeDocumentReferenceAttesterComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceAttesterComponent element, int index) { 10337 if (element == null) 10338 return; 10339 Complex t; 10340 if (Utilities.noString(parentType)) 10341 t = parent; 10342 else { 10343 t = parent.predicate("fhir:"+parentType+'.'+name); 10344 } 10345 composeBackboneElement(t, "attester", name, element, index); 10346 if (element.hasModeElement()) { 10347 composeEnum(t, "DocumentReferenceAttesterComponent", "mode", element.getModeElement(), -1); 10348 } 10349 if (element.hasTimeElement()) { 10350 composeDateTime(t, "DocumentReferenceAttesterComponent", "time", element.getTimeElement(), -1); 10351 } 10352 if (element.hasParty()) { 10353 composeReference(t, "DocumentReferenceAttesterComponent", "party", element.getParty(), -1); 10354 } 10355 } 10356 10357 protected void composeDocumentReferenceRelatesToComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceRelatesToComponent element, int index) { 10358 if (element == null) 10359 return; 10360 Complex t; 10361 if (Utilities.noString(parentType)) 10362 t = parent; 10363 else { 10364 t = parent.predicate("fhir:"+parentType+'.'+name); 10365 } 10366 composeBackboneElement(t, "relatesTo", name, element, index); 10367 if (element.hasCode()) { 10368 composeCodeableConcept(t, "DocumentReferenceRelatesToComponent", "code", element.getCode(), -1); 10369 } 10370 if (element.hasTarget()) { 10371 composeReference(t, "DocumentReferenceRelatesToComponent", "target", element.getTarget(), -1); 10372 } 10373 } 10374 10375 protected void composeDocumentReferenceContentComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceContentComponent element, int index) { 10376 if (element == null) 10377 return; 10378 Complex t; 10379 if (Utilities.noString(parentType)) 10380 t = parent; 10381 else { 10382 t = parent.predicate("fhir:"+parentType+'.'+name); 10383 } 10384 composeBackboneElement(t, "content", name, element, index); 10385 if (element.hasAttachment()) { 10386 composeAttachment(t, "DocumentReferenceContentComponent", "attachment", element.getAttachment(), -1); 10387 } 10388 if (element.hasFormat()) { 10389 composeCoding(t, "DocumentReferenceContentComponent", "format", element.getFormat(), -1); 10390 } 10391 if (element.hasIdentifier()) { 10392 composeIdentifier(t, "DocumentReferenceContentComponent", "identifier", element.getIdentifier(), -1); 10393 } 10394 } 10395 10396 protected void composeEncounter(Complex parent, String parentType, String name, Encounter element, int index) { 10397 if (element == null) 10398 return; 10399 Complex t; 10400 if (Utilities.noString(parentType)) 10401 t = parent; 10402 else { 10403 t = parent.predicate("fhir:"+parentType+'.'+name); 10404 } 10405 composeDomainResource(t, "Encounter", name, element, index); 10406 for (int i = 0; i < element.getIdentifier().size(); i++) { 10407 composeIdentifier(t, "Encounter", "identifier", element.getIdentifier().get(i), i); 10408 } 10409 if (element.hasStatusElement()) { 10410 composeEnum(t, "Encounter", "status", element.getStatusElement(), -1); 10411 } 10412 for (int i = 0; i < element.getStatusHistory().size(); i++) { 10413 composeEncounterStatusHistoryComponent(t, "Encounter", "statusHistory", element.getStatusHistory().get(i), i); 10414 } 10415 if (element.hasClass_()) { 10416 composeCoding(t, "Encounter", "class", element.getClass_(), -1); 10417 } 10418 for (int i = 0; i < element.getClassHistory().size(); i++) { 10419 composeEncounterClassHistoryComponent(t, "Encounter", "classHistory", element.getClassHistory().get(i), i); 10420 } 10421 for (int i = 0; i < element.getType().size(); i++) { 10422 composeCodeableConcept(t, "Encounter", "type", element.getType().get(i), i); 10423 } 10424 if (element.hasServiceType()) { 10425 composeCodeableConcept(t, "Encounter", "serviceType", element.getServiceType(), -1); 10426 } 10427 if (element.hasPriority()) { 10428 composeCodeableConcept(t, "Encounter", "priority", element.getPriority(), -1); 10429 } 10430 if (element.hasSubject()) { 10431 composeReference(t, "Encounter", "subject", element.getSubject(), -1); 10432 } 10433 if (element.hasSubjectStatus()) { 10434 composeCodeableConcept(t, "Encounter", "subjectStatus", element.getSubjectStatus(), -1); 10435 } 10436 for (int i = 0; i < element.getEpisodeOfCare().size(); i++) { 10437 composeReference(t, "Encounter", "episodeOfCare", element.getEpisodeOfCare().get(i), i); 10438 } 10439 for (int i = 0; i < element.getBasedOn().size(); i++) { 10440 composeReference(t, "Encounter", "basedOn", element.getBasedOn().get(i), i); 10441 } 10442 for (int i = 0; i < element.getParticipant().size(); i++) { 10443 composeEncounterParticipantComponent(t, "Encounter", "participant", element.getParticipant().get(i), i); 10444 } 10445 for (int i = 0; i < element.getAppointment().size(); i++) { 10446 composeReference(t, "Encounter", "appointment", element.getAppointment().get(i), i); 10447 } 10448 if (element.hasActualPeriod()) { 10449 composePeriod(t, "Encounter", "actualPeriod", element.getActualPeriod(), -1); 10450 } 10451 if (element.hasPlannedStartDateElement()) { 10452 composeDateTime(t, "Encounter", "plannedStartDate", element.getPlannedStartDateElement(), -1); 10453 } 10454 if (element.hasPlannedEndDateElement()) { 10455 composeDateTime(t, "Encounter", "plannedEndDate", element.getPlannedEndDateElement(), -1); 10456 } 10457 if (element.hasLength()) { 10458 composeDuration(t, "Encounter", "length", element.getLength(), -1); 10459 } 10460 for (int i = 0; i < element.getReason().size(); i++) { 10461 composeCodeableReference(t, "Encounter", "reason", element.getReason().get(i), i); 10462 } 10463 for (int i = 0; i < element.getDiagnosis().size(); i++) { 10464 composeEncounterDiagnosisComponent(t, "Encounter", "diagnosis", element.getDiagnosis().get(i), i); 10465 } 10466 for (int i = 0; i < element.getAccount().size(); i++) { 10467 composeReference(t, "Encounter", "account", element.getAccount().get(i), i); 10468 } 10469 if (element.hasHospitalization()) { 10470 composeEncounterHospitalizationComponent(t, "Encounter", "hospitalization", element.getHospitalization(), -1); 10471 } 10472 for (int i = 0; i < element.getLocation().size(); i++) { 10473 composeEncounterLocationComponent(t, "Encounter", "location", element.getLocation().get(i), i); 10474 } 10475 if (element.hasServiceProvider()) { 10476 composeReference(t, "Encounter", "serviceProvider", element.getServiceProvider(), -1); 10477 } 10478 if (element.hasPartOf()) { 10479 composeReference(t, "Encounter", "partOf", element.getPartOf(), -1); 10480 } 10481 } 10482 10483 protected void composeEncounterStatusHistoryComponent(Complex parent, String parentType, String name, Encounter.StatusHistoryComponent element, int index) { 10484 if (element == null) 10485 return; 10486 Complex t; 10487 if (Utilities.noString(parentType)) 10488 t = parent; 10489 else { 10490 t = parent.predicate("fhir:"+parentType+'.'+name); 10491 } 10492 composeBackboneElement(t, "statusHistory", name, element, index); 10493 if (element.hasStatusElement()) { 10494 composeEnum(t, "StatusHistoryComponent", "status", element.getStatusElement(), -1); 10495 } 10496 if (element.hasPeriod()) { 10497 composePeriod(t, "StatusHistoryComponent", "period", element.getPeriod(), -1); 10498 } 10499 } 10500 10501 protected void composeEncounterClassHistoryComponent(Complex parent, String parentType, String name, Encounter.ClassHistoryComponent element, int index) { 10502 if (element == null) 10503 return; 10504 Complex t; 10505 if (Utilities.noString(parentType)) 10506 t = parent; 10507 else { 10508 t = parent.predicate("fhir:"+parentType+'.'+name); 10509 } 10510 composeBackboneElement(t, "classHistory", name, element, index); 10511 if (element.hasClass_()) { 10512 composeCoding(t, "ClassHistoryComponent", "class", element.getClass_(), -1); 10513 } 10514 if (element.hasPeriod()) { 10515 composePeriod(t, "ClassHistoryComponent", "period", element.getPeriod(), -1); 10516 } 10517 } 10518 10519 protected void composeEncounterParticipantComponent(Complex parent, String parentType, String name, Encounter.EncounterParticipantComponent element, int index) { 10520 if (element == null) 10521 return; 10522 Complex t; 10523 if (Utilities.noString(parentType)) 10524 t = parent; 10525 else { 10526 t = parent.predicate("fhir:"+parentType+'.'+name); 10527 } 10528 composeBackboneElement(t, "participant", name, element, index); 10529 for (int i = 0; i < element.getType().size(); i++) { 10530 composeCodeableConcept(t, "EncounterParticipantComponent", "type", element.getType().get(i), i); 10531 } 10532 if (element.hasPeriod()) { 10533 composePeriod(t, "EncounterParticipantComponent", "period", element.getPeriod(), -1); 10534 } 10535 if (element.hasActor()) { 10536 composeReference(t, "EncounterParticipantComponent", "actor", element.getActor(), -1); 10537 } 10538 } 10539 10540 protected void composeEncounterDiagnosisComponent(Complex parent, String parentType, String name, Encounter.DiagnosisComponent element, int index) { 10541 if (element == null) 10542 return; 10543 Complex t; 10544 if (Utilities.noString(parentType)) 10545 t = parent; 10546 else { 10547 t = parent.predicate("fhir:"+parentType+'.'+name); 10548 } 10549 composeBackboneElement(t, "diagnosis", name, element, index); 10550 if (element.hasCondition()) { 10551 composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 10552 } 10553 if (element.hasUse()) { 10554 composeCodeableConcept(t, "DiagnosisComponent", "use", element.getUse(), -1); 10555 } 10556 if (element.hasRankElement()) { 10557 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 10558 } 10559 } 10560 10561 protected void composeEncounterHospitalizationComponent(Complex parent, String parentType, String name, Encounter.EncounterHospitalizationComponent element, int index) { 10562 if (element == null) 10563 return; 10564 Complex t; 10565 if (Utilities.noString(parentType)) 10566 t = parent; 10567 else { 10568 t = parent.predicate("fhir:"+parentType+'.'+name); 10569 } 10570 composeBackboneElement(t, "hospitalization", name, element, index); 10571 if (element.hasPreAdmissionIdentifier()) { 10572 composeIdentifier(t, "EncounterHospitalizationComponent", "preAdmissionIdentifier", element.getPreAdmissionIdentifier(), -1); 10573 } 10574 if (element.hasOrigin()) { 10575 composeReference(t, "EncounterHospitalizationComponent", "origin", element.getOrigin(), -1); 10576 } 10577 if (element.hasAdmitSource()) { 10578 composeCodeableConcept(t, "EncounterHospitalizationComponent", "admitSource", element.getAdmitSource(), -1); 10579 } 10580 if (element.hasReAdmission()) { 10581 composeCodeableConcept(t, "EncounterHospitalizationComponent", "reAdmission", element.getReAdmission(), -1); 10582 } 10583 for (int i = 0; i < element.getDietPreference().size(); i++) { 10584 composeCodeableConcept(t, "EncounterHospitalizationComponent", "dietPreference", element.getDietPreference().get(i), i); 10585 } 10586 for (int i = 0; i < element.getSpecialCourtesy().size(); i++) { 10587 composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialCourtesy", element.getSpecialCourtesy().get(i), i); 10588 } 10589 for (int i = 0; i < element.getSpecialArrangement().size(); i++) { 10590 composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialArrangement", element.getSpecialArrangement().get(i), i); 10591 } 10592 if (element.hasDestination()) { 10593 composeReference(t, "EncounterHospitalizationComponent", "destination", element.getDestination(), -1); 10594 } 10595 if (element.hasDischargeDisposition()) { 10596 composeCodeableConcept(t, "EncounterHospitalizationComponent", "dischargeDisposition", element.getDischargeDisposition(), -1); 10597 } 10598 } 10599 10600 protected void composeEncounterLocationComponent(Complex parent, String parentType, String name, Encounter.EncounterLocationComponent element, int index) { 10601 if (element == null) 10602 return; 10603 Complex t; 10604 if (Utilities.noString(parentType)) 10605 t = parent; 10606 else { 10607 t = parent.predicate("fhir:"+parentType+'.'+name); 10608 } 10609 composeBackboneElement(t, "location", name, element, index); 10610 if (element.hasLocation()) { 10611 composeReference(t, "EncounterLocationComponent", "location", element.getLocation(), -1); 10612 } 10613 if (element.hasStatusElement()) { 10614 composeEnum(t, "EncounterLocationComponent", "status", element.getStatusElement(), -1); 10615 } 10616 if (element.hasPhysicalType()) { 10617 composeCodeableConcept(t, "EncounterLocationComponent", "physicalType", element.getPhysicalType(), -1); 10618 } 10619 if (element.hasPeriod()) { 10620 composePeriod(t, "EncounterLocationComponent", "period", element.getPeriod(), -1); 10621 } 10622 } 10623 10624 protected void composeEndpoint(Complex parent, String parentType, String name, Endpoint element, int index) { 10625 if (element == null) 10626 return; 10627 Complex t; 10628 if (Utilities.noString(parentType)) 10629 t = parent; 10630 else { 10631 t = parent.predicate("fhir:"+parentType+'.'+name); 10632 } 10633 composeDomainResource(t, "Endpoint", name, element, index); 10634 for (int i = 0; i < element.getIdentifier().size(); i++) { 10635 composeIdentifier(t, "Endpoint", "identifier", element.getIdentifier().get(i), i); 10636 } 10637 if (element.hasStatusElement()) { 10638 composeEnum(t, "Endpoint", "status", element.getStatusElement(), -1); 10639 } 10640 if (element.hasConnectionType()) { 10641 composeCoding(t, "Endpoint", "connectionType", element.getConnectionType(), -1); 10642 } 10643 if (element.hasNameElement()) { 10644 composeString(t, "Endpoint", "name", element.getNameElement(), -1); 10645 } 10646 if (element.hasManagingOrganization()) { 10647 composeReference(t, "Endpoint", "managingOrganization", element.getManagingOrganization(), -1); 10648 } 10649 for (int i = 0; i < element.getContact().size(); i++) { 10650 composeContactPoint(t, "Endpoint", "contact", element.getContact().get(i), i); 10651 } 10652 if (element.hasPeriod()) { 10653 composePeriod(t, "Endpoint", "period", element.getPeriod(), -1); 10654 } 10655 for (int i = 0; i < element.getPayloadType().size(); i++) { 10656 composeCodeableConcept(t, "Endpoint", "payloadType", element.getPayloadType().get(i), i); 10657 } 10658 for (int i = 0; i < element.getPayloadMimeType().size(); i++) { 10659 composeCode(t, "Endpoint", "payloadMimeType", element.getPayloadMimeType().get(i), i); 10660 } 10661 if (element.hasAddressElement()) { 10662 composeUrl(t, "Endpoint", "address", element.getAddressElement(), -1); 10663 } 10664 for (int i = 0; i < element.getHeader().size(); i++) { 10665 composeString(t, "Endpoint", "header", element.getHeader().get(i), i); 10666 } 10667 } 10668 10669 protected void composeEnrollmentRequest(Complex parent, String parentType, String name, EnrollmentRequest element, int index) { 10670 if (element == null) 10671 return; 10672 Complex t; 10673 if (Utilities.noString(parentType)) 10674 t = parent; 10675 else { 10676 t = parent.predicate("fhir:"+parentType+'.'+name); 10677 } 10678 composeDomainResource(t, "EnrollmentRequest", name, element, index); 10679 for (int i = 0; i < element.getIdentifier().size(); i++) { 10680 composeIdentifier(t, "EnrollmentRequest", "identifier", element.getIdentifier().get(i), i); 10681 } 10682 if (element.hasStatusElement()) { 10683 composeEnum(t, "EnrollmentRequest", "status", element.getStatusElement(), -1); 10684 } 10685 if (element.hasCreatedElement()) { 10686 composeDateTime(t, "EnrollmentRequest", "created", element.getCreatedElement(), -1); 10687 } 10688 if (element.hasInsurer()) { 10689 composeReference(t, "EnrollmentRequest", "insurer", element.getInsurer(), -1); 10690 } 10691 if (element.hasProvider()) { 10692 composeReference(t, "EnrollmentRequest", "provider", element.getProvider(), -1); 10693 } 10694 if (element.hasCandidate()) { 10695 composeReference(t, "EnrollmentRequest", "candidate", element.getCandidate(), -1); 10696 } 10697 if (element.hasCoverage()) { 10698 composeReference(t, "EnrollmentRequest", "coverage", element.getCoverage(), -1); 10699 } 10700 } 10701 10702 protected void composeEnrollmentResponse(Complex parent, String parentType, String name, EnrollmentResponse element, int index) { 10703 if (element == null) 10704 return; 10705 Complex t; 10706 if (Utilities.noString(parentType)) 10707 t = parent; 10708 else { 10709 t = parent.predicate("fhir:"+parentType+'.'+name); 10710 } 10711 composeDomainResource(t, "EnrollmentResponse", name, element, index); 10712 for (int i = 0; i < element.getIdentifier().size(); i++) { 10713 composeIdentifier(t, "EnrollmentResponse", "identifier", element.getIdentifier().get(i), i); 10714 } 10715 if (element.hasStatusElement()) { 10716 composeEnum(t, "EnrollmentResponse", "status", element.getStatusElement(), -1); 10717 } 10718 if (element.hasRequest()) { 10719 composeReference(t, "EnrollmentResponse", "request", element.getRequest(), -1); 10720 } 10721 if (element.hasOutcomeElement()) { 10722 composeEnum(t, "EnrollmentResponse", "outcome", element.getOutcomeElement(), -1); 10723 } 10724 if (element.hasDispositionElement()) { 10725 composeString(t, "EnrollmentResponse", "disposition", element.getDispositionElement(), -1); 10726 } 10727 if (element.hasCreatedElement()) { 10728 composeDateTime(t, "EnrollmentResponse", "created", element.getCreatedElement(), -1); 10729 } 10730 if (element.hasOrganization()) { 10731 composeReference(t, "EnrollmentResponse", "organization", element.getOrganization(), -1); 10732 } 10733 if (element.hasRequestProvider()) { 10734 composeReference(t, "EnrollmentResponse", "requestProvider", element.getRequestProvider(), -1); 10735 } 10736 } 10737 10738 protected void composeEpisodeOfCare(Complex parent, String parentType, String name, EpisodeOfCare element, int index) { 10739 if (element == null) 10740 return; 10741 Complex t; 10742 if (Utilities.noString(parentType)) 10743 t = parent; 10744 else { 10745 t = parent.predicate("fhir:"+parentType+'.'+name); 10746 } 10747 composeDomainResource(t, "EpisodeOfCare", name, element, index); 10748 for (int i = 0; i < element.getIdentifier().size(); i++) { 10749 composeIdentifier(t, "EpisodeOfCare", "identifier", element.getIdentifier().get(i), i); 10750 } 10751 if (element.hasStatusElement()) { 10752 composeEnum(t, "EpisodeOfCare", "status", element.getStatusElement(), -1); 10753 } 10754 for (int i = 0; i < element.getStatusHistory().size(); i++) { 10755 composeEpisodeOfCareStatusHistoryComponent(t, "EpisodeOfCare", "statusHistory", element.getStatusHistory().get(i), i); 10756 } 10757 for (int i = 0; i < element.getType().size(); i++) { 10758 composeCodeableConcept(t, "EpisodeOfCare", "type", element.getType().get(i), i); 10759 } 10760 for (int i = 0; i < element.getDiagnosis().size(); i++) { 10761 composeEpisodeOfCareDiagnosisComponent(t, "EpisodeOfCare", "diagnosis", element.getDiagnosis().get(i), i); 10762 } 10763 if (element.hasPatient()) { 10764 composeReference(t, "EpisodeOfCare", "patient", element.getPatient(), -1); 10765 } 10766 if (element.hasManagingOrganization()) { 10767 composeReference(t, "EpisodeOfCare", "managingOrganization", element.getManagingOrganization(), -1); 10768 } 10769 if (element.hasPeriod()) { 10770 composePeriod(t, "EpisodeOfCare", "period", element.getPeriod(), -1); 10771 } 10772 for (int i = 0; i < element.getReferralRequest().size(); i++) { 10773 composeReference(t, "EpisodeOfCare", "referralRequest", element.getReferralRequest().get(i), i); 10774 } 10775 if (element.hasCareManager()) { 10776 composeReference(t, "EpisodeOfCare", "careManager", element.getCareManager(), -1); 10777 } 10778 for (int i = 0; i < element.getTeam().size(); i++) { 10779 composeReference(t, "EpisodeOfCare", "team", element.getTeam().get(i), i); 10780 } 10781 for (int i = 0; i < element.getAccount().size(); i++) { 10782 composeReference(t, "EpisodeOfCare", "account", element.getAccount().get(i), i); 10783 } 10784 } 10785 10786 protected void composeEpisodeOfCareStatusHistoryComponent(Complex parent, String parentType, String name, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element, int index) { 10787 if (element == null) 10788 return; 10789 Complex t; 10790 if (Utilities.noString(parentType)) 10791 t = parent; 10792 else { 10793 t = parent.predicate("fhir:"+parentType+'.'+name); 10794 } 10795 composeBackboneElement(t, "statusHistory", name, element, index); 10796 if (element.hasStatusElement()) { 10797 composeEnum(t, "EpisodeOfCareStatusHistoryComponent", "status", element.getStatusElement(), -1); 10798 } 10799 if (element.hasPeriod()) { 10800 composePeriod(t, "EpisodeOfCareStatusHistoryComponent", "period", element.getPeriod(), -1); 10801 } 10802 } 10803 10804 protected void composeEpisodeOfCareDiagnosisComponent(Complex parent, String parentType, String name, EpisodeOfCare.DiagnosisComponent element, int index) { 10805 if (element == null) 10806 return; 10807 Complex t; 10808 if (Utilities.noString(parentType)) 10809 t = parent; 10810 else { 10811 t = parent.predicate("fhir:"+parentType+'.'+name); 10812 } 10813 composeBackboneElement(t, "diagnosis", name, element, index); 10814 if (element.hasCondition()) { 10815 composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 10816 } 10817 if (element.hasRole()) { 10818 composeCodeableConcept(t, "DiagnosisComponent", "role", element.getRole(), -1); 10819 } 10820 if (element.hasRankElement()) { 10821 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 10822 } 10823 } 10824 10825 protected void composeEventDefinition(Complex parent, String parentType, String name, EventDefinition element, int index) { 10826 if (element == null) 10827 return; 10828 Complex t; 10829 if (Utilities.noString(parentType)) 10830 t = parent; 10831 else { 10832 t = parent.predicate("fhir:"+parentType+'.'+name); 10833 } 10834 composeMetadataResource(t, "EventDefinition", name, element, index); 10835 if (element.hasUrlElement()) { 10836 composeUri(t, "EventDefinition", "url", element.getUrlElement(), -1); 10837 } 10838 for (int i = 0; i < element.getIdentifier().size(); i++) { 10839 composeIdentifier(t, "EventDefinition", "identifier", element.getIdentifier().get(i), i); 10840 } 10841 if (element.hasVersionElement()) { 10842 composeString(t, "EventDefinition", "version", element.getVersionElement(), -1); 10843 } 10844 if (element.hasNameElement()) { 10845 composeString(t, "EventDefinition", "name", element.getNameElement(), -1); 10846 } 10847 if (element.hasTitleElement()) { 10848 composeString(t, "EventDefinition", "title", element.getTitleElement(), -1); 10849 } 10850 if (element.hasSubtitleElement()) { 10851 composeString(t, "EventDefinition", "subtitle", element.getSubtitleElement(), -1); 10852 } 10853 if (element.hasStatusElement()) { 10854 composeEnum(t, "EventDefinition", "status", element.getStatusElement(), -1); 10855 } 10856 if (element.hasExperimentalElement()) { 10857 composeBoolean(t, "EventDefinition", "experimental", element.getExperimentalElement(), -1); 10858 } 10859 if (element.hasSubject()) { 10860 composeType(t, "EventDefinition", "subject", element.getSubject(), -1); 10861 } 10862 if (element.hasDateElement()) { 10863 composeDateTime(t, "EventDefinition", "date", element.getDateElement(), -1); 10864 } 10865 if (element.hasPublisherElement()) { 10866 composeString(t, "EventDefinition", "publisher", element.getPublisherElement(), -1); 10867 } 10868 for (int i = 0; i < element.getContact().size(); i++) { 10869 composeContactDetail(t, "EventDefinition", "contact", element.getContact().get(i), i); 10870 } 10871 if (element.hasDescriptionElement()) { 10872 composeMarkdown(t, "EventDefinition", "description", element.getDescriptionElement(), -1); 10873 } 10874 for (int i = 0; i < element.getUseContext().size(); i++) { 10875 composeUsageContext(t, "EventDefinition", "useContext", element.getUseContext().get(i), i); 10876 } 10877 for (int i = 0; i < element.getJurisdiction().size(); i++) { 10878 composeCodeableConcept(t, "EventDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 10879 } 10880 if (element.hasPurposeElement()) { 10881 composeMarkdown(t, "EventDefinition", "purpose", element.getPurposeElement(), -1); 10882 } 10883 if (element.hasUsageElement()) { 10884 composeString(t, "EventDefinition", "usage", element.getUsageElement(), -1); 10885 } 10886 if (element.hasCopyrightElement()) { 10887 composeMarkdown(t, "EventDefinition", "copyright", element.getCopyrightElement(), -1); 10888 } 10889 if (element.hasApprovalDateElement()) { 10890 composeDate(t, "EventDefinition", "approvalDate", element.getApprovalDateElement(), -1); 10891 } 10892 if (element.hasLastReviewDateElement()) { 10893 composeDate(t, "EventDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 10894 } 10895 if (element.hasEffectivePeriod()) { 10896 composePeriod(t, "EventDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 10897 } 10898 for (int i = 0; i < element.getTopic().size(); i++) { 10899 composeCodeableConcept(t, "EventDefinition", "topic", element.getTopic().get(i), i); 10900 } 10901 for (int i = 0; i < element.getAuthor().size(); i++) { 10902 composeContactDetail(t, "EventDefinition", "author", element.getAuthor().get(i), i); 10903 } 10904 for (int i = 0; i < element.getEditor().size(); i++) { 10905 composeContactDetail(t, "EventDefinition", "editor", element.getEditor().get(i), i); 10906 } 10907 for (int i = 0; i < element.getReviewer().size(); i++) { 10908 composeContactDetail(t, "EventDefinition", "reviewer", element.getReviewer().get(i), i); 10909 } 10910 for (int i = 0; i < element.getEndorser().size(); i++) { 10911 composeContactDetail(t, "EventDefinition", "endorser", element.getEndorser().get(i), i); 10912 } 10913 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 10914 composeRelatedArtifact(t, "EventDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 10915 } 10916 for (int i = 0; i < element.getTrigger().size(); i++) { 10917 composeTriggerDefinition(t, "EventDefinition", "trigger", element.getTrigger().get(i), i); 10918 } 10919 } 10920 10921 protected void composeEvidence(Complex parent, String parentType, String name, Evidence element, int index) { 10922 if (element == null) 10923 return; 10924 Complex t; 10925 if (Utilities.noString(parentType)) 10926 t = parent; 10927 else { 10928 t = parent.predicate("fhir:"+parentType+'.'+name); 10929 } 10930 composeMetadataResource(t, "Evidence", name, element, index); 10931 if (element.hasUrlElement()) { 10932 composeUri(t, "Evidence", "url", element.getUrlElement(), -1); 10933 } 10934 for (int i = 0; i < element.getIdentifier().size(); i++) { 10935 composeIdentifier(t, "Evidence", "identifier", element.getIdentifier().get(i), i); 10936 } 10937 if (element.hasVersionElement()) { 10938 composeString(t, "Evidence", "version", element.getVersionElement(), -1); 10939 } 10940 if (element.hasTitleElement()) { 10941 composeString(t, "Evidence", "title", element.getTitleElement(), -1); 10942 } 10943 if (element.hasCiteAs()) { 10944 composeType(t, "Evidence", "citeAs", element.getCiteAs(), -1); 10945 } 10946 if (element.hasStatusElement()) { 10947 composeEnum(t, "Evidence", "status", element.getStatusElement(), -1); 10948 } 10949 if (element.hasDateElement()) { 10950 composeDateTime(t, "Evidence", "date", element.getDateElement(), -1); 10951 } 10952 for (int i = 0; i < element.getUseContext().size(); i++) { 10953 composeUsageContext(t, "Evidence", "useContext", element.getUseContext().get(i), i); 10954 } 10955 if (element.hasApprovalDateElement()) { 10956 composeDate(t, "Evidence", "approvalDate", element.getApprovalDateElement(), -1); 10957 } 10958 if (element.hasLastReviewDateElement()) { 10959 composeDate(t, "Evidence", "lastReviewDate", element.getLastReviewDateElement(), -1); 10960 } 10961 if (element.hasPublisherElement()) { 10962 composeString(t, "Evidence", "publisher", element.getPublisherElement(), -1); 10963 } 10964 for (int i = 0; i < element.getContact().size(); i++) { 10965 composeContactDetail(t, "Evidence", "contact", element.getContact().get(i), i); 10966 } 10967 for (int i = 0; i < element.getAuthor().size(); i++) { 10968 composeContactDetail(t, "Evidence", "author", element.getAuthor().get(i), i); 10969 } 10970 for (int i = 0; i < element.getEditor().size(); i++) { 10971 composeContactDetail(t, "Evidence", "editor", element.getEditor().get(i), i); 10972 } 10973 for (int i = 0; i < element.getReviewer().size(); i++) { 10974 composeContactDetail(t, "Evidence", "reviewer", element.getReviewer().get(i), i); 10975 } 10976 for (int i = 0; i < element.getEndorser().size(); i++) { 10977 composeContactDetail(t, "Evidence", "endorser", element.getEndorser().get(i), i); 10978 } 10979 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 10980 composeRelatedArtifact(t, "Evidence", "relatedArtifact", element.getRelatedArtifact().get(i), i); 10981 } 10982 if (element.hasDescriptionElement()) { 10983 composeMarkdown(t, "Evidence", "description", element.getDescriptionElement(), -1); 10984 } 10985 if (element.hasAssertionElement()) { 10986 composeMarkdown(t, "Evidence", "assertion", element.getAssertionElement(), -1); 10987 } 10988 for (int i = 0; i < element.getNote().size(); i++) { 10989 composeAnnotation(t, "Evidence", "note", element.getNote().get(i), i); 10990 } 10991 for (int i = 0; i < element.getVariableDefinition().size(); i++) { 10992 composeEvidenceVariableDefinitionComponent(t, "Evidence", "variableDefinition", element.getVariableDefinition().get(i), i); 10993 } 10994 if (element.hasSynthesisType()) { 10995 composeCodeableConcept(t, "Evidence", "synthesisType", element.getSynthesisType(), -1); 10996 } 10997 if (element.hasStudyType()) { 10998 composeCodeableConcept(t, "Evidence", "studyType", element.getStudyType(), -1); 10999 } 11000 for (int i = 0; i < element.getStatistic().size(); i++) { 11001 composeEvidenceStatisticComponent(t, "Evidence", "statistic", element.getStatistic().get(i), i); 11002 } 11003 for (int i = 0; i < element.getCertainty().size(); i++) { 11004 composeEvidenceCertaintyComponent(t, "Evidence", "certainty", element.getCertainty().get(i), i); 11005 } 11006 } 11007 11008 protected void composeEvidenceVariableDefinitionComponent(Complex parent, String parentType, String name, Evidence.EvidenceVariableDefinitionComponent element, int index) { 11009 if (element == null) 11010 return; 11011 Complex t; 11012 if (Utilities.noString(parentType)) 11013 t = parent; 11014 else { 11015 t = parent.predicate("fhir:"+parentType+'.'+name); 11016 } 11017 composeBackboneElement(t, "variableDefinition", name, element, index); 11018 if (element.hasDescriptionElement()) { 11019 composeMarkdown(t, "EvidenceVariableDefinitionComponent", "description", element.getDescriptionElement(), -1); 11020 } 11021 for (int i = 0; i < element.getNote().size(); i++) { 11022 composeAnnotation(t, "EvidenceVariableDefinitionComponent", "note", element.getNote().get(i), i); 11023 } 11024 if (element.hasVariableRole()) { 11025 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "variableRole", element.getVariableRole(), -1); 11026 } 11027 if (element.hasObserved()) { 11028 composeReference(t, "EvidenceVariableDefinitionComponent", "observed", element.getObserved(), -1); 11029 } 11030 if (element.hasIntended()) { 11031 composeReference(t, "EvidenceVariableDefinitionComponent", "intended", element.getIntended(), -1); 11032 } 11033 if (element.hasDirectnessMatch()) { 11034 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "directnessMatch", element.getDirectnessMatch(), -1); 11035 } 11036 } 11037 11038 protected void composeEvidenceStatisticComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticComponent element, int index) { 11039 if (element == null) 11040 return; 11041 Complex t; 11042 if (Utilities.noString(parentType)) 11043 t = parent; 11044 else { 11045 t = parent.predicate("fhir:"+parentType+'.'+name); 11046 } 11047 composeBackboneElement(t, "statistic", name, element, index); 11048 if (element.hasDescriptionElement()) { 11049 composeString(t, "EvidenceStatisticComponent", "description", element.getDescriptionElement(), -1); 11050 } 11051 for (int i = 0; i < element.getNote().size(); i++) { 11052 composeAnnotation(t, "EvidenceStatisticComponent", "note", element.getNote().get(i), i); 11053 } 11054 if (element.hasStatisticType()) { 11055 composeCodeableConcept(t, "EvidenceStatisticComponent", "statisticType", element.getStatisticType(), -1); 11056 } 11057 if (element.hasCategory()) { 11058 composeCodeableConcept(t, "EvidenceStatisticComponent", "category", element.getCategory(), -1); 11059 } 11060 if (element.hasQuantity()) { 11061 composeQuantity(t, "EvidenceStatisticComponent", "quantity", element.getQuantity(), -1); 11062 } 11063 if (element.hasNumberOfEventsElement()) { 11064 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberOfEvents", element.getNumberOfEventsElement(), -1); 11065 } 11066 if (element.hasNumberAffectedElement()) { 11067 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberAffected", element.getNumberAffectedElement(), -1); 11068 } 11069 if (element.hasSampleSize()) { 11070 composeEvidenceStatisticSampleSizeComponent(t, "EvidenceStatisticComponent", "sampleSize", element.getSampleSize(), -1); 11071 } 11072 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11073 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11074 } 11075 for (int i = 0; i < element.getModelCharacteristic().size(); i++) { 11076 composeEvidenceStatisticModelCharacteristicComponent(t, "EvidenceStatisticComponent", "modelCharacteristic", element.getModelCharacteristic().get(i), i); 11077 } 11078 } 11079 11080 protected void composeEvidenceStatisticSampleSizeComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticSampleSizeComponent element, int index) { 11081 if (element == null) 11082 return; 11083 Complex t; 11084 if (Utilities.noString(parentType)) 11085 t = parent; 11086 else { 11087 t = parent.predicate("fhir:"+parentType+'.'+name); 11088 } 11089 composeBackboneElement(t, "sampleSize", name, element, index); 11090 if (element.hasDescriptionElement()) { 11091 composeString(t, "EvidenceStatisticSampleSizeComponent", "description", element.getDescriptionElement(), -1); 11092 } 11093 for (int i = 0; i < element.getNote().size(); i++) { 11094 composeAnnotation(t, "EvidenceStatisticSampleSizeComponent", "note", element.getNote().get(i), i); 11095 } 11096 if (element.hasNumberOfStudiesElement()) { 11097 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfStudies", element.getNumberOfStudiesElement(), -1); 11098 } 11099 if (element.hasNumberOfParticipantsElement()) { 11100 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfParticipants", element.getNumberOfParticipantsElement(), -1); 11101 } 11102 if (element.hasKnownDataCountElement()) { 11103 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "knownDataCount", element.getKnownDataCountElement(), -1); 11104 } 11105 } 11106 11107 protected void composeEvidenceStatisticAttributeEstimateComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticAttributeEstimateComponent element, int index) { 11108 if (element == null) 11109 return; 11110 Complex t; 11111 if (Utilities.noString(parentType)) 11112 t = parent; 11113 else { 11114 t = parent.predicate("fhir:"+parentType+'.'+name); 11115 } 11116 composeBackboneElement(t, "attributeEstimate", name, element, index); 11117 if (element.hasDescriptionElement()) { 11118 composeString(t, "EvidenceStatisticAttributeEstimateComponent", "description", element.getDescriptionElement(), -1); 11119 } 11120 for (int i = 0; i < element.getNote().size(); i++) { 11121 composeAnnotation(t, "EvidenceStatisticAttributeEstimateComponent", "note", element.getNote().get(i), i); 11122 } 11123 if (element.hasType()) { 11124 composeCodeableConcept(t, "EvidenceStatisticAttributeEstimateComponent", "type", element.getType(), -1); 11125 } 11126 if (element.hasQuantity()) { 11127 composeQuantity(t, "EvidenceStatisticAttributeEstimateComponent", "quantity", element.getQuantity(), -1); 11128 } 11129 if (element.hasLevelElement()) { 11130 composeDecimal(t, "EvidenceStatisticAttributeEstimateComponent", "level", element.getLevelElement(), -1); 11131 } 11132 if (element.hasRange()) { 11133 composeRange(t, "EvidenceStatisticAttributeEstimateComponent", "range", element.getRange(), -1); 11134 } 11135 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11136 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticAttributeEstimateComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11137 } 11138 } 11139 11140 protected void composeEvidenceStatisticModelCharacteristicComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicComponent element, int index) { 11141 if (element == null) 11142 return; 11143 Complex t; 11144 if (Utilities.noString(parentType)) 11145 t = parent; 11146 else { 11147 t = parent.predicate("fhir:"+parentType+'.'+name); 11148 } 11149 composeBackboneElement(t, "modelCharacteristic", name, element, index); 11150 if (element.hasCode()) { 11151 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicComponent", "code", element.getCode(), -1); 11152 } 11153 if (element.hasValue()) { 11154 composeQuantity(t, "EvidenceStatisticModelCharacteristicComponent", "value", element.getValue(), -1); 11155 } 11156 for (int i = 0; i < element.getVariable().size(); i++) { 11157 composeEvidenceStatisticModelCharacteristicVariableComponent(t, "EvidenceStatisticModelCharacteristicComponent", "variable", element.getVariable().get(i), i); 11158 } 11159 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11160 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticModelCharacteristicComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11161 } 11162 } 11163 11164 protected void composeEvidenceStatisticModelCharacteristicVariableComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicVariableComponent element, int index) { 11165 if (element == null) 11166 return; 11167 Complex t; 11168 if (Utilities.noString(parentType)) 11169 t = parent; 11170 else { 11171 t = parent.predicate("fhir:"+parentType+'.'+name); 11172 } 11173 composeBackboneElement(t, "variable", name, element, index); 11174 if (element.hasVariableDefinition()) { 11175 composeReference(t, "EvidenceStatisticModelCharacteristicVariableComponent", "variableDefinition", element.getVariableDefinition(), -1); 11176 } 11177 if (element.hasHandlingElement()) { 11178 composeEnum(t, "EvidenceStatisticModelCharacteristicVariableComponent", "handling", element.getHandlingElement(), -1); 11179 } 11180 for (int i = 0; i < element.getValueCategory().size(); i++) { 11181 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueCategory", element.getValueCategory().get(i), i); 11182 } 11183 for (int i = 0; i < element.getValueQuantity().size(); i++) { 11184 composeQuantity(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueQuantity", element.getValueQuantity().get(i), i); 11185 } 11186 for (int i = 0; i < element.getValueRange().size(); i++) { 11187 composeRange(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueRange", element.getValueRange().get(i), i); 11188 } 11189 } 11190 11191 protected void composeEvidenceCertaintyComponent(Complex parent, String parentType, String name, Evidence.EvidenceCertaintyComponent element, int index) { 11192 if (element == null) 11193 return; 11194 Complex t; 11195 if (Utilities.noString(parentType)) 11196 t = parent; 11197 else { 11198 t = parent.predicate("fhir:"+parentType+'.'+name); 11199 } 11200 composeBackboneElement(t, "certainty", name, element, index); 11201 if (element.hasDescriptionElement()) { 11202 composeString(t, "EvidenceCertaintyComponent", "description", element.getDescriptionElement(), -1); 11203 } 11204 for (int i = 0; i < element.getNote().size(); i++) { 11205 composeAnnotation(t, "EvidenceCertaintyComponent", "note", element.getNote().get(i), i); 11206 } 11207 if (element.hasType()) { 11208 composeCodeableConcept(t, "EvidenceCertaintyComponent", "type", element.getType(), -1); 11209 } 11210 if (element.hasRating()) { 11211 composeCodeableConcept(t, "EvidenceCertaintyComponent", "rating", element.getRating(), -1); 11212 } 11213 if (element.hasRaterElement()) { 11214 composeString(t, "EvidenceCertaintyComponent", "rater", element.getRaterElement(), -1); 11215 } 11216 for (int i = 0; i < element.getSubcomponent().size(); i++) { 11217 composeEvidenceCertaintyComponent(t, "EvidenceCertaintyComponent", "subcomponent", element.getSubcomponent().get(i), i); 11218 } 11219 } 11220 11221 protected void composeEvidenceReport(Complex parent, String parentType, String name, EvidenceReport element, int index) { 11222 if (element == null) 11223 return; 11224 Complex t; 11225 if (Utilities.noString(parentType)) 11226 t = parent; 11227 else { 11228 t = parent.predicate("fhir:"+parentType+'.'+name); 11229 } 11230 composeMetadataResource(t, "EvidenceReport", name, element, index); 11231 if (element.hasUrlElement()) { 11232 composeUri(t, "EvidenceReport", "url", element.getUrlElement(), -1); 11233 } 11234 if (element.hasStatusElement()) { 11235 composeEnum(t, "EvidenceReport", "status", element.getStatusElement(), -1); 11236 } 11237 for (int i = 0; i < element.getUseContext().size(); i++) { 11238 composeUsageContext(t, "EvidenceReport", "useContext", element.getUseContext().get(i), i); 11239 } 11240 for (int i = 0; i < element.getIdentifier().size(); i++) { 11241 composeIdentifier(t, "EvidenceReport", "identifier", element.getIdentifier().get(i), i); 11242 } 11243 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 11244 composeIdentifier(t, "EvidenceReport", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 11245 } 11246 if (element.hasCiteAs()) { 11247 composeType(t, "EvidenceReport", "citeAs", element.getCiteAs(), -1); 11248 } 11249 if (element.hasType()) { 11250 composeCodeableConcept(t, "EvidenceReport", "type", element.getType(), -1); 11251 } 11252 for (int i = 0; i < element.getNote().size(); i++) { 11253 composeAnnotation(t, "EvidenceReport", "note", element.getNote().get(i), i); 11254 } 11255 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11256 composeRelatedArtifact(t, "EvidenceReport", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11257 } 11258 if (element.hasSubject()) { 11259 composeEvidenceReportSubjectComponent(t, "EvidenceReport", "subject", element.getSubject(), -1); 11260 } 11261 if (element.hasPublisherElement()) { 11262 composeString(t, "EvidenceReport", "publisher", element.getPublisherElement(), -1); 11263 } 11264 for (int i = 0; i < element.getContact().size(); i++) { 11265 composeContactDetail(t, "EvidenceReport", "contact", element.getContact().get(i), i); 11266 } 11267 for (int i = 0; i < element.getAuthor().size(); i++) { 11268 composeContactDetail(t, "EvidenceReport", "author", element.getAuthor().get(i), i); 11269 } 11270 for (int i = 0; i < element.getEditor().size(); i++) { 11271 composeContactDetail(t, "EvidenceReport", "editor", element.getEditor().get(i), i); 11272 } 11273 for (int i = 0; i < element.getReviewer().size(); i++) { 11274 composeContactDetail(t, "EvidenceReport", "reviewer", element.getReviewer().get(i), i); 11275 } 11276 for (int i = 0; i < element.getEndorser().size(); i++) { 11277 composeContactDetail(t, "EvidenceReport", "endorser", element.getEndorser().get(i), i); 11278 } 11279 for (int i = 0; i < element.getRelatesTo().size(); i++) { 11280 composeEvidenceReportRelatesToComponent(t, "EvidenceReport", "relatesTo", element.getRelatesTo().get(i), i); 11281 } 11282 for (int i = 0; i < element.getSection().size(); i++) { 11283 composeEvidenceReportSectionComponent(t, "EvidenceReport", "section", element.getSection().get(i), i); 11284 } 11285 } 11286 11287 protected void composeEvidenceReportSubjectComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectComponent element, int index) { 11288 if (element == null) 11289 return; 11290 Complex t; 11291 if (Utilities.noString(parentType)) 11292 t = parent; 11293 else { 11294 t = parent.predicate("fhir:"+parentType+'.'+name); 11295 } 11296 composeBackboneElement(t, "subject", name, element, index); 11297 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11298 composeEvidenceReportSubjectCharacteristicComponent(t, "EvidenceReportSubjectComponent", "characteristic", element.getCharacteristic().get(i), i); 11299 } 11300 for (int i = 0; i < element.getNote().size(); i++) { 11301 composeAnnotation(t, "EvidenceReportSubjectComponent", "note", element.getNote().get(i), i); 11302 } 11303 } 11304 11305 protected void composeEvidenceReportSubjectCharacteristicComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectCharacteristicComponent element, int index) { 11306 if (element == null) 11307 return; 11308 Complex t; 11309 if (Utilities.noString(parentType)) 11310 t = parent; 11311 else { 11312 t = parent.predicate("fhir:"+parentType+'.'+name); 11313 } 11314 composeBackboneElement(t, "characteristic", name, element, index); 11315 if (element.hasCode()) { 11316 composeCodeableConcept(t, "EvidenceReportSubjectCharacteristicComponent", "code", element.getCode(), -1); 11317 } 11318 if (element.hasValue()) { 11319 composeType(t, "EvidenceReportSubjectCharacteristicComponent", "value", element.getValue(), -1); 11320 } 11321 if (element.hasExcludeElement()) { 11322 composeBoolean(t, "EvidenceReportSubjectCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 11323 } 11324 if (element.hasPeriod()) { 11325 composePeriod(t, "EvidenceReportSubjectCharacteristicComponent", "period", element.getPeriod(), -1); 11326 } 11327 } 11328 11329 protected void composeEvidenceReportRelatesToComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportRelatesToComponent element, int index) { 11330 if (element == null) 11331 return; 11332 Complex t; 11333 if (Utilities.noString(parentType)) 11334 t = parent; 11335 else { 11336 t = parent.predicate("fhir:"+parentType+'.'+name); 11337 } 11338 composeBackboneElement(t, "relatesTo", name, element, index); 11339 if (element.hasCodeElement()) { 11340 composeEnum(t, "EvidenceReportRelatesToComponent", "code", element.getCodeElement(), -1); 11341 } 11342 if (element.hasTarget()) { 11343 composeEvidenceReportRelatesToTargetComponent(t, "EvidenceReportRelatesToComponent", "target", element.getTarget(), -1); 11344 } 11345 } 11346 11347 protected void composeEvidenceReportRelatesToTargetComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportRelatesToTargetComponent element, int index) { 11348 if (element == null) 11349 return; 11350 Complex t; 11351 if (Utilities.noString(parentType)) 11352 t = parent; 11353 else { 11354 t = parent.predicate("fhir:"+parentType+'.'+name); 11355 } 11356 composeBackboneElement(t, "target", name, element, index); 11357 if (element.hasUrlElement()) { 11358 composeUri(t, "EvidenceReportRelatesToTargetComponent", "url", element.getUrlElement(), -1); 11359 } 11360 if (element.hasIdentifier()) { 11361 composeIdentifier(t, "EvidenceReportRelatesToTargetComponent", "identifier", element.getIdentifier(), -1); 11362 } 11363 if (element.hasDisplayElement()) { 11364 composeMarkdown(t, "EvidenceReportRelatesToTargetComponent", "display", element.getDisplayElement(), -1); 11365 } 11366 if (element.hasResource()) { 11367 composeReference(t, "EvidenceReportRelatesToTargetComponent", "resource", element.getResource(), -1); 11368 } 11369 } 11370 11371 protected void composeEvidenceReportSectionComponent(Complex parent, String parentType, String name, EvidenceReport.SectionComponent element, int index) { 11372 if (element == null) 11373 return; 11374 Complex t; 11375 if (Utilities.noString(parentType)) 11376 t = parent; 11377 else { 11378 t = parent.predicate("fhir:"+parentType+'.'+name); 11379 } 11380 composeBackboneElement(t, "section", name, element, index); 11381 if (element.hasTitleElement()) { 11382 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 11383 } 11384 if (element.hasFocus()) { 11385 composeCodeableConcept(t, "SectionComponent", "focus", element.getFocus(), -1); 11386 } 11387 if (element.hasFocusReference()) { 11388 composeReference(t, "SectionComponent", "focusReference", element.getFocusReference(), -1); 11389 } 11390 for (int i = 0; i < element.getAuthor().size(); i++) { 11391 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 11392 } 11393 if (element.hasText()) { 11394 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 11395 } 11396 if (element.hasModeElement()) { 11397 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 11398 } 11399 if (element.hasOrderedBy()) { 11400 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 11401 } 11402 for (int i = 0; i < element.getEntryClassifier().size(); i++) { 11403 composeCodeableConcept(t, "SectionComponent", "entryClassifier", element.getEntryClassifier().get(i), i); 11404 } 11405 for (int i = 0; i < element.getEntryReference().size(); i++) { 11406 composeReference(t, "SectionComponent", "entryReference", element.getEntryReference().get(i), i); 11407 } 11408 for (int i = 0; i < element.getEntryQuantity().size(); i++) { 11409 composeQuantity(t, "SectionComponent", "entryQuantity", element.getEntryQuantity().get(i), i); 11410 } 11411 if (element.hasEmptyReason()) { 11412 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 11413 } 11414 for (int i = 0; i < element.getSection().size(); i++) { 11415 composeEvidenceReportSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 11416 } 11417 } 11418 11419 protected void composeEvidenceVariable(Complex parent, String parentType, String name, EvidenceVariable element, int index) { 11420 if (element == null) 11421 return; 11422 Complex t; 11423 if (Utilities.noString(parentType)) 11424 t = parent; 11425 else { 11426 t = parent.predicate("fhir:"+parentType+'.'+name); 11427 } 11428 composeMetadataResource(t, "EvidenceVariable", name, element, index); 11429 if (element.hasUrlElement()) { 11430 composeUri(t, "EvidenceVariable", "url", element.getUrlElement(), -1); 11431 } 11432 for (int i = 0; i < element.getIdentifier().size(); i++) { 11433 composeIdentifier(t, "EvidenceVariable", "identifier", element.getIdentifier().get(i), i); 11434 } 11435 if (element.hasVersionElement()) { 11436 composeString(t, "EvidenceVariable", "version", element.getVersionElement(), -1); 11437 } 11438 if (element.hasNameElement()) { 11439 composeString(t, "EvidenceVariable", "name", element.getNameElement(), -1); 11440 } 11441 if (element.hasTitleElement()) { 11442 composeString(t, "EvidenceVariable", "title", element.getTitleElement(), -1); 11443 } 11444 if (element.hasShortTitleElement()) { 11445 composeString(t, "EvidenceVariable", "shortTitle", element.getShortTitleElement(), -1); 11446 } 11447 if (element.hasSubtitleElement()) { 11448 composeString(t, "EvidenceVariable", "subtitle", element.getSubtitleElement(), -1); 11449 } 11450 if (element.hasStatusElement()) { 11451 composeEnum(t, "EvidenceVariable", "status", element.getStatusElement(), -1); 11452 } 11453 if (element.hasDateElement()) { 11454 composeDateTime(t, "EvidenceVariable", "date", element.getDateElement(), -1); 11455 } 11456 if (element.hasDescriptionElement()) { 11457 composeMarkdown(t, "EvidenceVariable", "description", element.getDescriptionElement(), -1); 11458 } 11459 for (int i = 0; i < element.getNote().size(); i++) { 11460 composeAnnotation(t, "EvidenceVariable", "note", element.getNote().get(i), i); 11461 } 11462 for (int i = 0; i < element.getUseContext().size(); i++) { 11463 composeUsageContext(t, "EvidenceVariable", "useContext", element.getUseContext().get(i), i); 11464 } 11465 if (element.hasPublisherElement()) { 11466 composeString(t, "EvidenceVariable", "publisher", element.getPublisherElement(), -1); 11467 } 11468 for (int i = 0; i < element.getContact().size(); i++) { 11469 composeContactDetail(t, "EvidenceVariable", "contact", element.getContact().get(i), i); 11470 } 11471 for (int i = 0; i < element.getAuthor().size(); i++) { 11472 composeContactDetail(t, "EvidenceVariable", "author", element.getAuthor().get(i), i); 11473 } 11474 for (int i = 0; i < element.getEditor().size(); i++) { 11475 composeContactDetail(t, "EvidenceVariable", "editor", element.getEditor().get(i), i); 11476 } 11477 for (int i = 0; i < element.getReviewer().size(); i++) { 11478 composeContactDetail(t, "EvidenceVariable", "reviewer", element.getReviewer().get(i), i); 11479 } 11480 for (int i = 0; i < element.getEndorser().size(); i++) { 11481 composeContactDetail(t, "EvidenceVariable", "endorser", element.getEndorser().get(i), i); 11482 } 11483 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11484 composeRelatedArtifact(t, "EvidenceVariable", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11485 } 11486 if (element.hasActualElement()) { 11487 composeBoolean(t, "EvidenceVariable", "actual", element.getActualElement(), -1); 11488 } 11489 if (element.hasCharacteristicCombination()) { 11490 composeEvidenceVariableCharacteristicCombinationComponent(t, "EvidenceVariable", "characteristicCombination", element.getCharacteristicCombination(), -1); 11491 } 11492 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11493 composeEvidenceVariableCharacteristicComponent(t, "EvidenceVariable", "characteristic", element.getCharacteristic().get(i), i); 11494 } 11495 if (element.hasHandlingElement()) { 11496 composeEnum(t, "EvidenceVariable", "handling", element.getHandlingElement(), -1); 11497 } 11498 for (int i = 0; i < element.getCategory().size(); i++) { 11499 composeEvidenceVariableCategoryComponent(t, "EvidenceVariable", "category", element.getCategory().get(i), i); 11500 } 11501 } 11502 11503 protected void composeEvidenceVariableCharacteristicCombinationComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicCombinationComponent element, int index) { 11504 if (element == null) 11505 return; 11506 Complex t; 11507 if (Utilities.noString(parentType)) 11508 t = parent; 11509 else { 11510 t = parent.predicate("fhir:"+parentType+'.'+name); 11511 } 11512 composeBackboneElement(t, "characteristicCombination", name, element, index); 11513 if (element.hasCodeElement()) { 11514 composeEnum(t, "EvidenceVariableCharacteristicCombinationComponent", "code", element.getCodeElement(), -1); 11515 } 11516 if (element.hasThresholdElement()) { 11517 composePositiveInt(t, "EvidenceVariableCharacteristicCombinationComponent", "threshold", element.getThresholdElement(), -1); 11518 } 11519 } 11520 11521 protected void composeEvidenceVariableCharacteristicComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicComponent element, int index) { 11522 if (element == null) 11523 return; 11524 Complex t; 11525 if (Utilities.noString(parentType)) 11526 t = parent; 11527 else { 11528 t = parent.predicate("fhir:"+parentType+'.'+name); 11529 } 11530 composeBackboneElement(t, "characteristic", name, element, index); 11531 if (element.hasDescriptionElement()) { 11532 composeString(t, "EvidenceVariableCharacteristicComponent", "description", element.getDescriptionElement(), -1); 11533 } 11534 if (element.hasType()) { 11535 composeCodeableConcept(t, "EvidenceVariableCharacteristicComponent", "type", element.getType(), -1); 11536 } 11537 if (element.hasDefinition()) { 11538 composeType(t, "EvidenceVariableCharacteristicComponent", "definition", element.getDefinition(), -1); 11539 } 11540 if (element.hasMethod()) { 11541 composeCodeableConcept(t, "EvidenceVariableCharacteristicComponent", "method", element.getMethod(), -1); 11542 } 11543 if (element.hasDevice()) { 11544 composeReference(t, "EvidenceVariableCharacteristicComponent", "device", element.getDevice(), -1); 11545 } 11546 if (element.hasExcludeElement()) { 11547 composeBoolean(t, "EvidenceVariableCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 11548 } 11549 for (int i = 0; i < element.getTimeFromEvent().size(); i++) { 11550 composeEvidenceVariableCharacteristicTimeFromEventComponent(t, "EvidenceVariableCharacteristicComponent", "timeFromEvent", element.getTimeFromEvent().get(i), i); 11551 } 11552 if (element.hasGroupMeasureElement()) { 11553 composeEnum(t, "EvidenceVariableCharacteristicComponent", "groupMeasure", element.getGroupMeasureElement(), -1); 11554 } 11555 } 11556 11557 protected void composeEvidenceVariableCharacteristicTimeFromEventComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicTimeFromEventComponent element, int index) { 11558 if (element == null) 11559 return; 11560 Complex t; 11561 if (Utilities.noString(parentType)) 11562 t = parent; 11563 else { 11564 t = parent.predicate("fhir:"+parentType+'.'+name); 11565 } 11566 composeBackboneElement(t, "timeFromEvent", name, element, index); 11567 if (element.hasDescriptionElement()) { 11568 composeString(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "description", element.getDescriptionElement(), -1); 11569 } 11570 if (element.hasEvent()) { 11571 composeCodeableConcept(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "event", element.getEvent(), -1); 11572 } 11573 if (element.hasQuantity()) { 11574 composeQuantity(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "quantity", element.getQuantity(), -1); 11575 } 11576 if (element.hasRange()) { 11577 composeRange(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "range", element.getRange(), -1); 11578 } 11579 for (int i = 0; i < element.getNote().size(); i++) { 11580 composeAnnotation(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "note", element.getNote().get(i), i); 11581 } 11582 } 11583 11584 protected void composeEvidenceVariableCategoryComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCategoryComponent element, int index) { 11585 if (element == null) 11586 return; 11587 Complex t; 11588 if (Utilities.noString(parentType)) 11589 t = parent; 11590 else { 11591 t = parent.predicate("fhir:"+parentType+'.'+name); 11592 } 11593 composeBackboneElement(t, "category", name, element, index); 11594 if (element.hasNameElement()) { 11595 composeString(t, "EvidenceVariableCategoryComponent", "name", element.getNameElement(), -1); 11596 } 11597 if (element.hasValue()) { 11598 composeType(t, "EvidenceVariableCategoryComponent", "value", element.getValue(), -1); 11599 } 11600 } 11601 11602 protected void composeExampleScenario(Complex parent, String parentType, String name, ExampleScenario element, int index) { 11603 if (element == null) 11604 return; 11605 Complex t; 11606 if (Utilities.noString(parentType)) 11607 t = parent; 11608 else { 11609 t = parent.predicate("fhir:"+parentType+'.'+name); 11610 } 11611 composeCanonicalResource(t, "ExampleScenario", name, element, index); 11612 if (element.hasUrlElement()) { 11613 composeUri(t, "ExampleScenario", "url", element.getUrlElement(), -1); 11614 } 11615 for (int i = 0; i < element.getIdentifier().size(); i++) { 11616 composeIdentifier(t, "ExampleScenario", "identifier", element.getIdentifier().get(i), i); 11617 } 11618 if (element.hasVersionElement()) { 11619 composeString(t, "ExampleScenario", "version", element.getVersionElement(), -1); 11620 } 11621 if (element.hasNameElement()) { 11622 composeString(t, "ExampleScenario", "name", element.getNameElement(), -1); 11623 } 11624 if (element.hasStatusElement()) { 11625 composeEnum(t, "ExampleScenario", "status", element.getStatusElement(), -1); 11626 } 11627 if (element.hasExperimentalElement()) { 11628 composeBoolean(t, "ExampleScenario", "experimental", element.getExperimentalElement(), -1); 11629 } 11630 if (element.hasDateElement()) { 11631 composeDateTime(t, "ExampleScenario", "date", element.getDateElement(), -1); 11632 } 11633 if (element.hasPublisherElement()) { 11634 composeString(t, "ExampleScenario", "publisher", element.getPublisherElement(), -1); 11635 } 11636 for (int i = 0; i < element.getContact().size(); i++) { 11637 composeContactDetail(t, "ExampleScenario", "contact", element.getContact().get(i), i); 11638 } 11639 for (int i = 0; i < element.getUseContext().size(); i++) { 11640 composeUsageContext(t, "ExampleScenario", "useContext", element.getUseContext().get(i), i); 11641 } 11642 for (int i = 0; i < element.getJurisdiction().size(); i++) { 11643 composeCodeableConcept(t, "ExampleScenario", "jurisdiction", element.getJurisdiction().get(i), i); 11644 } 11645 if (element.hasPurposeElement()) { 11646 composeMarkdown(t, "ExampleScenario", "purpose", element.getPurposeElement(), -1); 11647 } 11648 if (element.hasCopyrightElement()) { 11649 composeMarkdown(t, "ExampleScenario", "copyright", element.getCopyrightElement(), -1); 11650 } 11651 for (int i = 0; i < element.getActor().size(); i++) { 11652 composeExampleScenarioActorComponent(t, "ExampleScenario", "actor", element.getActor().get(i), i); 11653 } 11654 for (int i = 0; i < element.getInstance().size(); i++) { 11655 composeExampleScenarioInstanceComponent(t, "ExampleScenario", "instance", element.getInstance().get(i), i); 11656 } 11657 for (int i = 0; i < element.getProcess().size(); i++) { 11658 composeExampleScenarioProcessComponent(t, "ExampleScenario", "process", element.getProcess().get(i), i); 11659 } 11660 for (int i = 0; i < element.getWorkflow().size(); i++) { 11661 composeCanonical(t, "ExampleScenario", "workflow", element.getWorkflow().get(i), i); 11662 } 11663 } 11664 11665 protected void composeExampleScenarioActorComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioActorComponent element, int index) { 11666 if (element == null) 11667 return; 11668 Complex t; 11669 if (Utilities.noString(parentType)) 11670 t = parent; 11671 else { 11672 t = parent.predicate("fhir:"+parentType+'.'+name); 11673 } 11674 composeBackboneElement(t, "actor", name, element, index); 11675 if (element.hasActorIdElement()) { 11676 composeString(t, "ExampleScenarioActorComponent", "actorId", element.getActorIdElement(), -1); 11677 } 11678 if (element.hasTypeElement()) { 11679 composeEnum(t, "ExampleScenarioActorComponent", "type", element.getTypeElement(), -1); 11680 } 11681 if (element.hasNameElement()) { 11682 composeString(t, "ExampleScenarioActorComponent", "name", element.getNameElement(), -1); 11683 } 11684 if (element.hasDescriptionElement()) { 11685 composeMarkdown(t, "ExampleScenarioActorComponent", "description", element.getDescriptionElement(), -1); 11686 } 11687 } 11688 11689 protected void composeExampleScenarioInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceComponent element, int index) { 11690 if (element == null) 11691 return; 11692 Complex t; 11693 if (Utilities.noString(parentType)) 11694 t = parent; 11695 else { 11696 t = parent.predicate("fhir:"+parentType+'.'+name); 11697 } 11698 composeBackboneElement(t, "instance", name, element, index); 11699 if (element.hasResourceIdElement()) { 11700 composeString(t, "ExampleScenarioInstanceComponent", "resourceId", element.getResourceIdElement(), -1); 11701 } 11702 if (element.hasResourceTypeElement()) { 11703 composeCode(t, "ExampleScenarioInstanceComponent", "resourceType", element.getResourceTypeElement(), -1); 11704 } 11705 if (element.hasNameElement()) { 11706 composeString(t, "ExampleScenarioInstanceComponent", "name", element.getNameElement(), -1); 11707 } 11708 if (element.hasDescriptionElement()) { 11709 composeMarkdown(t, "ExampleScenarioInstanceComponent", "description", element.getDescriptionElement(), -1); 11710 } 11711 for (int i = 0; i < element.getVersion().size(); i++) { 11712 composeExampleScenarioInstanceVersionComponent(t, "ExampleScenarioInstanceComponent", "version", element.getVersion().get(i), i); 11713 } 11714 for (int i = 0; i < element.getContainedInstance().size(); i++) { 11715 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioInstanceComponent", "containedInstance", element.getContainedInstance().get(i), i); 11716 } 11717 } 11718 11719 protected void composeExampleScenarioInstanceVersionComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceVersionComponent element, int index) { 11720 if (element == null) 11721 return; 11722 Complex t; 11723 if (Utilities.noString(parentType)) 11724 t = parent; 11725 else { 11726 t = parent.predicate("fhir:"+parentType+'.'+name); 11727 } 11728 composeBackboneElement(t, "version", name, element, index); 11729 if (element.hasVersionIdElement()) { 11730 composeString(t, "ExampleScenarioInstanceVersionComponent", "versionId", element.getVersionIdElement(), -1); 11731 } 11732 if (element.hasDescriptionElement()) { 11733 composeMarkdown(t, "ExampleScenarioInstanceVersionComponent", "description", element.getDescriptionElement(), -1); 11734 } 11735 } 11736 11737 protected void composeExampleScenarioInstanceContainedInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element, int index) { 11738 if (element == null) 11739 return; 11740 Complex t; 11741 if (Utilities.noString(parentType)) 11742 t = parent; 11743 else { 11744 t = parent.predicate("fhir:"+parentType+'.'+name); 11745 } 11746 composeBackboneElement(t, "containedInstance", name, element, index); 11747 if (element.hasResourceIdElement()) { 11748 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "resourceId", element.getResourceIdElement(), -1); 11749 } 11750 if (element.hasVersionIdElement()) { 11751 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "versionId", element.getVersionIdElement(), -1); 11752 } 11753 } 11754 11755 protected void composeExampleScenarioProcessComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessComponent element, int index) { 11756 if (element == null) 11757 return; 11758 Complex t; 11759 if (Utilities.noString(parentType)) 11760 t = parent; 11761 else { 11762 t = parent.predicate("fhir:"+parentType+'.'+name); 11763 } 11764 composeBackboneElement(t, "process", name, element, index); 11765 if (element.hasTitleElement()) { 11766 composeString(t, "ExampleScenarioProcessComponent", "title", element.getTitleElement(), -1); 11767 } 11768 if (element.hasDescriptionElement()) { 11769 composeMarkdown(t, "ExampleScenarioProcessComponent", "description", element.getDescriptionElement(), -1); 11770 } 11771 if (element.hasPreConditionsElement()) { 11772 composeMarkdown(t, "ExampleScenarioProcessComponent", "preConditions", element.getPreConditionsElement(), -1); 11773 } 11774 if (element.hasPostConditionsElement()) { 11775 composeMarkdown(t, "ExampleScenarioProcessComponent", "postConditions", element.getPostConditionsElement(), -1); 11776 } 11777 for (int i = 0; i < element.getStep().size(); i++) { 11778 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessComponent", "step", element.getStep().get(i), i); 11779 } 11780 } 11781 11782 protected void composeExampleScenarioProcessStepComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepComponent element, int index) { 11783 if (element == null) 11784 return; 11785 Complex t; 11786 if (Utilities.noString(parentType)) 11787 t = parent; 11788 else { 11789 t = parent.predicate("fhir:"+parentType+'.'+name); 11790 } 11791 composeBackboneElement(t, "step", name, element, index); 11792 for (int i = 0; i < element.getProcess().size(); i++) { 11793 composeExampleScenarioProcessComponent(t, "ExampleScenarioProcessStepComponent", "process", element.getProcess().get(i), i); 11794 } 11795 if (element.hasPauseElement()) { 11796 composeBoolean(t, "ExampleScenarioProcessStepComponent", "pause", element.getPauseElement(), -1); 11797 } 11798 if (element.hasOperation()) { 11799 composeExampleScenarioProcessStepOperationComponent(t, "ExampleScenarioProcessStepComponent", "operation", element.getOperation(), -1); 11800 } 11801 for (int i = 0; i < element.getAlternative().size(); i++) { 11802 composeExampleScenarioProcessStepAlternativeComponent(t, "ExampleScenarioProcessStepComponent", "alternative", element.getAlternative().get(i), i); 11803 } 11804 } 11805 11806 protected void composeExampleScenarioProcessStepOperationComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element, int index) { 11807 if (element == null) 11808 return; 11809 Complex t; 11810 if (Utilities.noString(parentType)) 11811 t = parent; 11812 else { 11813 t = parent.predicate("fhir:"+parentType+'.'+name); 11814 } 11815 composeBackboneElement(t, "operation", name, element, index); 11816 if (element.hasNumberElement()) { 11817 composeString(t, "ExampleScenarioProcessStepOperationComponent", "number", element.getNumberElement(), -1); 11818 } 11819 if (element.hasTypeElement()) { 11820 composeString(t, "ExampleScenarioProcessStepOperationComponent", "type", element.getTypeElement(), -1); 11821 } 11822 if (element.hasNameElement()) { 11823 composeString(t, "ExampleScenarioProcessStepOperationComponent", "name", element.getNameElement(), -1); 11824 } 11825 if (element.hasInitiatorElement()) { 11826 composeString(t, "ExampleScenarioProcessStepOperationComponent", "initiator", element.getInitiatorElement(), -1); 11827 } 11828 if (element.hasReceiverElement()) { 11829 composeString(t, "ExampleScenarioProcessStepOperationComponent", "receiver", element.getReceiverElement(), -1); 11830 } 11831 if (element.hasDescriptionElement()) { 11832 composeMarkdown(t, "ExampleScenarioProcessStepOperationComponent", "description", element.getDescriptionElement(), -1); 11833 } 11834 if (element.hasInitiatorActiveElement()) { 11835 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "initiatorActive", element.getInitiatorActiveElement(), -1); 11836 } 11837 if (element.hasReceiverActiveElement()) { 11838 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "receiverActive", element.getReceiverActiveElement(), -1); 11839 } 11840 if (element.hasRequest()) { 11841 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "request", element.getRequest(), -1); 11842 } 11843 if (element.hasResponse()) { 11844 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "response", element.getResponse(), -1); 11845 } 11846 } 11847 11848 protected void composeExampleScenarioProcessStepAlternativeComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepAlternativeComponent element, int index) { 11849 if (element == null) 11850 return; 11851 Complex t; 11852 if (Utilities.noString(parentType)) 11853 t = parent; 11854 else { 11855 t = parent.predicate("fhir:"+parentType+'.'+name); 11856 } 11857 composeBackboneElement(t, "alternative", name, element, index); 11858 if (element.hasTitleElement()) { 11859 composeString(t, "ExampleScenarioProcessStepAlternativeComponent", "title", element.getTitleElement(), -1); 11860 } 11861 if (element.hasDescriptionElement()) { 11862 composeMarkdown(t, "ExampleScenarioProcessStepAlternativeComponent", "description", element.getDescriptionElement(), -1); 11863 } 11864 for (int i = 0; i < element.getStep().size(); i++) { 11865 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessStepAlternativeComponent", "step", element.getStep().get(i), i); 11866 } 11867 } 11868 11869 protected void composeExplanationOfBenefit(Complex parent, String parentType, String name, ExplanationOfBenefit element, int index) { 11870 if (element == null) 11871 return; 11872 Complex t; 11873 if (Utilities.noString(parentType)) 11874 t = parent; 11875 else { 11876 t = parent.predicate("fhir:"+parentType+'.'+name); 11877 } 11878 composeDomainResource(t, "ExplanationOfBenefit", name, element, index); 11879 for (int i = 0; i < element.getIdentifier().size(); i++) { 11880 composeIdentifier(t, "ExplanationOfBenefit", "identifier", element.getIdentifier().get(i), i); 11881 } 11882 if (element.hasStatusElement()) { 11883 composeEnum(t, "ExplanationOfBenefit", "status", element.getStatusElement(), -1); 11884 } 11885 if (element.hasType()) { 11886 composeCodeableConcept(t, "ExplanationOfBenefit", "type", element.getType(), -1); 11887 } 11888 if (element.hasSubType()) { 11889 composeCodeableConcept(t, "ExplanationOfBenefit", "subType", element.getSubType(), -1); 11890 } 11891 if (element.hasUseElement()) { 11892 composeEnum(t, "ExplanationOfBenefit", "use", element.getUseElement(), -1); 11893 } 11894 if (element.hasPatient()) { 11895 composeReference(t, "ExplanationOfBenefit", "patient", element.getPatient(), -1); 11896 } 11897 if (element.hasBillablePeriod()) { 11898 composePeriod(t, "ExplanationOfBenefit", "billablePeriod", element.getBillablePeriod(), -1); 11899 } 11900 if (element.hasCreatedElement()) { 11901 composeDateTime(t, "ExplanationOfBenefit", "created", element.getCreatedElement(), -1); 11902 } 11903 if (element.hasEnterer()) { 11904 composeReference(t, "ExplanationOfBenefit", "enterer", element.getEnterer(), -1); 11905 } 11906 if (element.hasInsurer()) { 11907 composeReference(t, "ExplanationOfBenefit", "insurer", element.getInsurer(), -1); 11908 } 11909 if (element.hasProvider()) { 11910 composeReference(t, "ExplanationOfBenefit", "provider", element.getProvider(), -1); 11911 } 11912 if (element.hasPriority()) { 11913 composeCodeableConcept(t, "ExplanationOfBenefit", "priority", element.getPriority(), -1); 11914 } 11915 if (element.hasFundsReserveRequested()) { 11916 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserveRequested", element.getFundsReserveRequested(), -1); 11917 } 11918 if (element.hasFundsReserve()) { 11919 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserve", element.getFundsReserve(), -1); 11920 } 11921 for (int i = 0; i < element.getRelated().size(); i++) { 11922 composeExplanationOfBenefitRelatedClaimComponent(t, "ExplanationOfBenefit", "related", element.getRelated().get(i), i); 11923 } 11924 if (element.hasPrescription()) { 11925 composeReference(t, "ExplanationOfBenefit", "prescription", element.getPrescription(), -1); 11926 } 11927 if (element.hasOriginalPrescription()) { 11928 composeReference(t, "ExplanationOfBenefit", "originalPrescription", element.getOriginalPrescription(), -1); 11929 } 11930 if (element.hasPayee()) { 11931 composeExplanationOfBenefitPayeeComponent(t, "ExplanationOfBenefit", "payee", element.getPayee(), -1); 11932 } 11933 if (element.hasReferral()) { 11934 composeReference(t, "ExplanationOfBenefit", "referral", element.getReferral(), -1); 11935 } 11936 if (element.hasFacility()) { 11937 composeReference(t, "ExplanationOfBenefit", "facility", element.getFacility(), -1); 11938 } 11939 if (element.hasClaim()) { 11940 composeReference(t, "ExplanationOfBenefit", "claim", element.getClaim(), -1); 11941 } 11942 if (element.hasClaimResponse()) { 11943 composeReference(t, "ExplanationOfBenefit", "claimResponse", element.getClaimResponse(), -1); 11944 } 11945 if (element.hasOutcomeElement()) { 11946 composeEnum(t, "ExplanationOfBenefit", "outcome", element.getOutcomeElement(), -1); 11947 } 11948 if (element.hasDispositionElement()) { 11949 composeString(t, "ExplanationOfBenefit", "disposition", element.getDispositionElement(), -1); 11950 } 11951 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 11952 composeString(t, "ExplanationOfBenefit", "preAuthRef", element.getPreAuthRef().get(i), i); 11953 } 11954 for (int i = 0; i < element.getPreAuthRefPeriod().size(); i++) { 11955 composePeriod(t, "ExplanationOfBenefit", "preAuthRefPeriod", element.getPreAuthRefPeriod().get(i), i); 11956 } 11957 for (int i = 0; i < element.getCareTeam().size(); i++) { 11958 composeExplanationOfBenefitCareTeamComponent(t, "ExplanationOfBenefit", "careTeam", element.getCareTeam().get(i), i); 11959 } 11960 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 11961 composeExplanationOfBenefitSupportingInformationComponent(t, "ExplanationOfBenefit", "supportingInfo", element.getSupportingInfo().get(i), i); 11962 } 11963 for (int i = 0; i < element.getDiagnosis().size(); i++) { 11964 composeExplanationOfBenefitDiagnosisComponent(t, "ExplanationOfBenefit", "diagnosis", element.getDiagnosis().get(i), i); 11965 } 11966 for (int i = 0; i < element.getProcedure().size(); i++) { 11967 composeExplanationOfBenefitProcedureComponent(t, "ExplanationOfBenefit", "procedure", element.getProcedure().get(i), i); 11968 } 11969 if (element.hasPrecedenceElement()) { 11970 composePositiveInt(t, "ExplanationOfBenefit", "precedence", element.getPrecedenceElement(), -1); 11971 } 11972 for (int i = 0; i < element.getInsurance().size(); i++) { 11973 composeExplanationOfBenefitInsuranceComponent(t, "ExplanationOfBenefit", "insurance", element.getInsurance().get(i), i); 11974 } 11975 if (element.hasAccident()) { 11976 composeExplanationOfBenefitAccidentComponent(t, "ExplanationOfBenefit", "accident", element.getAccident(), -1); 11977 } 11978 for (int i = 0; i < element.getItem().size(); i++) { 11979 composeExplanationOfBenefitItemComponent(t, "ExplanationOfBenefit", "item", element.getItem().get(i), i); 11980 } 11981 for (int i = 0; i < element.getAddItem().size(); i++) { 11982 composeExplanationOfBenefitAddedItemComponent(t, "ExplanationOfBenefit", "addItem", element.getAddItem().get(i), i); 11983 } 11984 for (int i = 0; i < element.getAdjudication().size(); i++) { 11985 composeExplanationOfBenefitAdjudicationComponent(t, "ExplanationOfBenefit", "adjudication", element.getAdjudication().get(i), i); 11986 } 11987 for (int i = 0; i < element.getTotal().size(); i++) { 11988 composeExplanationOfBenefitTotalComponent(t, "ExplanationOfBenefit", "total", element.getTotal().get(i), i); 11989 } 11990 if (element.hasPayment()) { 11991 composeExplanationOfBenefitPaymentComponent(t, "ExplanationOfBenefit", "payment", element.getPayment(), -1); 11992 } 11993 if (element.hasFormCode()) { 11994 composeCodeableConcept(t, "ExplanationOfBenefit", "formCode", element.getFormCode(), -1); 11995 } 11996 if (element.hasForm()) { 11997 composeAttachment(t, "ExplanationOfBenefit", "form", element.getForm(), -1); 11998 } 11999 for (int i = 0; i < element.getProcessNote().size(); i++) { 12000 composeExplanationOfBenefitNoteComponent(t, "ExplanationOfBenefit", "processNote", element.getProcessNote().get(i), i); 12001 } 12002 if (element.hasBenefitPeriod()) { 12003 composePeriod(t, "ExplanationOfBenefit", "benefitPeriod", element.getBenefitPeriod(), -1); 12004 } 12005 for (int i = 0; i < element.getBenefitBalance().size(); i++) { 12006 composeExplanationOfBenefitBenefitBalanceComponent(t, "ExplanationOfBenefit", "benefitBalance", element.getBenefitBalance().get(i), i); 12007 } 12008 } 12009 12010 protected void composeExplanationOfBenefitRelatedClaimComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.RelatedClaimComponent element, int index) { 12011 if (element == null) 12012 return; 12013 Complex t; 12014 if (Utilities.noString(parentType)) 12015 t = parent; 12016 else { 12017 t = parent.predicate("fhir:"+parentType+'.'+name); 12018 } 12019 composeBackboneElement(t, "related", name, element, index); 12020 if (element.hasClaim()) { 12021 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 12022 } 12023 if (element.hasRelationship()) { 12024 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 12025 } 12026 if (element.hasReference()) { 12027 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 12028 } 12029 } 12030 12031 protected void composeExplanationOfBenefitPayeeComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PayeeComponent element, int index) { 12032 if (element == null) 12033 return; 12034 Complex t; 12035 if (Utilities.noString(parentType)) 12036 t = parent; 12037 else { 12038 t = parent.predicate("fhir:"+parentType+'.'+name); 12039 } 12040 composeBackboneElement(t, "payee", name, element, index); 12041 if (element.hasType()) { 12042 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 12043 } 12044 if (element.hasParty()) { 12045 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 12046 } 12047 } 12048 12049 protected void composeExplanationOfBenefitCareTeamComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.CareTeamComponent element, int index) { 12050 if (element == null) 12051 return; 12052 Complex t; 12053 if (Utilities.noString(parentType)) 12054 t = parent; 12055 else { 12056 t = parent.predicate("fhir:"+parentType+'.'+name); 12057 } 12058 composeBackboneElement(t, "careTeam", name, element, index); 12059 if (element.hasSequenceElement()) { 12060 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 12061 } 12062 if (element.hasProvider()) { 12063 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 12064 } 12065 if (element.hasResponsibleElement()) { 12066 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 12067 } 12068 if (element.hasRole()) { 12069 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 12070 } 12071 if (element.hasQualification()) { 12072 composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); 12073 } 12074 } 12075 12076 protected void composeExplanationOfBenefitSupportingInformationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SupportingInformationComponent element, int index) { 12077 if (element == null) 12078 return; 12079 Complex t; 12080 if (Utilities.noString(parentType)) 12081 t = parent; 12082 else { 12083 t = parent.predicate("fhir:"+parentType+'.'+name); 12084 } 12085 composeBackboneElement(t, "supportingInfo", name, element, index); 12086 if (element.hasSequenceElement()) { 12087 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 12088 } 12089 if (element.hasCategory()) { 12090 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 12091 } 12092 if (element.hasCode()) { 12093 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 12094 } 12095 if (element.hasTiming()) { 12096 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 12097 } 12098 if (element.hasValue()) { 12099 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 12100 } 12101 if (element.hasReason()) { 12102 composeCoding(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 12103 } 12104 } 12105 12106 protected void composeExplanationOfBenefitDiagnosisComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DiagnosisComponent element, int index) { 12107 if (element == null) 12108 return; 12109 Complex t; 12110 if (Utilities.noString(parentType)) 12111 t = parent; 12112 else { 12113 t = parent.predicate("fhir:"+parentType+'.'+name); 12114 } 12115 composeBackboneElement(t, "diagnosis", name, element, index); 12116 if (element.hasSequenceElement()) { 12117 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 12118 } 12119 if (element.hasDiagnosis()) { 12120 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 12121 } 12122 for (int i = 0; i < element.getType().size(); i++) { 12123 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 12124 } 12125 if (element.hasOnAdmission()) { 12126 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 12127 } 12128 if (element.hasPackageCode()) { 12129 composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); 12130 } 12131 } 12132 12133 protected void composeExplanationOfBenefitProcedureComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ProcedureComponent element, int index) { 12134 if (element == null) 12135 return; 12136 Complex t; 12137 if (Utilities.noString(parentType)) 12138 t = parent; 12139 else { 12140 t = parent.predicate("fhir:"+parentType+'.'+name); 12141 } 12142 composeBackboneElement(t, "procedure", name, element, index); 12143 if (element.hasSequenceElement()) { 12144 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 12145 } 12146 for (int i = 0; i < element.getType().size(); i++) { 12147 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 12148 } 12149 if (element.hasDateElement()) { 12150 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 12151 } 12152 if (element.hasProcedure()) { 12153 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 12154 } 12155 for (int i = 0; i < element.getUdi().size(); i++) { 12156 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 12157 } 12158 } 12159 12160 protected void composeExplanationOfBenefitInsuranceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.InsuranceComponent element, int index) { 12161 if (element == null) 12162 return; 12163 Complex t; 12164 if (Utilities.noString(parentType)) 12165 t = parent; 12166 else { 12167 t = parent.predicate("fhir:"+parentType+'.'+name); 12168 } 12169 composeBackboneElement(t, "insurance", name, element, index); 12170 if (element.hasFocalElement()) { 12171 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 12172 } 12173 if (element.hasCoverage()) { 12174 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 12175 } 12176 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 12177 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 12178 } 12179 } 12180 12181 protected void composeExplanationOfBenefitAccidentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AccidentComponent element, int index) { 12182 if (element == null) 12183 return; 12184 Complex t; 12185 if (Utilities.noString(parentType)) 12186 t = parent; 12187 else { 12188 t = parent.predicate("fhir:"+parentType+'.'+name); 12189 } 12190 composeBackboneElement(t, "accident", name, element, index); 12191 if (element.hasDateElement()) { 12192 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 12193 } 12194 if (element.hasType()) { 12195 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 12196 } 12197 if (element.hasLocation()) { 12198 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 12199 } 12200 } 12201 12202 protected void composeExplanationOfBenefitItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ItemComponent element, int index) { 12203 if (element == null) 12204 return; 12205 Complex t; 12206 if (Utilities.noString(parentType)) 12207 t = parent; 12208 else { 12209 t = parent.predicate("fhir:"+parentType+'.'+name); 12210 } 12211 composeBackboneElement(t, "item", name, element, index); 12212 if (element.hasSequenceElement()) { 12213 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 12214 } 12215 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 12216 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 12217 } 12218 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 12219 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 12220 } 12221 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 12222 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 12223 } 12224 for (int i = 0; i < element.getInformationSequence().size(); i++) { 12225 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 12226 } 12227 if (element.hasRevenue()) { 12228 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 12229 } 12230 if (element.hasCategory()) { 12231 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 12232 } 12233 if (element.hasProductOrService()) { 12234 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 12235 } 12236 for (int i = 0; i < element.getModifier().size(); i++) { 12237 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 12238 } 12239 for (int i = 0; i < element.getProgramCode().size(); i++) { 12240 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 12241 } 12242 if (element.hasServiced()) { 12243 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 12244 } 12245 if (element.hasLocation()) { 12246 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 12247 } 12248 if (element.hasQuantity()) { 12249 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 12250 } 12251 if (element.hasUnitPrice()) { 12252 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 12253 } 12254 if (element.hasFactorElement()) { 12255 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 12256 } 12257 if (element.hasNet()) { 12258 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 12259 } 12260 for (int i = 0; i < element.getUdi().size(); i++) { 12261 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 12262 } 12263 if (element.hasBodySite()) { 12264 composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); 12265 } 12266 for (int i = 0; i < element.getSubSite().size(); i++) { 12267 composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); 12268 } 12269 for (int i = 0; i < element.getEncounter().size(); i++) { 12270 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 12271 } 12272 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12273 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 12274 } 12275 for (int i = 0; i < element.getAdjudication().size(); i++) { 12276 composeExplanationOfBenefitAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 12277 } 12278 for (int i = 0; i < element.getDetail().size(); i++) { 12279 composeExplanationOfBenefitDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 12280 } 12281 } 12282 12283 protected void composeExplanationOfBenefitAdjudicationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AdjudicationComponent element, int index) { 12284 if (element == null) 12285 return; 12286 Complex t; 12287 if (Utilities.noString(parentType)) 12288 t = parent; 12289 else { 12290 t = parent.predicate("fhir:"+parentType+'.'+name); 12291 } 12292 composeBackboneElement(t, "adjudication", name, element, index); 12293 if (element.hasCategory()) { 12294 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 12295 } 12296 if (element.hasReason()) { 12297 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 12298 } 12299 if (element.hasAmount()) { 12300 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 12301 } 12302 if (element.hasValueElement()) { 12303 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 12304 } 12305 } 12306 12307 protected void composeExplanationOfBenefitDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DetailComponent element, int index) { 12308 if (element == null) 12309 return; 12310 Complex t; 12311 if (Utilities.noString(parentType)) 12312 t = parent; 12313 else { 12314 t = parent.predicate("fhir:"+parentType+'.'+name); 12315 } 12316 composeBackboneElement(t, "detail", name, element, index); 12317 if (element.hasSequenceElement()) { 12318 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 12319 } 12320 if (element.hasRevenue()) { 12321 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 12322 } 12323 if (element.hasCategory()) { 12324 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 12325 } 12326 if (element.hasProductOrService()) { 12327 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 12328 } 12329 for (int i = 0; i < element.getModifier().size(); i++) { 12330 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 12331 } 12332 for (int i = 0; i < element.getProgramCode().size(); i++) { 12333 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 12334 } 12335 if (element.hasQuantity()) { 12336 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 12337 } 12338 if (element.hasUnitPrice()) { 12339 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 12340 } 12341 if (element.hasFactorElement()) { 12342 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 12343 } 12344 if (element.hasNet()) { 12345 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 12346 } 12347 for (int i = 0; i < element.getUdi().size(); i++) { 12348 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 12349 } 12350 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12351 composePositiveInt(t, "DetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12352 } 12353 for (int i = 0; i < element.getAdjudication().size(); i++) { 12354 composeExplanationOfBenefitAdjudicationComponent(t, "DetailComponent", "adjudication", element.getAdjudication().get(i), i); 12355 } 12356 for (int i = 0; i < element.getSubDetail().size(); i++) { 12357 composeExplanationOfBenefitSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 12358 } 12359 } 12360 12361 protected void composeExplanationOfBenefitSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SubDetailComponent element, int index) { 12362 if (element == null) 12363 return; 12364 Complex t; 12365 if (Utilities.noString(parentType)) 12366 t = parent; 12367 else { 12368 t = parent.predicate("fhir:"+parentType+'.'+name); 12369 } 12370 composeBackboneElement(t, "subDetail", name, element, index); 12371 if (element.hasSequenceElement()) { 12372 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 12373 } 12374 if (element.hasRevenue()) { 12375 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 12376 } 12377 if (element.hasCategory()) { 12378 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 12379 } 12380 if (element.hasProductOrService()) { 12381 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 12382 } 12383 for (int i = 0; i < element.getModifier().size(); i++) { 12384 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 12385 } 12386 for (int i = 0; i < element.getProgramCode().size(); i++) { 12387 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 12388 } 12389 if (element.hasQuantity()) { 12390 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 12391 } 12392 if (element.hasUnitPrice()) { 12393 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12394 } 12395 if (element.hasFactorElement()) { 12396 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 12397 } 12398 if (element.hasNet()) { 12399 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 12400 } 12401 for (int i = 0; i < element.getUdi().size(); i++) { 12402 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 12403 } 12404 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12405 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12406 } 12407 for (int i = 0; i < element.getAdjudication().size(); i++) { 12408 composeExplanationOfBenefitAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12409 } 12410 } 12411 12412 protected void composeExplanationOfBenefitAddedItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemComponent element, int index) { 12413 if (element == null) 12414 return; 12415 Complex t; 12416 if (Utilities.noString(parentType)) 12417 t = parent; 12418 else { 12419 t = parent.predicate("fhir:"+parentType+'.'+name); 12420 } 12421 composeBackboneElement(t, "addItem", name, element, index); 12422 for (int i = 0; i < element.getItemSequence().size(); i++) { 12423 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 12424 } 12425 for (int i = 0; i < element.getDetailSequence().size(); i++) { 12426 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 12427 } 12428 for (int i = 0; i < element.getSubDetailSequence().size(); i++) { 12429 composePositiveInt(t, "AddedItemComponent", "subDetailSequence", element.getSubDetailSequence().get(i), i); 12430 } 12431 for (int i = 0; i < element.getProvider().size(); i++) { 12432 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 12433 } 12434 if (element.hasProductOrService()) { 12435 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 12436 } 12437 for (int i = 0; i < element.getModifier().size(); i++) { 12438 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 12439 } 12440 for (int i = 0; i < element.getProgramCode().size(); i++) { 12441 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 12442 } 12443 if (element.hasServiced()) { 12444 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 12445 } 12446 if (element.hasLocation()) { 12447 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 12448 } 12449 if (element.hasQuantity()) { 12450 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 12451 } 12452 if (element.hasUnitPrice()) { 12453 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 12454 } 12455 if (element.hasFactorElement()) { 12456 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 12457 } 12458 if (element.hasNet()) { 12459 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 12460 } 12461 if (element.hasBodySite()) { 12462 composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); 12463 } 12464 for (int i = 0; i < element.getSubSite().size(); i++) { 12465 composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); 12466 } 12467 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12468 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 12469 } 12470 for (int i = 0; i < element.getAdjudication().size(); i++) { 12471 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 12472 } 12473 for (int i = 0; i < element.getDetail().size(); i++) { 12474 composeExplanationOfBenefitAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 12475 } 12476 } 12477 12478 protected void composeExplanationOfBenefitAddedItemDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailComponent element, int index) { 12479 if (element == null) 12480 return; 12481 Complex t; 12482 if (Utilities.noString(parentType)) 12483 t = parent; 12484 else { 12485 t = parent.predicate("fhir:"+parentType+'.'+name); 12486 } 12487 composeBackboneElement(t, "detail", name, element, index); 12488 if (element.hasProductOrService()) { 12489 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 12490 } 12491 for (int i = 0; i < element.getModifier().size(); i++) { 12492 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 12493 } 12494 if (element.hasQuantity()) { 12495 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 12496 } 12497 if (element.hasUnitPrice()) { 12498 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12499 } 12500 if (element.hasFactorElement()) { 12501 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 12502 } 12503 if (element.hasNet()) { 12504 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 12505 } 12506 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12507 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12508 } 12509 for (int i = 0; i < element.getAdjudication().size(); i++) { 12510 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12511 } 12512 for (int i = 0; i < element.getSubDetail().size(); i++) { 12513 composeExplanationOfBenefitAddedItemDetailSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 12514 } 12515 } 12516 12517 protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailSubDetailComponent element, int index) { 12518 if (element == null) 12519 return; 12520 Complex t; 12521 if (Utilities.noString(parentType)) 12522 t = parent; 12523 else { 12524 t = parent.predicate("fhir:"+parentType+'.'+name); 12525 } 12526 composeBackboneElement(t, "subDetail", name, element, index); 12527 if (element.hasProductOrService()) { 12528 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrService", element.getProductOrService(), -1); 12529 } 12530 for (int i = 0; i < element.getModifier().size(); i++) { 12531 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "modifier", element.getModifier().get(i), i); 12532 } 12533 if (element.hasQuantity()) { 12534 composeQuantity(t, "AddedItemDetailSubDetailComponent", "quantity", element.getQuantity(), -1); 12535 } 12536 if (element.hasUnitPrice()) { 12537 composeMoney(t, "AddedItemDetailSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12538 } 12539 if (element.hasFactorElement()) { 12540 composeDecimal(t, "AddedItemDetailSubDetailComponent", "factor", element.getFactorElement(), -1); 12541 } 12542 if (element.hasNet()) { 12543 composeMoney(t, "AddedItemDetailSubDetailComponent", "net", element.getNet(), -1); 12544 } 12545 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12546 composePositiveInt(t, "AddedItemDetailSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12547 } 12548 for (int i = 0; i < element.getAdjudication().size(); i++) { 12549 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12550 } 12551 } 12552 12553 protected void composeExplanationOfBenefitTotalComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.TotalComponent element, int index) { 12554 if (element == null) 12555 return; 12556 Complex t; 12557 if (Utilities.noString(parentType)) 12558 t = parent; 12559 else { 12560 t = parent.predicate("fhir:"+parentType+'.'+name); 12561 } 12562 composeBackboneElement(t, "total", name, element, index); 12563 if (element.hasCategory()) { 12564 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 12565 } 12566 if (element.hasAmount()) { 12567 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 12568 } 12569 } 12570 12571 protected void composeExplanationOfBenefitPaymentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PaymentComponent element, int index) { 12572 if (element == null) 12573 return; 12574 Complex t; 12575 if (Utilities.noString(parentType)) 12576 t = parent; 12577 else { 12578 t = parent.predicate("fhir:"+parentType+'.'+name); 12579 } 12580 composeBackboneElement(t, "payment", name, element, index); 12581 if (element.hasType()) { 12582 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 12583 } 12584 if (element.hasAdjustment()) { 12585 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 12586 } 12587 if (element.hasAdjustmentReason()) { 12588 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 12589 } 12590 if (element.hasDateElement()) { 12591 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 12592 } 12593 if (element.hasAmount()) { 12594 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 12595 } 12596 if (element.hasIdentifier()) { 12597 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 12598 } 12599 } 12600 12601 protected void composeExplanationOfBenefitNoteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.NoteComponent element, int index) { 12602 if (element == null) 12603 return; 12604 Complex t; 12605 if (Utilities.noString(parentType)) 12606 t = parent; 12607 else { 12608 t = parent.predicate("fhir:"+parentType+'.'+name); 12609 } 12610 composeBackboneElement(t, "processNote", name, element, index); 12611 if (element.hasNumberElement()) { 12612 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 12613 } 12614 if (element.hasTypeElement()) { 12615 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 12616 } 12617 if (element.hasTextElement()) { 12618 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 12619 } 12620 if (element.hasLanguage()) { 12621 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 12622 } 12623 } 12624 12625 protected void composeExplanationOfBenefitBenefitBalanceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitBalanceComponent element, int index) { 12626 if (element == null) 12627 return; 12628 Complex t; 12629 if (Utilities.noString(parentType)) 12630 t = parent; 12631 else { 12632 t = parent.predicate("fhir:"+parentType+'.'+name); 12633 } 12634 composeBackboneElement(t, "benefitBalance", name, element, index); 12635 if (element.hasCategory()) { 12636 composeCodeableConcept(t, "BenefitBalanceComponent", "category", element.getCategory(), -1); 12637 } 12638 if (element.hasExcludedElement()) { 12639 composeBoolean(t, "BenefitBalanceComponent", "excluded", element.getExcludedElement(), -1); 12640 } 12641 if (element.hasNameElement()) { 12642 composeString(t, "BenefitBalanceComponent", "name", element.getNameElement(), -1); 12643 } 12644 if (element.hasDescriptionElement()) { 12645 composeString(t, "BenefitBalanceComponent", "description", element.getDescriptionElement(), -1); 12646 } 12647 if (element.hasNetwork()) { 12648 composeCodeableConcept(t, "BenefitBalanceComponent", "network", element.getNetwork(), -1); 12649 } 12650 if (element.hasUnit()) { 12651 composeCodeableConcept(t, "BenefitBalanceComponent", "unit", element.getUnit(), -1); 12652 } 12653 if (element.hasTerm()) { 12654 composeCodeableConcept(t, "BenefitBalanceComponent", "term", element.getTerm(), -1); 12655 } 12656 for (int i = 0; i < element.getFinancial().size(); i++) { 12657 composeExplanationOfBenefitBenefitComponent(t, "BenefitBalanceComponent", "financial", element.getFinancial().get(i), i); 12658 } 12659 } 12660 12661 protected void composeExplanationOfBenefitBenefitComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitComponent element, int index) { 12662 if (element == null) 12663 return; 12664 Complex t; 12665 if (Utilities.noString(parentType)) 12666 t = parent; 12667 else { 12668 t = parent.predicate("fhir:"+parentType+'.'+name); 12669 } 12670 composeBackboneElement(t, "financial", name, element, index); 12671 if (element.hasType()) { 12672 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 12673 } 12674 if (element.hasAllowed()) { 12675 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 12676 } 12677 if (element.hasUsed()) { 12678 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 12679 } 12680 } 12681 12682 protected void composeFamilyMemberHistory(Complex parent, String parentType, String name, FamilyMemberHistory element, int index) { 12683 if (element == null) 12684 return; 12685 Complex t; 12686 if (Utilities.noString(parentType)) 12687 t = parent; 12688 else { 12689 t = parent.predicate("fhir:"+parentType+'.'+name); 12690 } 12691 composeDomainResource(t, "FamilyMemberHistory", name, element, index); 12692 for (int i = 0; i < element.getIdentifier().size(); i++) { 12693 composeIdentifier(t, "FamilyMemberHistory", "identifier", element.getIdentifier().get(i), i); 12694 } 12695 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 12696 composeCanonical(t, "FamilyMemberHistory", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 12697 } 12698 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 12699 composeUri(t, "FamilyMemberHistory", "instantiatesUri", element.getInstantiatesUri().get(i), i); 12700 } 12701 if (element.hasStatusElement()) { 12702 composeEnum(t, "FamilyMemberHistory", "status", element.getStatusElement(), -1); 12703 } 12704 if (element.hasDataAbsentReason()) { 12705 composeCodeableConcept(t, "FamilyMemberHistory", "dataAbsentReason", element.getDataAbsentReason(), -1); 12706 } 12707 if (element.hasPatient()) { 12708 composeReference(t, "FamilyMemberHistory", "patient", element.getPatient(), -1); 12709 } 12710 if (element.hasDateElement()) { 12711 composeDateTime(t, "FamilyMemberHistory", "date", element.getDateElement(), -1); 12712 } 12713 if (element.hasNameElement()) { 12714 composeString(t, "FamilyMemberHistory", "name", element.getNameElement(), -1); 12715 } 12716 if (element.hasRelationship()) { 12717 composeCodeableConcept(t, "FamilyMemberHistory", "relationship", element.getRelationship(), -1); 12718 } 12719 if (element.hasSex()) { 12720 composeCodeableConcept(t, "FamilyMemberHistory", "sex", element.getSex(), -1); 12721 } 12722 if (element.hasBorn()) { 12723 composeType(t, "FamilyMemberHistory", "born", element.getBorn(), -1); 12724 } 12725 if (element.hasAge()) { 12726 composeType(t, "FamilyMemberHistory", "age", element.getAge(), -1); 12727 } 12728 if (element.hasEstimatedAgeElement()) { 12729 composeBoolean(t, "FamilyMemberHistory", "estimatedAge", element.getEstimatedAgeElement(), -1); 12730 } 12731 if (element.hasDeceased()) { 12732 composeType(t, "FamilyMemberHistory", "deceased", element.getDeceased(), -1); 12733 } 12734 for (int i = 0; i < element.getReason().size(); i++) { 12735 composeCodeableReference(t, "FamilyMemberHistory", "reason", element.getReason().get(i), i); 12736 } 12737 for (int i = 0; i < element.getNote().size(); i++) { 12738 composeAnnotation(t, "FamilyMemberHistory", "note", element.getNote().get(i), i); 12739 } 12740 for (int i = 0; i < element.getCondition().size(); i++) { 12741 composeFamilyMemberHistoryConditionComponent(t, "FamilyMemberHistory", "condition", element.getCondition().get(i), i); 12742 } 12743 for (int i = 0; i < element.getProcedure().size(); i++) { 12744 composeFamilyMemberHistoryProcedureComponent(t, "FamilyMemberHistory", "procedure", element.getProcedure().get(i), i); 12745 } 12746 } 12747 12748 protected void composeFamilyMemberHistoryConditionComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryConditionComponent element, int index) { 12749 if (element == null) 12750 return; 12751 Complex t; 12752 if (Utilities.noString(parentType)) 12753 t = parent; 12754 else { 12755 t = parent.predicate("fhir:"+parentType+'.'+name); 12756 } 12757 composeBackboneElement(t, "condition", name, element, index); 12758 if (element.hasCode()) { 12759 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "code", element.getCode(), -1); 12760 } 12761 if (element.hasOutcome()) { 12762 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "outcome", element.getOutcome(), -1); 12763 } 12764 if (element.hasContributedToDeathElement()) { 12765 composeBoolean(t, "FamilyMemberHistoryConditionComponent", "contributedToDeath", element.getContributedToDeathElement(), -1); 12766 } 12767 if (element.hasOnset()) { 12768 composeType(t, "FamilyMemberHistoryConditionComponent", "onset", element.getOnset(), -1); 12769 } 12770 for (int i = 0; i < element.getNote().size(); i++) { 12771 composeAnnotation(t, "FamilyMemberHistoryConditionComponent", "note", element.getNote().get(i), i); 12772 } 12773 } 12774 12775 protected void composeFamilyMemberHistoryProcedureComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryProcedureComponent element, int index) { 12776 if (element == null) 12777 return; 12778 Complex t; 12779 if (Utilities.noString(parentType)) 12780 t = parent; 12781 else { 12782 t = parent.predicate("fhir:"+parentType+'.'+name); 12783 } 12784 composeBackboneElement(t, "procedure", name, element, index); 12785 if (element.hasCode()) { 12786 composeCodeableConcept(t, "FamilyMemberHistoryProcedureComponent", "code", element.getCode(), -1); 12787 } 12788 if (element.hasOutcome()) { 12789 composeCodeableConcept(t, "FamilyMemberHistoryProcedureComponent", "outcome", element.getOutcome(), -1); 12790 } 12791 if (element.hasContributedToDeathElement()) { 12792 composeBoolean(t, "FamilyMemberHistoryProcedureComponent", "contributedToDeath", element.getContributedToDeathElement(), -1); 12793 } 12794 if (element.hasPerformed()) { 12795 composeType(t, "FamilyMemberHistoryProcedureComponent", "performed", element.getPerformed(), -1); 12796 } 12797 for (int i = 0; i < element.getNote().size(); i++) { 12798 composeAnnotation(t, "FamilyMemberHistoryProcedureComponent", "note", element.getNote().get(i), i); 12799 } 12800 } 12801 12802 protected void composeFlag(Complex parent, String parentType, String name, Flag element, int index) { 12803 if (element == null) 12804 return; 12805 Complex t; 12806 if (Utilities.noString(parentType)) 12807 t = parent; 12808 else { 12809 t = parent.predicate("fhir:"+parentType+'.'+name); 12810 } 12811 composeDomainResource(t, "Flag", name, element, index); 12812 for (int i = 0; i < element.getIdentifier().size(); i++) { 12813 composeIdentifier(t, "Flag", "identifier", element.getIdentifier().get(i), i); 12814 } 12815 if (element.hasStatusElement()) { 12816 composeEnum(t, "Flag", "status", element.getStatusElement(), -1); 12817 } 12818 for (int i = 0; i < element.getCategory().size(); i++) { 12819 composeCodeableConcept(t, "Flag", "category", element.getCategory().get(i), i); 12820 } 12821 if (element.hasCode()) { 12822 composeCodeableConcept(t, "Flag", "code", element.getCode(), -1); 12823 } 12824 if (element.hasSubject()) { 12825 composeReference(t, "Flag", "subject", element.getSubject(), -1); 12826 } 12827 if (element.hasPeriod()) { 12828 composePeriod(t, "Flag", "period", element.getPeriod(), -1); 12829 } 12830 if (element.hasEncounter()) { 12831 composeReference(t, "Flag", "encounter", element.getEncounter(), -1); 12832 } 12833 if (element.hasAuthor()) { 12834 composeReference(t, "Flag", "author", element.getAuthor(), -1); 12835 } 12836 } 12837 12838 protected void composeGoal(Complex parent, String parentType, String name, Goal element, int index) { 12839 if (element == null) 12840 return; 12841 Complex t; 12842 if (Utilities.noString(parentType)) 12843 t = parent; 12844 else { 12845 t = parent.predicate("fhir:"+parentType+'.'+name); 12846 } 12847 composeDomainResource(t, "Goal", name, element, index); 12848 for (int i = 0; i < element.getIdentifier().size(); i++) { 12849 composeIdentifier(t, "Goal", "identifier", element.getIdentifier().get(i), i); 12850 } 12851 if (element.hasLifecycleStatusElement()) { 12852 composeEnum(t, "Goal", "lifecycleStatus", element.getLifecycleStatusElement(), -1); 12853 } 12854 if (element.hasAchievementStatus()) { 12855 composeCodeableConcept(t, "Goal", "achievementStatus", element.getAchievementStatus(), -1); 12856 } 12857 for (int i = 0; i < element.getCategory().size(); i++) { 12858 composeCodeableConcept(t, "Goal", "category", element.getCategory().get(i), i); 12859 } 12860 if (element.hasContinuousElement()) { 12861 composeBoolean(t, "Goal", "continuous", element.getContinuousElement(), -1); 12862 } 12863 if (element.hasPriority()) { 12864 composeCodeableConcept(t, "Goal", "priority", element.getPriority(), -1); 12865 } 12866 if (element.hasDescription()) { 12867 composeCodeableConcept(t, "Goal", "description", element.getDescription(), -1); 12868 } 12869 if (element.hasSubject()) { 12870 composeReference(t, "Goal", "subject", element.getSubject(), -1); 12871 } 12872 if (element.hasStart()) { 12873 composeType(t, "Goal", "start", element.getStart(), -1); 12874 } 12875 for (int i = 0; i < element.getTarget().size(); i++) { 12876 composeGoalTargetComponent(t, "Goal", "target", element.getTarget().get(i), i); 12877 } 12878 if (element.hasStatusDateElement()) { 12879 composeDate(t, "Goal", "statusDate", element.getStatusDateElement(), -1); 12880 } 12881 if (element.hasStatusReasonElement()) { 12882 composeString(t, "Goal", "statusReason", element.getStatusReasonElement(), -1); 12883 } 12884 if (element.hasSource()) { 12885 composeReference(t, "Goal", "source", element.getSource(), -1); 12886 } 12887 for (int i = 0; i < element.getAddresses().size(); i++) { 12888 composeReference(t, "Goal", "addresses", element.getAddresses().get(i), i); 12889 } 12890 for (int i = 0; i < element.getNote().size(); i++) { 12891 composeAnnotation(t, "Goal", "note", element.getNote().get(i), i); 12892 } 12893 for (int i = 0; i < element.getOutcome().size(); i++) { 12894 composeCodeableReference(t, "Goal", "outcome", element.getOutcome().get(i), i); 12895 } 12896 } 12897 12898 protected void composeGoalTargetComponent(Complex parent, String parentType, String name, Goal.GoalTargetComponent element, int index) { 12899 if (element == null) 12900 return; 12901 Complex t; 12902 if (Utilities.noString(parentType)) 12903 t = parent; 12904 else { 12905 t = parent.predicate("fhir:"+parentType+'.'+name); 12906 } 12907 composeBackboneElement(t, "target", name, element, index); 12908 if (element.hasMeasure()) { 12909 composeCodeableConcept(t, "GoalTargetComponent", "measure", element.getMeasure(), -1); 12910 } 12911 if (element.hasDetail()) { 12912 composeType(t, "GoalTargetComponent", "detail", element.getDetail(), -1); 12913 } 12914 if (element.hasDue()) { 12915 composeType(t, "GoalTargetComponent", "due", element.getDue(), -1); 12916 } 12917 } 12918 12919 protected void composeGraphDefinition(Complex parent, String parentType, String name, GraphDefinition element, int index) { 12920 if (element == null) 12921 return; 12922 Complex t; 12923 if (Utilities.noString(parentType)) 12924 t = parent; 12925 else { 12926 t = parent.predicate("fhir:"+parentType+'.'+name); 12927 } 12928 composeCanonicalResource(t, "GraphDefinition", name, element, index); 12929 if (element.hasUrlElement()) { 12930 composeUri(t, "GraphDefinition", "url", element.getUrlElement(), -1); 12931 } 12932 if (element.hasVersionElement()) { 12933 composeString(t, "GraphDefinition", "version", element.getVersionElement(), -1); 12934 } 12935 if (element.hasNameElement()) { 12936 composeString(t, "GraphDefinition", "name", element.getNameElement(), -1); 12937 } 12938 if (element.hasStatusElement()) { 12939 composeEnum(t, "GraphDefinition", "status", element.getStatusElement(), -1); 12940 } 12941 if (element.hasExperimentalElement()) { 12942 composeBoolean(t, "GraphDefinition", "experimental", element.getExperimentalElement(), -1); 12943 } 12944 if (element.hasDateElement()) { 12945 composeDateTime(t, "GraphDefinition", "date", element.getDateElement(), -1); 12946 } 12947 if (element.hasPublisherElement()) { 12948 composeString(t, "GraphDefinition", "publisher", element.getPublisherElement(), -1); 12949 } 12950 for (int i = 0; i < element.getContact().size(); i++) { 12951 composeContactDetail(t, "GraphDefinition", "contact", element.getContact().get(i), i); 12952 } 12953 if (element.hasDescriptionElement()) { 12954 composeMarkdown(t, "GraphDefinition", "description", element.getDescriptionElement(), -1); 12955 } 12956 for (int i = 0; i < element.getUseContext().size(); i++) { 12957 composeUsageContext(t, "GraphDefinition", "useContext", element.getUseContext().get(i), i); 12958 } 12959 for (int i = 0; i < element.getJurisdiction().size(); i++) { 12960 composeCodeableConcept(t, "GraphDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 12961 } 12962 if (element.hasPurposeElement()) { 12963 composeMarkdown(t, "GraphDefinition", "purpose", element.getPurposeElement(), -1); 12964 } 12965 if (element.hasStartElement()) { 12966 composeCode(t, "GraphDefinition", "start", element.getStartElement(), -1); 12967 } 12968 if (element.hasProfileElement()) { 12969 composeCanonical(t, "GraphDefinition", "profile", element.getProfileElement(), -1); 12970 } 12971 for (int i = 0; i < element.getLink().size(); i++) { 12972 composeGraphDefinitionLinkComponent(t, "GraphDefinition", "link", element.getLink().get(i), i); 12973 } 12974 } 12975 12976 protected void composeGraphDefinitionLinkComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkComponent element, int index) { 12977 if (element == null) 12978 return; 12979 Complex t; 12980 if (Utilities.noString(parentType)) 12981 t = parent; 12982 else { 12983 t = parent.predicate("fhir:"+parentType+'.'+name); 12984 } 12985 composeBackboneElement(t, "link", name, element, index); 12986 if (element.hasPathElement()) { 12987 composeString(t, "GraphDefinitionLinkComponent", "path", element.getPathElement(), -1); 12988 } 12989 if (element.hasSliceNameElement()) { 12990 composeString(t, "GraphDefinitionLinkComponent", "sliceName", element.getSliceNameElement(), -1); 12991 } 12992 if (element.hasMinElement()) { 12993 composeInteger(t, "GraphDefinitionLinkComponent", "min", element.getMinElement(), -1); 12994 } 12995 if (element.hasMaxElement()) { 12996 composeString(t, "GraphDefinitionLinkComponent", "max", element.getMaxElement(), -1); 12997 } 12998 if (element.hasDescriptionElement()) { 12999 composeString(t, "GraphDefinitionLinkComponent", "description", element.getDescriptionElement(), -1); 13000 } 13001 for (int i = 0; i < element.getTarget().size(); i++) { 13002 composeGraphDefinitionLinkTargetComponent(t, "GraphDefinitionLinkComponent", "target", element.getTarget().get(i), i); 13003 } 13004 } 13005 13006 protected void composeGraphDefinitionLinkTargetComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkTargetComponent element, int index) { 13007 if (element == null) 13008 return; 13009 Complex t; 13010 if (Utilities.noString(parentType)) 13011 t = parent; 13012 else { 13013 t = parent.predicate("fhir:"+parentType+'.'+name); 13014 } 13015 composeBackboneElement(t, "target", name, element, index); 13016 if (element.hasTypeElement()) { 13017 composeCode(t, "GraphDefinitionLinkTargetComponent", "type", element.getTypeElement(), -1); 13018 } 13019 if (element.hasParamsElement()) { 13020 composeString(t, "GraphDefinitionLinkTargetComponent", "params", element.getParamsElement(), -1); 13021 } 13022 if (element.hasProfileElement()) { 13023 composeCanonical(t, "GraphDefinitionLinkTargetComponent", "profile", element.getProfileElement(), -1); 13024 } 13025 for (int i = 0; i < element.getCompartment().size(); i++) { 13026 composeGraphDefinitionLinkTargetCompartmentComponent(t, "GraphDefinitionLinkTargetComponent", "compartment", element.getCompartment().get(i), i); 13027 } 13028 for (int i = 0; i < element.getLink().size(); i++) { 13029 composeGraphDefinitionLinkComponent(t, "GraphDefinitionLinkTargetComponent", "link", element.getLink().get(i), i); 13030 } 13031 } 13032 13033 protected void composeGraphDefinitionLinkTargetCompartmentComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent element, int index) { 13034 if (element == null) 13035 return; 13036 Complex t; 13037 if (Utilities.noString(parentType)) 13038 t = parent; 13039 else { 13040 t = parent.predicate("fhir:"+parentType+'.'+name); 13041 } 13042 composeBackboneElement(t, "compartment", name, element, index); 13043 if (element.hasUseElement()) { 13044 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "use", element.getUseElement(), -1); 13045 } 13046 if (element.hasCodeElement()) { 13047 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "code", element.getCodeElement(), -1); 13048 } 13049 if (element.hasRuleElement()) { 13050 composeEnum(t, "GraphDefinitionLinkTargetCompartmentComponent", "rule", element.getRuleElement(), -1); 13051 } 13052 if (element.hasExpressionElement()) { 13053 composeString(t, "GraphDefinitionLinkTargetCompartmentComponent", "expression", element.getExpressionElement(), -1); 13054 } 13055 if (element.hasDescriptionElement()) { 13056 composeString(t, "GraphDefinitionLinkTargetCompartmentComponent", "description", element.getDescriptionElement(), -1); 13057 } 13058 } 13059 13060 protected void composeGroup(Complex parent, String parentType, String name, Group element, int index) { 13061 if (element == null) 13062 return; 13063 Complex t; 13064 if (Utilities.noString(parentType)) 13065 t = parent; 13066 else { 13067 t = parent.predicate("fhir:"+parentType+'.'+name); 13068 } 13069 composeDomainResource(t, "Group", name, element, index); 13070 for (int i = 0; i < element.getIdentifier().size(); i++) { 13071 composeIdentifier(t, "Group", "identifier", element.getIdentifier().get(i), i); 13072 } 13073 if (element.hasActiveElement()) { 13074 composeBoolean(t, "Group", "active", element.getActiveElement(), -1); 13075 } 13076 if (element.hasTypeElement()) { 13077 composeEnum(t, "Group", "type", element.getTypeElement(), -1); 13078 } 13079 if (element.hasActualElement()) { 13080 composeBoolean(t, "Group", "actual", element.getActualElement(), -1); 13081 } 13082 if (element.hasCode()) { 13083 composeCodeableConcept(t, "Group", "code", element.getCode(), -1); 13084 } 13085 if (element.hasNameElement()) { 13086 composeString(t, "Group", "name", element.getNameElement(), -1); 13087 } 13088 if (element.hasQuantityElement()) { 13089 composeUnsignedInt(t, "Group", "quantity", element.getQuantityElement(), -1); 13090 } 13091 if (element.hasManagingEntity()) { 13092 composeReference(t, "Group", "managingEntity", element.getManagingEntity(), -1); 13093 } 13094 for (int i = 0; i < element.getCharacteristic().size(); i++) { 13095 composeGroupCharacteristicComponent(t, "Group", "characteristic", element.getCharacteristic().get(i), i); 13096 } 13097 for (int i = 0; i < element.getMember().size(); i++) { 13098 composeGroupMemberComponent(t, "Group", "member", element.getMember().get(i), i); 13099 } 13100 } 13101 13102 protected void composeGroupCharacteristicComponent(Complex parent, String parentType, String name, Group.GroupCharacteristicComponent element, int index) { 13103 if (element == null) 13104 return; 13105 Complex t; 13106 if (Utilities.noString(parentType)) 13107 t = parent; 13108 else { 13109 t = parent.predicate("fhir:"+parentType+'.'+name); 13110 } 13111 composeBackboneElement(t, "characteristic", name, element, index); 13112 if (element.hasCode()) { 13113 composeCodeableConcept(t, "GroupCharacteristicComponent", "code", element.getCode(), -1); 13114 } 13115 if (element.hasValue()) { 13116 composeType(t, "GroupCharacteristicComponent", "value", element.getValue(), -1); 13117 } 13118 if (element.hasExcludeElement()) { 13119 composeBoolean(t, "GroupCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 13120 } 13121 if (element.hasPeriod()) { 13122 composePeriod(t, "GroupCharacteristicComponent", "period", element.getPeriod(), -1); 13123 } 13124 } 13125 13126 protected void composeGroupMemberComponent(Complex parent, String parentType, String name, Group.GroupMemberComponent element, int index) { 13127 if (element == null) 13128 return; 13129 Complex t; 13130 if (Utilities.noString(parentType)) 13131 t = parent; 13132 else { 13133 t = parent.predicate("fhir:"+parentType+'.'+name); 13134 } 13135 composeBackboneElement(t, "member", name, element, index); 13136 if (element.hasEntity()) { 13137 composeReference(t, "GroupMemberComponent", "entity", element.getEntity(), -1); 13138 } 13139 if (element.hasPeriod()) { 13140 composePeriod(t, "GroupMemberComponent", "period", element.getPeriod(), -1); 13141 } 13142 if (element.hasInactiveElement()) { 13143 composeBoolean(t, "GroupMemberComponent", "inactive", element.getInactiveElement(), -1); 13144 } 13145 } 13146 13147 protected void composeGuidanceResponse(Complex parent, String parentType, String name, GuidanceResponse element, int index) { 13148 if (element == null) 13149 return; 13150 Complex t; 13151 if (Utilities.noString(parentType)) 13152 t = parent; 13153 else { 13154 t = parent.predicate("fhir:"+parentType+'.'+name); 13155 } 13156 composeDomainResource(t, "GuidanceResponse", name, element, index); 13157 if (element.hasRequestIdentifier()) { 13158 composeIdentifier(t, "GuidanceResponse", "requestIdentifier", element.getRequestIdentifier(), -1); 13159 } 13160 for (int i = 0; i < element.getIdentifier().size(); i++) { 13161 composeIdentifier(t, "GuidanceResponse", "identifier", element.getIdentifier().get(i), i); 13162 } 13163 if (element.hasModule()) { 13164 composeType(t, "GuidanceResponse", "module", element.getModule(), -1); 13165 } 13166 if (element.hasStatusElement()) { 13167 composeEnum(t, "GuidanceResponse", "status", element.getStatusElement(), -1); 13168 } 13169 if (element.hasSubject()) { 13170 composeReference(t, "GuidanceResponse", "subject", element.getSubject(), -1); 13171 } 13172 if (element.hasEncounter()) { 13173 composeReference(t, "GuidanceResponse", "encounter", element.getEncounter(), -1); 13174 } 13175 if (element.hasOccurrenceDateTimeElement()) { 13176 composeDateTime(t, "GuidanceResponse", "occurrenceDateTime", element.getOccurrenceDateTimeElement(), -1); 13177 } 13178 if (element.hasPerformer()) { 13179 composeReference(t, "GuidanceResponse", "performer", element.getPerformer(), -1); 13180 } 13181 for (int i = 0; i < element.getReason().size(); i++) { 13182 composeCodeableReference(t, "GuidanceResponse", "reason", element.getReason().get(i), i); 13183 } 13184 for (int i = 0; i < element.getNote().size(); i++) { 13185 composeAnnotation(t, "GuidanceResponse", "note", element.getNote().get(i), i); 13186 } 13187 for (int i = 0; i < element.getEvaluationMessage().size(); i++) { 13188 composeReference(t, "GuidanceResponse", "evaluationMessage", element.getEvaluationMessage().get(i), i); 13189 } 13190 if (element.hasOutputParameters()) { 13191 composeReference(t, "GuidanceResponse", "outputParameters", element.getOutputParameters(), -1); 13192 } 13193 if (element.hasResult()) { 13194 composeReference(t, "GuidanceResponse", "result", element.getResult(), -1); 13195 } 13196 for (int i = 0; i < element.getDataRequirement().size(); i++) { 13197 composeDataRequirement(t, "GuidanceResponse", "dataRequirement", element.getDataRequirement().get(i), i); 13198 } 13199 } 13200 13201 protected void composeHealthcareService(Complex parent, String parentType, String name, HealthcareService element, int index) { 13202 if (element == null) 13203 return; 13204 Complex t; 13205 if (Utilities.noString(parentType)) 13206 t = parent; 13207 else { 13208 t = parent.predicate("fhir:"+parentType+'.'+name); 13209 } 13210 composeDomainResource(t, "HealthcareService", name, element, index); 13211 for (int i = 0; i < element.getIdentifier().size(); i++) { 13212 composeIdentifier(t, "HealthcareService", "identifier", element.getIdentifier().get(i), i); 13213 } 13214 if (element.hasActiveElement()) { 13215 composeBoolean(t, "HealthcareService", "active", element.getActiveElement(), -1); 13216 } 13217 if (element.hasProvidedBy()) { 13218 composeReference(t, "HealthcareService", "providedBy", element.getProvidedBy(), -1); 13219 } 13220 for (int i = 0; i < element.getCategory().size(); i++) { 13221 composeCodeableConcept(t, "HealthcareService", "category", element.getCategory().get(i), i); 13222 } 13223 for (int i = 0; i < element.getType().size(); i++) { 13224 composeCodeableConcept(t, "HealthcareService", "type", element.getType().get(i), i); 13225 } 13226 for (int i = 0; i < element.getSpecialty().size(); i++) { 13227 composeCodeableConcept(t, "HealthcareService", "specialty", element.getSpecialty().get(i), i); 13228 } 13229 for (int i = 0; i < element.getLocation().size(); i++) { 13230 composeReference(t, "HealthcareService", "location", element.getLocation().get(i), i); 13231 } 13232 if (element.hasNameElement()) { 13233 composeString(t, "HealthcareService", "name", element.getNameElement(), -1); 13234 } 13235 if (element.hasCommentElement()) { 13236 composeString(t, "HealthcareService", "comment", element.getCommentElement(), -1); 13237 } 13238 if (element.hasExtraDetailsElement()) { 13239 composeMarkdown(t, "HealthcareService", "extraDetails", element.getExtraDetailsElement(), -1); 13240 } 13241 if (element.hasPhoto()) { 13242 composeAttachment(t, "HealthcareService", "photo", element.getPhoto(), -1); 13243 } 13244 for (int i = 0; i < element.getTelecom().size(); i++) { 13245 composeContactPoint(t, "HealthcareService", "telecom", element.getTelecom().get(i), i); 13246 } 13247 for (int i = 0; i < element.getCoverageArea().size(); i++) { 13248 composeReference(t, "HealthcareService", "coverageArea", element.getCoverageArea().get(i), i); 13249 } 13250 for (int i = 0; i < element.getServiceProvisionCode().size(); i++) { 13251 composeCodeableConcept(t, "HealthcareService", "serviceProvisionCode", element.getServiceProvisionCode().get(i), i); 13252 } 13253 for (int i = 0; i < element.getEligibility().size(); i++) { 13254 composeHealthcareServiceEligibilityComponent(t, "HealthcareService", "eligibility", element.getEligibility().get(i), i); 13255 } 13256 for (int i = 0; i < element.getProgram().size(); i++) { 13257 composeCodeableConcept(t, "HealthcareService", "program", element.getProgram().get(i), i); 13258 } 13259 for (int i = 0; i < element.getCharacteristic().size(); i++) { 13260 composeCodeableConcept(t, "HealthcareService", "characteristic", element.getCharacteristic().get(i), i); 13261 } 13262 for (int i = 0; i < element.getCommunication().size(); i++) { 13263 composeCodeableConcept(t, "HealthcareService", "communication", element.getCommunication().get(i), i); 13264 } 13265 for (int i = 0; i < element.getReferralMethod().size(); i++) { 13266 composeCodeableConcept(t, "HealthcareService", "referralMethod", element.getReferralMethod().get(i), i); 13267 } 13268 if (element.hasAppointmentRequiredElement()) { 13269 composeBoolean(t, "HealthcareService", "appointmentRequired", element.getAppointmentRequiredElement(), -1); 13270 } 13271 for (int i = 0; i < element.getAvailableTime().size(); i++) { 13272 composeHealthcareServiceAvailableTimeComponent(t, "HealthcareService", "availableTime", element.getAvailableTime().get(i), i); 13273 } 13274 for (int i = 0; i < element.getNotAvailable().size(); i++) { 13275 composeHealthcareServiceNotAvailableComponent(t, "HealthcareService", "notAvailable", element.getNotAvailable().get(i), i); 13276 } 13277 if (element.hasAvailabilityExceptionsElement()) { 13278 composeString(t, "HealthcareService", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 13279 } 13280 for (int i = 0; i < element.getEndpoint().size(); i++) { 13281 composeReference(t, "HealthcareService", "endpoint", element.getEndpoint().get(i), i); 13282 } 13283 } 13284 13285 protected void composeHealthcareServiceEligibilityComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceEligibilityComponent element, int index) { 13286 if (element == null) 13287 return; 13288 Complex t; 13289 if (Utilities.noString(parentType)) 13290 t = parent; 13291 else { 13292 t = parent.predicate("fhir:"+parentType+'.'+name); 13293 } 13294 composeBackboneElement(t, "eligibility", name, element, index); 13295 if (element.hasCode()) { 13296 composeCodeableConcept(t, "HealthcareServiceEligibilityComponent", "code", element.getCode(), -1); 13297 } 13298 if (element.hasCommentElement()) { 13299 composeMarkdown(t, "HealthcareServiceEligibilityComponent", "comment", element.getCommentElement(), -1); 13300 } 13301 } 13302 13303 protected void composeHealthcareServiceAvailableTimeComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceAvailableTimeComponent element, int index) { 13304 if (element == null) 13305 return; 13306 Complex t; 13307 if (Utilities.noString(parentType)) 13308 t = parent; 13309 else { 13310 t = parent.predicate("fhir:"+parentType+'.'+name); 13311 } 13312 composeBackboneElement(t, "availableTime", name, element, index); 13313 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 13314 composeEnum(t, "HealthcareServiceAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 13315 } 13316 if (element.hasAllDayElement()) { 13317 composeBoolean(t, "HealthcareServiceAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); 13318 } 13319 if (element.hasAvailableStartTimeElement()) { 13320 composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); 13321 } 13322 if (element.hasAvailableEndTimeElement()) { 13323 composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); 13324 } 13325 } 13326 13327 protected void composeHealthcareServiceNotAvailableComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceNotAvailableComponent element, int index) { 13328 if (element == null) 13329 return; 13330 Complex t; 13331 if (Utilities.noString(parentType)) 13332 t = parent; 13333 else { 13334 t = parent.predicate("fhir:"+parentType+'.'+name); 13335 } 13336 composeBackboneElement(t, "notAvailable", name, element, index); 13337 if (element.hasDescriptionElement()) { 13338 composeString(t, "HealthcareServiceNotAvailableComponent", "description", element.getDescriptionElement(), -1); 13339 } 13340 if (element.hasDuring()) { 13341 composePeriod(t, "HealthcareServiceNotAvailableComponent", "during", element.getDuring(), -1); 13342 } 13343 } 13344 13345 protected void composeImagingSelection(Complex parent, String parentType, String name, ImagingSelection element, int index) { 13346 if (element == null) 13347 return; 13348 Complex t; 13349 if (Utilities.noString(parentType)) 13350 t = parent; 13351 else { 13352 t = parent.predicate("fhir:"+parentType+'.'+name); 13353 } 13354 composeDomainResource(t, "ImagingSelection", name, element, index); 13355 for (int i = 0; i < element.getIdentifier().size(); i++) { 13356 composeIdentifier(t, "ImagingSelection", "identifier", element.getIdentifier().get(i), i); 13357 } 13358 for (int i = 0; i < element.getBasedOn().size(); i++) { 13359 composeReference(t, "ImagingSelection", "basedOn", element.getBasedOn().get(i), i); 13360 } 13361 if (element.hasSubject()) { 13362 composeReference(t, "ImagingSelection", "subject", element.getSubject(), -1); 13363 } 13364 if (element.hasIssuedElement()) { 13365 composeInstant(t, "ImagingSelection", "issued", element.getIssuedElement(), -1); 13366 } 13367 for (int i = 0; i < element.getPerformer().size(); i++) { 13368 composeImagingSelectionPerformerComponent(t, "ImagingSelection", "performer", element.getPerformer().get(i), i); 13369 } 13370 if (element.hasCode()) { 13371 composeCodeableConcept(t, "ImagingSelection", "code", element.getCode(), -1); 13372 } 13373 if (element.hasStudyUidElement()) { 13374 composeOid(t, "ImagingSelection", "studyUid", element.getStudyUidElement(), -1); 13375 } 13376 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 13377 composeReference(t, "ImagingSelection", "derivedFrom", element.getDerivedFrom().get(i), i); 13378 } 13379 for (int i = 0; i < element.getEndpoint().size(); i++) { 13380 composeReference(t, "ImagingSelection", "endpoint", element.getEndpoint().get(i), i); 13381 } 13382 if (element.hasSeriesUidElement()) { 13383 composeOid(t, "ImagingSelection", "seriesUid", element.getSeriesUidElement(), -1); 13384 } 13385 if (element.hasFrameOfReferenceUidElement()) { 13386 composeOid(t, "ImagingSelection", "frameOfReferenceUid", element.getFrameOfReferenceUidElement(), -1); 13387 } 13388 if (element.hasBodySite()) { 13389 composeCoding(t, "ImagingSelection", "bodySite", element.getBodySite(), -1); 13390 } 13391 for (int i = 0; i < element.getInstance().size(); i++) { 13392 composeImagingSelectionInstanceComponent(t, "ImagingSelection", "instance", element.getInstance().get(i), i); 13393 } 13394 if (element.hasImageRegion()) { 13395 composeImagingSelectionImageRegionComponent(t, "ImagingSelection", "imageRegion", element.getImageRegion(), -1); 13396 } 13397 } 13398 13399 protected void composeImagingSelectionPerformerComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionPerformerComponent element, int index) { 13400 if (element == null) 13401 return; 13402 Complex t; 13403 if (Utilities.noString(parentType)) 13404 t = parent; 13405 else { 13406 t = parent.predicate("fhir:"+parentType+'.'+name); 13407 } 13408 composeBackboneElement(t, "performer", name, element, index); 13409 if (element.hasFunction()) { 13410 composeCodeableConcept(t, "ImagingSelectionPerformerComponent", "function", element.getFunction(), -1); 13411 } 13412 if (element.hasActor()) { 13413 composeReference(t, "ImagingSelectionPerformerComponent", "actor", element.getActor(), -1); 13414 } 13415 } 13416 13417 protected void composeImagingSelectionInstanceComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionInstanceComponent element, int index) { 13418 if (element == null) 13419 return; 13420 Complex t; 13421 if (Utilities.noString(parentType)) 13422 t = parent; 13423 else { 13424 t = parent.predicate("fhir:"+parentType+'.'+name); 13425 } 13426 composeBackboneElement(t, "instance", name, element, index); 13427 if (element.hasUidElement()) { 13428 composeOid(t, "ImagingSelectionInstanceComponent", "uid", element.getUidElement(), -1); 13429 } 13430 if (element.hasSopClass()) { 13431 composeCoding(t, "ImagingSelectionInstanceComponent", "sopClass", element.getSopClass(), -1); 13432 } 13433 if (element.hasFrameListElement()) { 13434 composeString(t, "ImagingSelectionInstanceComponent", "frameList", element.getFrameListElement(), -1); 13435 } 13436 for (int i = 0; i < element.getObservationUid().size(); i++) { 13437 composeOid(t, "ImagingSelectionInstanceComponent", "observationUid", element.getObservationUid().get(i), i); 13438 } 13439 if (element.hasSegmentListElement()) { 13440 composeString(t, "ImagingSelectionInstanceComponent", "segmentList", element.getSegmentListElement(), -1); 13441 } 13442 if (element.hasRoiListElement()) { 13443 composeString(t, "ImagingSelectionInstanceComponent", "roiList", element.getRoiListElement(), -1); 13444 } 13445 } 13446 13447 protected void composeImagingSelectionImageRegionComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionImageRegionComponent element, int index) { 13448 if (element == null) 13449 return; 13450 Complex t; 13451 if (Utilities.noString(parentType)) 13452 t = parent; 13453 else { 13454 t = parent.predicate("fhir:"+parentType+'.'+name); 13455 } 13456 composeBackboneElement(t, "imageRegion", name, element, index); 13457 if (element.hasRegionTypeElement()) { 13458 composeEnum(t, "ImagingSelectionImageRegionComponent", "regionType", element.getRegionTypeElement(), -1); 13459 } 13460 if (element.hasCoordinateTypeElement()) { 13461 composeEnum(t, "ImagingSelectionImageRegionComponent", "coordinateType", element.getCoordinateTypeElement(), -1); 13462 } 13463 for (int i = 0; i < element.getCoordinates().size(); i++) { 13464 composeDecimal(t, "ImagingSelectionImageRegionComponent", "coordinates", element.getCoordinates().get(i), i); 13465 } 13466 } 13467 13468 protected void composeImagingStudy(Complex parent, String parentType, String name, ImagingStudy element, int index) { 13469 if (element == null) 13470 return; 13471 Complex t; 13472 if (Utilities.noString(parentType)) 13473 t = parent; 13474 else { 13475 t = parent.predicate("fhir:"+parentType+'.'+name); 13476 } 13477 composeDomainResource(t, "ImagingStudy", name, element, index); 13478 for (int i = 0; i < element.getIdentifier().size(); i++) { 13479 composeIdentifier(t, "ImagingStudy", "identifier", element.getIdentifier().get(i), i); 13480 } 13481 if (element.hasStatusElement()) { 13482 composeEnum(t, "ImagingStudy", "status", element.getStatusElement(), -1); 13483 } 13484 for (int i = 0; i < element.getModality().size(); i++) { 13485 composeCoding(t, "ImagingStudy", "modality", element.getModality().get(i), i); 13486 } 13487 if (element.hasSubject()) { 13488 composeReference(t, "ImagingStudy", "subject", element.getSubject(), -1); 13489 } 13490 if (element.hasEncounter()) { 13491 composeReference(t, "ImagingStudy", "encounter", element.getEncounter(), -1); 13492 } 13493 if (element.hasStartedElement()) { 13494 composeDateTime(t, "ImagingStudy", "started", element.getStartedElement(), -1); 13495 } 13496 for (int i = 0; i < element.getBasedOn().size(); i++) { 13497 composeReference(t, "ImagingStudy", "basedOn", element.getBasedOn().get(i), i); 13498 } 13499 if (element.hasReferrer()) { 13500 composeReference(t, "ImagingStudy", "referrer", element.getReferrer(), -1); 13501 } 13502 for (int i = 0; i < element.getInterpreter().size(); i++) { 13503 composeReference(t, "ImagingStudy", "interpreter", element.getInterpreter().get(i), i); 13504 } 13505 for (int i = 0; i < element.getEndpoint().size(); i++) { 13506 composeReference(t, "ImagingStudy", "endpoint", element.getEndpoint().get(i), i); 13507 } 13508 if (element.hasNumberOfSeriesElement()) { 13509 composeUnsignedInt(t, "ImagingStudy", "numberOfSeries", element.getNumberOfSeriesElement(), -1); 13510 } 13511 if (element.hasNumberOfInstancesElement()) { 13512 composeUnsignedInt(t, "ImagingStudy", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 13513 } 13514 for (int i = 0; i < element.getProcedure().size(); i++) { 13515 composeCodeableReference(t, "ImagingStudy", "procedure", element.getProcedure().get(i), i); 13516 } 13517 if (element.hasLocation()) { 13518 composeReference(t, "ImagingStudy", "location", element.getLocation(), -1); 13519 } 13520 for (int i = 0; i < element.getReason().size(); i++) { 13521 composeCodeableReference(t, "ImagingStudy", "reason", element.getReason().get(i), i); 13522 } 13523 for (int i = 0; i < element.getNote().size(); i++) { 13524 composeAnnotation(t, "ImagingStudy", "note", element.getNote().get(i), i); 13525 } 13526 if (element.hasDescriptionElement()) { 13527 composeString(t, "ImagingStudy", "description", element.getDescriptionElement(), -1); 13528 } 13529 for (int i = 0; i < element.getSeries().size(); i++) { 13530 composeImagingStudySeriesComponent(t, "ImagingStudy", "series", element.getSeries().get(i), i); 13531 } 13532 } 13533 13534 protected void composeImagingStudySeriesComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesComponent element, int index) { 13535 if (element == null) 13536 return; 13537 Complex t; 13538 if (Utilities.noString(parentType)) 13539 t = parent; 13540 else { 13541 t = parent.predicate("fhir:"+parentType+'.'+name); 13542 } 13543 composeBackboneElement(t, "series", name, element, index); 13544 if (element.hasUidElement()) { 13545 composeId(t, "ImagingStudySeriesComponent", "uid", element.getUidElement(), -1); 13546 } 13547 if (element.hasNumberElement()) { 13548 composeUnsignedInt(t, "ImagingStudySeriesComponent", "number", element.getNumberElement(), -1); 13549 } 13550 if (element.hasModality()) { 13551 composeCoding(t, "ImagingStudySeriesComponent", "modality", element.getModality(), -1); 13552 } 13553 if (element.hasDescriptionElement()) { 13554 composeString(t, "ImagingStudySeriesComponent", "description", element.getDescriptionElement(), -1); 13555 } 13556 if (element.hasNumberOfInstancesElement()) { 13557 composeUnsignedInt(t, "ImagingStudySeriesComponent", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 13558 } 13559 for (int i = 0; i < element.getEndpoint().size(); i++) { 13560 composeReference(t, "ImagingStudySeriesComponent", "endpoint", element.getEndpoint().get(i), i); 13561 } 13562 if (element.hasBodySite()) { 13563 composeCoding(t, "ImagingStudySeriesComponent", "bodySite", element.getBodySite(), -1); 13564 } 13565 if (element.hasLaterality()) { 13566 composeCoding(t, "ImagingStudySeriesComponent", "laterality", element.getLaterality(), -1); 13567 } 13568 for (int i = 0; i < element.getSpecimen().size(); i++) { 13569 composeReference(t, "ImagingStudySeriesComponent", "specimen", element.getSpecimen().get(i), i); 13570 } 13571 if (element.hasStartedElement()) { 13572 composeDateTime(t, "ImagingStudySeriesComponent", "started", element.getStartedElement(), -1); 13573 } 13574 for (int i = 0; i < element.getPerformer().size(); i++) { 13575 composeImagingStudySeriesPerformerComponent(t, "ImagingStudySeriesComponent", "performer", element.getPerformer().get(i), i); 13576 } 13577 for (int i = 0; i < element.getInstance().size(); i++) { 13578 composeImagingStudySeriesInstanceComponent(t, "ImagingStudySeriesComponent", "instance", element.getInstance().get(i), i); 13579 } 13580 } 13581 13582 protected void composeImagingStudySeriesPerformerComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesPerformerComponent element, int index) { 13583 if (element == null) 13584 return; 13585 Complex t; 13586 if (Utilities.noString(parentType)) 13587 t = parent; 13588 else { 13589 t = parent.predicate("fhir:"+parentType+'.'+name); 13590 } 13591 composeBackboneElement(t, "performer", name, element, index); 13592 if (element.hasFunction()) { 13593 composeCodeableConcept(t, "ImagingStudySeriesPerformerComponent", "function", element.getFunction(), -1); 13594 } 13595 if (element.hasActor()) { 13596 composeReference(t, "ImagingStudySeriesPerformerComponent", "actor", element.getActor(), -1); 13597 } 13598 } 13599 13600 protected void composeImagingStudySeriesInstanceComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesInstanceComponent element, int index) { 13601 if (element == null) 13602 return; 13603 Complex t; 13604 if (Utilities.noString(parentType)) 13605 t = parent; 13606 else { 13607 t = parent.predicate("fhir:"+parentType+'.'+name); 13608 } 13609 composeBackboneElement(t, "instance", name, element, index); 13610 if (element.hasUidElement()) { 13611 composeId(t, "ImagingStudySeriesInstanceComponent", "uid", element.getUidElement(), -1); 13612 } 13613 if (element.hasSopClass()) { 13614 composeCoding(t, "ImagingStudySeriesInstanceComponent", "sopClass", element.getSopClass(), -1); 13615 } 13616 if (element.hasNumberElement()) { 13617 composeUnsignedInt(t, "ImagingStudySeriesInstanceComponent", "number", element.getNumberElement(), -1); 13618 } 13619 if (element.hasTitleElement()) { 13620 composeString(t, "ImagingStudySeriesInstanceComponent", "title", element.getTitleElement(), -1); 13621 } 13622 } 13623 13624 protected void composeImmunization(Complex parent, String parentType, String name, Immunization element, int index) { 13625 if (element == null) 13626 return; 13627 Complex t; 13628 if (Utilities.noString(parentType)) 13629 t = parent; 13630 else { 13631 t = parent.predicate("fhir:"+parentType+'.'+name); 13632 } 13633 composeDomainResource(t, "Immunization", name, element, index); 13634 for (int i = 0; i < element.getIdentifier().size(); i++) { 13635 composeIdentifier(t, "Immunization", "identifier", element.getIdentifier().get(i), i); 13636 } 13637 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 13638 composeCanonical(t, "Immunization", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 13639 } 13640 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 13641 composeUri(t, "Immunization", "instantiatesUri", element.getInstantiatesUri().get(i), i); 13642 } 13643 for (int i = 0; i < element.getBasedOn().size(); i++) { 13644 composeReference(t, "Immunization", "basedOn", element.getBasedOn().get(i), i); 13645 } 13646 if (element.hasStatusElement()) { 13647 composeEnum(t, "Immunization", "status", element.getStatusElement(), -1); 13648 } 13649 if (element.hasStatusReason()) { 13650 composeCodeableConcept(t, "Immunization", "statusReason", element.getStatusReason(), -1); 13651 } 13652 if (element.hasVaccineCode()) { 13653 composeCodeableConcept(t, "Immunization", "vaccineCode", element.getVaccineCode(), -1); 13654 } 13655 if (element.hasManufacturer()) { 13656 composeReference(t, "Immunization", "manufacturer", element.getManufacturer(), -1); 13657 } 13658 if (element.hasLotNumberElement()) { 13659 composeString(t, "Immunization", "lotNumber", element.getLotNumberElement(), -1); 13660 } 13661 if (element.hasExpirationDateElement()) { 13662 composeDate(t, "Immunization", "expirationDate", element.getExpirationDateElement(), -1); 13663 } 13664 if (element.hasPatient()) { 13665 composeReference(t, "Immunization", "patient", element.getPatient(), -1); 13666 } 13667 if (element.hasEncounter()) { 13668 composeReference(t, "Immunization", "encounter", element.getEncounter(), -1); 13669 } 13670 if (element.hasOccurrence()) { 13671 composeType(t, "Immunization", "occurrence", element.getOccurrence(), -1); 13672 } 13673 if (element.hasRecordedElement()) { 13674 composeDateTime(t, "Immunization", "recorded", element.getRecordedElement(), -1); 13675 } 13676 if (element.hasPrimarySourceElement()) { 13677 composeBoolean(t, "Immunization", "primarySource", element.getPrimarySourceElement(), -1); 13678 } 13679 if (element.hasInformationSource()) { 13680 composeType(t, "Immunization", "informationSource", element.getInformationSource(), -1); 13681 } 13682 if (element.hasLocation()) { 13683 composeReference(t, "Immunization", "location", element.getLocation(), -1); 13684 } 13685 if (element.hasSite()) { 13686 composeCodeableConcept(t, "Immunization", "site", element.getSite(), -1); 13687 } 13688 if (element.hasRoute()) { 13689 composeCodeableConcept(t, "Immunization", "route", element.getRoute(), -1); 13690 } 13691 if (element.hasDoseQuantity()) { 13692 composeQuantity(t, "Immunization", "doseQuantity", element.getDoseQuantity(), -1); 13693 } 13694 for (int i = 0; i < element.getPerformer().size(); i++) { 13695 composeImmunizationPerformerComponent(t, "Immunization", "performer", element.getPerformer().get(i), i); 13696 } 13697 for (int i = 0; i < element.getNote().size(); i++) { 13698 composeAnnotation(t, "Immunization", "note", element.getNote().get(i), i); 13699 } 13700 for (int i = 0; i < element.getReason().size(); i++) { 13701 composeCodeableReference(t, "Immunization", "reason", element.getReason().get(i), i); 13702 } 13703 if (element.hasIsSubpotentElement()) { 13704 composeBoolean(t, "Immunization", "isSubpotent", element.getIsSubpotentElement(), -1); 13705 } 13706 for (int i = 0; i < element.getSubpotentReason().size(); i++) { 13707 composeCodeableConcept(t, "Immunization", "subpotentReason", element.getSubpotentReason().get(i), i); 13708 } 13709 for (int i = 0; i < element.getEducation().size(); i++) { 13710 composeImmunizationEducationComponent(t, "Immunization", "education", element.getEducation().get(i), i); 13711 } 13712 for (int i = 0; i < element.getProgramEligibility().size(); i++) { 13713 composeCodeableConcept(t, "Immunization", "programEligibility", element.getProgramEligibility().get(i), i); 13714 } 13715 if (element.hasFundingSource()) { 13716 composeCodeableConcept(t, "Immunization", "fundingSource", element.getFundingSource(), -1); 13717 } 13718 for (int i = 0; i < element.getReaction().size(); i++) { 13719 composeImmunizationReactionComponent(t, "Immunization", "reaction", element.getReaction().get(i), i); 13720 } 13721 for (int i = 0; i < element.getProtocolApplied().size(); i++) { 13722 composeImmunizationProtocolAppliedComponent(t, "Immunization", "protocolApplied", element.getProtocolApplied().get(i), i); 13723 } 13724 } 13725 13726 protected void composeImmunizationPerformerComponent(Complex parent, String parentType, String name, Immunization.ImmunizationPerformerComponent element, int index) { 13727 if (element == null) 13728 return; 13729 Complex t; 13730 if (Utilities.noString(parentType)) 13731 t = parent; 13732 else { 13733 t = parent.predicate("fhir:"+parentType+'.'+name); 13734 } 13735 composeBackboneElement(t, "performer", name, element, index); 13736 if (element.hasFunction()) { 13737 composeCodeableConcept(t, "ImmunizationPerformerComponent", "function", element.getFunction(), -1); 13738 } 13739 if (element.hasActor()) { 13740 composeReference(t, "ImmunizationPerformerComponent", "actor", element.getActor(), -1); 13741 } 13742 } 13743 13744 protected void composeImmunizationEducationComponent(Complex parent, String parentType, String name, Immunization.ImmunizationEducationComponent element, int index) { 13745 if (element == null) 13746 return; 13747 Complex t; 13748 if (Utilities.noString(parentType)) 13749 t = parent; 13750 else { 13751 t = parent.predicate("fhir:"+parentType+'.'+name); 13752 } 13753 composeBackboneElement(t, "education", name, element, index); 13754 if (element.hasDocumentTypeElement()) { 13755 composeString(t, "ImmunizationEducationComponent", "documentType", element.getDocumentTypeElement(), -1); 13756 } 13757 if (element.hasReferenceElement()) { 13758 composeUri(t, "ImmunizationEducationComponent", "reference", element.getReferenceElement(), -1); 13759 } 13760 if (element.hasPublicationDateElement()) { 13761 composeDateTime(t, "ImmunizationEducationComponent", "publicationDate", element.getPublicationDateElement(), -1); 13762 } 13763 if (element.hasPresentationDateElement()) { 13764 composeDateTime(t, "ImmunizationEducationComponent", "presentationDate", element.getPresentationDateElement(), -1); 13765 } 13766 } 13767 13768 protected void composeImmunizationReactionComponent(Complex parent, String parentType, String name, Immunization.ImmunizationReactionComponent element, int index) { 13769 if (element == null) 13770 return; 13771 Complex t; 13772 if (Utilities.noString(parentType)) 13773 t = parent; 13774 else { 13775 t = parent.predicate("fhir:"+parentType+'.'+name); 13776 } 13777 composeBackboneElement(t, "reaction", name, element, index); 13778 if (element.hasDateElement()) { 13779 composeDateTime(t, "ImmunizationReactionComponent", "date", element.getDateElement(), -1); 13780 } 13781 if (element.hasDetail()) { 13782 composeReference(t, "ImmunizationReactionComponent", "detail", element.getDetail(), -1); 13783 } 13784 if (element.hasReportedElement()) { 13785 composeBoolean(t, "ImmunizationReactionComponent", "reported", element.getReportedElement(), -1); 13786 } 13787 } 13788 13789 protected void composeImmunizationProtocolAppliedComponent(Complex parent, String parentType, String name, Immunization.ImmunizationProtocolAppliedComponent element, int index) { 13790 if (element == null) 13791 return; 13792 Complex t; 13793 if (Utilities.noString(parentType)) 13794 t = parent; 13795 else { 13796 t = parent.predicate("fhir:"+parentType+'.'+name); 13797 } 13798 composeBackboneElement(t, "protocolApplied", name, element, index); 13799 if (element.hasSeriesElement()) { 13800 composeString(t, "ImmunizationProtocolAppliedComponent", "series", element.getSeriesElement(), -1); 13801 } 13802 if (element.hasAuthority()) { 13803 composeReference(t, "ImmunizationProtocolAppliedComponent", "authority", element.getAuthority(), -1); 13804 } 13805 for (int i = 0; i < element.getTargetDisease().size(); i++) { 13806 composeCodeableConcept(t, "ImmunizationProtocolAppliedComponent", "targetDisease", element.getTargetDisease().get(i), i); 13807 } 13808 if (element.hasDoseNumberElement()) { 13809 composeString(t, "ImmunizationProtocolAppliedComponent", "doseNumber", element.getDoseNumberElement(), -1); 13810 } 13811 if (element.hasSeriesDosesElement()) { 13812 composeString(t, "ImmunizationProtocolAppliedComponent", "seriesDoses", element.getSeriesDosesElement(), -1); 13813 } 13814 } 13815 13816 protected void composeImmunizationEvaluation(Complex parent, String parentType, String name, ImmunizationEvaluation element, int index) { 13817 if (element == null) 13818 return; 13819 Complex t; 13820 if (Utilities.noString(parentType)) 13821 t = parent; 13822 else { 13823 t = parent.predicate("fhir:"+parentType+'.'+name); 13824 } 13825 composeDomainResource(t, "ImmunizationEvaluation", name, element, index); 13826 for (int i = 0; i < element.getIdentifier().size(); i++) { 13827 composeIdentifier(t, "ImmunizationEvaluation", "identifier", element.getIdentifier().get(i), i); 13828 } 13829 if (element.hasStatusElement()) { 13830 composeEnum(t, "ImmunizationEvaluation", "status", element.getStatusElement(), -1); 13831 } 13832 if (element.hasPatient()) { 13833 composeReference(t, "ImmunizationEvaluation", "patient", element.getPatient(), -1); 13834 } 13835 if (element.hasDateElement()) { 13836 composeDateTime(t, "ImmunizationEvaluation", "date", element.getDateElement(), -1); 13837 } 13838 if (element.hasAuthority()) { 13839 composeReference(t, "ImmunizationEvaluation", "authority", element.getAuthority(), -1); 13840 } 13841 if (element.hasTargetDisease()) { 13842 composeCodeableConcept(t, "ImmunizationEvaluation", "targetDisease", element.getTargetDisease(), -1); 13843 } 13844 if (element.hasImmunizationEvent()) { 13845 composeReference(t, "ImmunizationEvaluation", "immunizationEvent", element.getImmunizationEvent(), -1); 13846 } 13847 if (element.hasDoseStatus()) { 13848 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatus", element.getDoseStatus(), -1); 13849 } 13850 for (int i = 0; i < element.getDoseStatusReason().size(); i++) { 13851 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatusReason", element.getDoseStatusReason().get(i), i); 13852 } 13853 if (element.hasDescriptionElement()) { 13854 composeString(t, "ImmunizationEvaluation", "description", element.getDescriptionElement(), -1); 13855 } 13856 if (element.hasSeriesElement()) { 13857 composeString(t, "ImmunizationEvaluation", "series", element.getSeriesElement(), -1); 13858 } 13859 if (element.hasDoseNumberElement()) { 13860 composeString(t, "ImmunizationEvaluation", "doseNumber", element.getDoseNumberElement(), -1); 13861 } 13862 if (element.hasSeriesDosesElement()) { 13863 composeString(t, "ImmunizationEvaluation", "seriesDoses", element.getSeriesDosesElement(), -1); 13864 } 13865 } 13866 13867 protected void composeImmunizationRecommendation(Complex parent, String parentType, String name, ImmunizationRecommendation element, int index) { 13868 if (element == null) 13869 return; 13870 Complex t; 13871 if (Utilities.noString(parentType)) 13872 t = parent; 13873 else { 13874 t = parent.predicate("fhir:"+parentType+'.'+name); 13875 } 13876 composeDomainResource(t, "ImmunizationRecommendation", name, element, index); 13877 for (int i = 0; i < element.getIdentifier().size(); i++) { 13878 composeIdentifier(t, "ImmunizationRecommendation", "identifier", element.getIdentifier().get(i), i); 13879 } 13880 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 13881 composeCanonical(t, "ImmunizationRecommendation", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 13882 } 13883 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 13884 composeUri(t, "ImmunizationRecommendation", "instantiatesUri", element.getInstantiatesUri().get(i), i); 13885 } 13886 if (element.hasPatient()) { 13887 composeReference(t, "ImmunizationRecommendation", "patient", element.getPatient(), -1); 13888 } 13889 if (element.hasDateElement()) { 13890 composeDateTime(t, "ImmunizationRecommendation", "date", element.getDateElement(), -1); 13891 } 13892 if (element.hasAuthority()) { 13893 composeReference(t, "ImmunizationRecommendation", "authority", element.getAuthority(), -1); 13894 } 13895 for (int i = 0; i < element.getRecommendation().size(); i++) { 13896 composeImmunizationRecommendationRecommendationComponent(t, "ImmunizationRecommendation", "recommendation", element.getRecommendation().get(i), i); 13897 } 13898 } 13899 13900 protected void composeImmunizationRecommendationRecommendationComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element, int index) { 13901 if (element == null) 13902 return; 13903 Complex t; 13904 if (Utilities.noString(parentType)) 13905 t = parent; 13906 else { 13907 t = parent.predicate("fhir:"+parentType+'.'+name); 13908 } 13909 composeBackboneElement(t, "recommendation", name, element, index); 13910 for (int i = 0; i < element.getVaccineCode().size(); i++) { 13911 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "vaccineCode", element.getVaccineCode().get(i), i); 13912 } 13913 for (int i = 0; i < element.getTargetDisease().size(); i++) { 13914 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "targetDisease", element.getTargetDisease().get(i), i); 13915 } 13916 for (int i = 0; i < element.getContraindicatedVaccineCode().size(); i++) { 13917 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "contraindicatedVaccineCode", element.getContraindicatedVaccineCode().get(i), i); 13918 } 13919 if (element.hasForecastStatus()) { 13920 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastStatus", element.getForecastStatus(), -1); 13921 } 13922 for (int i = 0; i < element.getForecastReason().size(); i++) { 13923 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastReason", element.getForecastReason().get(i), i); 13924 } 13925 for (int i = 0; i < element.getDateCriterion().size(); i++) { 13926 composeImmunizationRecommendationRecommendationDateCriterionComponent(t, "ImmunizationRecommendationRecommendationComponent", "dateCriterion", element.getDateCriterion().get(i), i); 13927 } 13928 if (element.hasDescriptionElement()) { 13929 composeString(t, "ImmunizationRecommendationRecommendationComponent", "description", element.getDescriptionElement(), -1); 13930 } 13931 if (element.hasSeriesElement()) { 13932 composeString(t, "ImmunizationRecommendationRecommendationComponent", "series", element.getSeriesElement(), -1); 13933 } 13934 if (element.hasDoseNumberElement()) { 13935 composeString(t, "ImmunizationRecommendationRecommendationComponent", "doseNumber", element.getDoseNumberElement(), -1); 13936 } 13937 if (element.hasSeriesDosesElement()) { 13938 composeString(t, "ImmunizationRecommendationRecommendationComponent", "seriesDoses", element.getSeriesDosesElement(), -1); 13939 } 13940 for (int i = 0; i < element.getSupportingImmunization().size(); i++) { 13941 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingImmunization", element.getSupportingImmunization().get(i), i); 13942 } 13943 for (int i = 0; i < element.getSupportingPatientInformation().size(); i++) { 13944 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingPatientInformation", element.getSupportingPatientInformation().get(i), i); 13945 } 13946 } 13947 13948 protected void composeImmunizationRecommendationRecommendationDateCriterionComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element, int index) { 13949 if (element == null) 13950 return; 13951 Complex t; 13952 if (Utilities.noString(parentType)) 13953 t = parent; 13954 else { 13955 t = parent.predicate("fhir:"+parentType+'.'+name); 13956 } 13957 composeBackboneElement(t, "dateCriterion", name, element, index); 13958 if (element.hasCode()) { 13959 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "code", element.getCode(), -1); 13960 } 13961 if (element.hasValueElement()) { 13962 composeDateTime(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "value", element.getValueElement(), -1); 13963 } 13964 } 13965 13966 protected void composeImplementationGuide(Complex parent, String parentType, String name, ImplementationGuide element, int index) { 13967 if (element == null) 13968 return; 13969 Complex t; 13970 if (Utilities.noString(parentType)) 13971 t = parent; 13972 else { 13973 t = parent.predicate("fhir:"+parentType+'.'+name); 13974 } 13975 composeCanonicalResource(t, "ImplementationGuide", name, element, index); 13976 if (element.hasUrlElement()) { 13977 composeUri(t, "ImplementationGuide", "url", element.getUrlElement(), -1); 13978 } 13979 if (element.hasVersionElement()) { 13980 composeString(t, "ImplementationGuide", "version", element.getVersionElement(), -1); 13981 } 13982 if (element.hasNameElement()) { 13983 composeString(t, "ImplementationGuide", "name", element.getNameElement(), -1); 13984 } 13985 if (element.hasTitleElement()) { 13986 composeString(t, "ImplementationGuide", "title", element.getTitleElement(), -1); 13987 } 13988 if (element.hasStatusElement()) { 13989 composeEnum(t, "ImplementationGuide", "status", element.getStatusElement(), -1); 13990 } 13991 if (element.hasExperimentalElement()) { 13992 composeBoolean(t, "ImplementationGuide", "experimental", element.getExperimentalElement(), -1); 13993 } 13994 if (element.hasDateElement()) { 13995 composeDateTime(t, "ImplementationGuide", "date", element.getDateElement(), -1); 13996 } 13997 if (element.hasPublisherElement()) { 13998 composeString(t, "ImplementationGuide", "publisher", element.getPublisherElement(), -1); 13999 } 14000 for (int i = 0; i < element.getContact().size(); i++) { 14001 composeContactDetail(t, "ImplementationGuide", "contact", element.getContact().get(i), i); 14002 } 14003 if (element.hasDescriptionElement()) { 14004 composeMarkdown(t, "ImplementationGuide", "description", element.getDescriptionElement(), -1); 14005 } 14006 for (int i = 0; i < element.getUseContext().size(); i++) { 14007 composeUsageContext(t, "ImplementationGuide", "useContext", element.getUseContext().get(i), i); 14008 } 14009 for (int i = 0; i < element.getJurisdiction().size(); i++) { 14010 composeCodeableConcept(t, "ImplementationGuide", "jurisdiction", element.getJurisdiction().get(i), i); 14011 } 14012 if (element.hasCopyrightElement()) { 14013 composeMarkdown(t, "ImplementationGuide", "copyright", element.getCopyrightElement(), -1); 14014 } 14015 if (element.hasPackageIdElement()) { 14016 composeId(t, "ImplementationGuide", "packageId", element.getPackageIdElement(), -1); 14017 } 14018 if (element.hasLicenseElement()) { 14019 composeEnum(t, "ImplementationGuide", "license", element.getLicenseElement(), -1); 14020 } 14021 for (int i = 0; i < element.getFhirVersion().size(); i++) { 14022 composeEnum(t, "ImplementationGuide", "fhirVersion", element.getFhirVersion().get(i), i); 14023 } 14024 for (int i = 0; i < element.getDependsOn().size(); i++) { 14025 composeImplementationGuideDependsOnComponent(t, "ImplementationGuide", "dependsOn", element.getDependsOn().get(i), i); 14026 } 14027 for (int i = 0; i < element.getGlobal().size(); i++) { 14028 composeImplementationGuideGlobalComponent(t, "ImplementationGuide", "global", element.getGlobal().get(i), i); 14029 } 14030 if (element.hasDefinition()) { 14031 composeImplementationGuideDefinitionComponent(t, "ImplementationGuide", "definition", element.getDefinition(), -1); 14032 } 14033 if (element.hasManifest()) { 14034 composeImplementationGuideManifestComponent(t, "ImplementationGuide", "manifest", element.getManifest(), -1); 14035 } 14036 } 14037 14038 protected void composeImplementationGuideDependsOnComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDependsOnComponent element, int index) { 14039 if (element == null) 14040 return; 14041 Complex t; 14042 if (Utilities.noString(parentType)) 14043 t = parent; 14044 else { 14045 t = parent.predicate("fhir:"+parentType+'.'+name); 14046 } 14047 composeBackboneElement(t, "dependsOn", name, element, index); 14048 if (element.hasUriElement()) { 14049 composeCanonical(t, "ImplementationGuideDependsOnComponent", "uri", element.getUriElement(), -1); 14050 } 14051 if (element.hasPackageIdElement()) { 14052 composeId(t, "ImplementationGuideDependsOnComponent", "packageId", element.getPackageIdElement(), -1); 14053 } 14054 if (element.hasVersionElement()) { 14055 composeString(t, "ImplementationGuideDependsOnComponent", "version", element.getVersionElement(), -1); 14056 } 14057 } 14058 14059 protected void composeImplementationGuideGlobalComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideGlobalComponent element, int index) { 14060 if (element == null) 14061 return; 14062 Complex t; 14063 if (Utilities.noString(parentType)) 14064 t = parent; 14065 else { 14066 t = parent.predicate("fhir:"+parentType+'.'+name); 14067 } 14068 composeBackboneElement(t, "global", name, element, index); 14069 if (element.hasTypeElement()) { 14070 composeCode(t, "ImplementationGuideGlobalComponent", "type", element.getTypeElement(), -1); 14071 } 14072 if (element.hasProfileElement()) { 14073 composeCanonical(t, "ImplementationGuideGlobalComponent", "profile", element.getProfileElement(), -1); 14074 } 14075 } 14076 14077 protected void composeImplementationGuideDefinitionComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionComponent element, int index) { 14078 if (element == null) 14079 return; 14080 Complex t; 14081 if (Utilities.noString(parentType)) 14082 t = parent; 14083 else { 14084 t = parent.predicate("fhir:"+parentType+'.'+name); 14085 } 14086 composeBackboneElement(t, "definition", name, element, index); 14087 for (int i = 0; i < element.getGrouping().size(); i++) { 14088 composeImplementationGuideDefinitionGroupingComponent(t, "ImplementationGuideDefinitionComponent", "grouping", element.getGrouping().get(i), i); 14089 } 14090 for (int i = 0; i < element.getResource().size(); i++) { 14091 composeImplementationGuideDefinitionResourceComponent(t, "ImplementationGuideDefinitionComponent", "resource", element.getResource().get(i), i); 14092 } 14093 if (element.hasPage()) { 14094 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionComponent", "page", element.getPage(), -1); 14095 } 14096 for (int i = 0; i < element.getParameter().size(); i++) { 14097 composeImplementationGuideDefinitionParameterComponent(t, "ImplementationGuideDefinitionComponent", "parameter", element.getParameter().get(i), i); 14098 } 14099 for (int i = 0; i < element.getTemplate().size(); i++) { 14100 composeImplementationGuideDefinitionTemplateComponent(t, "ImplementationGuideDefinitionComponent", "template", element.getTemplate().get(i), i); 14101 } 14102 } 14103 14104 protected void composeImplementationGuideDefinitionGroupingComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionGroupingComponent element, int index) { 14105 if (element == null) 14106 return; 14107 Complex t; 14108 if (Utilities.noString(parentType)) 14109 t = parent; 14110 else { 14111 t = parent.predicate("fhir:"+parentType+'.'+name); 14112 } 14113 composeBackboneElement(t, "grouping", name, element, index); 14114 if (element.hasNameElement()) { 14115 composeString(t, "ImplementationGuideDefinitionGroupingComponent", "name", element.getNameElement(), -1); 14116 } 14117 if (element.hasDescriptionElement()) { 14118 composeString(t, "ImplementationGuideDefinitionGroupingComponent", "description", element.getDescriptionElement(), -1); 14119 } 14120 } 14121 14122 protected void composeImplementationGuideDefinitionResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionResourceComponent element, int index) { 14123 if (element == null) 14124 return; 14125 Complex t; 14126 if (Utilities.noString(parentType)) 14127 t = parent; 14128 else { 14129 t = parent.predicate("fhir:"+parentType+'.'+name); 14130 } 14131 composeBackboneElement(t, "resource", name, element, index); 14132 if (element.hasReference()) { 14133 composeReference(t, "ImplementationGuideDefinitionResourceComponent", "reference", element.getReference(), -1); 14134 } 14135 for (int i = 0; i < element.getFhirVersion().size(); i++) { 14136 composeEnum(t, "ImplementationGuideDefinitionResourceComponent", "fhirVersion", element.getFhirVersion().get(i), i); 14137 } 14138 if (element.hasNameElement()) { 14139 composeString(t, "ImplementationGuideDefinitionResourceComponent", "name", element.getNameElement(), -1); 14140 } 14141 if (element.hasDescriptionElement()) { 14142 composeString(t, "ImplementationGuideDefinitionResourceComponent", "description", element.getDescriptionElement(), -1); 14143 } 14144 if (element.hasExample()) { 14145 composeType(t, "ImplementationGuideDefinitionResourceComponent", "example", element.getExample(), -1); 14146 } 14147 if (element.hasGroupingIdElement()) { 14148 composeId(t, "ImplementationGuideDefinitionResourceComponent", "groupingId", element.getGroupingIdElement(), -1); 14149 } 14150 } 14151 14152 protected void composeImplementationGuideDefinitionPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionPageComponent element, int index) { 14153 if (element == null) 14154 return; 14155 Complex t; 14156 if (Utilities.noString(parentType)) 14157 t = parent; 14158 else { 14159 t = parent.predicate("fhir:"+parentType+'.'+name); 14160 } 14161 composeBackboneElement(t, "page", name, element, index); 14162 if (element.hasName()) { 14163 composeType(t, "ImplementationGuideDefinitionPageComponent", "name", element.getName(), -1); 14164 } 14165 if (element.hasTitleElement()) { 14166 composeString(t, "ImplementationGuideDefinitionPageComponent", "title", element.getTitleElement(), -1); 14167 } 14168 if (element.hasGenerationElement()) { 14169 composeEnum(t, "ImplementationGuideDefinitionPageComponent", "generation", element.getGenerationElement(), -1); 14170 } 14171 for (int i = 0; i < element.getPage().size(); i++) { 14172 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionPageComponent", "page", element.getPage().get(i), i); 14173 } 14174 } 14175 14176 protected void composeImplementationGuideDefinitionParameterComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionParameterComponent element, int index) { 14177 if (element == null) 14178 return; 14179 Complex t; 14180 if (Utilities.noString(parentType)) 14181 t = parent; 14182 else { 14183 t = parent.predicate("fhir:"+parentType+'.'+name); 14184 } 14185 composeBackboneElement(t, "parameter", name, element, index); 14186 if (element.hasCodeElement()) { 14187 composeString(t, "ImplementationGuideDefinitionParameterComponent", "code", element.getCodeElement(), -1); 14188 } 14189 if (element.hasValueElement()) { 14190 composeString(t, "ImplementationGuideDefinitionParameterComponent", "value", element.getValueElement(), -1); 14191 } 14192 } 14193 14194 protected void composeImplementationGuideDefinitionTemplateComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionTemplateComponent element, int index) { 14195 if (element == null) 14196 return; 14197 Complex t; 14198 if (Utilities.noString(parentType)) 14199 t = parent; 14200 else { 14201 t = parent.predicate("fhir:"+parentType+'.'+name); 14202 } 14203 composeBackboneElement(t, "template", name, element, index); 14204 if (element.hasCodeElement()) { 14205 composeCode(t, "ImplementationGuideDefinitionTemplateComponent", "code", element.getCodeElement(), -1); 14206 } 14207 if (element.hasSourceElement()) { 14208 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "source", element.getSourceElement(), -1); 14209 } 14210 if (element.hasScopeElement()) { 14211 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "scope", element.getScopeElement(), -1); 14212 } 14213 } 14214 14215 protected void composeImplementationGuideManifestComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideManifestComponent element, int index) { 14216 if (element == null) 14217 return; 14218 Complex t; 14219 if (Utilities.noString(parentType)) 14220 t = parent; 14221 else { 14222 t = parent.predicate("fhir:"+parentType+'.'+name); 14223 } 14224 composeBackboneElement(t, "manifest", name, element, index); 14225 if (element.hasRenderingElement()) { 14226 composeUrl(t, "ImplementationGuideManifestComponent", "rendering", element.getRenderingElement(), -1); 14227 } 14228 for (int i = 0; i < element.getResource().size(); i++) { 14229 composeImplementationGuideManifestResourceComponent(t, "ImplementationGuideManifestComponent", "resource", element.getResource().get(i), i); 14230 } 14231 for (int i = 0; i < element.getPage().size(); i++) { 14232 composeImplementationGuideManifestPageComponent(t, "ImplementationGuideManifestComponent", "page", element.getPage().get(i), i); 14233 } 14234 for (int i = 0; i < element.getImage().size(); i++) { 14235 composeString(t, "ImplementationGuideManifestComponent", "image", element.getImage().get(i), i); 14236 } 14237 for (int i = 0; i < element.getOther().size(); i++) { 14238 composeString(t, "ImplementationGuideManifestComponent", "other", element.getOther().get(i), i); 14239 } 14240 } 14241 14242 protected void composeImplementationGuideManifestResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestResourceComponent element, int index) { 14243 if (element == null) 14244 return; 14245 Complex t; 14246 if (Utilities.noString(parentType)) 14247 t = parent; 14248 else { 14249 t = parent.predicate("fhir:"+parentType+'.'+name); 14250 } 14251 composeBackboneElement(t, "resource", name, element, index); 14252 if (element.hasReference()) { 14253 composeReference(t, "ManifestResourceComponent", "reference", element.getReference(), -1); 14254 } 14255 if (element.hasExample()) { 14256 composeType(t, "ManifestResourceComponent", "example", element.getExample(), -1); 14257 } 14258 if (element.hasRelativePathElement()) { 14259 composeUrl(t, "ManifestResourceComponent", "relativePath", element.getRelativePathElement(), -1); 14260 } 14261 } 14262 14263 protected void composeImplementationGuideManifestPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestPageComponent element, int index) { 14264 if (element == null) 14265 return; 14266 Complex t; 14267 if (Utilities.noString(parentType)) 14268 t = parent; 14269 else { 14270 t = parent.predicate("fhir:"+parentType+'.'+name); 14271 } 14272 composeBackboneElement(t, "page", name, element, index); 14273 if (element.hasNameElement()) { 14274 composeString(t, "ManifestPageComponent", "name", element.getNameElement(), -1); 14275 } 14276 if (element.hasTitleElement()) { 14277 composeString(t, "ManifestPageComponent", "title", element.getTitleElement(), -1); 14278 } 14279 for (int i = 0; i < element.getAnchor().size(); i++) { 14280 composeString(t, "ManifestPageComponent", "anchor", element.getAnchor().get(i), i); 14281 } 14282 } 14283 14284 protected void composeIngredient(Complex parent, String parentType, String name, Ingredient element, int index) { 14285 if (element == null) 14286 return; 14287 Complex t; 14288 if (Utilities.noString(parentType)) 14289 t = parent; 14290 else { 14291 t = parent.predicate("fhir:"+parentType+'.'+name); 14292 } 14293 composeDomainResource(t, "Ingredient", name, element, index); 14294 if (element.hasIdentifier()) { 14295 composeIdentifier(t, "Ingredient", "identifier", element.getIdentifier(), -1); 14296 } 14297 if (element.hasStatusElement()) { 14298 composeEnum(t, "Ingredient", "status", element.getStatusElement(), -1); 14299 } 14300 for (int i = 0; i < element.getFor().size(); i++) { 14301 composeReference(t, "Ingredient", "for", element.getFor().get(i), i); 14302 } 14303 if (element.hasRole()) { 14304 composeCodeableConcept(t, "Ingredient", "role", element.getRole(), -1); 14305 } 14306 for (int i = 0; i < element.getFunction().size(); i++) { 14307 composeCodeableConcept(t, "Ingredient", "function", element.getFunction().get(i), i); 14308 } 14309 if (element.hasGroup()) { 14310 composeCodeableConcept(t, "Ingredient", "group", element.getGroup(), -1); 14311 } 14312 if (element.hasAllergenicIndicatorElement()) { 14313 composeBoolean(t, "Ingredient", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 14314 } 14315 for (int i = 0; i < element.getManufacturer().size(); i++) { 14316 composeIngredientManufacturerComponent(t, "Ingredient", "manufacturer", element.getManufacturer().get(i), i); 14317 } 14318 if (element.hasSubstance()) { 14319 composeIngredientSubstanceComponent(t, "Ingredient", "substance", element.getSubstance(), -1); 14320 } 14321 } 14322 14323 protected void composeIngredientManufacturerComponent(Complex parent, String parentType, String name, Ingredient.IngredientManufacturerComponent element, int index) { 14324 if (element == null) 14325 return; 14326 Complex t; 14327 if (Utilities.noString(parentType)) 14328 t = parent; 14329 else { 14330 t = parent.predicate("fhir:"+parentType+'.'+name); 14331 } 14332 composeBackboneElement(t, "manufacturer", name, element, index); 14333 if (element.hasRole()) { 14334 composeCoding(t, "IngredientManufacturerComponent", "role", element.getRole(), -1); 14335 } 14336 if (element.hasManufacturer()) { 14337 composeReference(t, "IngredientManufacturerComponent", "manufacturer", element.getManufacturer(), -1); 14338 } 14339 } 14340 14341 protected void composeIngredientSubstanceComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceComponent element, int index) { 14342 if (element == null) 14343 return; 14344 Complex t; 14345 if (Utilities.noString(parentType)) 14346 t = parent; 14347 else { 14348 t = parent.predicate("fhir:"+parentType+'.'+name); 14349 } 14350 composeBackboneElement(t, "substance", name, element, index); 14351 if (element.hasCode()) { 14352 composeCodeableReference(t, "IngredientSubstanceComponent", "code", element.getCode(), -1); 14353 } 14354 for (int i = 0; i < element.getStrength().size(); i++) { 14355 composeIngredientSubstanceStrengthComponent(t, "IngredientSubstanceComponent", "strength", element.getStrength().get(i), i); 14356 } 14357 } 14358 14359 protected void composeIngredientSubstanceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthComponent element, int index) { 14360 if (element == null) 14361 return; 14362 Complex t; 14363 if (Utilities.noString(parentType)) 14364 t = parent; 14365 else { 14366 t = parent.predicate("fhir:"+parentType+'.'+name); 14367 } 14368 composeBackboneElement(t, "strength", name, element, index); 14369 if (element.hasPresentation()) { 14370 composeType(t, "IngredientSubstanceStrengthComponent", "presentation", element.getPresentation(), -1); 14371 } 14372 if (element.hasPresentationTextElement()) { 14373 composeString(t, "IngredientSubstanceStrengthComponent", "presentationText", element.getPresentationTextElement(), -1); 14374 } 14375 if (element.hasConcentration()) { 14376 composeType(t, "IngredientSubstanceStrengthComponent", "concentration", element.getConcentration(), -1); 14377 } 14378 if (element.hasConcentrationTextElement()) { 14379 composeString(t, "IngredientSubstanceStrengthComponent", "concentrationText", element.getConcentrationTextElement(), -1); 14380 } 14381 if (element.hasBasis()) { 14382 composeCodeableConcept(t, "IngredientSubstanceStrengthComponent", "basis", element.getBasis(), -1); 14383 } 14384 if (element.hasMeasurementPointElement()) { 14385 composeString(t, "IngredientSubstanceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 14386 } 14387 for (int i = 0; i < element.getCountry().size(); i++) { 14388 composeCodeableConcept(t, "IngredientSubstanceStrengthComponent", "country", element.getCountry().get(i), i); 14389 } 14390 for (int i = 0; i < element.getReferenceStrength().size(); i++) { 14391 composeIngredientSubstanceStrengthReferenceStrengthComponent(t, "IngredientSubstanceStrengthComponent", "referenceStrength", element.getReferenceStrength().get(i), i); 14392 } 14393 } 14394 14395 protected void composeIngredientSubstanceStrengthReferenceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent element, int index) { 14396 if (element == null) 14397 return; 14398 Complex t; 14399 if (Utilities.noString(parentType)) 14400 t = parent; 14401 else { 14402 t = parent.predicate("fhir:"+parentType+'.'+name); 14403 } 14404 composeBackboneElement(t, "referenceStrength", name, element, index); 14405 if (element.hasSubstance()) { 14406 composeCodeableReference(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "substance", element.getSubstance(), -1); 14407 } 14408 if (element.hasStrength()) { 14409 composeType(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "strength", element.getStrength(), -1); 14410 } 14411 if (element.hasMeasurementPointElement()) { 14412 composeString(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 14413 } 14414 for (int i = 0; i < element.getCountry().size(); i++) { 14415 composeCodeableConcept(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "country", element.getCountry().get(i), i); 14416 } 14417 } 14418 14419 protected void composeInsurancePlan(Complex parent, String parentType, String name, InsurancePlan element, int index) { 14420 if (element == null) 14421 return; 14422 Complex t; 14423 if (Utilities.noString(parentType)) 14424 t = parent; 14425 else { 14426 t = parent.predicate("fhir:"+parentType+'.'+name); 14427 } 14428 composeDomainResource(t, "InsurancePlan", name, element, index); 14429 for (int i = 0; i < element.getIdentifier().size(); i++) { 14430 composeIdentifier(t, "InsurancePlan", "identifier", element.getIdentifier().get(i), i); 14431 } 14432 if (element.hasStatusElement()) { 14433 composeEnum(t, "InsurancePlan", "status", element.getStatusElement(), -1); 14434 } 14435 for (int i = 0; i < element.getType().size(); i++) { 14436 composeCodeableConcept(t, "InsurancePlan", "type", element.getType().get(i), i); 14437 } 14438 if (element.hasNameElement()) { 14439 composeString(t, "InsurancePlan", "name", element.getNameElement(), -1); 14440 } 14441 for (int i = 0; i < element.getAlias().size(); i++) { 14442 composeString(t, "InsurancePlan", "alias", element.getAlias().get(i), i); 14443 } 14444 if (element.hasPeriod()) { 14445 composePeriod(t, "InsurancePlan", "period", element.getPeriod(), -1); 14446 } 14447 if (element.hasOwnedBy()) { 14448 composeReference(t, "InsurancePlan", "ownedBy", element.getOwnedBy(), -1); 14449 } 14450 if (element.hasAdministeredBy()) { 14451 composeReference(t, "InsurancePlan", "administeredBy", element.getAdministeredBy(), -1); 14452 } 14453 for (int i = 0; i < element.getCoverageArea().size(); i++) { 14454 composeReference(t, "InsurancePlan", "coverageArea", element.getCoverageArea().get(i), i); 14455 } 14456 for (int i = 0; i < element.getContact().size(); i++) { 14457 composeInsurancePlanContactComponent(t, "InsurancePlan", "contact", element.getContact().get(i), i); 14458 } 14459 for (int i = 0; i < element.getEndpoint().size(); i++) { 14460 composeReference(t, "InsurancePlan", "endpoint", element.getEndpoint().get(i), i); 14461 } 14462 for (int i = 0; i < element.getNetwork().size(); i++) { 14463 composeReference(t, "InsurancePlan", "network", element.getNetwork().get(i), i); 14464 } 14465 for (int i = 0; i < element.getCoverage().size(); i++) { 14466 composeInsurancePlanCoverageComponent(t, "InsurancePlan", "coverage", element.getCoverage().get(i), i); 14467 } 14468 for (int i = 0; i < element.getPlan().size(); i++) { 14469 composeInsurancePlanPlanComponent(t, "InsurancePlan", "plan", element.getPlan().get(i), i); 14470 } 14471 } 14472 14473 protected void composeInsurancePlanContactComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanContactComponent element, int index) { 14474 if (element == null) 14475 return; 14476 Complex t; 14477 if (Utilities.noString(parentType)) 14478 t = parent; 14479 else { 14480 t = parent.predicate("fhir:"+parentType+'.'+name); 14481 } 14482 composeBackboneElement(t, "contact", name, element, index); 14483 if (element.hasPurpose()) { 14484 composeCodeableConcept(t, "InsurancePlanContactComponent", "purpose", element.getPurpose(), -1); 14485 } 14486 if (element.hasName()) { 14487 composeHumanName(t, "InsurancePlanContactComponent", "name", element.getName(), -1); 14488 } 14489 for (int i = 0; i < element.getTelecom().size(); i++) { 14490 composeContactPoint(t, "InsurancePlanContactComponent", "telecom", element.getTelecom().get(i), i); 14491 } 14492 if (element.hasAddress()) { 14493 composeAddress(t, "InsurancePlanContactComponent", "address", element.getAddress(), -1); 14494 } 14495 } 14496 14497 protected void composeInsurancePlanCoverageComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanCoverageComponent element, int index) { 14498 if (element == null) 14499 return; 14500 Complex t; 14501 if (Utilities.noString(parentType)) 14502 t = parent; 14503 else { 14504 t = parent.predicate("fhir:"+parentType+'.'+name); 14505 } 14506 composeBackboneElement(t, "coverage", name, element, index); 14507 if (element.hasType()) { 14508 composeCodeableConcept(t, "InsurancePlanCoverageComponent", "type", element.getType(), -1); 14509 } 14510 for (int i = 0; i < element.getNetwork().size(); i++) { 14511 composeReference(t, "InsurancePlanCoverageComponent", "network", element.getNetwork().get(i), i); 14512 } 14513 for (int i = 0; i < element.getBenefit().size(); i++) { 14514 composeInsurancePlanCoverageBenefitComponent(t, "InsurancePlanCoverageComponent", "benefit", element.getBenefit().get(i), i); 14515 } 14516 } 14517 14518 protected void composeInsurancePlanCoverageBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitComponent element, int index) { 14519 if (element == null) 14520 return; 14521 Complex t; 14522 if (Utilities.noString(parentType)) 14523 t = parent; 14524 else { 14525 t = parent.predicate("fhir:"+parentType+'.'+name); 14526 } 14527 composeBackboneElement(t, "benefit", name, element, index); 14528 if (element.hasType()) { 14529 composeCodeableConcept(t, "CoverageBenefitComponent", "type", element.getType(), -1); 14530 } 14531 if (element.hasRequirementElement()) { 14532 composeString(t, "CoverageBenefitComponent", "requirement", element.getRequirementElement(), -1); 14533 } 14534 for (int i = 0; i < element.getLimit().size(); i++) { 14535 composeInsurancePlanCoverageBenefitLimitComponent(t, "CoverageBenefitComponent", "limit", element.getLimit().get(i), i); 14536 } 14537 } 14538 14539 protected void composeInsurancePlanCoverageBenefitLimitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitLimitComponent element, int index) { 14540 if (element == null) 14541 return; 14542 Complex t; 14543 if (Utilities.noString(parentType)) 14544 t = parent; 14545 else { 14546 t = parent.predicate("fhir:"+parentType+'.'+name); 14547 } 14548 composeBackboneElement(t, "limit", name, element, index); 14549 if (element.hasValue()) { 14550 composeQuantity(t, "CoverageBenefitLimitComponent", "value", element.getValue(), -1); 14551 } 14552 if (element.hasCode()) { 14553 composeCodeableConcept(t, "CoverageBenefitLimitComponent", "code", element.getCode(), -1); 14554 } 14555 } 14556 14557 protected void composeInsurancePlanPlanComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanComponent element, int index) { 14558 if (element == null) 14559 return; 14560 Complex t; 14561 if (Utilities.noString(parentType)) 14562 t = parent; 14563 else { 14564 t = parent.predicate("fhir:"+parentType+'.'+name); 14565 } 14566 composeBackboneElement(t, "plan", name, element, index); 14567 for (int i = 0; i < element.getIdentifier().size(); i++) { 14568 composeIdentifier(t, "InsurancePlanPlanComponent", "identifier", element.getIdentifier().get(i), i); 14569 } 14570 if (element.hasType()) { 14571 composeCodeableConcept(t, "InsurancePlanPlanComponent", "type", element.getType(), -1); 14572 } 14573 for (int i = 0; i < element.getCoverageArea().size(); i++) { 14574 composeReference(t, "InsurancePlanPlanComponent", "coverageArea", element.getCoverageArea().get(i), i); 14575 } 14576 for (int i = 0; i < element.getNetwork().size(); i++) { 14577 composeReference(t, "InsurancePlanPlanComponent", "network", element.getNetwork().get(i), i); 14578 } 14579 for (int i = 0; i < element.getGeneralCost().size(); i++) { 14580 composeInsurancePlanPlanGeneralCostComponent(t, "InsurancePlanPlanComponent", "generalCost", element.getGeneralCost().get(i), i); 14581 } 14582 for (int i = 0; i < element.getSpecificCost().size(); i++) { 14583 composeInsurancePlanPlanSpecificCostComponent(t, "InsurancePlanPlanComponent", "specificCost", element.getSpecificCost().get(i), i); 14584 } 14585 } 14586 14587 protected void composeInsurancePlanPlanGeneralCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanGeneralCostComponent element, int index) { 14588 if (element == null) 14589 return; 14590 Complex t; 14591 if (Utilities.noString(parentType)) 14592 t = parent; 14593 else { 14594 t = parent.predicate("fhir:"+parentType+'.'+name); 14595 } 14596 composeBackboneElement(t, "generalCost", name, element, index); 14597 if (element.hasType()) { 14598 composeCodeableConcept(t, "InsurancePlanPlanGeneralCostComponent", "type", element.getType(), -1); 14599 } 14600 if (element.hasGroupSizeElement()) { 14601 composePositiveInt(t, "InsurancePlanPlanGeneralCostComponent", "groupSize", element.getGroupSizeElement(), -1); 14602 } 14603 if (element.hasCost()) { 14604 composeMoney(t, "InsurancePlanPlanGeneralCostComponent", "cost", element.getCost(), -1); 14605 } 14606 if (element.hasCommentElement()) { 14607 composeString(t, "InsurancePlanPlanGeneralCostComponent", "comment", element.getCommentElement(), -1); 14608 } 14609 } 14610 14611 protected void composeInsurancePlanPlanSpecificCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanSpecificCostComponent element, int index) { 14612 if (element == null) 14613 return; 14614 Complex t; 14615 if (Utilities.noString(parentType)) 14616 t = parent; 14617 else { 14618 t = parent.predicate("fhir:"+parentType+'.'+name); 14619 } 14620 composeBackboneElement(t, "specificCost", name, element, index); 14621 if (element.hasCategory()) { 14622 composeCodeableConcept(t, "InsurancePlanPlanSpecificCostComponent", "category", element.getCategory(), -1); 14623 } 14624 for (int i = 0; i < element.getBenefit().size(); i++) { 14625 composeInsurancePlanPlanBenefitComponent(t, "InsurancePlanPlanSpecificCostComponent", "benefit", element.getBenefit().get(i), i); 14626 } 14627 } 14628 14629 protected void composeInsurancePlanPlanBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitComponent element, int index) { 14630 if (element == null) 14631 return; 14632 Complex t; 14633 if (Utilities.noString(parentType)) 14634 t = parent; 14635 else { 14636 t = parent.predicate("fhir:"+parentType+'.'+name); 14637 } 14638 composeBackboneElement(t, "benefit", name, element, index); 14639 if (element.hasType()) { 14640 composeCodeableConcept(t, "PlanBenefitComponent", "type", element.getType(), -1); 14641 } 14642 for (int i = 0; i < element.getCost().size(); i++) { 14643 composeInsurancePlanPlanBenefitCostComponent(t, "PlanBenefitComponent", "cost", element.getCost().get(i), i); 14644 } 14645 } 14646 14647 protected void composeInsurancePlanPlanBenefitCostComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitCostComponent element, int index) { 14648 if (element == null) 14649 return; 14650 Complex t; 14651 if (Utilities.noString(parentType)) 14652 t = parent; 14653 else { 14654 t = parent.predicate("fhir:"+parentType+'.'+name); 14655 } 14656 composeBackboneElement(t, "cost", name, element, index); 14657 if (element.hasType()) { 14658 composeCodeableConcept(t, "PlanBenefitCostComponent", "type", element.getType(), -1); 14659 } 14660 if (element.hasApplicability()) { 14661 composeCodeableConcept(t, "PlanBenefitCostComponent", "applicability", element.getApplicability(), -1); 14662 } 14663 for (int i = 0; i < element.getQualifiers().size(); i++) { 14664 composeCodeableConcept(t, "PlanBenefitCostComponent", "qualifiers", element.getQualifiers().get(i), i); 14665 } 14666 if (element.hasValue()) { 14667 composeQuantity(t, "PlanBenefitCostComponent", "value", element.getValue(), -1); 14668 } 14669 } 14670 14671 protected void composeInventoryReport(Complex parent, String parentType, String name, InventoryReport element, int index) { 14672 if (element == null) 14673 return; 14674 Complex t; 14675 if (Utilities.noString(parentType)) 14676 t = parent; 14677 else { 14678 t = parent.predicate("fhir:"+parentType+'.'+name); 14679 } 14680 composeDomainResource(t, "InventoryReport", name, element, index); 14681 for (int i = 0; i < element.getIdentifier().size(); i++) { 14682 composeIdentifier(t, "InventoryReport", "identifier", element.getIdentifier().get(i), i); 14683 } 14684 if (element.hasStatusElement()) { 14685 composeEnum(t, "InventoryReport", "status", element.getStatusElement(), -1); 14686 } 14687 if (element.hasCountTypeElement()) { 14688 composeEnum(t, "InventoryReport", "countType", element.getCountTypeElement(), -1); 14689 } 14690 if (element.hasOperationType()) { 14691 composeCodeableConcept(t, "InventoryReport", "operationType", element.getOperationType(), -1); 14692 } 14693 if (element.hasOperationTypeReason()) { 14694 composeCodeableConcept(t, "InventoryReport", "operationTypeReason", element.getOperationTypeReason(), -1); 14695 } 14696 if (element.hasReportedDateTimeElement()) { 14697 composeDateTime(t, "InventoryReport", "reportedDateTime", element.getReportedDateTimeElement(), -1); 14698 } 14699 if (element.hasReporter()) { 14700 composeReference(t, "InventoryReport", "reporter", element.getReporter(), -1); 14701 } 14702 if (element.hasReportingPeriod()) { 14703 composePeriod(t, "InventoryReport", "reportingPeriod", element.getReportingPeriod(), -1); 14704 } 14705 for (int i = 0; i < element.getInventoryListing().size(); i++) { 14706 composeInventoryReportInventoryListingComponent(t, "InventoryReport", "inventoryListing", element.getInventoryListing().get(i), i); 14707 } 14708 if (element.hasNote()) { 14709 composeAnnotation(t, "InventoryReport", "note", element.getNote(), -1); 14710 } 14711 } 14712 14713 protected void composeInventoryReportInventoryListingComponent(Complex parent, String parentType, String name, InventoryReport.InventoryReportInventoryListingComponent element, int index) { 14714 if (element == null) 14715 return; 14716 Complex t; 14717 if (Utilities.noString(parentType)) 14718 t = parent; 14719 else { 14720 t = parent.predicate("fhir:"+parentType+'.'+name); 14721 } 14722 composeBackboneElement(t, "inventoryListing", name, element, index); 14723 if (element.hasLocation()) { 14724 composeReference(t, "InventoryReportInventoryListingComponent", "location", element.getLocation(), -1); 14725 } 14726 if (element.hasItemStatus()) { 14727 composeCodeableConcept(t, "InventoryReportInventoryListingComponent", "itemStatus", element.getItemStatus(), -1); 14728 } 14729 if (element.hasCountingDateTimeElement()) { 14730 composeDateTime(t, "InventoryReportInventoryListingComponent", "countingDateTime", element.getCountingDateTimeElement(), -1); 14731 } 14732 for (int i = 0; i < element.getItems().size(); i++) { 14733 composeInventoryReportInventoryListingItemsComponent(t, "InventoryReportInventoryListingComponent", "items", element.getItems().get(i), i); 14734 } 14735 } 14736 14737 protected void composeInventoryReportInventoryListingItemsComponent(Complex parent, String parentType, String name, InventoryReport.InventoryReportInventoryListingItemsComponent element, int index) { 14738 if (element == null) 14739 return; 14740 Complex t; 14741 if (Utilities.noString(parentType)) 14742 t = parent; 14743 else { 14744 t = parent.predicate("fhir:"+parentType+'.'+name); 14745 } 14746 composeBackboneElement(t, "items", name, element, index); 14747 if (element.hasCategory()) { 14748 composeCodeableConcept(t, "InventoryReportInventoryListingItemsComponent", "category", element.getCategory(), -1); 14749 } 14750 if (element.hasQuantity()) { 14751 composeQuantity(t, "InventoryReportInventoryListingItemsComponent", "quantity", element.getQuantity(), -1); 14752 } 14753 if (element.hasItem()) { 14754 composeCodeableReference(t, "InventoryReportInventoryListingItemsComponent", "item", element.getItem(), -1); 14755 } 14756 if (element.hasLotElement()) { 14757 composeString(t, "InventoryReportInventoryListingItemsComponent", "lot", element.getLotElement(), -1); 14758 } 14759 if (element.hasSerialElement()) { 14760 composeString(t, "InventoryReportInventoryListingItemsComponent", "serial", element.getSerialElement(), -1); 14761 } 14762 if (element.hasExpiryElement()) { 14763 composeDateTime(t, "InventoryReportInventoryListingItemsComponent", "expiry", element.getExpiryElement(), -1); 14764 } 14765 if (element.hasManufacturingDateElement()) { 14766 composeDateTime(t, "InventoryReportInventoryListingItemsComponent", "manufacturingDate", element.getManufacturingDateElement(), -1); 14767 } 14768 } 14769 14770 protected void composeInvoice(Complex parent, String parentType, String name, Invoice element, int index) { 14771 if (element == null) 14772 return; 14773 Complex t; 14774 if (Utilities.noString(parentType)) 14775 t = parent; 14776 else { 14777 t = parent.predicate("fhir:"+parentType+'.'+name); 14778 } 14779 composeDomainResource(t, "Invoice", name, element, index); 14780 for (int i = 0; i < element.getIdentifier().size(); i++) { 14781 composeIdentifier(t, "Invoice", "identifier", element.getIdentifier().get(i), i); 14782 } 14783 if (element.hasStatusElement()) { 14784 composeEnum(t, "Invoice", "status", element.getStatusElement(), -1); 14785 } 14786 if (element.hasCancelledReasonElement()) { 14787 composeString(t, "Invoice", "cancelledReason", element.getCancelledReasonElement(), -1); 14788 } 14789 if (element.hasType()) { 14790 composeCodeableConcept(t, "Invoice", "type", element.getType(), -1); 14791 } 14792 if (element.hasSubject()) { 14793 composeReference(t, "Invoice", "subject", element.getSubject(), -1); 14794 } 14795 if (element.hasRecipient()) { 14796 composeReference(t, "Invoice", "recipient", element.getRecipient(), -1); 14797 } 14798 if (element.hasDateElement()) { 14799 composeDateTime(t, "Invoice", "date", element.getDateElement(), -1); 14800 } 14801 for (int i = 0; i < element.getParticipant().size(); i++) { 14802 composeInvoiceParticipantComponent(t, "Invoice", "participant", element.getParticipant().get(i), i); 14803 } 14804 if (element.hasIssuer()) { 14805 composeReference(t, "Invoice", "issuer", element.getIssuer(), -1); 14806 } 14807 if (element.hasAccount()) { 14808 composeReference(t, "Invoice", "account", element.getAccount(), -1); 14809 } 14810 for (int i = 0; i < element.getLineItem().size(); i++) { 14811 composeInvoiceLineItemComponent(t, "Invoice", "lineItem", element.getLineItem().get(i), i); 14812 } 14813 for (int i = 0; i < element.getTotalPriceComponent().size(); i++) { 14814 composeInvoiceLineItemPriceComponentComponent(t, "Invoice", "totalPriceComponent", element.getTotalPriceComponent().get(i), i); 14815 } 14816 if (element.hasTotalNet()) { 14817 composeMoney(t, "Invoice", "totalNet", element.getTotalNet(), -1); 14818 } 14819 if (element.hasTotalGross()) { 14820 composeMoney(t, "Invoice", "totalGross", element.getTotalGross(), -1); 14821 } 14822 if (element.hasPaymentTermsElement()) { 14823 composeMarkdown(t, "Invoice", "paymentTerms", element.getPaymentTermsElement(), -1); 14824 } 14825 for (int i = 0; i < element.getNote().size(); i++) { 14826 composeAnnotation(t, "Invoice", "note", element.getNote().get(i), i); 14827 } 14828 } 14829 14830 protected void composeInvoiceParticipantComponent(Complex parent, String parentType, String name, Invoice.InvoiceParticipantComponent element, int index) { 14831 if (element == null) 14832 return; 14833 Complex t; 14834 if (Utilities.noString(parentType)) 14835 t = parent; 14836 else { 14837 t = parent.predicate("fhir:"+parentType+'.'+name); 14838 } 14839 composeBackboneElement(t, "participant", name, element, index); 14840 if (element.hasRole()) { 14841 composeCodeableConcept(t, "InvoiceParticipantComponent", "role", element.getRole(), -1); 14842 } 14843 if (element.hasActor()) { 14844 composeReference(t, "InvoiceParticipantComponent", "actor", element.getActor(), -1); 14845 } 14846 } 14847 14848 protected void composeInvoiceLineItemComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemComponent element, int index) { 14849 if (element == null) 14850 return; 14851 Complex t; 14852 if (Utilities.noString(parentType)) 14853 t = parent; 14854 else { 14855 t = parent.predicate("fhir:"+parentType+'.'+name); 14856 } 14857 composeBackboneElement(t, "lineItem", name, element, index); 14858 if (element.hasSequenceElement()) { 14859 composePositiveInt(t, "InvoiceLineItemComponent", "sequence", element.getSequenceElement(), -1); 14860 } 14861 if (element.hasChargeItem()) { 14862 composeType(t, "InvoiceLineItemComponent", "chargeItem", element.getChargeItem(), -1); 14863 } 14864 for (int i = 0; i < element.getPriceComponent().size(); i++) { 14865 composeInvoiceLineItemPriceComponentComponent(t, "InvoiceLineItemComponent", "priceComponent", element.getPriceComponent().get(i), i); 14866 } 14867 } 14868 14869 protected void composeInvoiceLineItemPriceComponentComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemPriceComponentComponent element, int index) { 14870 if (element == null) 14871 return; 14872 Complex t; 14873 if (Utilities.noString(parentType)) 14874 t = parent; 14875 else { 14876 t = parent.predicate("fhir:"+parentType+'.'+name); 14877 } 14878 composeBackboneElement(t, "priceComponent", name, element, index); 14879 if (element.hasTypeElement()) { 14880 composeEnum(t, "InvoiceLineItemPriceComponentComponent", "type", element.getTypeElement(), -1); 14881 } 14882 if (element.hasCode()) { 14883 composeCodeableConcept(t, "InvoiceLineItemPriceComponentComponent", "code", element.getCode(), -1); 14884 } 14885 if (element.hasFactorElement()) { 14886 composeDecimal(t, "InvoiceLineItemPriceComponentComponent", "factor", element.getFactorElement(), -1); 14887 } 14888 if (element.hasAmount()) { 14889 composeMoney(t, "InvoiceLineItemPriceComponentComponent", "amount", element.getAmount(), -1); 14890 } 14891 } 14892 14893 protected void composeLibrary(Complex parent, String parentType, String name, Library element, int index) { 14894 if (element == null) 14895 return; 14896 Complex t; 14897 if (Utilities.noString(parentType)) 14898 t = parent; 14899 else { 14900 t = parent.predicate("fhir:"+parentType+'.'+name); 14901 } 14902 composeMetadataResource(t, "Library", name, element, index); 14903 if (element.hasUrlElement()) { 14904 composeUri(t, "Library", "url", element.getUrlElement(), -1); 14905 } 14906 for (int i = 0; i < element.getIdentifier().size(); i++) { 14907 composeIdentifier(t, "Library", "identifier", element.getIdentifier().get(i), i); 14908 } 14909 if (element.hasVersionElement()) { 14910 composeString(t, "Library", "version", element.getVersionElement(), -1); 14911 } 14912 if (element.hasNameElement()) { 14913 composeString(t, "Library", "name", element.getNameElement(), -1); 14914 } 14915 if (element.hasTitleElement()) { 14916 composeString(t, "Library", "title", element.getTitleElement(), -1); 14917 } 14918 if (element.hasSubtitleElement()) { 14919 composeString(t, "Library", "subtitle", element.getSubtitleElement(), -1); 14920 } 14921 if (element.hasStatusElement()) { 14922 composeEnum(t, "Library", "status", element.getStatusElement(), -1); 14923 } 14924 if (element.hasExperimentalElement()) { 14925 composeBoolean(t, "Library", "experimental", element.getExperimentalElement(), -1); 14926 } 14927 if (element.hasType()) { 14928 composeCodeableConcept(t, "Library", "type", element.getType(), -1); 14929 } 14930 if (element.hasSubject()) { 14931 composeType(t, "Library", "subject", element.getSubject(), -1); 14932 } 14933 if (element.hasDateElement()) { 14934 composeDateTime(t, "Library", "date", element.getDateElement(), -1); 14935 } 14936 if (element.hasPublisherElement()) { 14937 composeString(t, "Library", "publisher", element.getPublisherElement(), -1); 14938 } 14939 for (int i = 0; i < element.getContact().size(); i++) { 14940 composeContactDetail(t, "Library", "contact", element.getContact().get(i), i); 14941 } 14942 if (element.hasDescriptionElement()) { 14943 composeMarkdown(t, "Library", "description", element.getDescriptionElement(), -1); 14944 } 14945 for (int i = 0; i < element.getUseContext().size(); i++) { 14946 composeUsageContext(t, "Library", "useContext", element.getUseContext().get(i), i); 14947 } 14948 for (int i = 0; i < element.getJurisdiction().size(); i++) { 14949 composeCodeableConcept(t, "Library", "jurisdiction", element.getJurisdiction().get(i), i); 14950 } 14951 if (element.hasPurposeElement()) { 14952 composeMarkdown(t, "Library", "purpose", element.getPurposeElement(), -1); 14953 } 14954 if (element.hasUsageElement()) { 14955 composeString(t, "Library", "usage", element.getUsageElement(), -1); 14956 } 14957 if (element.hasCopyrightElement()) { 14958 composeMarkdown(t, "Library", "copyright", element.getCopyrightElement(), -1); 14959 } 14960 if (element.hasApprovalDateElement()) { 14961 composeDate(t, "Library", "approvalDate", element.getApprovalDateElement(), -1); 14962 } 14963 if (element.hasLastReviewDateElement()) { 14964 composeDate(t, "Library", "lastReviewDate", element.getLastReviewDateElement(), -1); 14965 } 14966 if (element.hasEffectivePeriod()) { 14967 composePeriod(t, "Library", "effectivePeriod", element.getEffectivePeriod(), -1); 14968 } 14969 for (int i = 0; i < element.getTopic().size(); i++) { 14970 composeCodeableConcept(t, "Library", "topic", element.getTopic().get(i), i); 14971 } 14972 for (int i = 0; i < element.getAuthor().size(); i++) { 14973 composeContactDetail(t, "Library", "author", element.getAuthor().get(i), i); 14974 } 14975 for (int i = 0; i < element.getEditor().size(); i++) { 14976 composeContactDetail(t, "Library", "editor", element.getEditor().get(i), i); 14977 } 14978 for (int i = 0; i < element.getReviewer().size(); i++) { 14979 composeContactDetail(t, "Library", "reviewer", element.getReviewer().get(i), i); 14980 } 14981 for (int i = 0; i < element.getEndorser().size(); i++) { 14982 composeContactDetail(t, "Library", "endorser", element.getEndorser().get(i), i); 14983 } 14984 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 14985 composeRelatedArtifact(t, "Library", "relatedArtifact", element.getRelatedArtifact().get(i), i); 14986 } 14987 for (int i = 0; i < element.getParameter().size(); i++) { 14988 composeParameterDefinition(t, "Library", "parameter", element.getParameter().get(i), i); 14989 } 14990 for (int i = 0; i < element.getDataRequirement().size(); i++) { 14991 composeDataRequirement(t, "Library", "dataRequirement", element.getDataRequirement().get(i), i); 14992 } 14993 for (int i = 0; i < element.getContent().size(); i++) { 14994 composeAttachment(t, "Library", "content", element.getContent().get(i), i); 14995 } 14996 } 14997 14998 protected void composeLinkage(Complex parent, String parentType, String name, Linkage element, int index) { 14999 if (element == null) 15000 return; 15001 Complex t; 15002 if (Utilities.noString(parentType)) 15003 t = parent; 15004 else { 15005 t = parent.predicate("fhir:"+parentType+'.'+name); 15006 } 15007 composeDomainResource(t, "Linkage", name, element, index); 15008 if (element.hasActiveElement()) { 15009 composeBoolean(t, "Linkage", "active", element.getActiveElement(), -1); 15010 } 15011 if (element.hasAuthor()) { 15012 composeReference(t, "Linkage", "author", element.getAuthor(), -1); 15013 } 15014 for (int i = 0; i < element.getItem().size(); i++) { 15015 composeLinkageItemComponent(t, "Linkage", "item", element.getItem().get(i), i); 15016 } 15017 } 15018 15019 protected void composeLinkageItemComponent(Complex parent, String parentType, String name, Linkage.LinkageItemComponent element, int index) { 15020 if (element == null) 15021 return; 15022 Complex t; 15023 if (Utilities.noString(parentType)) 15024 t = parent; 15025 else { 15026 t = parent.predicate("fhir:"+parentType+'.'+name); 15027 } 15028 composeBackboneElement(t, "item", name, element, index); 15029 if (element.hasTypeElement()) { 15030 composeEnum(t, "LinkageItemComponent", "type", element.getTypeElement(), -1); 15031 } 15032 if (element.hasResource()) { 15033 composeReference(t, "LinkageItemComponent", "resource", element.getResource(), -1); 15034 } 15035 } 15036 15037 protected void composeListResource(Complex parent, String parentType, String name, ListResource element, int index) { 15038 if (element == null) 15039 return; 15040 Complex t; 15041 if (Utilities.noString(parentType)) 15042 t = parent; 15043 else { 15044 t = parent.predicate("fhir:"+parentType+'.'+name); 15045 } 15046 composeDomainResource(t, "List", name, element, index); 15047 for (int i = 0; i < element.getIdentifier().size(); i++) { 15048 composeIdentifier(t, "ListResource", "identifier", element.getIdentifier().get(i), i); 15049 } 15050 if (element.hasStatusElement()) { 15051 composeEnum(t, "ListResource", "status", element.getStatusElement(), -1); 15052 } 15053 if (element.hasModeElement()) { 15054 composeEnum(t, "ListResource", "mode", element.getModeElement(), -1); 15055 } 15056 if (element.hasTitleElement()) { 15057 composeString(t, "ListResource", "title", element.getTitleElement(), -1); 15058 } 15059 if (element.hasCode()) { 15060 composeCodeableConcept(t, "ListResource", "code", element.getCode(), -1); 15061 } 15062 if (element.hasSubject()) { 15063 composeReference(t, "ListResource", "subject", element.getSubject(), -1); 15064 } 15065 if (element.hasEncounter()) { 15066 composeReference(t, "ListResource", "encounter", element.getEncounter(), -1); 15067 } 15068 if (element.hasDateElement()) { 15069 composeDateTime(t, "ListResource", "date", element.getDateElement(), -1); 15070 } 15071 if (element.hasSource()) { 15072 composeReference(t, "ListResource", "source", element.getSource(), -1); 15073 } 15074 if (element.hasOrderedBy()) { 15075 composeCodeableConcept(t, "ListResource", "orderedBy", element.getOrderedBy(), -1); 15076 } 15077 for (int i = 0; i < element.getNote().size(); i++) { 15078 composeAnnotation(t, "ListResource", "note", element.getNote().get(i), i); 15079 } 15080 for (int i = 0; i < element.getEntry().size(); i++) { 15081 composeListResourceEntryComponent(t, "ListResource", "entry", element.getEntry().get(i), i); 15082 } 15083 if (element.hasEmptyReason()) { 15084 composeCodeableConcept(t, "ListResource", "emptyReason", element.getEmptyReason(), -1); 15085 } 15086 } 15087 15088 protected void composeListResourceEntryComponent(Complex parent, String parentType, String name, ListResource.ListResourceEntryComponent element, int index) { 15089 if (element == null) 15090 return; 15091 Complex t; 15092 if (Utilities.noString(parentType)) 15093 t = parent; 15094 else { 15095 t = parent.predicate("fhir:"+parentType+'.'+name); 15096 } 15097 composeBackboneElement(t, "entry", name, element, index); 15098 if (element.hasFlag()) { 15099 composeCodeableConcept(t, "ListResourceEntryComponent", "flag", element.getFlag(), -1); 15100 } 15101 if (element.hasDeletedElement()) { 15102 composeBoolean(t, "ListResourceEntryComponent", "deleted", element.getDeletedElement(), -1); 15103 } 15104 if (element.hasDateElement()) { 15105 composeDateTime(t, "ListResourceEntryComponent", "date", element.getDateElement(), -1); 15106 } 15107 if (element.hasItem()) { 15108 composeReference(t, "ListResourceEntryComponent", "item", element.getItem(), -1); 15109 } 15110 } 15111 15112 protected void composeLocation(Complex parent, String parentType, String name, Location element, int index) { 15113 if (element == null) 15114 return; 15115 Complex t; 15116 if (Utilities.noString(parentType)) 15117 t = parent; 15118 else { 15119 t = parent.predicate("fhir:"+parentType+'.'+name); 15120 } 15121 composeDomainResource(t, "Location", name, element, index); 15122 for (int i = 0; i < element.getIdentifier().size(); i++) { 15123 composeIdentifier(t, "Location", "identifier", element.getIdentifier().get(i), i); 15124 } 15125 if (element.hasStatusElement()) { 15126 composeEnum(t, "Location", "status", element.getStatusElement(), -1); 15127 } 15128 if (element.hasOperationalStatus()) { 15129 composeCoding(t, "Location", "operationalStatus", element.getOperationalStatus(), -1); 15130 } 15131 if (element.hasNameElement()) { 15132 composeString(t, "Location", "name", element.getNameElement(), -1); 15133 } 15134 for (int i = 0; i < element.getAlias().size(); i++) { 15135 composeString(t, "Location", "alias", element.getAlias().get(i), i); 15136 } 15137 if (element.hasDescriptionElement()) { 15138 composeString(t, "Location", "description", element.getDescriptionElement(), -1); 15139 } 15140 if (element.hasModeElement()) { 15141 composeEnum(t, "Location", "mode", element.getModeElement(), -1); 15142 } 15143 for (int i = 0; i < element.getType().size(); i++) { 15144 composeCodeableConcept(t, "Location", "type", element.getType().get(i), i); 15145 } 15146 for (int i = 0; i < element.getTelecom().size(); i++) { 15147 composeContactPoint(t, "Location", "telecom", element.getTelecom().get(i), i); 15148 } 15149 if (element.hasAddress()) { 15150 composeAddress(t, "Location", "address", element.getAddress(), -1); 15151 } 15152 if (element.hasPhysicalType()) { 15153 composeCodeableConcept(t, "Location", "physicalType", element.getPhysicalType(), -1); 15154 } 15155 if (element.hasPosition()) { 15156 composeLocationPositionComponent(t, "Location", "position", element.getPosition(), -1); 15157 } 15158 if (element.hasManagingOrganization()) { 15159 composeReference(t, "Location", "managingOrganization", element.getManagingOrganization(), -1); 15160 } 15161 if (element.hasPartOf()) { 15162 composeReference(t, "Location", "partOf", element.getPartOf(), -1); 15163 } 15164 for (int i = 0; i < element.getHoursOfOperation().size(); i++) { 15165 composeLocationHoursOfOperationComponent(t, "Location", "hoursOfOperation", element.getHoursOfOperation().get(i), i); 15166 } 15167 if (element.hasAvailabilityExceptionsElement()) { 15168 composeString(t, "Location", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 15169 } 15170 for (int i = 0; i < element.getEndpoint().size(); i++) { 15171 composeReference(t, "Location", "endpoint", element.getEndpoint().get(i), i); 15172 } 15173 } 15174 15175 protected void composeLocationPositionComponent(Complex parent, String parentType, String name, Location.LocationPositionComponent element, int index) { 15176 if (element == null) 15177 return; 15178 Complex t; 15179 if (Utilities.noString(parentType)) 15180 t = parent; 15181 else { 15182 t = parent.predicate("fhir:"+parentType+'.'+name); 15183 } 15184 composeBackboneElement(t, "position", name, element, index); 15185 if (element.hasLongitudeElement()) { 15186 composeDecimal(t, "LocationPositionComponent", "longitude", element.getLongitudeElement(), -1); 15187 } 15188 if (element.hasLatitudeElement()) { 15189 composeDecimal(t, "LocationPositionComponent", "latitude", element.getLatitudeElement(), -1); 15190 } 15191 if (element.hasAltitudeElement()) { 15192 composeDecimal(t, "LocationPositionComponent", "altitude", element.getAltitudeElement(), -1); 15193 } 15194 } 15195 15196 protected void composeLocationHoursOfOperationComponent(Complex parent, String parentType, String name, Location.LocationHoursOfOperationComponent element, int index) { 15197 if (element == null) 15198 return; 15199 Complex t; 15200 if (Utilities.noString(parentType)) 15201 t = parent; 15202 else { 15203 t = parent.predicate("fhir:"+parentType+'.'+name); 15204 } 15205 composeBackboneElement(t, "hoursOfOperation", name, element, index); 15206 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 15207 composeEnum(t, "LocationHoursOfOperationComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 15208 } 15209 if (element.hasAllDayElement()) { 15210 composeBoolean(t, "LocationHoursOfOperationComponent", "allDay", element.getAllDayElement(), -1); 15211 } 15212 if (element.hasOpeningTimeElement()) { 15213 composeTime(t, "LocationHoursOfOperationComponent", "openingTime", element.getOpeningTimeElement(), -1); 15214 } 15215 if (element.hasClosingTimeElement()) { 15216 composeTime(t, "LocationHoursOfOperationComponent", "closingTime", element.getClosingTimeElement(), -1); 15217 } 15218 } 15219 15220 protected void composeManufacturedItemDefinition(Complex parent, String parentType, String name, ManufacturedItemDefinition element, int index) { 15221 if (element == null) 15222 return; 15223 Complex t; 15224 if (Utilities.noString(parentType)) 15225 t = parent; 15226 else { 15227 t = parent.predicate("fhir:"+parentType+'.'+name); 15228 } 15229 composeDomainResource(t, "ManufacturedItemDefinition", name, element, index); 15230 for (int i = 0; i < element.getIdentifier().size(); i++) { 15231 composeIdentifier(t, "ManufacturedItemDefinition", "identifier", element.getIdentifier().get(i), i); 15232 } 15233 if (element.hasStatusElement()) { 15234 composeEnum(t, "ManufacturedItemDefinition", "status", element.getStatusElement(), -1); 15235 } 15236 if (element.hasManufacturedDoseForm()) { 15237 composeCodeableConcept(t, "ManufacturedItemDefinition", "manufacturedDoseForm", element.getManufacturedDoseForm(), -1); 15238 } 15239 if (element.hasUnitOfPresentation()) { 15240 composeCodeableConcept(t, "ManufacturedItemDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 15241 } 15242 for (int i = 0; i < element.getManufacturer().size(); i++) { 15243 composeReference(t, "ManufacturedItemDefinition", "manufacturer", element.getManufacturer().get(i), i); 15244 } 15245 for (int i = 0; i < element.getIngredient().size(); i++) { 15246 composeCodeableConcept(t, "ManufacturedItemDefinition", "ingredient", element.getIngredient().get(i), i); 15247 } 15248 for (int i = 0; i < element.getProperty().size(); i++) { 15249 composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinition", "property", element.getProperty().get(i), i); 15250 } 15251 } 15252 15253 protected void composeManufacturedItemDefinitionPropertyComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element, int index) { 15254 if (element == null) 15255 return; 15256 Complex t; 15257 if (Utilities.noString(parentType)) 15258 t = parent; 15259 else { 15260 t = parent.predicate("fhir:"+parentType+'.'+name); 15261 } 15262 composeBackboneElement(t, "property", name, element, index); 15263 if (element.hasType()) { 15264 composeCodeableConcept(t, "ManufacturedItemDefinitionPropertyComponent", "type", element.getType(), -1); 15265 } 15266 if (element.hasValue()) { 15267 composeType(t, "ManufacturedItemDefinitionPropertyComponent", "value", element.getValue(), -1); 15268 } 15269 } 15270 15271 protected void composeMeasure(Complex parent, String parentType, String name, Measure element, int index) { 15272 if (element == null) 15273 return; 15274 Complex t; 15275 if (Utilities.noString(parentType)) 15276 t = parent; 15277 else { 15278 t = parent.predicate("fhir:"+parentType+'.'+name); 15279 } 15280 composeMetadataResource(t, "Measure", name, element, index); 15281 if (element.hasUrlElement()) { 15282 composeUri(t, "Measure", "url", element.getUrlElement(), -1); 15283 } 15284 for (int i = 0; i < element.getIdentifier().size(); i++) { 15285 composeIdentifier(t, "Measure", "identifier", element.getIdentifier().get(i), i); 15286 } 15287 if (element.hasVersionElement()) { 15288 composeString(t, "Measure", "version", element.getVersionElement(), -1); 15289 } 15290 if (element.hasNameElement()) { 15291 composeString(t, "Measure", "name", element.getNameElement(), -1); 15292 } 15293 if (element.hasTitleElement()) { 15294 composeString(t, "Measure", "title", element.getTitleElement(), -1); 15295 } 15296 if (element.hasSubtitleElement()) { 15297 composeString(t, "Measure", "subtitle", element.getSubtitleElement(), -1); 15298 } 15299 if (element.hasStatusElement()) { 15300 composeEnum(t, "Measure", "status", element.getStatusElement(), -1); 15301 } 15302 if (element.hasExperimentalElement()) { 15303 composeBoolean(t, "Measure", "experimental", element.getExperimentalElement(), -1); 15304 } 15305 if (element.hasSubject()) { 15306 composeType(t, "Measure", "subject", element.getSubject(), -1); 15307 } 15308 if (element.hasBasisElement()) { 15309 composeEnum(t, "Measure", "basis", element.getBasisElement(), -1); 15310 } 15311 if (element.hasDateElement()) { 15312 composeDateTime(t, "Measure", "date", element.getDateElement(), -1); 15313 } 15314 if (element.hasPublisherElement()) { 15315 composeString(t, "Measure", "publisher", element.getPublisherElement(), -1); 15316 } 15317 for (int i = 0; i < element.getContact().size(); i++) { 15318 composeContactDetail(t, "Measure", "contact", element.getContact().get(i), i); 15319 } 15320 if (element.hasDescriptionElement()) { 15321 composeMarkdown(t, "Measure", "description", element.getDescriptionElement(), -1); 15322 } 15323 for (int i = 0; i < element.getUseContext().size(); i++) { 15324 composeUsageContext(t, "Measure", "useContext", element.getUseContext().get(i), i); 15325 } 15326 for (int i = 0; i < element.getJurisdiction().size(); i++) { 15327 composeCodeableConcept(t, "Measure", "jurisdiction", element.getJurisdiction().get(i), i); 15328 } 15329 if (element.hasPurposeElement()) { 15330 composeMarkdown(t, "Measure", "purpose", element.getPurposeElement(), -1); 15331 } 15332 if (element.hasUsageElement()) { 15333 composeString(t, "Measure", "usage", element.getUsageElement(), -1); 15334 } 15335 if (element.hasCopyrightElement()) { 15336 composeMarkdown(t, "Measure", "copyright", element.getCopyrightElement(), -1); 15337 } 15338 if (element.hasApprovalDateElement()) { 15339 composeDate(t, "Measure", "approvalDate", element.getApprovalDateElement(), -1); 15340 } 15341 if (element.hasLastReviewDateElement()) { 15342 composeDate(t, "Measure", "lastReviewDate", element.getLastReviewDateElement(), -1); 15343 } 15344 if (element.hasEffectivePeriod()) { 15345 composePeriod(t, "Measure", "effectivePeriod", element.getEffectivePeriod(), -1); 15346 } 15347 for (int i = 0; i < element.getTopic().size(); i++) { 15348 composeCodeableConcept(t, "Measure", "topic", element.getTopic().get(i), i); 15349 } 15350 for (int i = 0; i < element.getAuthor().size(); i++) { 15351 composeContactDetail(t, "Measure", "author", element.getAuthor().get(i), i); 15352 } 15353 for (int i = 0; i < element.getEditor().size(); i++) { 15354 composeContactDetail(t, "Measure", "editor", element.getEditor().get(i), i); 15355 } 15356 for (int i = 0; i < element.getReviewer().size(); i++) { 15357 composeContactDetail(t, "Measure", "reviewer", element.getReviewer().get(i), i); 15358 } 15359 for (int i = 0; i < element.getEndorser().size(); i++) { 15360 composeContactDetail(t, "Measure", "endorser", element.getEndorser().get(i), i); 15361 } 15362 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 15363 composeRelatedArtifact(t, "Measure", "relatedArtifact", element.getRelatedArtifact().get(i), i); 15364 } 15365 for (int i = 0; i < element.getLibrary().size(); i++) { 15366 composeCanonical(t, "Measure", "library", element.getLibrary().get(i), i); 15367 } 15368 if (element.hasDisclaimerElement()) { 15369 composeMarkdown(t, "Measure", "disclaimer", element.getDisclaimerElement(), -1); 15370 } 15371 if (element.hasScoring()) { 15372 composeCodeableConcept(t, "Measure", "scoring", element.getScoring(), -1); 15373 } 15374 if (element.hasScoringUnit()) { 15375 composeCodeableConcept(t, "Measure", "scoringUnit", element.getScoringUnit(), -1); 15376 } 15377 if (element.hasCompositeScoring()) { 15378 composeCodeableConcept(t, "Measure", "compositeScoring", element.getCompositeScoring(), -1); 15379 } 15380 for (int i = 0; i < element.getType().size(); i++) { 15381 composeCodeableConcept(t, "Measure", "type", element.getType().get(i), i); 15382 } 15383 if (element.hasRiskAdjustmentElement()) { 15384 composeString(t, "Measure", "riskAdjustment", element.getRiskAdjustmentElement(), -1); 15385 } 15386 if (element.hasRateAggregationElement()) { 15387 composeString(t, "Measure", "rateAggregation", element.getRateAggregationElement(), -1); 15388 } 15389 if (element.hasRationaleElement()) { 15390 composeMarkdown(t, "Measure", "rationale", element.getRationaleElement(), -1); 15391 } 15392 if (element.hasClinicalRecommendationStatementElement()) { 15393 composeMarkdown(t, "Measure", "clinicalRecommendationStatement", element.getClinicalRecommendationStatementElement(), -1); 15394 } 15395 if (element.hasImprovementNotation()) { 15396 composeCodeableConcept(t, "Measure", "improvementNotation", element.getImprovementNotation(), -1); 15397 } 15398 for (int i = 0; i < element.getDefinition().size(); i++) { 15399 composeMarkdown(t, "Measure", "definition", element.getDefinition().get(i), i); 15400 } 15401 if (element.hasGuidanceElement()) { 15402 composeMarkdown(t, "Measure", "guidance", element.getGuidanceElement(), -1); 15403 } 15404 for (int i = 0; i < element.getGroup().size(); i++) { 15405 composeMeasureGroupComponent(t, "Measure", "group", element.getGroup().get(i), i); 15406 } 15407 for (int i = 0; i < element.getSupplementalData().size(); i++) { 15408 composeMeasureSupplementalDataComponent(t, "Measure", "supplementalData", element.getSupplementalData().get(i), i); 15409 } 15410 } 15411 15412 protected void composeMeasureGroupComponent(Complex parent, String parentType, String name, Measure.MeasureGroupComponent element, int index) { 15413 if (element == null) 15414 return; 15415 Complex t; 15416 if (Utilities.noString(parentType)) 15417 t = parent; 15418 else { 15419 t = parent.predicate("fhir:"+parentType+'.'+name); 15420 } 15421 composeBackboneElement(t, "group", name, element, index); 15422 if (element.hasCode()) { 15423 composeCodeableConcept(t, "MeasureGroupComponent", "code", element.getCode(), -1); 15424 } 15425 if (element.hasDescriptionElement()) { 15426 composeString(t, "MeasureGroupComponent", "description", element.getDescriptionElement(), -1); 15427 } 15428 for (int i = 0; i < element.getType().size(); i++) { 15429 composeCodeableConcept(t, "MeasureGroupComponent", "type", element.getType().get(i), i); 15430 } 15431 if (element.hasBasisElement()) { 15432 composeEnum(t, "MeasureGroupComponent", "basis", element.getBasisElement(), -1); 15433 } 15434 if (element.hasScoring()) { 15435 composeCodeableConcept(t, "MeasureGroupComponent", "scoring", element.getScoring(), -1); 15436 } 15437 if (element.hasScoringUnit()) { 15438 composeCodeableConcept(t, "MeasureGroupComponent", "scoringUnit", element.getScoringUnit(), -1); 15439 } 15440 if (element.hasImprovementNotation()) { 15441 composeCodeableConcept(t, "MeasureGroupComponent", "improvementNotation", element.getImprovementNotation(), -1); 15442 } 15443 for (int i = 0; i < element.getPopulation().size(); i++) { 15444 composeMeasureGroupPopulationComponent(t, "MeasureGroupComponent", "population", element.getPopulation().get(i), i); 15445 } 15446 for (int i = 0; i < element.getStratifier().size(); i++) { 15447 composeMeasureGroupStratifierComponent(t, "MeasureGroupComponent", "stratifier", element.getStratifier().get(i), i); 15448 } 15449 } 15450 15451 protected void composeMeasureGroupPopulationComponent(Complex parent, String parentType, String name, Measure.MeasureGroupPopulationComponent element, int index) { 15452 if (element == null) 15453 return; 15454 Complex t; 15455 if (Utilities.noString(parentType)) 15456 t = parent; 15457 else { 15458 t = parent.predicate("fhir:"+parentType+'.'+name); 15459 } 15460 composeBackboneElement(t, "population", name, element, index); 15461 if (element.hasCode()) { 15462 composeCodeableConcept(t, "MeasureGroupPopulationComponent", "code", element.getCode(), -1); 15463 } 15464 if (element.hasDescriptionElement()) { 15465 composeString(t, "MeasureGroupPopulationComponent", "description", element.getDescriptionElement(), -1); 15466 } 15467 if (element.hasCriteria()) { 15468 composeExpression(t, "MeasureGroupPopulationComponent", "criteria", element.getCriteria(), -1); 15469 } 15470 if (element.hasInputPopulationIdElement()) { 15471 composeString(t, "MeasureGroupPopulationComponent", "inputPopulationId", element.getInputPopulationIdElement(), -1); 15472 } 15473 if (element.hasAggregateMethod()) { 15474 composeCodeableConcept(t, "MeasureGroupPopulationComponent", "aggregateMethod", element.getAggregateMethod(), -1); 15475 } 15476 } 15477 15478 protected void composeMeasureGroupStratifierComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponent element, int index) { 15479 if (element == null) 15480 return; 15481 Complex t; 15482 if (Utilities.noString(parentType)) 15483 t = parent; 15484 else { 15485 t = parent.predicate("fhir:"+parentType+'.'+name); 15486 } 15487 composeBackboneElement(t, "stratifier", name, element, index); 15488 if (element.hasCode()) { 15489 composeCodeableConcept(t, "MeasureGroupStratifierComponent", "code", element.getCode(), -1); 15490 } 15491 if (element.hasDescriptionElement()) { 15492 composeString(t, "MeasureGroupStratifierComponent", "description", element.getDescriptionElement(), -1); 15493 } 15494 if (element.hasCriteria()) { 15495 composeExpression(t, "MeasureGroupStratifierComponent", "criteria", element.getCriteria(), -1); 15496 } 15497 for (int i = 0; i < element.getComponent().size(); i++) { 15498 composeMeasureGroupStratifierComponentComponent(t, "MeasureGroupStratifierComponent", "component", element.getComponent().get(i), i); 15499 } 15500 } 15501 15502 protected void composeMeasureGroupStratifierComponentComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponentComponent element, int index) { 15503 if (element == null) 15504 return; 15505 Complex t; 15506 if (Utilities.noString(parentType)) 15507 t = parent; 15508 else { 15509 t = parent.predicate("fhir:"+parentType+'.'+name); 15510 } 15511 composeBackboneElement(t, "component", name, element, index); 15512 if (element.hasCode()) { 15513 composeCodeableConcept(t, "MeasureGroupStratifierComponentComponent", "code", element.getCode(), -1); 15514 } 15515 if (element.hasDescriptionElement()) { 15516 composeString(t, "MeasureGroupStratifierComponentComponent", "description", element.getDescriptionElement(), -1); 15517 } 15518 if (element.hasCriteria()) { 15519 composeExpression(t, "MeasureGroupStratifierComponentComponent", "criteria", element.getCriteria(), -1); 15520 } 15521 } 15522 15523 protected void composeMeasureSupplementalDataComponent(Complex parent, String parentType, String name, Measure.MeasureSupplementalDataComponent element, int index) { 15524 if (element == null) 15525 return; 15526 Complex t; 15527 if (Utilities.noString(parentType)) 15528 t = parent; 15529 else { 15530 t = parent.predicate("fhir:"+parentType+'.'+name); 15531 } 15532 composeBackboneElement(t, "supplementalData", name, element, index); 15533 if (element.hasCode()) { 15534 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "code", element.getCode(), -1); 15535 } 15536 for (int i = 0; i < element.getUsage().size(); i++) { 15537 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "usage", element.getUsage().get(i), i); 15538 } 15539 if (element.hasDescriptionElement()) { 15540 composeString(t, "MeasureSupplementalDataComponent", "description", element.getDescriptionElement(), -1); 15541 } 15542 if (element.hasCriteria()) { 15543 composeExpression(t, "MeasureSupplementalDataComponent", "criteria", element.getCriteria(), -1); 15544 } 15545 } 15546 15547 protected void composeMeasureReport(Complex parent, String parentType, String name, MeasureReport element, int index) { 15548 if (element == null) 15549 return; 15550 Complex t; 15551 if (Utilities.noString(parentType)) 15552 t = parent; 15553 else { 15554 t = parent.predicate("fhir:"+parentType+'.'+name); 15555 } 15556 composeDomainResource(t, "MeasureReport", name, element, index); 15557 for (int i = 0; i < element.getIdentifier().size(); i++) { 15558 composeIdentifier(t, "MeasureReport", "identifier", element.getIdentifier().get(i), i); 15559 } 15560 if (element.hasStatusElement()) { 15561 composeEnum(t, "MeasureReport", "status", element.getStatusElement(), -1); 15562 } 15563 if (element.hasTypeElement()) { 15564 composeEnum(t, "MeasureReport", "type", element.getTypeElement(), -1); 15565 } 15566 if (element.hasDataUpdateTypeElement()) { 15567 composeEnum(t, "MeasureReport", "dataUpdateType", element.getDataUpdateTypeElement(), -1); 15568 } 15569 if (element.hasMeasureElement()) { 15570 composeCanonical(t, "MeasureReport", "measure", element.getMeasureElement(), -1); 15571 } 15572 if (element.hasSubject()) { 15573 composeReference(t, "MeasureReport", "subject", element.getSubject(), -1); 15574 } 15575 if (element.hasDateElement()) { 15576 composeDateTime(t, "MeasureReport", "date", element.getDateElement(), -1); 15577 } 15578 if (element.hasReporter()) { 15579 composeReference(t, "MeasureReport", "reporter", element.getReporter(), -1); 15580 } 15581 if (element.hasReportingVendor()) { 15582 composeReference(t, "MeasureReport", "reportingVendor", element.getReportingVendor(), -1); 15583 } 15584 if (element.hasPeriod()) { 15585 composePeriod(t, "MeasureReport", "period", element.getPeriod(), -1); 15586 } 15587 if (element.hasScoring()) { 15588 composeCodeableConcept(t, "MeasureReport", "scoring", element.getScoring(), -1); 15589 } 15590 if (element.hasImprovementNotation()) { 15591 composeCodeableConcept(t, "MeasureReport", "improvementNotation", element.getImprovementNotation(), -1); 15592 } 15593 for (int i = 0; i < element.getGroup().size(); i++) { 15594 composeMeasureReportGroupComponent(t, "MeasureReport", "group", element.getGroup().get(i), i); 15595 } 15596 for (int i = 0; i < element.getEvaluatedResource().size(); i++) { 15597 composeReference(t, "MeasureReport", "evaluatedResource", element.getEvaluatedResource().get(i), i); 15598 } 15599 } 15600 15601 protected void composeMeasureReportGroupComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupComponent element, int index) { 15602 if (element == null) 15603 return; 15604 Complex t; 15605 if (Utilities.noString(parentType)) 15606 t = parent; 15607 else { 15608 t = parent.predicate("fhir:"+parentType+'.'+name); 15609 } 15610 composeBackboneElement(t, "group", name, element, index); 15611 if (element.hasCode()) { 15612 composeCodeableConcept(t, "MeasureReportGroupComponent", "code", element.getCode(), -1); 15613 } 15614 for (int i = 0; i < element.getPopulation().size(); i++) { 15615 composeMeasureReportGroupPopulationComponent(t, "MeasureReportGroupComponent", "population", element.getPopulation().get(i), i); 15616 } 15617 if (element.hasMeasureScore()) { 15618 composeType(t, "MeasureReportGroupComponent", "measureScore", element.getMeasureScore(), -1); 15619 } 15620 for (int i = 0; i < element.getStratifier().size(); i++) { 15621 composeMeasureReportGroupStratifierComponent(t, "MeasureReportGroupComponent", "stratifier", element.getStratifier().get(i), i); 15622 } 15623 } 15624 15625 protected void composeMeasureReportGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupPopulationComponent element, int index) { 15626 if (element == null) 15627 return; 15628 Complex t; 15629 if (Utilities.noString(parentType)) 15630 t = parent; 15631 else { 15632 t = parent.predicate("fhir:"+parentType+'.'+name); 15633 } 15634 composeBackboneElement(t, "population", name, element, index); 15635 if (element.hasCode()) { 15636 composeCodeableConcept(t, "MeasureReportGroupPopulationComponent", "code", element.getCode(), -1); 15637 } 15638 if (element.hasCountElement()) { 15639 composeInteger(t, "MeasureReportGroupPopulationComponent", "count", element.getCountElement(), -1); 15640 } 15641 if (element.hasSubjectResults()) { 15642 composeReference(t, "MeasureReportGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 15643 } 15644 } 15645 15646 protected void composeMeasureReportGroupStratifierComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupStratifierComponent element, int index) { 15647 if (element == null) 15648 return; 15649 Complex t; 15650 if (Utilities.noString(parentType)) 15651 t = parent; 15652 else { 15653 t = parent.predicate("fhir:"+parentType+'.'+name); 15654 } 15655 composeBackboneElement(t, "stratifier", name, element, index); 15656 for (int i = 0; i < element.getCode().size(); i++) { 15657 composeCodeableConcept(t, "MeasureReportGroupStratifierComponent", "code", element.getCode().get(i), i); 15658 } 15659 for (int i = 0; i < element.getStratum().size(); i++) { 15660 composeMeasureReportStratifierGroupComponent(t, "MeasureReportGroupStratifierComponent", "stratum", element.getStratum().get(i), i); 15661 } 15662 } 15663 15664 protected void composeMeasureReportStratifierGroupComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponent element, int index) { 15665 if (element == null) 15666 return; 15667 Complex t; 15668 if (Utilities.noString(parentType)) 15669 t = parent; 15670 else { 15671 t = parent.predicate("fhir:"+parentType+'.'+name); 15672 } 15673 composeBackboneElement(t, "stratum", name, element, index); 15674 if (element.hasValue()) { 15675 composeType(t, "StratifierGroupComponent", "value", element.getValue(), -1); 15676 } 15677 for (int i = 0; i < element.getComponent().size(); i++) { 15678 composeMeasureReportStratifierGroupComponentComponent(t, "StratifierGroupComponent", "component", element.getComponent().get(i), i); 15679 } 15680 for (int i = 0; i < element.getPopulation().size(); i++) { 15681 composeMeasureReportStratifierGroupPopulationComponent(t, "StratifierGroupComponent", "population", element.getPopulation().get(i), i); 15682 } 15683 if (element.hasMeasureScore()) { 15684 composeType(t, "StratifierGroupComponent", "measureScore", element.getMeasureScore(), -1); 15685 } 15686 } 15687 15688 protected void composeMeasureReportStratifierGroupComponentComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponentComponent element, int index) { 15689 if (element == null) 15690 return; 15691 Complex t; 15692 if (Utilities.noString(parentType)) 15693 t = parent; 15694 else { 15695 t = parent.predicate("fhir:"+parentType+'.'+name); 15696 } 15697 composeBackboneElement(t, "component", name, element, index); 15698 if (element.hasCode()) { 15699 composeCodeableConcept(t, "StratifierGroupComponentComponent", "code", element.getCode(), -1); 15700 } 15701 if (element.hasValue()) { 15702 composeType(t, "StratifierGroupComponentComponent", "value", element.getValue(), -1); 15703 } 15704 } 15705 15706 protected void composeMeasureReportStratifierGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupPopulationComponent element, int index) { 15707 if (element == null) 15708 return; 15709 Complex t; 15710 if (Utilities.noString(parentType)) 15711 t = parent; 15712 else { 15713 t = parent.predicate("fhir:"+parentType+'.'+name); 15714 } 15715 composeBackboneElement(t, "population", name, element, index); 15716 if (element.hasCode()) { 15717 composeCodeableConcept(t, "StratifierGroupPopulationComponent", "code", element.getCode(), -1); 15718 } 15719 if (element.hasCountElement()) { 15720 composeInteger(t, "StratifierGroupPopulationComponent", "count", element.getCountElement(), -1); 15721 } 15722 if (element.hasSubjectResults()) { 15723 composeReference(t, "StratifierGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 15724 } 15725 } 15726 15727 protected void composeMedication(Complex parent, String parentType, String name, Medication element, int index) { 15728 if (element == null) 15729 return; 15730 Complex t; 15731 if (Utilities.noString(parentType)) 15732 t = parent; 15733 else { 15734 t = parent.predicate("fhir:"+parentType+'.'+name); 15735 } 15736 composeDomainResource(t, "Medication", name, element, index); 15737 for (int i = 0; i < element.getIdentifier().size(); i++) { 15738 composeIdentifier(t, "Medication", "identifier", element.getIdentifier().get(i), i); 15739 } 15740 if (element.hasCode()) { 15741 composeCodeableConcept(t, "Medication", "code", element.getCode(), -1); 15742 } 15743 if (element.hasStatusElement()) { 15744 composeEnum(t, "Medication", "status", element.getStatusElement(), -1); 15745 } 15746 if (element.hasMarketingAuthorizationHolder()) { 15747 composeReference(t, "Medication", "marketingAuthorizationHolder", element.getMarketingAuthorizationHolder(), -1); 15748 } 15749 if (element.hasDoseForm()) { 15750 composeCodeableConcept(t, "Medication", "doseForm", element.getDoseForm(), -1); 15751 } 15752 if (element.hasTotalVolume()) { 15753 composeRatio(t, "Medication", "totalVolume", element.getTotalVolume(), -1); 15754 } 15755 for (int i = 0; i < element.getIngredient().size(); i++) { 15756 composeMedicationIngredientComponent(t, "Medication", "ingredient", element.getIngredient().get(i), i); 15757 } 15758 if (element.hasBatch()) { 15759 composeMedicationBatchComponent(t, "Medication", "batch", element.getBatch(), -1); 15760 } 15761 } 15762 15763 protected void composeMedicationIngredientComponent(Complex parent, String parentType, String name, Medication.MedicationIngredientComponent element, int index) { 15764 if (element == null) 15765 return; 15766 Complex t; 15767 if (Utilities.noString(parentType)) 15768 t = parent; 15769 else { 15770 t = parent.predicate("fhir:"+parentType+'.'+name); 15771 } 15772 composeBackboneElement(t, "ingredient", name, element, index); 15773 if (element.hasItem()) { 15774 composeCodeableReference(t, "MedicationIngredientComponent", "item", element.getItem(), -1); 15775 } 15776 if (element.hasIsActiveElement()) { 15777 composeBoolean(t, "MedicationIngredientComponent", "isActive", element.getIsActiveElement(), -1); 15778 } 15779 if (element.hasStrength()) { 15780 composeType(t, "MedicationIngredientComponent", "strength", element.getStrength(), -1); 15781 } 15782 } 15783 15784 protected void composeMedicationBatchComponent(Complex parent, String parentType, String name, Medication.MedicationBatchComponent element, int index) { 15785 if (element == null) 15786 return; 15787 Complex t; 15788 if (Utilities.noString(parentType)) 15789 t = parent; 15790 else { 15791 t = parent.predicate("fhir:"+parentType+'.'+name); 15792 } 15793 composeBackboneElement(t, "batch", name, element, index); 15794 if (element.hasLotNumberElement()) { 15795 composeString(t, "MedicationBatchComponent", "lotNumber", element.getLotNumberElement(), -1); 15796 } 15797 if (element.hasExpirationDateElement()) { 15798 composeDateTime(t, "MedicationBatchComponent", "expirationDate", element.getExpirationDateElement(), -1); 15799 } 15800 } 15801 15802 protected void composeMedicationAdministration(Complex parent, String parentType, String name, MedicationAdministration element, int index) { 15803 if (element == null) 15804 return; 15805 Complex t; 15806 if (Utilities.noString(parentType)) 15807 t = parent; 15808 else { 15809 t = parent.predicate("fhir:"+parentType+'.'+name); 15810 } 15811 composeDomainResource(t, "MedicationAdministration", name, element, index); 15812 for (int i = 0; i < element.getIdentifier().size(); i++) { 15813 composeIdentifier(t, "MedicationAdministration", "identifier", element.getIdentifier().get(i), i); 15814 } 15815 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 15816 composeCanonical(t, "MedicationAdministration", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 15817 } 15818 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 15819 composeUri(t, "MedicationAdministration", "instantiatesUri", element.getInstantiatesUri().get(i), i); 15820 } 15821 for (int i = 0; i < element.getBasedOn().size(); i++) { 15822 composeReference(t, "MedicationAdministration", "basedOn", element.getBasedOn().get(i), i); 15823 } 15824 for (int i = 0; i < element.getPartOf().size(); i++) { 15825 composeReference(t, "MedicationAdministration", "partOf", element.getPartOf().get(i), i); 15826 } 15827 if (element.hasStatusElement()) { 15828 composeEnum(t, "MedicationAdministration", "status", element.getStatusElement(), -1); 15829 } 15830 for (int i = 0; i < element.getStatusReason().size(); i++) { 15831 composeCodeableConcept(t, "MedicationAdministration", "statusReason", element.getStatusReason().get(i), i); 15832 } 15833 for (int i = 0; i < element.getCategory().size(); i++) { 15834 composeCodeableConcept(t, "MedicationAdministration", "category", element.getCategory().get(i), i); 15835 } 15836 if (element.hasMedication()) { 15837 composeCodeableReference(t, "MedicationAdministration", "medication", element.getMedication(), -1); 15838 } 15839 if (element.hasSubject()) { 15840 composeReference(t, "MedicationAdministration", "subject", element.getSubject(), -1); 15841 } 15842 if (element.hasEncounter()) { 15843 composeReference(t, "MedicationAdministration", "encounter", element.getEncounter(), -1); 15844 } 15845 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 15846 composeReference(t, "MedicationAdministration", "supportingInformation", element.getSupportingInformation().get(i), i); 15847 } 15848 if (element.hasOccurence()) { 15849 composeType(t, "MedicationAdministration", "occurence", element.getOccurence(), -1); 15850 } 15851 if (element.hasRecordedElement()) { 15852 composeDateTime(t, "MedicationAdministration", "recorded", element.getRecordedElement(), -1); 15853 } 15854 for (int i = 0; i < element.getPerformer().size(); i++) { 15855 composeMedicationAdministrationPerformerComponent(t, "MedicationAdministration", "performer", element.getPerformer().get(i), i); 15856 } 15857 for (int i = 0; i < element.getReason().size(); i++) { 15858 composeCodeableReference(t, "MedicationAdministration", "reason", element.getReason().get(i), i); 15859 } 15860 if (element.hasRequest()) { 15861 composeReference(t, "MedicationAdministration", "request", element.getRequest(), -1); 15862 } 15863 for (int i = 0; i < element.getDevice().size(); i++) { 15864 composeReference(t, "MedicationAdministration", "device", element.getDevice().get(i), i); 15865 } 15866 for (int i = 0; i < element.getNote().size(); i++) { 15867 composeAnnotation(t, "MedicationAdministration", "note", element.getNote().get(i), i); 15868 } 15869 if (element.hasDosage()) { 15870 composeMedicationAdministrationDosageComponent(t, "MedicationAdministration", "dosage", element.getDosage(), -1); 15871 } 15872 for (int i = 0; i < element.getEventHistory().size(); i++) { 15873 composeReference(t, "MedicationAdministration", "eventHistory", element.getEventHistory().get(i), i); 15874 } 15875 } 15876 15877 protected void composeMedicationAdministrationPerformerComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationPerformerComponent element, int index) { 15878 if (element == null) 15879 return; 15880 Complex t; 15881 if (Utilities.noString(parentType)) 15882 t = parent; 15883 else { 15884 t = parent.predicate("fhir:"+parentType+'.'+name); 15885 } 15886 composeBackboneElement(t, "performer", name, element, index); 15887 if (element.hasFunction()) { 15888 composeCodeableConcept(t, "MedicationAdministrationPerformerComponent", "function", element.getFunction(), -1); 15889 } 15890 if (element.hasActor()) { 15891 composeReference(t, "MedicationAdministrationPerformerComponent", "actor", element.getActor(), -1); 15892 } 15893 } 15894 15895 protected void composeMedicationAdministrationDosageComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationDosageComponent element, int index) { 15896 if (element == null) 15897 return; 15898 Complex t; 15899 if (Utilities.noString(parentType)) 15900 t = parent; 15901 else { 15902 t = parent.predicate("fhir:"+parentType+'.'+name); 15903 } 15904 composeBackboneElement(t, "dosage", name, element, index); 15905 if (element.hasTextElement()) { 15906 composeString(t, "MedicationAdministrationDosageComponent", "text", element.getTextElement(), -1); 15907 } 15908 if (element.hasSite()) { 15909 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "site", element.getSite(), -1); 15910 } 15911 if (element.hasRoute()) { 15912 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "route", element.getRoute(), -1); 15913 } 15914 if (element.hasMethod()) { 15915 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "method", element.getMethod(), -1); 15916 } 15917 if (element.hasDose()) { 15918 composeQuantity(t, "MedicationAdministrationDosageComponent", "dose", element.getDose(), -1); 15919 } 15920 if (element.hasRate()) { 15921 composeType(t, "MedicationAdministrationDosageComponent", "rate", element.getRate(), -1); 15922 } 15923 } 15924 15925 protected void composeMedicationDispense(Complex parent, String parentType, String name, MedicationDispense element, int index) { 15926 if (element == null) 15927 return; 15928 Complex t; 15929 if (Utilities.noString(parentType)) 15930 t = parent; 15931 else { 15932 t = parent.predicate("fhir:"+parentType+'.'+name); 15933 } 15934 composeDomainResource(t, "MedicationDispense", name, element, index); 15935 for (int i = 0; i < element.getIdentifier().size(); i++) { 15936 composeIdentifier(t, "MedicationDispense", "identifier", element.getIdentifier().get(i), i); 15937 } 15938 for (int i = 0; i < element.getBasedOn().size(); i++) { 15939 composeReference(t, "MedicationDispense", "basedOn", element.getBasedOn().get(i), i); 15940 } 15941 for (int i = 0; i < element.getPartOf().size(); i++) { 15942 composeReference(t, "MedicationDispense", "partOf", element.getPartOf().get(i), i); 15943 } 15944 if (element.hasStatusElement()) { 15945 composeEnum(t, "MedicationDispense", "status", element.getStatusElement(), -1); 15946 } 15947 if (element.hasStatusReason()) { 15948 composeCodeableReference(t, "MedicationDispense", "statusReason", element.getStatusReason(), -1); 15949 } 15950 if (element.hasStatusChangedElement()) { 15951 composeDateTime(t, "MedicationDispense", "statusChanged", element.getStatusChangedElement(), -1); 15952 } 15953 for (int i = 0; i < element.getCategory().size(); i++) { 15954 composeCodeableConcept(t, "MedicationDispense", "category", element.getCategory().get(i), i); 15955 } 15956 if (element.hasMedication()) { 15957 composeCodeableReference(t, "MedicationDispense", "medication", element.getMedication(), -1); 15958 } 15959 if (element.hasSubject()) { 15960 composeReference(t, "MedicationDispense", "subject", element.getSubject(), -1); 15961 } 15962 if (element.hasEncounter()) { 15963 composeReference(t, "MedicationDispense", "encounter", element.getEncounter(), -1); 15964 } 15965 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 15966 composeReference(t, "MedicationDispense", "supportingInformation", element.getSupportingInformation().get(i), i); 15967 } 15968 for (int i = 0; i < element.getPerformer().size(); i++) { 15969 composeMedicationDispensePerformerComponent(t, "MedicationDispense", "performer", element.getPerformer().get(i), i); 15970 } 15971 if (element.hasLocation()) { 15972 composeReference(t, "MedicationDispense", "location", element.getLocation(), -1); 15973 } 15974 for (int i = 0; i < element.getAuthorizingPrescription().size(); i++) { 15975 composeReference(t, "MedicationDispense", "authorizingPrescription", element.getAuthorizingPrescription().get(i), i); 15976 } 15977 if (element.hasType()) { 15978 composeCodeableConcept(t, "MedicationDispense", "type", element.getType(), -1); 15979 } 15980 if (element.hasQuantity()) { 15981 composeQuantity(t, "MedicationDispense", "quantity", element.getQuantity(), -1); 15982 } 15983 if (element.hasDaysSupply()) { 15984 composeQuantity(t, "MedicationDispense", "daysSupply", element.getDaysSupply(), -1); 15985 } 15986 if (element.hasRecordedElement()) { 15987 composeDateTime(t, "MedicationDispense", "recorded", element.getRecordedElement(), -1); 15988 } 15989 if (element.hasWhenPreparedElement()) { 15990 composeDateTime(t, "MedicationDispense", "whenPrepared", element.getWhenPreparedElement(), -1); 15991 } 15992 if (element.hasWhenHandedOverElement()) { 15993 composeDateTime(t, "MedicationDispense", "whenHandedOver", element.getWhenHandedOverElement(), -1); 15994 } 15995 if (element.hasDestination()) { 15996 composeReference(t, "MedicationDispense", "destination", element.getDestination(), -1); 15997 } 15998 for (int i = 0; i < element.getReceiver().size(); i++) { 15999 composeReference(t, "MedicationDispense", "receiver", element.getReceiver().get(i), i); 16000 } 16001 for (int i = 0; i < element.getNote().size(); i++) { 16002 composeAnnotation(t, "MedicationDispense", "note", element.getNote().get(i), i); 16003 } 16004 if (element.hasRenderedDosageInstructionElement()) { 16005 composeString(t, "MedicationDispense", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 16006 } 16007 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 16008 composeDosage(t, "MedicationDispense", "dosageInstruction", element.getDosageInstruction().get(i), i); 16009 } 16010 if (element.hasSubstitution()) { 16011 composeMedicationDispenseSubstitutionComponent(t, "MedicationDispense", "substitution", element.getSubstitution(), -1); 16012 } 16013 for (int i = 0; i < element.getDetectedIssue().size(); i++) { 16014 composeReference(t, "MedicationDispense", "detectedIssue", element.getDetectedIssue().get(i), i); 16015 } 16016 for (int i = 0; i < element.getEventHistory().size(); i++) { 16017 composeReference(t, "MedicationDispense", "eventHistory", element.getEventHistory().get(i), i); 16018 } 16019 } 16020 16021 protected void composeMedicationDispensePerformerComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispensePerformerComponent element, int index) { 16022 if (element == null) 16023 return; 16024 Complex t; 16025 if (Utilities.noString(parentType)) 16026 t = parent; 16027 else { 16028 t = parent.predicate("fhir:"+parentType+'.'+name); 16029 } 16030 composeBackboneElement(t, "performer", name, element, index); 16031 if (element.hasFunction()) { 16032 composeCodeableConcept(t, "MedicationDispensePerformerComponent", "function", element.getFunction(), -1); 16033 } 16034 if (element.hasActor()) { 16035 composeReference(t, "MedicationDispensePerformerComponent", "actor", element.getActor(), -1); 16036 } 16037 } 16038 16039 protected void composeMedicationDispenseSubstitutionComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispenseSubstitutionComponent element, int index) { 16040 if (element == null) 16041 return; 16042 Complex t; 16043 if (Utilities.noString(parentType)) 16044 t = parent; 16045 else { 16046 t = parent.predicate("fhir:"+parentType+'.'+name); 16047 } 16048 composeBackboneElement(t, "substitution", name, element, index); 16049 if (element.hasWasSubstitutedElement()) { 16050 composeBoolean(t, "MedicationDispenseSubstitutionComponent", "wasSubstituted", element.getWasSubstitutedElement(), -1); 16051 } 16052 if (element.hasType()) { 16053 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "type", element.getType(), -1); 16054 } 16055 for (int i = 0; i < element.getReason().size(); i++) { 16056 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "reason", element.getReason().get(i), i); 16057 } 16058 if (element.hasResponsibleParty()) { 16059 composeReference(t, "MedicationDispenseSubstitutionComponent", "responsibleParty", element.getResponsibleParty(), -1); 16060 } 16061 } 16062 16063 protected void composeMedicationKnowledge(Complex parent, String parentType, String name, MedicationKnowledge element, int index) { 16064 if (element == null) 16065 return; 16066 Complex t; 16067 if (Utilities.noString(parentType)) 16068 t = parent; 16069 else { 16070 t = parent.predicate("fhir:"+parentType+'.'+name); 16071 } 16072 composeDomainResource(t, "MedicationKnowledge", name, element, index); 16073 for (int i = 0; i < element.getIdentifier().size(); i++) { 16074 composeIdentifier(t, "MedicationKnowledge", "identifier", element.getIdentifier().get(i), i); 16075 } 16076 if (element.hasCode()) { 16077 composeCodeableConcept(t, "MedicationKnowledge", "code", element.getCode(), -1); 16078 } 16079 if (element.hasStatusElement()) { 16080 composeEnum(t, "MedicationKnowledge", "status", element.getStatusElement(), -1); 16081 } 16082 if (element.hasAuthor()) { 16083 composeReference(t, "MedicationKnowledge", "author", element.getAuthor(), -1); 16084 } 16085 for (int i = 0; i < element.getIntendedJurisdiction().size(); i++) { 16086 composeCodeableConcept(t, "MedicationKnowledge", "intendedJurisdiction", element.getIntendedJurisdiction().get(i), i); 16087 } 16088 for (int i = 0; i < element.getName().size(); i++) { 16089 composeString(t, "MedicationKnowledge", "name", element.getName().get(i), i); 16090 } 16091 for (int i = 0; i < element.getRelatedMedicationKnowledge().size(); i++) { 16092 composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(t, "MedicationKnowledge", "relatedMedicationKnowledge", element.getRelatedMedicationKnowledge().get(i), i); 16093 } 16094 for (int i = 0; i < element.getAssociatedMedication().size(); i++) { 16095 composeReference(t, "MedicationKnowledge", "associatedMedication", element.getAssociatedMedication().get(i), i); 16096 } 16097 for (int i = 0; i < element.getProductType().size(); i++) { 16098 composeCodeableConcept(t, "MedicationKnowledge", "productType", element.getProductType().get(i), i); 16099 } 16100 for (int i = 0; i < element.getMonograph().size(); i++) { 16101 composeMedicationKnowledgeMonographComponent(t, "MedicationKnowledge", "monograph", element.getMonograph().get(i), i); 16102 } 16103 if (element.hasPreparationInstructionElement()) { 16104 composeMarkdown(t, "MedicationKnowledge", "preparationInstruction", element.getPreparationInstructionElement(), -1); 16105 } 16106 for (int i = 0; i < element.getCost().size(); i++) { 16107 composeMedicationKnowledgeCostComponent(t, "MedicationKnowledge", "cost", element.getCost().get(i), i); 16108 } 16109 for (int i = 0; i < element.getMonitoringProgram().size(); i++) { 16110 composeMedicationKnowledgeMonitoringProgramComponent(t, "MedicationKnowledge", "monitoringProgram", element.getMonitoringProgram().get(i), i); 16111 } 16112 for (int i = 0; i < element.getIndicationGuideline().size(); i++) { 16113 composeMedicationKnowledgeIndicationGuidelineComponent(t, "MedicationKnowledge", "indicationGuideline", element.getIndicationGuideline().get(i), i); 16114 } 16115 for (int i = 0; i < element.getMedicineClassification().size(); i++) { 16116 composeMedicationKnowledgeMedicineClassificationComponent(t, "MedicationKnowledge", "medicineClassification", element.getMedicineClassification().get(i), i); 16117 } 16118 for (int i = 0; i < element.getPackaging().size(); i++) { 16119 composeMedicationKnowledgePackagingComponent(t, "MedicationKnowledge", "packaging", element.getPackaging().get(i), i); 16120 } 16121 for (int i = 0; i < element.getClinicalUseIssue().size(); i++) { 16122 composeReference(t, "MedicationKnowledge", "clinicalUseIssue", element.getClinicalUseIssue().get(i), i); 16123 } 16124 for (int i = 0; i < element.getRegulatory().size(); i++) { 16125 composeMedicationKnowledgeRegulatoryComponent(t, "MedicationKnowledge", "regulatory", element.getRegulatory().get(i), i); 16126 } 16127 if (element.hasDefinitional()) { 16128 composeMedicationKnowledgeDefinitionalComponent(t, "MedicationKnowledge", "definitional", element.getDefinitional(), -1); 16129 } 16130 } 16131 16132 protected void composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent element, int index) { 16133 if (element == null) 16134 return; 16135 Complex t; 16136 if (Utilities.noString(parentType)) 16137 t = parent; 16138 else { 16139 t = parent.predicate("fhir:"+parentType+'.'+name); 16140 } 16141 composeBackboneElement(t, "relatedMedicationKnowledge", name, element, index); 16142 if (element.hasType()) { 16143 composeCodeableConcept(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "type", element.getType(), -1); 16144 } 16145 for (int i = 0; i < element.getReference().size(); i++) { 16146 composeReference(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "reference", element.getReference().get(i), i); 16147 } 16148 } 16149 16150 protected void composeMedicationKnowledgeMonographComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonographComponent element, int index) { 16151 if (element == null) 16152 return; 16153 Complex t; 16154 if (Utilities.noString(parentType)) 16155 t = parent; 16156 else { 16157 t = parent.predicate("fhir:"+parentType+'.'+name); 16158 } 16159 composeBackboneElement(t, "monograph", name, element, index); 16160 if (element.hasType()) { 16161 composeCodeableConcept(t, "MedicationKnowledgeMonographComponent", "type", element.getType(), -1); 16162 } 16163 if (element.hasSource()) { 16164 composeReference(t, "MedicationKnowledgeMonographComponent", "source", element.getSource(), -1); 16165 } 16166 } 16167 16168 protected void composeMedicationKnowledgeCostComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeCostComponent element, int index) { 16169 if (element == null) 16170 return; 16171 Complex t; 16172 if (Utilities.noString(parentType)) 16173 t = parent; 16174 else { 16175 t = parent.predicate("fhir:"+parentType+'.'+name); 16176 } 16177 composeBackboneElement(t, "cost", name, element, index); 16178 for (int i = 0; i < element.getEffectiveDate().size(); i++) { 16179 composePeriod(t, "MedicationKnowledgeCostComponent", "effectiveDate", element.getEffectiveDate().get(i), i); 16180 } 16181 if (element.hasType()) { 16182 composeCodeableConcept(t, "MedicationKnowledgeCostComponent", "type", element.getType(), -1); 16183 } 16184 if (element.hasSourceElement()) { 16185 composeString(t, "MedicationKnowledgeCostComponent", "source", element.getSourceElement(), -1); 16186 } 16187 if (element.hasCost()) { 16188 composeType(t, "MedicationKnowledgeCostComponent", "cost", element.getCost(), -1); 16189 } 16190 } 16191 16192 protected void composeMedicationKnowledgeMonitoringProgramComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent element, int index) { 16193 if (element == null) 16194 return; 16195 Complex t; 16196 if (Utilities.noString(parentType)) 16197 t = parent; 16198 else { 16199 t = parent.predicate("fhir:"+parentType+'.'+name); 16200 } 16201 composeBackboneElement(t, "monitoringProgram", name, element, index); 16202 if (element.hasType()) { 16203 composeCodeableConcept(t, "MedicationKnowledgeMonitoringProgramComponent", "type", element.getType(), -1); 16204 } 16205 if (element.hasNameElement()) { 16206 composeString(t, "MedicationKnowledgeMonitoringProgramComponent", "name", element.getNameElement(), -1); 16207 } 16208 } 16209 16210 protected void composeMedicationKnowledgeIndicationGuidelineComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineComponent element, int index) { 16211 if (element == null) 16212 return; 16213 Complex t; 16214 if (Utilities.noString(parentType)) 16215 t = parent; 16216 else { 16217 t = parent.predicate("fhir:"+parentType+'.'+name); 16218 } 16219 composeBackboneElement(t, "indicationGuideline", name, element, index); 16220 for (int i = 0; i < element.getIndication().size(); i++) { 16221 composeCodeableReference(t, "MedicationKnowledgeIndicationGuidelineComponent", "indication", element.getIndication().get(i), i); 16222 } 16223 for (int i = 0; i < element.getDosingGuideline().size(); i++) { 16224 composeMedicationKnowledgeIndicationGuidelineDosingGuidelineComponent(t, "MedicationKnowledgeIndicationGuidelineComponent", "dosingGuideline", element.getDosingGuideline().get(i), i); 16225 } 16226 } 16227 16228 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelineComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent element, int index) { 16229 if (element == null) 16230 return; 16231 Complex t; 16232 if (Utilities.noString(parentType)) 16233 t = parent; 16234 else { 16235 t = parent.predicate("fhir:"+parentType+'.'+name); 16236 } 16237 composeBackboneElement(t, "dosingGuideline", name, element, index); 16238 if (element.hasTreatmentIntent()) { 16239 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "treatmentIntent", element.getTreatmentIntent(), -1); 16240 } 16241 for (int i = 0; i < element.getDosage().size(); i++) { 16242 composeMedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "dosage", element.getDosage().get(i), i); 16243 } 16244 if (element.hasAdministrationTreatment()) { 16245 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "administrationTreatment", element.getAdministrationTreatment(), -1); 16246 } 16247 for (int i = 0; i < element.getPatientCharacteristic().size(); i++) { 16248 composeMedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "patientCharacteristic", element.getPatientCharacteristic().get(i), i); 16249 } 16250 } 16251 16252 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent element, int index) { 16253 if (element == null) 16254 return; 16255 Complex t; 16256 if (Utilities.noString(parentType)) 16257 t = parent; 16258 else { 16259 t = parent.predicate("fhir:"+parentType+'.'+name); 16260 } 16261 composeBackboneElement(t, "dosage", name, element, index); 16262 if (element.hasType()) { 16263 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent", "type", element.getType(), -1); 16264 } 16265 for (int i = 0; i < element.getDosage().size(); i++) { 16266 composeDosage(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent", "dosage", element.getDosage().get(i), i); 16267 } 16268 } 16269 16270 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent element, int index) { 16271 if (element == null) 16272 return; 16273 Complex t; 16274 if (Utilities.noString(parentType)) 16275 t = parent; 16276 else { 16277 t = parent.predicate("fhir:"+parentType+'.'+name); 16278 } 16279 composeBackboneElement(t, "patientCharacteristic", name, element, index); 16280 if (element.hasType()) { 16281 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent", "type", element.getType(), -1); 16282 } 16283 if (element.hasValue()) { 16284 composeType(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent", "value", element.getValue(), -1); 16285 } 16286 } 16287 16288 protected void composeMedicationKnowledgeMedicineClassificationComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent element, int index) { 16289 if (element == null) 16290 return; 16291 Complex t; 16292 if (Utilities.noString(parentType)) 16293 t = parent; 16294 else { 16295 t = parent.predicate("fhir:"+parentType+'.'+name); 16296 } 16297 composeBackboneElement(t, "medicineClassification", name, element, index); 16298 if (element.hasType()) { 16299 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "type", element.getType(), -1); 16300 } 16301 if (element.hasSource()) { 16302 composeType(t, "MedicationKnowledgeMedicineClassificationComponent", "source", element.getSource(), -1); 16303 } 16304 for (int i = 0; i < element.getClassification().size(); i++) { 16305 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "classification", element.getClassification().get(i), i); 16306 } 16307 } 16308 16309 protected void composeMedicationKnowledgePackagingComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgePackagingComponent element, int index) { 16310 if (element == null) 16311 return; 16312 Complex t; 16313 if (Utilities.noString(parentType)) 16314 t = parent; 16315 else { 16316 t = parent.predicate("fhir:"+parentType+'.'+name); 16317 } 16318 composeBackboneElement(t, "packaging", name, element, index); 16319 for (int i = 0; i < element.getCost().size(); i++) { 16320 composeMedicationKnowledgeCostComponent(t, "MedicationKnowledgePackagingComponent", "cost", element.getCost().get(i), i); 16321 } 16322 if (element.hasPackagedProduct()) { 16323 composeReference(t, "MedicationKnowledgePackagingComponent", "packagedProduct", element.getPackagedProduct(), -1); 16324 } 16325 } 16326 16327 protected void composeMedicationKnowledgeRegulatoryComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryComponent element, int index) { 16328 if (element == null) 16329 return; 16330 Complex t; 16331 if (Utilities.noString(parentType)) 16332 t = parent; 16333 else { 16334 t = parent.predicate("fhir:"+parentType+'.'+name); 16335 } 16336 composeBackboneElement(t, "regulatory", name, element, index); 16337 if (element.hasRegulatoryAuthority()) { 16338 composeReference(t, "MedicationKnowledgeRegulatoryComponent", "regulatoryAuthority", element.getRegulatoryAuthority(), -1); 16339 } 16340 for (int i = 0; i < element.getSubstitution().size(); i++) { 16341 composeMedicationKnowledgeRegulatorySubstitutionComponent(t, "MedicationKnowledgeRegulatoryComponent", "substitution", element.getSubstitution().get(i), i); 16342 } 16343 for (int i = 0; i < element.getSchedule().size(); i++) { 16344 composeCodeableConcept(t, "MedicationKnowledgeRegulatoryComponent", "schedule", element.getSchedule().get(i), i); 16345 } 16346 if (element.hasMaxDispense()) { 16347 composeMedicationKnowledgeRegulatoryMaxDispenseComponent(t, "MedicationKnowledgeRegulatoryComponent", "maxDispense", element.getMaxDispense(), -1); 16348 } 16349 } 16350 16351 protected void composeMedicationKnowledgeRegulatorySubstitutionComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent element, int index) { 16352 if (element == null) 16353 return; 16354 Complex t; 16355 if (Utilities.noString(parentType)) 16356 t = parent; 16357 else { 16358 t = parent.predicate("fhir:"+parentType+'.'+name); 16359 } 16360 composeBackboneElement(t, "substitution", name, element, index); 16361 if (element.hasType()) { 16362 composeCodeableConcept(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "type", element.getType(), -1); 16363 } 16364 if (element.hasAllowedElement()) { 16365 composeBoolean(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "allowed", element.getAllowedElement(), -1); 16366 } 16367 } 16368 16369 protected void composeMedicationKnowledgeRegulatoryMaxDispenseComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent element, int index) { 16370 if (element == null) 16371 return; 16372 Complex t; 16373 if (Utilities.noString(parentType)) 16374 t = parent; 16375 else { 16376 t = parent.predicate("fhir:"+parentType+'.'+name); 16377 } 16378 composeBackboneElement(t, "maxDispense", name, element, index); 16379 if (element.hasQuantity()) { 16380 composeQuantity(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "quantity", element.getQuantity(), -1); 16381 } 16382 if (element.hasPeriod()) { 16383 composeDuration(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "period", element.getPeriod(), -1); 16384 } 16385 } 16386 16387 protected void composeMedicationKnowledgeDefinitionalComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalComponent element, int index) { 16388 if (element == null) 16389 return; 16390 Complex t; 16391 if (Utilities.noString(parentType)) 16392 t = parent; 16393 else { 16394 t = parent.predicate("fhir:"+parentType+'.'+name); 16395 } 16396 composeBackboneElement(t, "definitional", name, element, index); 16397 for (int i = 0; i < element.getDefinition().size(); i++) { 16398 composeReference(t, "MedicationKnowledgeDefinitionalComponent", "definition", element.getDefinition().get(i), i); 16399 } 16400 if (element.hasDoseForm()) { 16401 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalComponent", "doseForm", element.getDoseForm(), -1); 16402 } 16403 for (int i = 0; i < element.getIntendedRoute().size(); i++) { 16404 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalComponent", "intendedRoute", element.getIntendedRoute().get(i), i); 16405 } 16406 for (int i = 0; i < element.getIngredient().size(); i++) { 16407 composeMedicationKnowledgeDefinitionalIngredientComponent(t, "MedicationKnowledgeDefinitionalComponent", "ingredient", element.getIngredient().get(i), i); 16408 } 16409 for (int i = 0; i < element.getDrugCharacteristic().size(); i++) { 16410 composeMedicationKnowledgeDefinitionalDrugCharacteristicComponent(t, "MedicationKnowledgeDefinitionalComponent", "drugCharacteristic", element.getDrugCharacteristic().get(i), i); 16411 } 16412 } 16413 16414 protected void composeMedicationKnowledgeDefinitionalIngredientComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalIngredientComponent element, int index) { 16415 if (element == null) 16416 return; 16417 Complex t; 16418 if (Utilities.noString(parentType)) 16419 t = parent; 16420 else { 16421 t = parent.predicate("fhir:"+parentType+'.'+name); 16422 } 16423 composeBackboneElement(t, "ingredient", name, element, index); 16424 if (element.hasItem()) { 16425 composeCodeableReference(t, "MedicationKnowledgeDefinitionalIngredientComponent", "item", element.getItem(), -1); 16426 } 16427 if (element.hasType()) { 16428 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalIngredientComponent", "type", element.getType(), -1); 16429 } 16430 if (element.hasStrength()) { 16431 composeType(t, "MedicationKnowledgeDefinitionalIngredientComponent", "strength", element.getStrength(), -1); 16432 } 16433 } 16434 16435 protected void composeMedicationKnowledgeDefinitionalDrugCharacteristicComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalDrugCharacteristicComponent element, int index) { 16436 if (element == null) 16437 return; 16438 Complex t; 16439 if (Utilities.noString(parentType)) 16440 t = parent; 16441 else { 16442 t = parent.predicate("fhir:"+parentType+'.'+name); 16443 } 16444 composeBackboneElement(t, "drugCharacteristic", name, element, index); 16445 if (element.hasType()) { 16446 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalDrugCharacteristicComponent", "type", element.getType(), -1); 16447 } 16448 if (element.hasValue()) { 16449 composeType(t, "MedicationKnowledgeDefinitionalDrugCharacteristicComponent", "value", element.getValue(), -1); 16450 } 16451 } 16452 16453 protected void composeMedicationRequest(Complex parent, String parentType, String name, MedicationRequest element, int index) { 16454 if (element == null) 16455 return; 16456 Complex t; 16457 if (Utilities.noString(parentType)) 16458 t = parent; 16459 else { 16460 t = parent.predicate("fhir:"+parentType+'.'+name); 16461 } 16462 composeDomainResource(t, "MedicationRequest", name, element, index); 16463 for (int i = 0; i < element.getIdentifier().size(); i++) { 16464 composeIdentifier(t, "MedicationRequest", "identifier", element.getIdentifier().get(i), i); 16465 } 16466 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 16467 composeCanonical(t, "MedicationRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 16468 } 16469 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 16470 composeUri(t, "MedicationRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 16471 } 16472 for (int i = 0; i < element.getBasedOn().size(); i++) { 16473 composeReference(t, "MedicationRequest", "basedOn", element.getBasedOn().get(i), i); 16474 } 16475 if (element.hasPriorPrescription()) { 16476 composeReference(t, "MedicationRequest", "priorPrescription", element.getPriorPrescription(), -1); 16477 } 16478 if (element.hasGroupIdentifier()) { 16479 composeIdentifier(t, "MedicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 16480 } 16481 if (element.hasStatusElement()) { 16482 composeEnum(t, "MedicationRequest", "status", element.getStatusElement(), -1); 16483 } 16484 if (element.hasStatusReason()) { 16485 composeCodeableConcept(t, "MedicationRequest", "statusReason", element.getStatusReason(), -1); 16486 } 16487 if (element.hasStatusChangedElement()) { 16488 composeDateTime(t, "MedicationRequest", "statusChanged", element.getStatusChangedElement(), -1); 16489 } 16490 if (element.hasIntentElement()) { 16491 composeEnum(t, "MedicationRequest", "intent", element.getIntentElement(), -1); 16492 } 16493 for (int i = 0; i < element.getCategory().size(); i++) { 16494 composeCodeableConcept(t, "MedicationRequest", "category", element.getCategory().get(i), i); 16495 } 16496 if (element.hasPriorityElement()) { 16497 composeEnum(t, "MedicationRequest", "priority", element.getPriorityElement(), -1); 16498 } 16499 if (element.hasDoNotPerformElement()) { 16500 composeBoolean(t, "MedicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 16501 } 16502 if (element.hasMedication()) { 16503 composeCodeableReference(t, "MedicationRequest", "medication", element.getMedication(), -1); 16504 } 16505 if (element.hasSubject()) { 16506 composeReference(t, "MedicationRequest", "subject", element.getSubject(), -1); 16507 } 16508 if (element.hasInformationSource()) { 16509 composeReference(t, "MedicationRequest", "informationSource", element.getInformationSource(), -1); 16510 } 16511 if (element.hasEncounter()) { 16512 composeReference(t, "MedicationRequest", "encounter", element.getEncounter(), -1); 16513 } 16514 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 16515 composeReference(t, "MedicationRequest", "supportingInformation", element.getSupportingInformation().get(i), i); 16516 } 16517 if (element.hasAuthoredOnElement()) { 16518 composeDateTime(t, "MedicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 16519 } 16520 if (element.hasRequester()) { 16521 composeReference(t, "MedicationRequest", "requester", element.getRequester(), -1); 16522 } 16523 if (element.hasReportedElement()) { 16524 composeBoolean(t, "MedicationRequest", "reported", element.getReportedElement(), -1); 16525 } 16526 if (element.hasPerformerType()) { 16527 composeCodeableConcept(t, "MedicationRequest", "performerType", element.getPerformerType(), -1); 16528 } 16529 if (element.hasPerformer()) { 16530 composeReference(t, "MedicationRequest", "performer", element.getPerformer(), -1); 16531 } 16532 if (element.hasRecorder()) { 16533 composeReference(t, "MedicationRequest", "recorder", element.getRecorder(), -1); 16534 } 16535 for (int i = 0; i < element.getReason().size(); i++) { 16536 composeCodeableReference(t, "MedicationRequest", "reason", element.getReason().get(i), i); 16537 } 16538 if (element.hasCourseOfTherapyType()) { 16539 composeCodeableConcept(t, "MedicationRequest", "courseOfTherapyType", element.getCourseOfTherapyType(), -1); 16540 } 16541 for (int i = 0; i < element.getInsurance().size(); i++) { 16542 composeReference(t, "MedicationRequest", "insurance", element.getInsurance().get(i), i); 16543 } 16544 for (int i = 0; i < element.getNote().size(); i++) { 16545 composeAnnotation(t, "MedicationRequest", "note", element.getNote().get(i), i); 16546 } 16547 if (element.hasDose()) { 16548 composeMedicationRequestDoseComponent(t, "MedicationRequest", "dose", element.getDose(), -1); 16549 } 16550 if (element.hasDispenseRequest()) { 16551 composeMedicationRequestDispenseRequestComponent(t, "MedicationRequest", "dispenseRequest", element.getDispenseRequest(), -1); 16552 } 16553 if (element.hasSubstitution()) { 16554 composeMedicationRequestSubstitutionComponent(t, "MedicationRequest", "substitution", element.getSubstitution(), -1); 16555 } 16556 for (int i = 0; i < element.getDetectedIssue().size(); i++) { 16557 composeReference(t, "MedicationRequest", "detectedIssue", element.getDetectedIssue().get(i), i); 16558 } 16559 for (int i = 0; i < element.getEventHistory().size(); i++) { 16560 composeReference(t, "MedicationRequest", "eventHistory", element.getEventHistory().get(i), i); 16561 } 16562 } 16563 16564 protected void composeMedicationRequestDoseComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDoseComponent element, int index) { 16565 if (element == null) 16566 return; 16567 Complex t; 16568 if (Utilities.noString(parentType)) 16569 t = parent; 16570 else { 16571 t = parent.predicate("fhir:"+parentType+'.'+name); 16572 } 16573 composeBackboneElement(t, "dose", name, element, index); 16574 if (element.hasRenderedDosageInstructionElement()) { 16575 composeString(t, "MedicationRequestDoseComponent", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 16576 } 16577 if (element.hasEffectiveDosePeriodElement()) { 16578 composeDateTime(t, "MedicationRequestDoseComponent", "effectiveDosePeriod", element.getEffectiveDosePeriodElement(), -1); 16579 } 16580 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 16581 composeDosage(t, "MedicationRequestDoseComponent", "dosageInstruction", element.getDosageInstruction().get(i), i); 16582 } 16583 } 16584 16585 protected void composeMedicationRequestDispenseRequestComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestComponent element, int index) { 16586 if (element == null) 16587 return; 16588 Complex t; 16589 if (Utilities.noString(parentType)) 16590 t = parent; 16591 else { 16592 t = parent.predicate("fhir:"+parentType+'.'+name); 16593 } 16594 composeBackboneElement(t, "dispenseRequest", name, element, index); 16595 if (element.hasInitialFill()) { 16596 composeMedicationRequestDispenseRequestInitialFillComponent(t, "MedicationRequestDispenseRequestComponent", "initialFill", element.getInitialFill(), -1); 16597 } 16598 if (element.hasDispenseInterval()) { 16599 composeDuration(t, "MedicationRequestDispenseRequestComponent", "dispenseInterval", element.getDispenseInterval(), -1); 16600 } 16601 if (element.hasValidityPeriod()) { 16602 composePeriod(t, "MedicationRequestDispenseRequestComponent", "validityPeriod", element.getValidityPeriod(), -1); 16603 } 16604 if (element.hasNumberOfRepeatsAllowedElement()) { 16605 composeUnsignedInt(t, "MedicationRequestDispenseRequestComponent", "numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement(), -1); 16606 } 16607 if (element.hasQuantity()) { 16608 composeQuantity(t, "MedicationRequestDispenseRequestComponent", "quantity", element.getQuantity(), -1); 16609 } 16610 if (element.hasExpectedSupplyDuration()) { 16611 composeDuration(t, "MedicationRequestDispenseRequestComponent", "expectedSupplyDuration", element.getExpectedSupplyDuration(), -1); 16612 } 16613 if (element.hasDispenser()) { 16614 composeReference(t, "MedicationRequestDispenseRequestComponent", "dispenser", element.getDispenser(), -1); 16615 } 16616 for (int i = 0; i < element.getDispenserInstruction().size(); i++) { 16617 composeAnnotation(t, "MedicationRequestDispenseRequestComponent", "dispenserInstruction", element.getDispenserInstruction().get(i), i); 16618 } 16619 if (element.hasDoseAdministrationAid()) { 16620 composeCodeableConcept(t, "MedicationRequestDispenseRequestComponent", "doseAdministrationAid", element.getDoseAdministrationAid(), -1); 16621 } 16622 } 16623 16624 protected void composeMedicationRequestDispenseRequestInitialFillComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent element, int index) { 16625 if (element == null) 16626 return; 16627 Complex t; 16628 if (Utilities.noString(parentType)) 16629 t = parent; 16630 else { 16631 t = parent.predicate("fhir:"+parentType+'.'+name); 16632 } 16633 composeBackboneElement(t, "initialFill", name, element, index); 16634 if (element.hasQuantity()) { 16635 composeQuantity(t, "MedicationRequestDispenseRequestInitialFillComponent", "quantity", element.getQuantity(), -1); 16636 } 16637 if (element.hasDuration()) { 16638 composeDuration(t, "MedicationRequestDispenseRequestInitialFillComponent", "duration", element.getDuration(), -1); 16639 } 16640 } 16641 16642 protected void composeMedicationRequestSubstitutionComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestSubstitutionComponent element, int index) { 16643 if (element == null) 16644 return; 16645 Complex t; 16646 if (Utilities.noString(parentType)) 16647 t = parent; 16648 else { 16649 t = parent.predicate("fhir:"+parentType+'.'+name); 16650 } 16651 composeBackboneElement(t, "substitution", name, element, index); 16652 if (element.hasAllowed()) { 16653 composeType(t, "MedicationRequestSubstitutionComponent", "allowed", element.getAllowed(), -1); 16654 } 16655 if (element.hasReason()) { 16656 composeCodeableConcept(t, "MedicationRequestSubstitutionComponent", "reason", element.getReason(), -1); 16657 } 16658 } 16659 16660 protected void composeMedicationUsage(Complex parent, String parentType, String name, MedicationUsage element, int index) { 16661 if (element == null) 16662 return; 16663 Complex t; 16664 if (Utilities.noString(parentType)) 16665 t = parent; 16666 else { 16667 t = parent.predicate("fhir:"+parentType+'.'+name); 16668 } 16669 composeDomainResource(t, "MedicationUsage", name, element, index); 16670 for (int i = 0; i < element.getIdentifier().size(); i++) { 16671 composeIdentifier(t, "MedicationUsage", "identifier", element.getIdentifier().get(i), i); 16672 } 16673 if (element.hasStatusElement()) { 16674 composeEnum(t, "MedicationUsage", "status", element.getStatusElement(), -1); 16675 } 16676 for (int i = 0; i < element.getCategory().size(); i++) { 16677 composeCodeableConcept(t, "MedicationUsage", "category", element.getCategory().get(i), i); 16678 } 16679 if (element.hasMedication()) { 16680 composeCodeableReference(t, "MedicationUsage", "medication", element.getMedication(), -1); 16681 } 16682 if (element.hasSubject()) { 16683 composeReference(t, "MedicationUsage", "subject", element.getSubject(), -1); 16684 } 16685 if (element.hasEncounter()) { 16686 composeReference(t, "MedicationUsage", "encounter", element.getEncounter(), -1); 16687 } 16688 if (element.hasEffective()) { 16689 composeType(t, "MedicationUsage", "effective", element.getEffective(), -1); 16690 } 16691 if (element.hasDateAssertedElement()) { 16692 composeDateTime(t, "MedicationUsage", "dateAsserted", element.getDateAssertedElement(), -1); 16693 } 16694 if (element.hasInformationSource()) { 16695 composeReference(t, "MedicationUsage", "informationSource", element.getInformationSource(), -1); 16696 } 16697 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 16698 composeReference(t, "MedicationUsage", "derivedFrom", element.getDerivedFrom().get(i), i); 16699 } 16700 for (int i = 0; i < element.getReason().size(); i++) { 16701 composeCodeableReference(t, "MedicationUsage", "reason", element.getReason().get(i), i); 16702 } 16703 for (int i = 0; i < element.getNote().size(); i++) { 16704 composeAnnotation(t, "MedicationUsage", "note", element.getNote().get(i), i); 16705 } 16706 if (element.hasRenderedDosageInstructionElement()) { 16707 composeString(t, "MedicationUsage", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 16708 } 16709 for (int i = 0; i < element.getDosage().size(); i++) { 16710 composeDosage(t, "MedicationUsage", "dosage", element.getDosage().get(i), i); 16711 } 16712 if (element.hasAdherence()) { 16713 composeMedicationUsageAdherenceComponent(t, "MedicationUsage", "adherence", element.getAdherence(), -1); 16714 } 16715 } 16716 16717 protected void composeMedicationUsageAdherenceComponent(Complex parent, String parentType, String name, MedicationUsage.MedicationUsageAdherenceComponent element, int index) { 16718 if (element == null) 16719 return; 16720 Complex t; 16721 if (Utilities.noString(parentType)) 16722 t = parent; 16723 else { 16724 t = parent.predicate("fhir:"+parentType+'.'+name); 16725 } 16726 composeBackboneElement(t, "adherence", name, element, index); 16727 if (element.hasCode()) { 16728 composeCodeableConcept(t, "MedicationUsageAdherenceComponent", "code", element.getCode(), -1); 16729 } 16730 if (element.hasReason()) { 16731 composeCodeableConcept(t, "MedicationUsageAdherenceComponent", "reason", element.getReason(), -1); 16732 } 16733 } 16734 16735 protected void composeMedicinalProductDefinition(Complex parent, String parentType, String name, MedicinalProductDefinition element, int index) { 16736 if (element == null) 16737 return; 16738 Complex t; 16739 if (Utilities.noString(parentType)) 16740 t = parent; 16741 else { 16742 t = parent.predicate("fhir:"+parentType+'.'+name); 16743 } 16744 composeDomainResource(t, "MedicinalProductDefinition", name, element, index); 16745 for (int i = 0; i < element.getIdentifier().size(); i++) { 16746 composeIdentifier(t, "MedicinalProductDefinition", "identifier", element.getIdentifier().get(i), i); 16747 } 16748 if (element.hasType()) { 16749 composeCodeableConcept(t, "MedicinalProductDefinition", "type", element.getType(), -1); 16750 } 16751 if (element.hasDomain()) { 16752 composeCodeableConcept(t, "MedicinalProductDefinition", "domain", element.getDomain(), -1); 16753 } 16754 if (element.hasVersionElement()) { 16755 composeString(t, "MedicinalProductDefinition", "version", element.getVersionElement(), -1); 16756 } 16757 if (element.hasStatus()) { 16758 composeCodeableConcept(t, "MedicinalProductDefinition", "status", element.getStatus(), -1); 16759 } 16760 if (element.hasStatusDateElement()) { 16761 composeDateTime(t, "MedicinalProductDefinition", "statusDate", element.getStatusDateElement(), -1); 16762 } 16763 if (element.hasDescriptionElement()) { 16764 composeMarkdown(t, "MedicinalProductDefinition", "description", element.getDescriptionElement(), -1); 16765 } 16766 if (element.hasCombinedPharmaceuticalDoseForm()) { 16767 composeCodeableConcept(t, "MedicinalProductDefinition", "combinedPharmaceuticalDoseForm", element.getCombinedPharmaceuticalDoseForm(), -1); 16768 } 16769 for (int i = 0; i < element.getRoute().size(); i++) { 16770 composeCodeableConcept(t, "MedicinalProductDefinition", "route", element.getRoute().get(i), i); 16771 } 16772 if (element.hasIndicationElement()) { 16773 composeMarkdown(t, "MedicinalProductDefinition", "indication", element.getIndicationElement(), -1); 16774 } 16775 if (element.hasLegalStatusOfSupply()) { 16776 composeCodeableConcept(t, "MedicinalProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply(), -1); 16777 } 16778 if (element.hasAdditionalMonitoringIndicator()) { 16779 composeCodeableConcept(t, "MedicinalProductDefinition", "additionalMonitoringIndicator", element.getAdditionalMonitoringIndicator(), -1); 16780 } 16781 for (int i = 0; i < element.getSpecialMeasures().size(); i++) { 16782 composeCodeableConcept(t, "MedicinalProductDefinition", "specialMeasures", element.getSpecialMeasures().get(i), i); 16783 } 16784 if (element.hasPediatricUseIndicator()) { 16785 composeCodeableConcept(t, "MedicinalProductDefinition", "pediatricUseIndicator", element.getPediatricUseIndicator(), -1); 16786 } 16787 for (int i = 0; i < element.getClassification().size(); i++) { 16788 composeCodeableConcept(t, "MedicinalProductDefinition", "classification", element.getClassification().get(i), i); 16789 } 16790 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 16791 composeMarketingStatus(t, "MedicinalProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 16792 } 16793 for (int i = 0; i < element.getPackagedMedicinalProduct().size(); i++) { 16794 composeCodeableConcept(t, "MedicinalProductDefinition", "packagedMedicinalProduct", element.getPackagedMedicinalProduct().get(i), i); 16795 } 16796 for (int i = 0; i < element.getIngredient().size(); i++) { 16797 composeCodeableConcept(t, "MedicinalProductDefinition", "ingredient", element.getIngredient().get(i), i); 16798 } 16799 for (int i = 0; i < element.getImpurity().size(); i++) { 16800 composeCodeableReference(t, "MedicinalProductDefinition", "impurity", element.getImpurity().get(i), i); 16801 } 16802 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 16803 composeReference(t, "MedicinalProductDefinition", "attachedDocument", element.getAttachedDocument().get(i), i); 16804 } 16805 for (int i = 0; i < element.getMasterFile().size(); i++) { 16806 composeReference(t, "MedicinalProductDefinition", "masterFile", element.getMasterFile().get(i), i); 16807 } 16808 for (int i = 0; i < element.getContact().size(); i++) { 16809 composeMedicinalProductDefinitionContactComponent(t, "MedicinalProductDefinition", "contact", element.getContact().get(i), i); 16810 } 16811 for (int i = 0; i < element.getClinicalTrial().size(); i++) { 16812 composeReference(t, "MedicinalProductDefinition", "clinicalTrial", element.getClinicalTrial().get(i), i); 16813 } 16814 for (int i = 0; i < element.getCode().size(); i++) { 16815 composeCoding(t, "MedicinalProductDefinition", "code", element.getCode().get(i), i); 16816 } 16817 for (int i = 0; i < element.getName().size(); i++) { 16818 composeMedicinalProductDefinitionNameComponent(t, "MedicinalProductDefinition", "name", element.getName().get(i), i); 16819 } 16820 for (int i = 0; i < element.getCrossReference().size(); i++) { 16821 composeMedicinalProductDefinitionCrossReferenceComponent(t, "MedicinalProductDefinition", "crossReference", element.getCrossReference().get(i), i); 16822 } 16823 for (int i = 0; i < element.getOperation().size(); i++) { 16824 composeMedicinalProductDefinitionOperationComponent(t, "MedicinalProductDefinition", "operation", element.getOperation().get(i), i); 16825 } 16826 for (int i = 0; i < element.getCharacteristic().size(); i++) { 16827 composeMedicinalProductDefinitionCharacteristicComponent(t, "MedicinalProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 16828 } 16829 } 16830 16831 protected void composeMedicinalProductDefinitionContactComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionContactComponent element, int index) { 16832 if (element == null) 16833 return; 16834 Complex t; 16835 if (Utilities.noString(parentType)) 16836 t = parent; 16837 else { 16838 t = parent.predicate("fhir:"+parentType+'.'+name); 16839 } 16840 composeBackboneElement(t, "contact", name, element, index); 16841 if (element.hasType()) { 16842 composeCodeableConcept(t, "MedicinalProductDefinitionContactComponent", "type", element.getType(), -1); 16843 } 16844 if (element.hasContact()) { 16845 composeReference(t, "MedicinalProductDefinitionContactComponent", "contact", element.getContact(), -1); 16846 } 16847 } 16848 16849 protected void composeMedicinalProductDefinitionNameComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameComponent element, int index) { 16850 if (element == null) 16851 return; 16852 Complex t; 16853 if (Utilities.noString(parentType)) 16854 t = parent; 16855 else { 16856 t = parent.predicate("fhir:"+parentType+'.'+name); 16857 } 16858 composeBackboneElement(t, "name", name, element, index); 16859 if (element.hasProductNameElement()) { 16860 composeString(t, "MedicinalProductDefinitionNameComponent", "productName", element.getProductNameElement(), -1); 16861 } 16862 if (element.hasType()) { 16863 composeCodeableConcept(t, "MedicinalProductDefinitionNameComponent", "type", element.getType(), -1); 16864 } 16865 for (int i = 0; i < element.getNamePart().size(); i++) { 16866 composeMedicinalProductDefinitionNameNamePartComponent(t, "MedicinalProductDefinitionNameComponent", "namePart", element.getNamePart().get(i), i); 16867 } 16868 for (int i = 0; i < element.getCountryLanguage().size(); i++) { 16869 composeMedicinalProductDefinitionNameCountryLanguageComponent(t, "MedicinalProductDefinitionNameComponent", "countryLanguage", element.getCountryLanguage().get(i), i); 16870 } 16871 } 16872 16873 protected void composeMedicinalProductDefinitionNameNamePartComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element, int index) { 16874 if (element == null) 16875 return; 16876 Complex t; 16877 if (Utilities.noString(parentType)) 16878 t = parent; 16879 else { 16880 t = parent.predicate("fhir:"+parentType+'.'+name); 16881 } 16882 composeBackboneElement(t, "namePart", name, element, index); 16883 if (element.hasPartElement()) { 16884 composeString(t, "MedicinalProductDefinitionNameNamePartComponent", "part", element.getPartElement(), -1); 16885 } 16886 if (element.hasType()) { 16887 composeCodeableConcept(t, "MedicinalProductDefinitionNameNamePartComponent", "type", element.getType(), -1); 16888 } 16889 } 16890 16891 protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element, int index) { 16892 if (element == null) 16893 return; 16894 Complex t; 16895 if (Utilities.noString(parentType)) 16896 t = parent; 16897 else { 16898 t = parent.predicate("fhir:"+parentType+'.'+name); 16899 } 16900 composeBackboneElement(t, "countryLanguage", name, element, index); 16901 if (element.hasCountry()) { 16902 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "country", element.getCountry(), -1); 16903 } 16904 if (element.hasJurisdiction()) { 16905 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "jurisdiction", element.getJurisdiction(), -1); 16906 } 16907 if (element.hasLanguage()) { 16908 composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "language", element.getLanguage(), -1); 16909 } 16910 } 16911 16912 protected void composeMedicinalProductDefinitionCrossReferenceComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent element, int index) { 16913 if (element == null) 16914 return; 16915 Complex t; 16916 if (Utilities.noString(parentType)) 16917 t = parent; 16918 else { 16919 t = parent.predicate("fhir:"+parentType+'.'+name); 16920 } 16921 composeBackboneElement(t, "crossReference", name, element, index); 16922 if (element.hasProduct()) { 16923 composeCodeableReference(t, "MedicinalProductDefinitionCrossReferenceComponent", "product", element.getProduct(), -1); 16924 } 16925 if (element.hasType()) { 16926 composeCodeableConcept(t, "MedicinalProductDefinitionCrossReferenceComponent", "type", element.getType(), -1); 16927 } 16928 } 16929 16930 protected void composeMedicinalProductDefinitionOperationComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent element, int index) { 16931 if (element == null) 16932 return; 16933 Complex t; 16934 if (Utilities.noString(parentType)) 16935 t = parent; 16936 else { 16937 t = parent.predicate("fhir:"+parentType+'.'+name); 16938 } 16939 composeBackboneElement(t, "operation", name, element, index); 16940 if (element.hasType()) { 16941 composeCodeableReference(t, "MedicinalProductDefinitionOperationComponent", "type", element.getType(), -1); 16942 } 16943 if (element.hasEffectiveDate()) { 16944 composePeriod(t, "MedicinalProductDefinitionOperationComponent", "effectiveDate", element.getEffectiveDate(), -1); 16945 } 16946 for (int i = 0; i < element.getOrganization().size(); i++) { 16947 composeReference(t, "MedicinalProductDefinitionOperationComponent", "organization", element.getOrganization().get(i), i); 16948 } 16949 if (element.hasConfidentialityIndicator()) { 16950 composeCodeableConcept(t, "MedicinalProductDefinitionOperationComponent", "confidentialityIndicator", element.getConfidentialityIndicator(), -1); 16951 } 16952 } 16953 16954 protected void composeMedicinalProductDefinitionCharacteristicComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent element, int index) { 16955 if (element == null) 16956 return; 16957 Complex t; 16958 if (Utilities.noString(parentType)) 16959 t = parent; 16960 else { 16961 t = parent.predicate("fhir:"+parentType+'.'+name); 16962 } 16963 composeBackboneElement(t, "characteristic", name, element, index); 16964 if (element.hasType()) { 16965 composeCodeableConcept(t, "MedicinalProductDefinitionCharacteristicComponent", "type", element.getType(), -1); 16966 } 16967 if (element.hasValue()) { 16968 composeType(t, "MedicinalProductDefinitionCharacteristicComponent", "value", element.getValue(), -1); 16969 } 16970 } 16971 16972 protected void composeMessageDefinition(Complex parent, String parentType, String name, MessageDefinition element, int index) { 16973 if (element == null) 16974 return; 16975 Complex t; 16976 if (Utilities.noString(parentType)) 16977 t = parent; 16978 else { 16979 t = parent.predicate("fhir:"+parentType+'.'+name); 16980 } 16981 composeCanonicalResource(t, "MessageDefinition", name, element, index); 16982 if (element.hasUrlElement()) { 16983 composeUri(t, "MessageDefinition", "url", element.getUrlElement(), -1); 16984 } 16985 for (int i = 0; i < element.getIdentifier().size(); i++) { 16986 composeIdentifier(t, "MessageDefinition", "identifier", element.getIdentifier().get(i), i); 16987 } 16988 if (element.hasVersionElement()) { 16989 composeString(t, "MessageDefinition", "version", element.getVersionElement(), -1); 16990 } 16991 if (element.hasNameElement()) { 16992 composeString(t, "MessageDefinition", "name", element.getNameElement(), -1); 16993 } 16994 if (element.hasTitleElement()) { 16995 composeString(t, "MessageDefinition", "title", element.getTitleElement(), -1); 16996 } 16997 for (int i = 0; i < element.getReplaces().size(); i++) { 16998 composeCanonical(t, "MessageDefinition", "replaces", element.getReplaces().get(i), i); 16999 } 17000 if (element.hasStatusElement()) { 17001 composeEnum(t, "MessageDefinition", "status", element.getStatusElement(), -1); 17002 } 17003 if (element.hasExperimentalElement()) { 17004 composeBoolean(t, "MessageDefinition", "experimental", element.getExperimentalElement(), -1); 17005 } 17006 if (element.hasDateElement()) { 17007 composeDateTime(t, "MessageDefinition", "date", element.getDateElement(), -1); 17008 } 17009 if (element.hasPublisherElement()) { 17010 composeString(t, "MessageDefinition", "publisher", element.getPublisherElement(), -1); 17011 } 17012 for (int i = 0; i < element.getContact().size(); i++) { 17013 composeContactDetail(t, "MessageDefinition", "contact", element.getContact().get(i), i); 17014 } 17015 if (element.hasDescriptionElement()) { 17016 composeMarkdown(t, "MessageDefinition", "description", element.getDescriptionElement(), -1); 17017 } 17018 for (int i = 0; i < element.getUseContext().size(); i++) { 17019 composeUsageContext(t, "MessageDefinition", "useContext", element.getUseContext().get(i), i); 17020 } 17021 for (int i = 0; i < element.getJurisdiction().size(); i++) { 17022 composeCodeableConcept(t, "MessageDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 17023 } 17024 if (element.hasPurposeElement()) { 17025 composeMarkdown(t, "MessageDefinition", "purpose", element.getPurposeElement(), -1); 17026 } 17027 if (element.hasCopyrightElement()) { 17028 composeMarkdown(t, "MessageDefinition", "copyright", element.getCopyrightElement(), -1); 17029 } 17030 if (element.hasBaseElement()) { 17031 composeCanonical(t, "MessageDefinition", "base", element.getBaseElement(), -1); 17032 } 17033 for (int i = 0; i < element.getParent().size(); i++) { 17034 composeCanonical(t, "MessageDefinition", "parent", element.getParent().get(i), i); 17035 } 17036 if (element.hasEvent()) { 17037 composeType(t, "MessageDefinition", "event", element.getEvent(), -1); 17038 } 17039 if (element.hasCategoryElement()) { 17040 composeEnum(t, "MessageDefinition", "category", element.getCategoryElement(), -1); 17041 } 17042 for (int i = 0; i < element.getFocus().size(); i++) { 17043 composeMessageDefinitionFocusComponent(t, "MessageDefinition", "focus", element.getFocus().get(i), i); 17044 } 17045 if (element.hasResponseRequiredElement()) { 17046 composeEnum(t, "MessageDefinition", "responseRequired", element.getResponseRequiredElement(), -1); 17047 } 17048 for (int i = 0; i < element.getAllowedResponse().size(); i++) { 17049 composeMessageDefinitionAllowedResponseComponent(t, "MessageDefinition", "allowedResponse", element.getAllowedResponse().get(i), i); 17050 } 17051 for (int i = 0; i < element.getGraph().size(); i++) { 17052 composeCanonical(t, "MessageDefinition", "graph", element.getGraph().get(i), i); 17053 } 17054 } 17055 17056 protected void composeMessageDefinitionFocusComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionFocusComponent element, int index) { 17057 if (element == null) 17058 return; 17059 Complex t; 17060 if (Utilities.noString(parentType)) 17061 t = parent; 17062 else { 17063 t = parent.predicate("fhir:"+parentType+'.'+name); 17064 } 17065 composeBackboneElement(t, "focus", name, element, index); 17066 if (element.hasCodeElement()) { 17067 composeCode(t, "MessageDefinitionFocusComponent", "code", element.getCodeElement(), -1); 17068 } 17069 if (element.hasProfileElement()) { 17070 composeCanonical(t, "MessageDefinitionFocusComponent", "profile", element.getProfileElement(), -1); 17071 } 17072 if (element.hasMinElement()) { 17073 composeUnsignedInt(t, "MessageDefinitionFocusComponent", "min", element.getMinElement(), -1); 17074 } 17075 if (element.hasMaxElement()) { 17076 composeString(t, "MessageDefinitionFocusComponent", "max", element.getMaxElement(), -1); 17077 } 17078 } 17079 17080 protected void composeMessageDefinitionAllowedResponseComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionAllowedResponseComponent element, int index) { 17081 if (element == null) 17082 return; 17083 Complex t; 17084 if (Utilities.noString(parentType)) 17085 t = parent; 17086 else { 17087 t = parent.predicate("fhir:"+parentType+'.'+name); 17088 } 17089 composeBackboneElement(t, "allowedResponse", name, element, index); 17090 if (element.hasMessageElement()) { 17091 composeCanonical(t, "MessageDefinitionAllowedResponseComponent", "message", element.getMessageElement(), -1); 17092 } 17093 if (element.hasSituationElement()) { 17094 composeMarkdown(t, "MessageDefinitionAllowedResponseComponent", "situation", element.getSituationElement(), -1); 17095 } 17096 } 17097 17098 protected void composeMessageHeader(Complex parent, String parentType, String name, MessageHeader element, int index) { 17099 if (element == null) 17100 return; 17101 Complex t; 17102 if (Utilities.noString(parentType)) 17103 t = parent; 17104 else { 17105 t = parent.predicate("fhir:"+parentType+'.'+name); 17106 } 17107 composeDomainResource(t, "MessageHeader", name, element, index); 17108 if (element.hasEvent()) { 17109 composeType(t, "MessageHeader", "event", element.getEvent(), -1); 17110 } 17111 for (int i = 0; i < element.getDestination().size(); i++) { 17112 composeMessageHeaderMessageDestinationComponent(t, "MessageHeader", "destination", element.getDestination().get(i), i); 17113 } 17114 if (element.hasSender()) { 17115 composeReference(t, "MessageHeader", "sender", element.getSender(), -1); 17116 } 17117 if (element.hasEnterer()) { 17118 composeReference(t, "MessageHeader", "enterer", element.getEnterer(), -1); 17119 } 17120 if (element.hasAuthor()) { 17121 composeReference(t, "MessageHeader", "author", element.getAuthor(), -1); 17122 } 17123 if (element.hasSource()) { 17124 composeMessageHeaderMessageSourceComponent(t, "MessageHeader", "source", element.getSource(), -1); 17125 } 17126 if (element.hasResponsible()) { 17127 composeReference(t, "MessageHeader", "responsible", element.getResponsible(), -1); 17128 } 17129 if (element.hasReason()) { 17130 composeCodeableConcept(t, "MessageHeader", "reason", element.getReason(), -1); 17131 } 17132 if (element.hasResponse()) { 17133 composeMessageHeaderResponseComponent(t, "MessageHeader", "response", element.getResponse(), -1); 17134 } 17135 for (int i = 0; i < element.getFocus().size(); i++) { 17136 composeReference(t, "MessageHeader", "focus", element.getFocus().get(i), i); 17137 } 17138 if (element.hasDefinitionElement()) { 17139 composeCanonical(t, "MessageHeader", "definition", element.getDefinitionElement(), -1); 17140 } 17141 } 17142 17143 protected void composeMessageHeaderMessageDestinationComponent(Complex parent, String parentType, String name, MessageHeader.MessageDestinationComponent element, int index) { 17144 if (element == null) 17145 return; 17146 Complex t; 17147 if (Utilities.noString(parentType)) 17148 t = parent; 17149 else { 17150 t = parent.predicate("fhir:"+parentType+'.'+name); 17151 } 17152 composeBackboneElement(t, "destination", name, element, index); 17153 if (element.hasNameElement()) { 17154 composeString(t, "MessageDestinationComponent", "name", element.getNameElement(), -1); 17155 } 17156 if (element.hasTarget()) { 17157 composeReference(t, "MessageDestinationComponent", "target", element.getTarget(), -1); 17158 } 17159 if (element.hasEndpointElement()) { 17160 composeUrl(t, "MessageDestinationComponent", "endpoint", element.getEndpointElement(), -1); 17161 } 17162 if (element.hasReceiver()) { 17163 composeReference(t, "MessageDestinationComponent", "receiver", element.getReceiver(), -1); 17164 } 17165 } 17166 17167 protected void composeMessageHeaderMessageSourceComponent(Complex parent, String parentType, String name, MessageHeader.MessageSourceComponent element, int index) { 17168 if (element == null) 17169 return; 17170 Complex t; 17171 if (Utilities.noString(parentType)) 17172 t = parent; 17173 else { 17174 t = parent.predicate("fhir:"+parentType+'.'+name); 17175 } 17176 composeBackboneElement(t, "source", name, element, index); 17177 if (element.hasNameElement()) { 17178 composeString(t, "MessageSourceComponent", "name", element.getNameElement(), -1); 17179 } 17180 if (element.hasSoftwareElement()) { 17181 composeString(t, "MessageSourceComponent", "software", element.getSoftwareElement(), -1); 17182 } 17183 if (element.hasVersionElement()) { 17184 composeString(t, "MessageSourceComponent", "version", element.getVersionElement(), -1); 17185 } 17186 if (element.hasContact()) { 17187 composeContactPoint(t, "MessageSourceComponent", "contact", element.getContact(), -1); 17188 } 17189 if (element.hasEndpointElement()) { 17190 composeUrl(t, "MessageSourceComponent", "endpoint", element.getEndpointElement(), -1); 17191 } 17192 } 17193 17194 protected void composeMessageHeaderResponseComponent(Complex parent, String parentType, String name, MessageHeader.MessageHeaderResponseComponent element, int index) { 17195 if (element == null) 17196 return; 17197 Complex t; 17198 if (Utilities.noString(parentType)) 17199 t = parent; 17200 else { 17201 t = parent.predicate("fhir:"+parentType+'.'+name); 17202 } 17203 composeBackboneElement(t, "response", name, element, index); 17204 if (element.hasIdentifierElement()) { 17205 composeId(t, "MessageHeaderResponseComponent", "identifier", element.getIdentifierElement(), -1); 17206 } 17207 if (element.hasCodeElement()) { 17208 composeEnum(t, "MessageHeaderResponseComponent", "code", element.getCodeElement(), -1); 17209 } 17210 if (element.hasDetails()) { 17211 composeReference(t, "MessageHeaderResponseComponent", "details", element.getDetails(), -1); 17212 } 17213 } 17214 17215 protected void composeMolecularSequence(Complex parent, String parentType, String name, MolecularSequence element, int index) { 17216 if (element == null) 17217 return; 17218 Complex t; 17219 if (Utilities.noString(parentType)) 17220 t = parent; 17221 else { 17222 t = parent.predicate("fhir:"+parentType+'.'+name); 17223 } 17224 composeDomainResource(t, "MolecularSequence", name, element, index); 17225 for (int i = 0; i < element.getIdentifier().size(); i++) { 17226 composeIdentifier(t, "MolecularSequence", "identifier", element.getIdentifier().get(i), i); 17227 } 17228 if (element.hasTypeElement()) { 17229 composeEnum(t, "MolecularSequence", "type", element.getTypeElement(), -1); 17230 } 17231 if (element.hasCoordinateSystemElement()) { 17232 composeInteger(t, "MolecularSequence", "coordinateSystem", element.getCoordinateSystemElement(), -1); 17233 } 17234 if (element.hasPatient()) { 17235 composeReference(t, "MolecularSequence", "patient", element.getPatient(), -1); 17236 } 17237 if (element.hasSpecimen()) { 17238 composeReference(t, "MolecularSequence", "specimen", element.getSpecimen(), -1); 17239 } 17240 if (element.hasDevice()) { 17241 composeReference(t, "MolecularSequence", "device", element.getDevice(), -1); 17242 } 17243 if (element.hasPerformer()) { 17244 composeReference(t, "MolecularSequence", "performer", element.getPerformer(), -1); 17245 } 17246 if (element.hasQuantity()) { 17247 composeQuantity(t, "MolecularSequence", "quantity", element.getQuantity(), -1); 17248 } 17249 if (element.hasReferenceSeq()) { 17250 composeMolecularSequenceReferenceSeqComponent(t, "MolecularSequence", "referenceSeq", element.getReferenceSeq(), -1); 17251 } 17252 for (int i = 0; i < element.getVariant().size(); i++) { 17253 composeMolecularSequenceVariantComponent(t, "MolecularSequence", "variant", element.getVariant().get(i), i); 17254 } 17255 if (element.hasObservedSeqElement()) { 17256 composeString(t, "MolecularSequence", "observedSeq", element.getObservedSeqElement(), -1); 17257 } 17258 for (int i = 0; i < element.getQuality().size(); i++) { 17259 composeMolecularSequenceQualityComponent(t, "MolecularSequence", "quality", element.getQuality().get(i), i); 17260 } 17261 if (element.hasReadCoverageElement()) { 17262 composeInteger(t, "MolecularSequence", "readCoverage", element.getReadCoverageElement(), -1); 17263 } 17264 for (int i = 0; i < element.getRepository().size(); i++) { 17265 composeMolecularSequenceRepositoryComponent(t, "MolecularSequence", "repository", element.getRepository().get(i), i); 17266 } 17267 for (int i = 0; i < element.getPointer().size(); i++) { 17268 composeReference(t, "MolecularSequence", "pointer", element.getPointer().get(i), i); 17269 } 17270 for (int i = 0; i < element.getStructureVariant().size(); i++) { 17271 composeMolecularSequenceStructureVariantComponent(t, "MolecularSequence", "structureVariant", element.getStructureVariant().get(i), i); 17272 } 17273 } 17274 17275 protected void composeMolecularSequenceReferenceSeqComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceReferenceSeqComponent element, int index) { 17276 if (element == null) 17277 return; 17278 Complex t; 17279 if (Utilities.noString(parentType)) 17280 t = parent; 17281 else { 17282 t = parent.predicate("fhir:"+parentType+'.'+name); 17283 } 17284 composeBackboneElement(t, "referenceSeq", name, element, index); 17285 if (element.hasChromosome()) { 17286 composeCodeableConcept(t, "MolecularSequenceReferenceSeqComponent", "chromosome", element.getChromosome(), -1); 17287 } 17288 if (element.hasGenomeBuildElement()) { 17289 composeString(t, "MolecularSequenceReferenceSeqComponent", "genomeBuild", element.getGenomeBuildElement(), -1); 17290 } 17291 if (element.hasOrientationElement()) { 17292 composeEnum(t, "MolecularSequenceReferenceSeqComponent", "orientation", element.getOrientationElement(), -1); 17293 } 17294 if (element.hasReferenceSeqId()) { 17295 composeCodeableConcept(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqId", element.getReferenceSeqId(), -1); 17296 } 17297 if (element.hasReferenceSeqPointer()) { 17298 composeReference(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqPointer", element.getReferenceSeqPointer(), -1); 17299 } 17300 if (element.hasReferenceSeqStringElement()) { 17301 composeString(t, "MolecularSequenceReferenceSeqComponent", "referenceSeqString", element.getReferenceSeqStringElement(), -1); 17302 } 17303 if (element.hasStrandElement()) { 17304 composeEnum(t, "MolecularSequenceReferenceSeqComponent", "strand", element.getStrandElement(), -1); 17305 } 17306 if (element.hasWindowStartElement()) { 17307 composeInteger(t, "MolecularSequenceReferenceSeqComponent", "windowStart", element.getWindowStartElement(), -1); 17308 } 17309 if (element.hasWindowEndElement()) { 17310 composeInteger(t, "MolecularSequenceReferenceSeqComponent", "windowEnd", element.getWindowEndElement(), -1); 17311 } 17312 } 17313 17314 protected void composeMolecularSequenceVariantComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceVariantComponent element, int index) { 17315 if (element == null) 17316 return; 17317 Complex t; 17318 if (Utilities.noString(parentType)) 17319 t = parent; 17320 else { 17321 t = parent.predicate("fhir:"+parentType+'.'+name); 17322 } 17323 composeBackboneElement(t, "variant", name, element, index); 17324 if (element.hasStartElement()) { 17325 composeInteger(t, "MolecularSequenceVariantComponent", "start", element.getStartElement(), -1); 17326 } 17327 if (element.hasEndElement()) { 17328 composeInteger(t, "MolecularSequenceVariantComponent", "end", element.getEndElement(), -1); 17329 } 17330 if (element.hasObservedAlleleElement()) { 17331 composeString(t, "MolecularSequenceVariantComponent", "observedAllele", element.getObservedAlleleElement(), -1); 17332 } 17333 if (element.hasReferenceAlleleElement()) { 17334 composeString(t, "MolecularSequenceVariantComponent", "referenceAllele", element.getReferenceAlleleElement(), -1); 17335 } 17336 if (element.hasCigarElement()) { 17337 composeString(t, "MolecularSequenceVariantComponent", "cigar", element.getCigarElement(), -1); 17338 } 17339 if (element.hasVariantPointer()) { 17340 composeReference(t, "MolecularSequenceVariantComponent", "variantPointer", element.getVariantPointer(), -1); 17341 } 17342 } 17343 17344 protected void composeMolecularSequenceQualityComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceQualityComponent element, int index) { 17345 if (element == null) 17346 return; 17347 Complex t; 17348 if (Utilities.noString(parentType)) 17349 t = parent; 17350 else { 17351 t = parent.predicate("fhir:"+parentType+'.'+name); 17352 } 17353 composeBackboneElement(t, "quality", name, element, index); 17354 if (element.hasTypeElement()) { 17355 composeEnum(t, "MolecularSequenceQualityComponent", "type", element.getTypeElement(), -1); 17356 } 17357 if (element.hasStandardSequence()) { 17358 composeCodeableConcept(t, "MolecularSequenceQualityComponent", "standardSequence", element.getStandardSequence(), -1); 17359 } 17360 if (element.hasStartElement()) { 17361 composeInteger(t, "MolecularSequenceQualityComponent", "start", element.getStartElement(), -1); 17362 } 17363 if (element.hasEndElement()) { 17364 composeInteger(t, "MolecularSequenceQualityComponent", "end", element.getEndElement(), -1); 17365 } 17366 if (element.hasScore()) { 17367 composeQuantity(t, "MolecularSequenceQualityComponent", "score", element.getScore(), -1); 17368 } 17369 if (element.hasMethod()) { 17370 composeCodeableConcept(t, "MolecularSequenceQualityComponent", "method", element.getMethod(), -1); 17371 } 17372 if (element.hasTruthTPElement()) { 17373 composeDecimal(t, "MolecularSequenceQualityComponent", "truthTP", element.getTruthTPElement(), -1); 17374 } 17375 if (element.hasQueryTPElement()) { 17376 composeDecimal(t, "MolecularSequenceQualityComponent", "queryTP", element.getQueryTPElement(), -1); 17377 } 17378 if (element.hasTruthFNElement()) { 17379 composeDecimal(t, "MolecularSequenceQualityComponent", "truthFN", element.getTruthFNElement(), -1); 17380 } 17381 if (element.hasQueryFPElement()) { 17382 composeDecimal(t, "MolecularSequenceQualityComponent", "queryFP", element.getQueryFPElement(), -1); 17383 } 17384 if (element.hasGtFPElement()) { 17385 composeDecimal(t, "MolecularSequenceQualityComponent", "gtFP", element.getGtFPElement(), -1); 17386 } 17387 if (element.hasPrecisionElement()) { 17388 composeDecimal(t, "MolecularSequenceQualityComponent", "precision", element.getPrecisionElement(), -1); 17389 } 17390 if (element.hasRecallElement()) { 17391 composeDecimal(t, "MolecularSequenceQualityComponent", "recall", element.getRecallElement(), -1); 17392 } 17393 if (element.hasFScoreElement()) { 17394 composeDecimal(t, "MolecularSequenceQualityComponent", "fScore", element.getFScoreElement(), -1); 17395 } 17396 if (element.hasRoc()) { 17397 composeMolecularSequenceQualityRocComponent(t, "MolecularSequenceQualityComponent", "roc", element.getRoc(), -1); 17398 } 17399 } 17400 17401 protected void composeMolecularSequenceQualityRocComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceQualityRocComponent element, int index) { 17402 if (element == null) 17403 return; 17404 Complex t; 17405 if (Utilities.noString(parentType)) 17406 t = parent; 17407 else { 17408 t = parent.predicate("fhir:"+parentType+'.'+name); 17409 } 17410 composeBackboneElement(t, "roc", name, element, index); 17411 for (int i = 0; i < element.getScore().size(); i++) { 17412 composeInteger(t, "MolecularSequenceQualityRocComponent", "score", element.getScore().get(i), i); 17413 } 17414 for (int i = 0; i < element.getNumTP().size(); i++) { 17415 composeInteger(t, "MolecularSequenceQualityRocComponent", "numTP", element.getNumTP().get(i), i); 17416 } 17417 for (int i = 0; i < element.getNumFP().size(); i++) { 17418 composeInteger(t, "MolecularSequenceQualityRocComponent", "numFP", element.getNumFP().get(i), i); 17419 } 17420 for (int i = 0; i < element.getNumFN().size(); i++) { 17421 composeInteger(t, "MolecularSequenceQualityRocComponent", "numFN", element.getNumFN().get(i), i); 17422 } 17423 for (int i = 0; i < element.getPrecision().size(); i++) { 17424 composeDecimal(t, "MolecularSequenceQualityRocComponent", "precision", element.getPrecision().get(i), i); 17425 } 17426 for (int i = 0; i < element.getSensitivity().size(); i++) { 17427 composeDecimal(t, "MolecularSequenceQualityRocComponent", "sensitivity", element.getSensitivity().get(i), i); 17428 } 17429 for (int i = 0; i < element.getFMeasure().size(); i++) { 17430 composeDecimal(t, "MolecularSequenceQualityRocComponent", "fMeasure", element.getFMeasure().get(i), i); 17431 } 17432 } 17433 17434 protected void composeMolecularSequenceRepositoryComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRepositoryComponent element, int index) { 17435 if (element == null) 17436 return; 17437 Complex t; 17438 if (Utilities.noString(parentType)) 17439 t = parent; 17440 else { 17441 t = parent.predicate("fhir:"+parentType+'.'+name); 17442 } 17443 composeBackboneElement(t, "repository", name, element, index); 17444 if (element.hasTypeElement()) { 17445 composeEnum(t, "MolecularSequenceRepositoryComponent", "type", element.getTypeElement(), -1); 17446 } 17447 if (element.hasUrlElement()) { 17448 composeUri(t, "MolecularSequenceRepositoryComponent", "url", element.getUrlElement(), -1); 17449 } 17450 if (element.hasNameElement()) { 17451 composeString(t, "MolecularSequenceRepositoryComponent", "name", element.getNameElement(), -1); 17452 } 17453 if (element.hasDatasetIdElement()) { 17454 composeString(t, "MolecularSequenceRepositoryComponent", "datasetId", element.getDatasetIdElement(), -1); 17455 } 17456 if (element.hasVariantsetIdElement()) { 17457 composeString(t, "MolecularSequenceRepositoryComponent", "variantsetId", element.getVariantsetIdElement(), -1); 17458 } 17459 if (element.hasReadsetIdElement()) { 17460 composeString(t, "MolecularSequenceRepositoryComponent", "readsetId", element.getReadsetIdElement(), -1); 17461 } 17462 } 17463 17464 protected void composeMolecularSequenceStructureVariantComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantComponent element, int index) { 17465 if (element == null) 17466 return; 17467 Complex t; 17468 if (Utilities.noString(parentType)) 17469 t = parent; 17470 else { 17471 t = parent.predicate("fhir:"+parentType+'.'+name); 17472 } 17473 composeBackboneElement(t, "structureVariant", name, element, index); 17474 if (element.hasVariantType()) { 17475 composeCodeableConcept(t, "MolecularSequenceStructureVariantComponent", "variantType", element.getVariantType(), -1); 17476 } 17477 if (element.hasExactElement()) { 17478 composeBoolean(t, "MolecularSequenceStructureVariantComponent", "exact", element.getExactElement(), -1); 17479 } 17480 if (element.hasLengthElement()) { 17481 composeInteger(t, "MolecularSequenceStructureVariantComponent", "length", element.getLengthElement(), -1); 17482 } 17483 if (element.hasOuter()) { 17484 composeMolecularSequenceStructureVariantOuterComponent(t, "MolecularSequenceStructureVariantComponent", "outer", element.getOuter(), -1); 17485 } 17486 if (element.hasInner()) { 17487 composeMolecularSequenceStructureVariantInnerComponent(t, "MolecularSequenceStructureVariantComponent", "inner", element.getInner(), -1); 17488 } 17489 } 17490 17491 protected void composeMolecularSequenceStructureVariantOuterComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantOuterComponent element, int index) { 17492 if (element == null) 17493 return; 17494 Complex t; 17495 if (Utilities.noString(parentType)) 17496 t = parent; 17497 else { 17498 t = parent.predicate("fhir:"+parentType+'.'+name); 17499 } 17500 composeBackboneElement(t, "outer", name, element, index); 17501 if (element.hasStartElement()) { 17502 composeInteger(t, "MolecularSequenceStructureVariantOuterComponent", "start", element.getStartElement(), -1); 17503 } 17504 if (element.hasEndElement()) { 17505 composeInteger(t, "MolecularSequenceStructureVariantOuterComponent", "end", element.getEndElement(), -1); 17506 } 17507 } 17508 17509 protected void composeMolecularSequenceStructureVariantInnerComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceStructureVariantInnerComponent element, int index) { 17510 if (element == null) 17511 return; 17512 Complex t; 17513 if (Utilities.noString(parentType)) 17514 t = parent; 17515 else { 17516 t = parent.predicate("fhir:"+parentType+'.'+name); 17517 } 17518 composeBackboneElement(t, "inner", name, element, index); 17519 if (element.hasStartElement()) { 17520 composeInteger(t, "MolecularSequenceStructureVariantInnerComponent", "start", element.getStartElement(), -1); 17521 } 17522 if (element.hasEndElement()) { 17523 composeInteger(t, "MolecularSequenceStructureVariantInnerComponent", "end", element.getEndElement(), -1); 17524 } 17525 } 17526 17527 protected void composeNamingSystem(Complex parent, String parentType, String name, NamingSystem element, int index) { 17528 if (element == null) 17529 return; 17530 Complex t; 17531 if (Utilities.noString(parentType)) 17532 t = parent; 17533 else { 17534 t = parent.predicate("fhir:"+parentType+'.'+name); 17535 } 17536 composeCanonicalResource(t, "NamingSystem", name, element, index); 17537 if (element.hasUrlElement()) { 17538 composeUri(t, "NamingSystem", "url", element.getUrlElement(), -1); 17539 } 17540 if (element.hasVersionElement()) { 17541 composeString(t, "NamingSystem", "version", element.getVersionElement(), -1); 17542 } 17543 if (element.hasNameElement()) { 17544 composeString(t, "NamingSystem", "name", element.getNameElement(), -1); 17545 } 17546 if (element.hasTitleElement()) { 17547 composeString(t, "NamingSystem", "title", element.getTitleElement(), -1); 17548 } 17549 if (element.hasStatusElement()) { 17550 composeEnum(t, "NamingSystem", "status", element.getStatusElement(), -1); 17551 } 17552 if (element.hasKindElement()) { 17553 composeEnum(t, "NamingSystem", "kind", element.getKindElement(), -1); 17554 } 17555 if (element.hasDateElement()) { 17556 composeDateTime(t, "NamingSystem", "date", element.getDateElement(), -1); 17557 } 17558 if (element.hasPublisherElement()) { 17559 composeString(t, "NamingSystem", "publisher", element.getPublisherElement(), -1); 17560 } 17561 for (int i = 0; i < element.getContact().size(); i++) { 17562 composeContactDetail(t, "NamingSystem", "contact", element.getContact().get(i), i); 17563 } 17564 if (element.hasResponsibleElement()) { 17565 composeString(t, "NamingSystem", "responsible", element.getResponsibleElement(), -1); 17566 } 17567 if (element.hasType()) { 17568 composeCodeableConcept(t, "NamingSystem", "type", element.getType(), -1); 17569 } 17570 if (element.hasDescriptionElement()) { 17571 composeMarkdown(t, "NamingSystem", "description", element.getDescriptionElement(), -1); 17572 } 17573 for (int i = 0; i < element.getUseContext().size(); i++) { 17574 composeUsageContext(t, "NamingSystem", "useContext", element.getUseContext().get(i), i); 17575 } 17576 for (int i = 0; i < element.getJurisdiction().size(); i++) { 17577 composeCodeableConcept(t, "NamingSystem", "jurisdiction", element.getJurisdiction().get(i), i); 17578 } 17579 if (element.hasUsageElement()) { 17580 composeString(t, "NamingSystem", "usage", element.getUsageElement(), -1); 17581 } 17582 for (int i = 0; i < element.getUniqueId().size(); i++) { 17583 composeNamingSystemUniqueIdComponent(t, "NamingSystem", "uniqueId", element.getUniqueId().get(i), i); 17584 } 17585 } 17586 17587 protected void composeNamingSystemUniqueIdComponent(Complex parent, String parentType, String name, NamingSystem.NamingSystemUniqueIdComponent element, int index) { 17588 if (element == null) 17589 return; 17590 Complex t; 17591 if (Utilities.noString(parentType)) 17592 t = parent; 17593 else { 17594 t = parent.predicate("fhir:"+parentType+'.'+name); 17595 } 17596 composeBackboneElement(t, "uniqueId", name, element, index); 17597 if (element.hasTypeElement()) { 17598 composeEnum(t, "NamingSystemUniqueIdComponent", "type", element.getTypeElement(), -1); 17599 } 17600 if (element.hasValueElement()) { 17601 composeString(t, "NamingSystemUniqueIdComponent", "value", element.getValueElement(), -1); 17602 } 17603 if (element.hasPreferredElement()) { 17604 composeBoolean(t, "NamingSystemUniqueIdComponent", "preferred", element.getPreferredElement(), -1); 17605 } 17606 if (element.hasCommentElement()) { 17607 composeString(t, "NamingSystemUniqueIdComponent", "comment", element.getCommentElement(), -1); 17608 } 17609 if (element.hasPeriod()) { 17610 composePeriod(t, "NamingSystemUniqueIdComponent", "period", element.getPeriod(), -1); 17611 } 17612 if (element.hasAuthoritativeElement()) { 17613 composeBoolean(t, "NamingSystemUniqueIdComponent", "authoritative", element.getAuthoritativeElement(), -1); 17614 } 17615 } 17616 17617 protected void composeNutritionIntake(Complex parent, String parentType, String name, NutritionIntake element, int index) { 17618 if (element == null) 17619 return; 17620 Complex t; 17621 if (Utilities.noString(parentType)) 17622 t = parent; 17623 else { 17624 t = parent.predicate("fhir:"+parentType+'.'+name); 17625 } 17626 composeDomainResource(t, "NutritionIntake", name, element, index); 17627 for (int i = 0; i < element.getIdentifier().size(); i++) { 17628 composeIdentifier(t, "NutritionIntake", "identifier", element.getIdentifier().get(i), i); 17629 } 17630 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 17631 composeCanonical(t, "NutritionIntake", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 17632 } 17633 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 17634 composeUri(t, "NutritionIntake", "instantiatesUri", element.getInstantiatesUri().get(i), i); 17635 } 17636 for (int i = 0; i < element.getBasedOn().size(); i++) { 17637 composeReference(t, "NutritionIntake", "basedOn", element.getBasedOn().get(i), i); 17638 } 17639 for (int i = 0; i < element.getPartOf().size(); i++) { 17640 composeReference(t, "NutritionIntake", "partOf", element.getPartOf().get(i), i); 17641 } 17642 if (element.hasStatusElement()) { 17643 composeEnum(t, "NutritionIntake", "status", element.getStatusElement(), -1); 17644 } 17645 for (int i = 0; i < element.getStatusReason().size(); i++) { 17646 composeCodeableConcept(t, "NutritionIntake", "statusReason", element.getStatusReason().get(i), i); 17647 } 17648 if (element.hasCode()) { 17649 composeCodeableConcept(t, "NutritionIntake", "code", element.getCode(), -1); 17650 } 17651 if (element.hasSubject()) { 17652 composeReference(t, "NutritionIntake", "subject", element.getSubject(), -1); 17653 } 17654 if (element.hasEncounter()) { 17655 composeReference(t, "NutritionIntake", "encounter", element.getEncounter(), -1); 17656 } 17657 if (element.hasOccurrence()) { 17658 composeType(t, "NutritionIntake", "occurrence", element.getOccurrence(), -1); 17659 } 17660 if (element.hasRecordedElement()) { 17661 composeDateTime(t, "NutritionIntake", "recorded", element.getRecordedElement(), -1); 17662 } 17663 if (element.hasReported()) { 17664 composeType(t, "NutritionIntake", "reported", element.getReported(), -1); 17665 } 17666 for (int i = 0; i < element.getConsumedItem().size(); i++) { 17667 composeNutritionIntakeConsumedItemComponent(t, "NutritionIntake", "consumedItem", element.getConsumedItem().get(i), i); 17668 } 17669 for (int i = 0; i < element.getIngredientLabel().size(); i++) { 17670 composeNutritionIntakeIngredientLabelComponent(t, "NutritionIntake", "ingredientLabel", element.getIngredientLabel().get(i), i); 17671 } 17672 for (int i = 0; i < element.getPerformer().size(); i++) { 17673 composeNutritionIntakePerformerComponent(t, "NutritionIntake", "performer", element.getPerformer().get(i), i); 17674 } 17675 if (element.hasLocation()) { 17676 composeReference(t, "NutritionIntake", "location", element.getLocation(), -1); 17677 } 17678 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 17679 composeReference(t, "NutritionIntake", "derivedFrom", element.getDerivedFrom().get(i), i); 17680 } 17681 for (int i = 0; i < element.getReason().size(); i++) { 17682 composeCodeableReference(t, "NutritionIntake", "reason", element.getReason().get(i), i); 17683 } 17684 for (int i = 0; i < element.getNote().size(); i++) { 17685 composeAnnotation(t, "NutritionIntake", "note", element.getNote().get(i), i); 17686 } 17687 } 17688 17689 protected void composeNutritionIntakeConsumedItemComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakeConsumedItemComponent element, int index) { 17690 if (element == null) 17691 return; 17692 Complex t; 17693 if (Utilities.noString(parentType)) 17694 t = parent; 17695 else { 17696 t = parent.predicate("fhir:"+parentType+'.'+name); 17697 } 17698 composeBackboneElement(t, "consumedItem", name, element, index); 17699 if (element.hasType()) { 17700 composeCodeableConcept(t, "NutritionIntakeConsumedItemComponent", "type", element.getType(), -1); 17701 } 17702 if (element.hasNutritionProduct()) { 17703 composeCodeableReference(t, "NutritionIntakeConsumedItemComponent", "nutritionProduct", element.getNutritionProduct(), -1); 17704 } 17705 if (element.hasSchedule()) { 17706 composeTiming(t, "NutritionIntakeConsumedItemComponent", "schedule", element.getSchedule(), -1); 17707 } 17708 if (element.hasAmount()) { 17709 composeQuantity(t, "NutritionIntakeConsumedItemComponent", "amount", element.getAmount(), -1); 17710 } 17711 if (element.hasRate()) { 17712 composeQuantity(t, "NutritionIntakeConsumedItemComponent", "rate", element.getRate(), -1); 17713 } 17714 if (element.hasNotConsumedElement()) { 17715 composeBoolean(t, "NutritionIntakeConsumedItemComponent", "notConsumed", element.getNotConsumedElement(), -1); 17716 } 17717 if (element.hasNotConsumedReason()) { 17718 composeCodeableConcept(t, "NutritionIntakeConsumedItemComponent", "notConsumedReason", element.getNotConsumedReason(), -1); 17719 } 17720 } 17721 17722 protected void composeNutritionIntakeIngredientLabelComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakeIngredientLabelComponent element, int index) { 17723 if (element == null) 17724 return; 17725 Complex t; 17726 if (Utilities.noString(parentType)) 17727 t = parent; 17728 else { 17729 t = parent.predicate("fhir:"+parentType+'.'+name); 17730 } 17731 composeBackboneElement(t, "ingredientLabel", name, element, index); 17732 if (element.hasNutrient()) { 17733 composeCodeableReference(t, "NutritionIntakeIngredientLabelComponent", "nutrient", element.getNutrient(), -1); 17734 } 17735 if (element.hasAmount()) { 17736 composeQuantity(t, "NutritionIntakeIngredientLabelComponent", "amount", element.getAmount(), -1); 17737 } 17738 } 17739 17740 protected void composeNutritionIntakePerformerComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakePerformerComponent element, int index) { 17741 if (element == null) 17742 return; 17743 Complex t; 17744 if (Utilities.noString(parentType)) 17745 t = parent; 17746 else { 17747 t = parent.predicate("fhir:"+parentType+'.'+name); 17748 } 17749 composeBackboneElement(t, "performer", name, element, index); 17750 if (element.hasFunction()) { 17751 composeCodeableConcept(t, "NutritionIntakePerformerComponent", "function", element.getFunction(), -1); 17752 } 17753 if (element.hasActor()) { 17754 composeReference(t, "NutritionIntakePerformerComponent", "actor", element.getActor(), -1); 17755 } 17756 } 17757 17758 protected void composeNutritionOrder(Complex parent, String parentType, String name, NutritionOrder element, int index) { 17759 if (element == null) 17760 return; 17761 Complex t; 17762 if (Utilities.noString(parentType)) 17763 t = parent; 17764 else { 17765 t = parent.predicate("fhir:"+parentType+'.'+name); 17766 } 17767 composeDomainResource(t, "NutritionOrder", name, element, index); 17768 for (int i = 0; i < element.getIdentifier().size(); i++) { 17769 composeIdentifier(t, "NutritionOrder", "identifier", element.getIdentifier().get(i), i); 17770 } 17771 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 17772 composeCanonical(t, "NutritionOrder", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 17773 } 17774 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 17775 composeUri(t, "NutritionOrder", "instantiatesUri", element.getInstantiatesUri().get(i), i); 17776 } 17777 for (int i = 0; i < element.getInstantiates().size(); i++) { 17778 composeUri(t, "NutritionOrder", "instantiates", element.getInstantiates().get(i), i); 17779 } 17780 if (element.hasStatusElement()) { 17781 composeEnum(t, "NutritionOrder", "status", element.getStatusElement(), -1); 17782 } 17783 if (element.hasIntentElement()) { 17784 composeEnum(t, "NutritionOrder", "intent", element.getIntentElement(), -1); 17785 } 17786 if (element.hasPatient()) { 17787 composeReference(t, "NutritionOrder", "patient", element.getPatient(), -1); 17788 } 17789 if (element.hasEncounter()) { 17790 composeReference(t, "NutritionOrder", "encounter", element.getEncounter(), -1); 17791 } 17792 if (element.hasDateTimeElement()) { 17793 composeDateTime(t, "NutritionOrder", "dateTime", element.getDateTimeElement(), -1); 17794 } 17795 if (element.hasOrderer()) { 17796 composeReference(t, "NutritionOrder", "orderer", element.getOrderer(), -1); 17797 } 17798 for (int i = 0; i < element.getAllergyIntolerance().size(); i++) { 17799 composeReference(t, "NutritionOrder", "allergyIntolerance", element.getAllergyIntolerance().get(i), i); 17800 } 17801 for (int i = 0; i < element.getFoodPreferenceModifier().size(); i++) { 17802 composeCodeableConcept(t, "NutritionOrder", "foodPreferenceModifier", element.getFoodPreferenceModifier().get(i), i); 17803 } 17804 for (int i = 0; i < element.getExcludeFoodModifier().size(); i++) { 17805 composeCodeableConcept(t, "NutritionOrder", "excludeFoodModifier", element.getExcludeFoodModifier().get(i), i); 17806 } 17807 if (element.hasOralDiet()) { 17808 composeNutritionOrderOralDietComponent(t, "NutritionOrder", "oralDiet", element.getOralDiet(), -1); 17809 } 17810 for (int i = 0; i < element.getSupplement().size(); i++) { 17811 composeNutritionOrderSupplementComponent(t, "NutritionOrder", "supplement", element.getSupplement().get(i), i); 17812 } 17813 if (element.hasEnteralFormula()) { 17814 composeNutritionOrderEnteralFormulaComponent(t, "NutritionOrder", "enteralFormula", element.getEnteralFormula(), -1); 17815 } 17816 for (int i = 0; i < element.getNote().size(); i++) { 17817 composeAnnotation(t, "NutritionOrder", "note", element.getNote().get(i), i); 17818 } 17819 } 17820 17821 protected void composeNutritionOrderOralDietComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietComponent element, int index) { 17822 if (element == null) 17823 return; 17824 Complex t; 17825 if (Utilities.noString(parentType)) 17826 t = parent; 17827 else { 17828 t = parent.predicate("fhir:"+parentType+'.'+name); 17829 } 17830 composeBackboneElement(t, "oralDiet", name, element, index); 17831 for (int i = 0; i < element.getType().size(); i++) { 17832 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "type", element.getType().get(i), i); 17833 } 17834 for (int i = 0; i < element.getSchedule().size(); i++) { 17835 composeTiming(t, "NutritionOrderOralDietComponent", "schedule", element.getSchedule().get(i), i); 17836 } 17837 for (int i = 0; i < element.getNutrient().size(); i++) { 17838 composeNutritionOrderOralDietNutrientComponent(t, "NutritionOrderOralDietComponent", "nutrient", element.getNutrient().get(i), i); 17839 } 17840 for (int i = 0; i < element.getTexture().size(); i++) { 17841 composeNutritionOrderOralDietTextureComponent(t, "NutritionOrderOralDietComponent", "texture", element.getTexture().get(i), i); 17842 } 17843 for (int i = 0; i < element.getFluidConsistencyType().size(); i++) { 17844 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "fluidConsistencyType", element.getFluidConsistencyType().get(i), i); 17845 } 17846 if (element.hasInstructionElement()) { 17847 composeString(t, "NutritionOrderOralDietComponent", "instruction", element.getInstructionElement(), -1); 17848 } 17849 } 17850 17851 protected void composeNutritionOrderOralDietNutrientComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element, int index) { 17852 if (element == null) 17853 return; 17854 Complex t; 17855 if (Utilities.noString(parentType)) 17856 t = parent; 17857 else { 17858 t = parent.predicate("fhir:"+parentType+'.'+name); 17859 } 17860 composeBackboneElement(t, "nutrient", name, element, index); 17861 if (element.hasModifier()) { 17862 composeCodeableConcept(t, "NutritionOrderOralDietNutrientComponent", "modifier", element.getModifier(), -1); 17863 } 17864 if (element.hasAmount()) { 17865 composeQuantity(t, "NutritionOrderOralDietNutrientComponent", "amount", element.getAmount(), -1); 17866 } 17867 } 17868 17869 protected void composeNutritionOrderOralDietTextureComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietTextureComponent element, int index) { 17870 if (element == null) 17871 return; 17872 Complex t; 17873 if (Utilities.noString(parentType)) 17874 t = parent; 17875 else { 17876 t = parent.predicate("fhir:"+parentType+'.'+name); 17877 } 17878 composeBackboneElement(t, "texture", name, element, index); 17879 if (element.hasModifier()) { 17880 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "modifier", element.getModifier(), -1); 17881 } 17882 if (element.hasFoodType()) { 17883 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "foodType", element.getFoodType(), -1); 17884 } 17885 } 17886 17887 protected void composeNutritionOrderSupplementComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderSupplementComponent element, int index) { 17888 if (element == null) 17889 return; 17890 Complex t; 17891 if (Utilities.noString(parentType)) 17892 t = parent; 17893 else { 17894 t = parent.predicate("fhir:"+parentType+'.'+name); 17895 } 17896 composeBackboneElement(t, "supplement", name, element, index); 17897 if (element.hasType()) { 17898 composeCodeableConcept(t, "NutritionOrderSupplementComponent", "type", element.getType(), -1); 17899 } 17900 if (element.hasProductNameElement()) { 17901 composeString(t, "NutritionOrderSupplementComponent", "productName", element.getProductNameElement(), -1); 17902 } 17903 for (int i = 0; i < element.getSchedule().size(); i++) { 17904 composeTiming(t, "NutritionOrderSupplementComponent", "schedule", element.getSchedule().get(i), i); 17905 } 17906 if (element.hasQuantity()) { 17907 composeQuantity(t, "NutritionOrderSupplementComponent", "quantity", element.getQuantity(), -1); 17908 } 17909 if (element.hasInstructionElement()) { 17910 composeString(t, "NutritionOrderSupplementComponent", "instruction", element.getInstructionElement(), -1); 17911 } 17912 } 17913 17914 protected void composeNutritionOrderEnteralFormulaComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element, int index) { 17915 if (element == null) 17916 return; 17917 Complex t; 17918 if (Utilities.noString(parentType)) 17919 t = parent; 17920 else { 17921 t = parent.predicate("fhir:"+parentType+'.'+name); 17922 } 17923 composeBackboneElement(t, "enteralFormula", name, element, index); 17924 if (element.hasBaseFormulaType()) { 17925 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaType", element.getBaseFormulaType(), -1); 17926 } 17927 if (element.hasBaseFormulaProductNameElement()) { 17928 composeString(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaProductName", element.getBaseFormulaProductNameElement(), -1); 17929 } 17930 if (element.hasAdditiveType()) { 17931 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "additiveType", element.getAdditiveType(), -1); 17932 } 17933 if (element.hasAdditiveProductNameElement()) { 17934 composeString(t, "NutritionOrderEnteralFormulaComponent", "additiveProductName", element.getAdditiveProductNameElement(), -1); 17935 } 17936 if (element.hasCaloricDensity()) { 17937 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "caloricDensity", element.getCaloricDensity(), -1); 17938 } 17939 if (element.hasRouteofAdministration()) { 17940 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "routeofAdministration", element.getRouteofAdministration(), -1); 17941 } 17942 for (int i = 0; i < element.getAdministration().size(); i++) { 17943 composeNutritionOrderEnteralFormulaAdministrationComponent(t, "NutritionOrderEnteralFormulaComponent", "administration", element.getAdministration().get(i), i); 17944 } 17945 if (element.hasMaxVolumeToDeliver()) { 17946 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "maxVolumeToDeliver", element.getMaxVolumeToDeliver(), -1); 17947 } 17948 if (element.hasAdministrationInstructionElement()) { 17949 composeString(t, "NutritionOrderEnteralFormulaComponent", "administrationInstruction", element.getAdministrationInstructionElement(), -1); 17950 } 17951 } 17952 17953 protected void composeNutritionOrderEnteralFormulaAdministrationComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element, int index) { 17954 if (element == null) 17955 return; 17956 Complex t; 17957 if (Utilities.noString(parentType)) 17958 t = parent; 17959 else { 17960 t = parent.predicate("fhir:"+parentType+'.'+name); 17961 } 17962 composeBackboneElement(t, "administration", name, element, index); 17963 if (element.hasSchedule()) { 17964 composeTiming(t, "NutritionOrderEnteralFormulaAdministrationComponent", "schedule", element.getSchedule(), -1); 17965 } 17966 if (element.hasQuantity()) { 17967 composeQuantity(t, "NutritionOrderEnteralFormulaAdministrationComponent", "quantity", element.getQuantity(), -1); 17968 } 17969 if (element.hasRate()) { 17970 composeType(t, "NutritionOrderEnteralFormulaAdministrationComponent", "rate", element.getRate(), -1); 17971 } 17972 } 17973 17974 protected void composeNutritionProduct(Complex parent, String parentType, String name, NutritionProduct element, int index) { 17975 if (element == null) 17976 return; 17977 Complex t; 17978 if (Utilities.noString(parentType)) 17979 t = parent; 17980 else { 17981 t = parent.predicate("fhir:"+parentType+'.'+name); 17982 } 17983 composeDomainResource(t, "NutritionProduct", name, element, index); 17984 if (element.hasStatusElement()) { 17985 composeEnum(t, "NutritionProduct", "status", element.getStatusElement(), -1); 17986 } 17987 for (int i = 0; i < element.getCategory().size(); i++) { 17988 composeCodeableConcept(t, "NutritionProduct", "category", element.getCategory().get(i), i); 17989 } 17990 if (element.hasCode()) { 17991 composeCodeableConcept(t, "NutritionProduct", "code", element.getCode(), -1); 17992 } 17993 for (int i = 0; i < element.getManufacturer().size(); i++) { 17994 composeReference(t, "NutritionProduct", "manufacturer", element.getManufacturer().get(i), i); 17995 } 17996 for (int i = 0; i < element.getNutrient().size(); i++) { 17997 composeNutritionProductNutrientComponent(t, "NutritionProduct", "nutrient", element.getNutrient().get(i), i); 17998 } 17999 for (int i = 0; i < element.getIngredient().size(); i++) { 18000 composeNutritionProductIngredientComponent(t, "NutritionProduct", "ingredient", element.getIngredient().get(i), i); 18001 } 18002 for (int i = 0; i < element.getKnownAllergen().size(); i++) { 18003 composeCodeableReference(t, "NutritionProduct", "knownAllergen", element.getKnownAllergen().get(i), i); 18004 } 18005 for (int i = 0; i < element.getProductCharacteristic().size(); i++) { 18006 composeNutritionProductProductCharacteristicComponent(t, "NutritionProduct", "productCharacteristic", element.getProductCharacteristic().get(i), i); 18007 } 18008 if (element.hasInstance()) { 18009 composeNutritionProductInstanceComponent(t, "NutritionProduct", "instance", element.getInstance(), -1); 18010 } 18011 for (int i = 0; i < element.getNote().size(); i++) { 18012 composeAnnotation(t, "NutritionProduct", "note", element.getNote().get(i), i); 18013 } 18014 } 18015 18016 protected void composeNutritionProductNutrientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductNutrientComponent element, int index) { 18017 if (element == null) 18018 return; 18019 Complex t; 18020 if (Utilities.noString(parentType)) 18021 t = parent; 18022 else { 18023 t = parent.predicate("fhir:"+parentType+'.'+name); 18024 } 18025 composeBackboneElement(t, "nutrient", name, element, index); 18026 if (element.hasItem()) { 18027 composeCodeableReference(t, "NutritionProductNutrientComponent", "item", element.getItem(), -1); 18028 } 18029 for (int i = 0; i < element.getAmount().size(); i++) { 18030 composeRatio(t, "NutritionProductNutrientComponent", "amount", element.getAmount().get(i), i); 18031 } 18032 } 18033 18034 protected void composeNutritionProductIngredientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductIngredientComponent element, int index) { 18035 if (element == null) 18036 return; 18037 Complex t; 18038 if (Utilities.noString(parentType)) 18039 t = parent; 18040 else { 18041 t = parent.predicate("fhir:"+parentType+'.'+name); 18042 } 18043 composeBackboneElement(t, "ingredient", name, element, index); 18044 if (element.hasItem()) { 18045 composeCodeableReference(t, "NutritionProductIngredientComponent", "item", element.getItem(), -1); 18046 } 18047 for (int i = 0; i < element.getAmount().size(); i++) { 18048 composeRatio(t, "NutritionProductIngredientComponent", "amount", element.getAmount().get(i), i); 18049 } 18050 } 18051 18052 protected void composeNutritionProductProductCharacteristicComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductProductCharacteristicComponent element, int index) { 18053 if (element == null) 18054 return; 18055 Complex t; 18056 if (Utilities.noString(parentType)) 18057 t = parent; 18058 else { 18059 t = parent.predicate("fhir:"+parentType+'.'+name); 18060 } 18061 composeBackboneElement(t, "productCharacteristic", name, element, index); 18062 if (element.hasType()) { 18063 composeCodeableConcept(t, "NutritionProductProductCharacteristicComponent", "type", element.getType(), -1); 18064 } 18065 if (element.hasValue()) { 18066 composeType(t, "NutritionProductProductCharacteristicComponent", "value", element.getValue(), -1); 18067 } 18068 } 18069 18070 protected void composeNutritionProductInstanceComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductInstanceComponent element, int index) { 18071 if (element == null) 18072 return; 18073 Complex t; 18074 if (Utilities.noString(parentType)) 18075 t = parent; 18076 else { 18077 t = parent.predicate("fhir:"+parentType+'.'+name); 18078 } 18079 composeBackboneElement(t, "instance", name, element, index); 18080 if (element.hasQuantity()) { 18081 composeQuantity(t, "NutritionProductInstanceComponent", "quantity", element.getQuantity(), -1); 18082 } 18083 for (int i = 0; i < element.getIdentifier().size(); i++) { 18084 composeIdentifier(t, "NutritionProductInstanceComponent", "identifier", element.getIdentifier().get(i), i); 18085 } 18086 if (element.hasLotNumberElement()) { 18087 composeString(t, "NutritionProductInstanceComponent", "lotNumber", element.getLotNumberElement(), -1); 18088 } 18089 if (element.hasExpiryElement()) { 18090 composeDateTime(t, "NutritionProductInstanceComponent", "expiry", element.getExpiryElement(), -1); 18091 } 18092 if (element.hasUseByElement()) { 18093 composeDateTime(t, "NutritionProductInstanceComponent", "useBy", element.getUseByElement(), -1); 18094 } 18095 if (element.hasBiologicalSource()) { 18096 composeIdentifier(t, "NutritionProductInstanceComponent", "biologicalSource", element.getBiologicalSource(), -1); 18097 } 18098 } 18099 18100 protected void composeObservation(Complex parent, String parentType, String name, Observation element, int index) { 18101 if (element == null) 18102 return; 18103 Complex t; 18104 if (Utilities.noString(parentType)) 18105 t = parent; 18106 else { 18107 t = parent.predicate("fhir:"+parentType+'.'+name); 18108 } 18109 composeDomainResource(t, "Observation", name, element, index); 18110 for (int i = 0; i < element.getIdentifier().size(); i++) { 18111 composeIdentifier(t, "Observation", "identifier", element.getIdentifier().get(i), i); 18112 } 18113 if (element.hasInstantiates()) { 18114 composeType(t, "Observation", "instantiates", element.getInstantiates(), -1); 18115 } 18116 for (int i = 0; i < element.getBasedOn().size(); i++) { 18117 composeReference(t, "Observation", "basedOn", element.getBasedOn().get(i), i); 18118 } 18119 for (int i = 0; i < element.getPartOf().size(); i++) { 18120 composeReference(t, "Observation", "partOf", element.getPartOf().get(i), i); 18121 } 18122 if (element.hasStatusElement()) { 18123 composeEnum(t, "Observation", "status", element.getStatusElement(), -1); 18124 } 18125 for (int i = 0; i < element.getCategory().size(); i++) { 18126 composeCodeableConcept(t, "Observation", "category", element.getCategory().get(i), i); 18127 } 18128 if (element.hasCode()) { 18129 composeCodeableConcept(t, "Observation", "code", element.getCode(), -1); 18130 } 18131 if (element.hasSubject()) { 18132 composeReference(t, "Observation", "subject", element.getSubject(), -1); 18133 } 18134 for (int i = 0; i < element.getFocus().size(); i++) { 18135 composeReference(t, "Observation", "focus", element.getFocus().get(i), i); 18136 } 18137 if (element.hasEncounter()) { 18138 composeReference(t, "Observation", "encounter", element.getEncounter(), -1); 18139 } 18140 if (element.hasEffective()) { 18141 composeType(t, "Observation", "effective", element.getEffective(), -1); 18142 } 18143 if (element.hasIssuedElement()) { 18144 composeInstant(t, "Observation", "issued", element.getIssuedElement(), -1); 18145 } 18146 for (int i = 0; i < element.getPerformer().size(); i++) { 18147 composeReference(t, "Observation", "performer", element.getPerformer().get(i), i); 18148 } 18149 if (element.hasValue()) { 18150 composeType(t, "Observation", "value", element.getValue(), -1); 18151 } 18152 if (element.hasDataAbsentReason()) { 18153 composeCodeableConcept(t, "Observation", "dataAbsentReason", element.getDataAbsentReason(), -1); 18154 } 18155 for (int i = 0; i < element.getInterpretation().size(); i++) { 18156 composeCodeableConcept(t, "Observation", "interpretation", element.getInterpretation().get(i), i); 18157 } 18158 for (int i = 0; i < element.getNote().size(); i++) { 18159 composeAnnotation(t, "Observation", "note", element.getNote().get(i), i); 18160 } 18161 if (element.hasBodySite()) { 18162 composeCodeableConcept(t, "Observation", "bodySite", element.getBodySite(), -1); 18163 } 18164 if (element.hasMethod()) { 18165 composeCodeableConcept(t, "Observation", "method", element.getMethod(), -1); 18166 } 18167 if (element.hasSpecimen()) { 18168 composeReference(t, "Observation", "specimen", element.getSpecimen(), -1); 18169 } 18170 if (element.hasDevice()) { 18171 composeReference(t, "Observation", "device", element.getDevice(), -1); 18172 } 18173 for (int i = 0; i < element.getReferenceRange().size(); i++) { 18174 composeObservationReferenceRangeComponent(t, "Observation", "referenceRange", element.getReferenceRange().get(i), i); 18175 } 18176 for (int i = 0; i < element.getHasMember().size(); i++) { 18177 composeReference(t, "Observation", "hasMember", element.getHasMember().get(i), i); 18178 } 18179 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 18180 composeReference(t, "Observation", "derivedFrom", element.getDerivedFrom().get(i), i); 18181 } 18182 for (int i = 0; i < element.getComponent().size(); i++) { 18183 composeObservationComponentComponent(t, "Observation", "component", element.getComponent().get(i), i); 18184 } 18185 } 18186 18187 protected void composeObservationReferenceRangeComponent(Complex parent, String parentType, String name, Observation.ObservationReferenceRangeComponent element, int index) { 18188 if (element == null) 18189 return; 18190 Complex t; 18191 if (Utilities.noString(parentType)) 18192 t = parent; 18193 else { 18194 t = parent.predicate("fhir:"+parentType+'.'+name); 18195 } 18196 composeBackboneElement(t, "referenceRange", name, element, index); 18197 if (element.hasLow()) { 18198 composeQuantity(t, "ObservationReferenceRangeComponent", "low", element.getLow(), -1); 18199 } 18200 if (element.hasHigh()) { 18201 composeQuantity(t, "ObservationReferenceRangeComponent", "high", element.getHigh(), -1); 18202 } 18203 if (element.hasType()) { 18204 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "type", element.getType(), -1); 18205 } 18206 for (int i = 0; i < element.getAppliesTo().size(); i++) { 18207 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "appliesTo", element.getAppliesTo().get(i), i); 18208 } 18209 if (element.hasAge()) { 18210 composeRange(t, "ObservationReferenceRangeComponent", "age", element.getAge(), -1); 18211 } 18212 if (element.hasTextElement()) { 18213 composeString(t, "ObservationReferenceRangeComponent", "text", element.getTextElement(), -1); 18214 } 18215 } 18216 18217 protected void composeObservationComponentComponent(Complex parent, String parentType, String name, Observation.ObservationComponentComponent element, int index) { 18218 if (element == null) 18219 return; 18220 Complex t; 18221 if (Utilities.noString(parentType)) 18222 t = parent; 18223 else { 18224 t = parent.predicate("fhir:"+parentType+'.'+name); 18225 } 18226 composeBackboneElement(t, "component", name, element, index); 18227 if (element.hasCode()) { 18228 composeCodeableConcept(t, "ObservationComponentComponent", "code", element.getCode(), -1); 18229 } 18230 if (element.hasValue()) { 18231 composeType(t, "ObservationComponentComponent", "value", element.getValue(), -1); 18232 } 18233 if (element.hasDataAbsentReason()) { 18234 composeCodeableConcept(t, "ObservationComponentComponent", "dataAbsentReason", element.getDataAbsentReason(), -1); 18235 } 18236 for (int i = 0; i < element.getInterpretation().size(); i++) { 18237 composeCodeableConcept(t, "ObservationComponentComponent", "interpretation", element.getInterpretation().get(i), i); 18238 } 18239 for (int i = 0; i < element.getReferenceRange().size(); i++) { 18240 composeObservationReferenceRangeComponent(t, "ObservationComponentComponent", "referenceRange", element.getReferenceRange().get(i), i); 18241 } 18242 } 18243 18244 protected void composeObservationDefinition(Complex parent, String parentType, String name, ObservationDefinition element, int index) { 18245 if (element == null) 18246 return; 18247 Complex t; 18248 if (Utilities.noString(parentType)) 18249 t = parent; 18250 else { 18251 t = parent.predicate("fhir:"+parentType+'.'+name); 18252 } 18253 composeDomainResource(t, "ObservationDefinition", name, element, index); 18254 if (element.hasUrlElement()) { 18255 composeUri(t, "ObservationDefinition", "url", element.getUrlElement(), -1); 18256 } 18257 if (element.hasIdentifier()) { 18258 composeIdentifier(t, "ObservationDefinition", "identifier", element.getIdentifier(), -1); 18259 } 18260 if (element.hasVersionElement()) { 18261 composeString(t, "ObservationDefinition", "version", element.getVersionElement(), -1); 18262 } 18263 if (element.hasNameElement()) { 18264 composeString(t, "ObservationDefinition", "name", element.getNameElement(), -1); 18265 } 18266 if (element.hasTitleElement()) { 18267 composeString(t, "ObservationDefinition", "title", element.getTitleElement(), -1); 18268 } 18269 if (element.hasStatusElement()) { 18270 composeEnum(t, "ObservationDefinition", "status", element.getStatusElement(), -1); 18271 } 18272 if (element.hasExperimentalElement()) { 18273 composeBoolean(t, "ObservationDefinition", "experimental", element.getExperimentalElement(), -1); 18274 } 18275 if (element.hasDateElement()) { 18276 composeDateTime(t, "ObservationDefinition", "date", element.getDateElement(), -1); 18277 } 18278 if (element.hasPublisher()) { 18279 composeReference(t, "ObservationDefinition", "publisher", element.getPublisher(), -1); 18280 } 18281 for (int i = 0; i < element.getContact().size(); i++) { 18282 composeContactDetail(t, "ObservationDefinition", "contact", element.getContact().get(i), i); 18283 } 18284 if (element.hasDescriptionElement()) { 18285 composeMarkdown(t, "ObservationDefinition", "description", element.getDescriptionElement(), -1); 18286 } 18287 for (int i = 0; i < element.getUseContext().size(); i++) { 18288 composeUsageContext(t, "ObservationDefinition", "useContext", element.getUseContext().get(i), i); 18289 } 18290 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18291 composeCodeableConcept(t, "ObservationDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 18292 } 18293 if (element.hasPurposeElement()) { 18294 composeMarkdown(t, "ObservationDefinition", "purpose", element.getPurposeElement(), -1); 18295 } 18296 if (element.hasCopyrightElement()) { 18297 composeMarkdown(t, "ObservationDefinition", "copyright", element.getCopyrightElement(), -1); 18298 } 18299 if (element.hasApprovalDateElement()) { 18300 composeDate(t, "ObservationDefinition", "approvalDate", element.getApprovalDateElement(), -1); 18301 } 18302 if (element.hasLastReviewDateElement()) { 18303 composeDate(t, "ObservationDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 18304 } 18305 if (element.hasEffectivePeriod()) { 18306 composePeriod(t, "ObservationDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 18307 } 18308 for (int i = 0; i < element.getDerivedFromCanonical().size(); i++) { 18309 composeCanonical(t, "ObservationDefinition", "derivedFromCanonical", element.getDerivedFromCanonical().get(i), i); 18310 } 18311 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 18312 composeUri(t, "ObservationDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 18313 } 18314 for (int i = 0; i < element.getSubject().size(); i++) { 18315 composeCodeableConcept(t, "ObservationDefinition", "subject", element.getSubject().get(i), i); 18316 } 18317 if (element.hasPerformerType()) { 18318 composeCodeableConcept(t, "ObservationDefinition", "performerType", element.getPerformerType(), -1); 18319 } 18320 for (int i = 0; i < element.getCategory().size(); i++) { 18321 composeCodeableConcept(t, "ObservationDefinition", "category", element.getCategory().get(i), i); 18322 } 18323 if (element.hasCode()) { 18324 composeCodeableConcept(t, "ObservationDefinition", "code", element.getCode(), -1); 18325 } 18326 for (int i = 0; i < element.getPermittedDataType().size(); i++) { 18327 composeEnum(t, "ObservationDefinition", "permittedDataType", element.getPermittedDataType().get(i), i); 18328 } 18329 if (element.hasMultipleResultsAllowedElement()) { 18330 composeBoolean(t, "ObservationDefinition", "multipleResultsAllowed", element.getMultipleResultsAllowedElement(), -1); 18331 } 18332 if (element.hasBodySite()) { 18333 composeCodeableConcept(t, "ObservationDefinition", "bodySite", element.getBodySite(), -1); 18334 } 18335 if (element.hasMethod()) { 18336 composeCodeableConcept(t, "ObservationDefinition", "method", element.getMethod(), -1); 18337 } 18338 for (int i = 0; i < element.getSpecimen().size(); i++) { 18339 composeReference(t, "ObservationDefinition", "specimen", element.getSpecimen().get(i), i); 18340 } 18341 for (int i = 0; i < element.getDevice().size(); i++) { 18342 composeReference(t, "ObservationDefinition", "device", element.getDevice().get(i), i); 18343 } 18344 if (element.hasPreferredReportNameElement()) { 18345 composeString(t, "ObservationDefinition", "preferredReportName", element.getPreferredReportNameElement(), -1); 18346 } 18347 if (element.hasQuantitativeDetails()) { 18348 composeObservationDefinitionQuantitativeDetailsComponent(t, "ObservationDefinition", "quantitativeDetails", element.getQuantitativeDetails(), -1); 18349 } 18350 for (int i = 0; i < element.getQualifiedValue().size(); i++) { 18351 composeObservationDefinitionQualifiedValueComponent(t, "ObservationDefinition", "qualifiedValue", element.getQualifiedValue().get(i), i); 18352 } 18353 for (int i = 0; i < element.getHasMember().size(); i++) { 18354 composeReference(t, "ObservationDefinition", "hasMember", element.getHasMember().get(i), i); 18355 } 18356 for (int i = 0; i < element.getComponent().size(); i++) { 18357 composeObservationDefinitionComponentComponent(t, "ObservationDefinition", "component", element.getComponent().get(i), i); 18358 } 18359 } 18360 18361 protected void composeObservationDefinitionQuantitativeDetailsComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent element, int index) { 18362 if (element == null) 18363 return; 18364 Complex t; 18365 if (Utilities.noString(parentType)) 18366 t = parent; 18367 else { 18368 t = parent.predicate("fhir:"+parentType+'.'+name); 18369 } 18370 composeBackboneElement(t, "quantitativeDetails", name, element, index); 18371 if (element.hasUnit()) { 18372 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "unit", element.getUnit(), -1); 18373 } 18374 if (element.hasCustomaryUnit()) { 18375 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "customaryUnit", element.getCustomaryUnit(), -1); 18376 } 18377 if (element.hasConversionFactorElement()) { 18378 composeDecimal(t, "ObservationDefinitionQuantitativeDetailsComponent", "conversionFactor", element.getConversionFactorElement(), -1); 18379 } 18380 if (element.hasDecimalPrecisionElement()) { 18381 composeInteger(t, "ObservationDefinitionQuantitativeDetailsComponent", "decimalPrecision", element.getDecimalPrecisionElement(), -1); 18382 } 18383 } 18384 18385 protected void composeObservationDefinitionQualifiedValueComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQualifiedValueComponent element, int index) { 18386 if (element == null) 18387 return; 18388 Complex t; 18389 if (Utilities.noString(parentType)) 18390 t = parent; 18391 else { 18392 t = parent.predicate("fhir:"+parentType+'.'+name); 18393 } 18394 composeBackboneElement(t, "qualifiedValue", name, element, index); 18395 if (element.hasContext()) { 18396 composeCodeableConcept(t, "ObservationDefinitionQualifiedValueComponent", "context", element.getContext(), -1); 18397 } 18398 for (int i = 0; i < element.getAppliesTo().size(); i++) { 18399 composeCodeableConcept(t, "ObservationDefinitionQualifiedValueComponent", "appliesTo", element.getAppliesTo().get(i), i); 18400 } 18401 if (element.hasGenderElement()) { 18402 composeEnum(t, "ObservationDefinitionQualifiedValueComponent", "gender", element.getGenderElement(), -1); 18403 } 18404 if (element.hasAge()) { 18405 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "age", element.getAge(), -1); 18406 } 18407 if (element.hasGestationalAge()) { 18408 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "gestationalAge", element.getGestationalAge(), -1); 18409 } 18410 if (element.hasConditionElement()) { 18411 composeString(t, "ObservationDefinitionQualifiedValueComponent", "condition", element.getConditionElement(), -1); 18412 } 18413 if (element.hasRangeCategoryElement()) { 18414 composeEnum(t, "ObservationDefinitionQualifiedValueComponent", "rangeCategory", element.getRangeCategoryElement(), -1); 18415 } 18416 if (element.hasRange()) { 18417 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "range", element.getRange(), -1); 18418 } 18419 if (element.hasValidCodedValueSetElement()) { 18420 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "validCodedValueSet", element.getValidCodedValueSetElement(), -1); 18421 } 18422 if (element.hasNormalCodedValueSetElement()) { 18423 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "normalCodedValueSet", element.getNormalCodedValueSetElement(), -1); 18424 } 18425 if (element.hasAbnormalCodedValueSetElement()) { 18426 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "abnormalCodedValueSet", element.getAbnormalCodedValueSetElement(), -1); 18427 } 18428 if (element.hasCriticalCodedValueSetElement()) { 18429 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "criticalCodedValueSet", element.getCriticalCodedValueSetElement(), -1); 18430 } 18431 } 18432 18433 protected void composeObservationDefinitionComponentComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionComponentComponent element, int index) { 18434 if (element == null) 18435 return; 18436 Complex t; 18437 if (Utilities.noString(parentType)) 18438 t = parent; 18439 else { 18440 t = parent.predicate("fhir:"+parentType+'.'+name); 18441 } 18442 composeBackboneElement(t, "component", name, element, index); 18443 if (element.hasCode()) { 18444 composeCodeableConcept(t, "ObservationDefinitionComponentComponent", "code", element.getCode(), -1); 18445 } 18446 for (int i = 0; i < element.getPermittedDataType().size(); i++) { 18447 composeEnum(t, "ObservationDefinitionComponentComponent", "permittedDataType", element.getPermittedDataType().get(i), i); 18448 } 18449 if (element.hasQuantitativeDetails()) { 18450 composeObservationDefinitionQuantitativeDetailsComponent(t, "ObservationDefinitionComponentComponent", "quantitativeDetails", element.getQuantitativeDetails(), -1); 18451 } 18452 for (int i = 0; i < element.getQualifiedValue().size(); i++) { 18453 composeObservationDefinitionQualifiedValueComponent(t, "ObservationDefinitionComponentComponent", "qualifiedValue", element.getQualifiedValue().get(i), i); 18454 } 18455 } 18456 18457 protected void composeOperationDefinition(Complex parent, String parentType, String name, OperationDefinition element, int index) { 18458 if (element == null) 18459 return; 18460 Complex t; 18461 if (Utilities.noString(parentType)) 18462 t = parent; 18463 else { 18464 t = parent.predicate("fhir:"+parentType+'.'+name); 18465 } 18466 composeCanonicalResource(t, "OperationDefinition", name, element, index); 18467 if (element.hasUrlElement()) { 18468 composeUri(t, "OperationDefinition", "url", element.getUrlElement(), -1); 18469 } 18470 if (element.hasVersionElement()) { 18471 composeString(t, "OperationDefinition", "version", element.getVersionElement(), -1); 18472 } 18473 if (element.hasNameElement()) { 18474 composeString(t, "OperationDefinition", "name", element.getNameElement(), -1); 18475 } 18476 if (element.hasTitleElement()) { 18477 composeString(t, "OperationDefinition", "title", element.getTitleElement(), -1); 18478 } 18479 if (element.hasStatusElement()) { 18480 composeEnum(t, "OperationDefinition", "status", element.getStatusElement(), -1); 18481 } 18482 if (element.hasKindElement()) { 18483 composeEnum(t, "OperationDefinition", "kind", element.getKindElement(), -1); 18484 } 18485 if (element.hasExperimentalElement()) { 18486 composeBoolean(t, "OperationDefinition", "experimental", element.getExperimentalElement(), -1); 18487 } 18488 if (element.hasDateElement()) { 18489 composeDateTime(t, "OperationDefinition", "date", element.getDateElement(), -1); 18490 } 18491 if (element.hasPublisherElement()) { 18492 composeString(t, "OperationDefinition", "publisher", element.getPublisherElement(), -1); 18493 } 18494 for (int i = 0; i < element.getContact().size(); i++) { 18495 composeContactDetail(t, "OperationDefinition", "contact", element.getContact().get(i), i); 18496 } 18497 if (element.hasDescriptionElement()) { 18498 composeMarkdown(t, "OperationDefinition", "description", element.getDescriptionElement(), -1); 18499 } 18500 for (int i = 0; i < element.getUseContext().size(); i++) { 18501 composeUsageContext(t, "OperationDefinition", "useContext", element.getUseContext().get(i), i); 18502 } 18503 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18504 composeCodeableConcept(t, "OperationDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 18505 } 18506 if (element.hasPurposeElement()) { 18507 composeMarkdown(t, "OperationDefinition", "purpose", element.getPurposeElement(), -1); 18508 } 18509 if (element.hasAffectsStateElement()) { 18510 composeBoolean(t, "OperationDefinition", "affectsState", element.getAffectsStateElement(), -1); 18511 } 18512 if (element.hasCodeElement()) { 18513 composeCode(t, "OperationDefinition", "code", element.getCodeElement(), -1); 18514 } 18515 if (element.hasCommentElement()) { 18516 composeMarkdown(t, "OperationDefinition", "comment", element.getCommentElement(), -1); 18517 } 18518 if (element.hasBaseElement()) { 18519 composeCanonical(t, "OperationDefinition", "base", element.getBaseElement(), -1); 18520 } 18521 for (int i = 0; i < element.getResource().size(); i++) { 18522 composeCode(t, "OperationDefinition", "resource", element.getResource().get(i), i); 18523 } 18524 if (element.hasSystemElement()) { 18525 composeBoolean(t, "OperationDefinition", "system", element.getSystemElement(), -1); 18526 } 18527 if (element.hasTypeElement()) { 18528 composeBoolean(t, "OperationDefinition", "type", element.getTypeElement(), -1); 18529 } 18530 if (element.hasInstanceElement()) { 18531 composeBoolean(t, "OperationDefinition", "instance", element.getInstanceElement(), -1); 18532 } 18533 if (element.hasInputProfileElement()) { 18534 composeCanonical(t, "OperationDefinition", "inputProfile", element.getInputProfileElement(), -1); 18535 } 18536 if (element.hasOutputProfileElement()) { 18537 composeCanonical(t, "OperationDefinition", "outputProfile", element.getOutputProfileElement(), -1); 18538 } 18539 for (int i = 0; i < element.getParameter().size(); i++) { 18540 composeOperationDefinitionParameterComponent(t, "OperationDefinition", "parameter", element.getParameter().get(i), i); 18541 } 18542 for (int i = 0; i < element.getOverload().size(); i++) { 18543 composeOperationDefinitionOverloadComponent(t, "OperationDefinition", "overload", element.getOverload().get(i), i); 18544 } 18545 } 18546 18547 protected void composeOperationDefinitionParameterComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterComponent element, int index) { 18548 if (element == null) 18549 return; 18550 Complex t; 18551 if (Utilities.noString(parentType)) 18552 t = parent; 18553 else { 18554 t = parent.predicate("fhir:"+parentType+'.'+name); 18555 } 18556 composeBackboneElement(t, "parameter", name, element, index); 18557 if (element.hasNameElement()) { 18558 composeCode(t, "OperationDefinitionParameterComponent", "name", element.getNameElement(), -1); 18559 } 18560 if (element.hasUseElement()) { 18561 composeEnum(t, "OperationDefinitionParameterComponent", "use", element.getUseElement(), -1); 18562 } 18563 if (element.hasMinElement()) { 18564 composeInteger(t, "OperationDefinitionParameterComponent", "min", element.getMinElement(), -1); 18565 } 18566 if (element.hasMaxElement()) { 18567 composeString(t, "OperationDefinitionParameterComponent", "max", element.getMaxElement(), -1); 18568 } 18569 if (element.hasDocumentationElement()) { 18570 composeString(t, "OperationDefinitionParameterComponent", "documentation", element.getDocumentationElement(), -1); 18571 } 18572 if (element.hasTypeElement()) { 18573 composeEnum(t, "OperationDefinitionParameterComponent", "type", element.getTypeElement(), -1); 18574 } 18575 for (int i = 0; i < element.getTargetProfile().size(); i++) { 18576 composeCanonical(t, "OperationDefinitionParameterComponent", "targetProfile", element.getTargetProfile().get(i), i); 18577 } 18578 if (element.hasSearchTypeElement()) { 18579 composeEnum(t, "OperationDefinitionParameterComponent", "searchType", element.getSearchTypeElement(), -1); 18580 } 18581 if (element.hasBinding()) { 18582 composeOperationDefinitionParameterBindingComponent(t, "OperationDefinitionParameterComponent", "binding", element.getBinding(), -1); 18583 } 18584 for (int i = 0; i < element.getReferencedFrom().size(); i++) { 18585 composeOperationDefinitionParameterReferencedFromComponent(t, "OperationDefinitionParameterComponent", "referencedFrom", element.getReferencedFrom().get(i), i); 18586 } 18587 for (int i = 0; i < element.getPart().size(); i++) { 18588 composeOperationDefinitionParameterComponent(t, "OperationDefinitionParameterComponent", "part", element.getPart().get(i), i); 18589 } 18590 } 18591 18592 protected void composeOperationDefinitionParameterBindingComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterBindingComponent element, int index) { 18593 if (element == null) 18594 return; 18595 Complex t; 18596 if (Utilities.noString(parentType)) 18597 t = parent; 18598 else { 18599 t = parent.predicate("fhir:"+parentType+'.'+name); 18600 } 18601 composeBackboneElement(t, "binding", name, element, index); 18602 if (element.hasStrengthElement()) { 18603 composeEnum(t, "OperationDefinitionParameterBindingComponent", "strength", element.getStrengthElement(), -1); 18604 } 18605 if (element.hasValueSetElement()) { 18606 composeCanonical(t, "OperationDefinitionParameterBindingComponent", "valueSet", element.getValueSetElement(), -1); 18607 } 18608 } 18609 18610 protected void composeOperationDefinitionParameterReferencedFromComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterReferencedFromComponent element, int index) { 18611 if (element == null) 18612 return; 18613 Complex t; 18614 if (Utilities.noString(parentType)) 18615 t = parent; 18616 else { 18617 t = parent.predicate("fhir:"+parentType+'.'+name); 18618 } 18619 composeBackboneElement(t, "referencedFrom", name, element, index); 18620 if (element.hasSourceElement()) { 18621 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "source", element.getSourceElement(), -1); 18622 } 18623 if (element.hasSourceIdElement()) { 18624 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "sourceId", element.getSourceIdElement(), -1); 18625 } 18626 } 18627 18628 protected void composeOperationDefinitionOverloadComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionOverloadComponent element, int index) { 18629 if (element == null) 18630 return; 18631 Complex t; 18632 if (Utilities.noString(parentType)) 18633 t = parent; 18634 else { 18635 t = parent.predicate("fhir:"+parentType+'.'+name); 18636 } 18637 composeBackboneElement(t, "overload", name, element, index); 18638 for (int i = 0; i < element.getParameterName().size(); i++) { 18639 composeString(t, "OperationDefinitionOverloadComponent", "parameterName", element.getParameterName().get(i), i); 18640 } 18641 if (element.hasCommentElement()) { 18642 composeString(t, "OperationDefinitionOverloadComponent", "comment", element.getCommentElement(), -1); 18643 } 18644 } 18645 18646 protected void composeOperationOutcome(Complex parent, String parentType, String name, OperationOutcome element, int index) { 18647 if (element == null) 18648 return; 18649 Complex t; 18650 if (Utilities.noString(parentType)) 18651 t = parent; 18652 else { 18653 t = parent.predicate("fhir:"+parentType+'.'+name); 18654 } 18655 composeDomainResource(t, "OperationOutcome", name, element, index); 18656 for (int i = 0; i < element.getIssue().size(); i++) { 18657 composeOperationOutcomeIssueComponent(t, "OperationOutcome", "issue", element.getIssue().get(i), i); 18658 } 18659 } 18660 18661 protected void composeOperationOutcomeIssueComponent(Complex parent, String parentType, String name, OperationOutcome.OperationOutcomeIssueComponent element, int index) { 18662 if (element == null) 18663 return; 18664 Complex t; 18665 if (Utilities.noString(parentType)) 18666 t = parent; 18667 else { 18668 t = parent.predicate("fhir:"+parentType+'.'+name); 18669 } 18670 composeBackboneElement(t, "issue", name, element, index); 18671 if (element.hasSeverityElement()) { 18672 composeEnum(t, "OperationOutcomeIssueComponent", "severity", element.getSeverityElement(), -1); 18673 } 18674 if (element.hasCodeElement()) { 18675 composeEnum(t, "OperationOutcomeIssueComponent", "code", element.getCodeElement(), -1); 18676 } 18677 if (element.hasDetails()) { 18678 composeCodeableConcept(t, "OperationOutcomeIssueComponent", "details", element.getDetails(), -1); 18679 } 18680 if (element.hasDiagnosticsElement()) { 18681 composeString(t, "OperationOutcomeIssueComponent", "diagnostics", element.getDiagnosticsElement(), -1); 18682 } 18683 for (int i = 0; i < element.getLocation().size(); i++) { 18684 composeString(t, "OperationOutcomeIssueComponent", "location", element.getLocation().get(i), i); 18685 } 18686 for (int i = 0; i < element.getExpression().size(); i++) { 18687 composeString(t, "OperationOutcomeIssueComponent", "expression", element.getExpression().get(i), i); 18688 } 18689 } 18690 18691 protected void composeOrganization(Complex parent, String parentType, String name, Organization element, int index) { 18692 if (element == null) 18693 return; 18694 Complex t; 18695 if (Utilities.noString(parentType)) 18696 t = parent; 18697 else { 18698 t = parent.predicate("fhir:"+parentType+'.'+name); 18699 } 18700 composeDomainResource(t, "Organization", name, element, index); 18701 for (int i = 0; i < element.getIdentifier().size(); i++) { 18702 composeIdentifier(t, "Organization", "identifier", element.getIdentifier().get(i), i); 18703 } 18704 if (element.hasActiveElement()) { 18705 composeBoolean(t, "Organization", "active", element.getActiveElement(), -1); 18706 } 18707 for (int i = 0; i < element.getType().size(); i++) { 18708 composeCodeableConcept(t, "Organization", "type", element.getType().get(i), i); 18709 } 18710 if (element.hasNameElement()) { 18711 composeString(t, "Organization", "name", element.getNameElement(), -1); 18712 } 18713 for (int i = 0; i < element.getAlias().size(); i++) { 18714 composeString(t, "Organization", "alias", element.getAlias().get(i), i); 18715 } 18716 for (int i = 0; i < element.getTelecom().size(); i++) { 18717 composeContactPoint(t, "Organization", "telecom", element.getTelecom().get(i), i); 18718 } 18719 for (int i = 0; i < element.getAddress().size(); i++) { 18720 composeAddress(t, "Organization", "address", element.getAddress().get(i), i); 18721 } 18722 if (element.hasPartOf()) { 18723 composeReference(t, "Organization", "partOf", element.getPartOf(), -1); 18724 } 18725 for (int i = 0; i < element.getContact().size(); i++) { 18726 composeOrganizationContactComponent(t, "Organization", "contact", element.getContact().get(i), i); 18727 } 18728 for (int i = 0; i < element.getEndpoint().size(); i++) { 18729 composeReference(t, "Organization", "endpoint", element.getEndpoint().get(i), i); 18730 } 18731 } 18732 18733 protected void composeOrganizationContactComponent(Complex parent, String parentType, String name, Organization.OrganizationContactComponent element, int index) { 18734 if (element == null) 18735 return; 18736 Complex t; 18737 if (Utilities.noString(parentType)) 18738 t = parent; 18739 else { 18740 t = parent.predicate("fhir:"+parentType+'.'+name); 18741 } 18742 composeBackboneElement(t, "contact", name, element, index); 18743 if (element.hasPurpose()) { 18744 composeCodeableConcept(t, "OrganizationContactComponent", "purpose", element.getPurpose(), -1); 18745 } 18746 if (element.hasName()) { 18747 composeHumanName(t, "OrganizationContactComponent", "name", element.getName(), -1); 18748 } 18749 for (int i = 0; i < element.getTelecom().size(); i++) { 18750 composeContactPoint(t, "OrganizationContactComponent", "telecom", element.getTelecom().get(i), i); 18751 } 18752 if (element.hasAddress()) { 18753 composeAddress(t, "OrganizationContactComponent", "address", element.getAddress(), -1); 18754 } 18755 } 18756 18757 protected void composeOrganizationAffiliation(Complex parent, String parentType, String name, OrganizationAffiliation element, int index) { 18758 if (element == null) 18759 return; 18760 Complex t; 18761 if (Utilities.noString(parentType)) 18762 t = parent; 18763 else { 18764 t = parent.predicate("fhir:"+parentType+'.'+name); 18765 } 18766 composeDomainResource(t, "OrganizationAffiliation", name, element, index); 18767 for (int i = 0; i < element.getIdentifier().size(); i++) { 18768 composeIdentifier(t, "OrganizationAffiliation", "identifier", element.getIdentifier().get(i), i); 18769 } 18770 if (element.hasActiveElement()) { 18771 composeBoolean(t, "OrganizationAffiliation", "active", element.getActiveElement(), -1); 18772 } 18773 if (element.hasPeriod()) { 18774 composePeriod(t, "OrganizationAffiliation", "period", element.getPeriod(), -1); 18775 } 18776 if (element.hasOrganization()) { 18777 composeReference(t, "OrganizationAffiliation", "organization", element.getOrganization(), -1); 18778 } 18779 if (element.hasParticipatingOrganization()) { 18780 composeReference(t, "OrganizationAffiliation", "participatingOrganization", element.getParticipatingOrganization(), -1); 18781 } 18782 for (int i = 0; i < element.getNetwork().size(); i++) { 18783 composeReference(t, "OrganizationAffiliation", "network", element.getNetwork().get(i), i); 18784 } 18785 for (int i = 0; i < element.getCode().size(); i++) { 18786 composeCodeableConcept(t, "OrganizationAffiliation", "code", element.getCode().get(i), i); 18787 } 18788 for (int i = 0; i < element.getSpecialty().size(); i++) { 18789 composeCodeableConcept(t, "OrganizationAffiliation", "specialty", element.getSpecialty().get(i), i); 18790 } 18791 for (int i = 0; i < element.getLocation().size(); i++) { 18792 composeReference(t, "OrganizationAffiliation", "location", element.getLocation().get(i), i); 18793 } 18794 for (int i = 0; i < element.getHealthcareService().size(); i++) { 18795 composeReference(t, "OrganizationAffiliation", "healthcareService", element.getHealthcareService().get(i), i); 18796 } 18797 for (int i = 0; i < element.getTelecom().size(); i++) { 18798 composeContactPoint(t, "OrganizationAffiliation", "telecom", element.getTelecom().get(i), i); 18799 } 18800 for (int i = 0; i < element.getEndpoint().size(); i++) { 18801 composeReference(t, "OrganizationAffiliation", "endpoint", element.getEndpoint().get(i), i); 18802 } 18803 } 18804 18805 protected void composePackagedProductDefinition(Complex parent, String parentType, String name, PackagedProductDefinition element, int index) { 18806 if (element == null) 18807 return; 18808 Complex t; 18809 if (Utilities.noString(parentType)) 18810 t = parent; 18811 else { 18812 t = parent.predicate("fhir:"+parentType+'.'+name); 18813 } 18814 composeDomainResource(t, "PackagedProductDefinition", name, element, index); 18815 for (int i = 0; i < element.getIdentifier().size(); i++) { 18816 composeIdentifier(t, "PackagedProductDefinition", "identifier", element.getIdentifier().get(i), i); 18817 } 18818 if (element.hasNameElement()) { 18819 composeString(t, "PackagedProductDefinition", "name", element.getNameElement(), -1); 18820 } 18821 if (element.hasType()) { 18822 composeCodeableConcept(t, "PackagedProductDefinition", "type", element.getType(), -1); 18823 } 18824 for (int i = 0; i < element.getPackageFor().size(); i++) { 18825 composeReference(t, "PackagedProductDefinition", "packageFor", element.getPackageFor().get(i), i); 18826 } 18827 if (element.hasStatus()) { 18828 composeCodeableConcept(t, "PackagedProductDefinition", "status", element.getStatus(), -1); 18829 } 18830 if (element.hasStatusDateElement()) { 18831 composeDateTime(t, "PackagedProductDefinition", "statusDate", element.getStatusDateElement(), -1); 18832 } 18833 for (int i = 0; i < element.getContainedItemQuantity().size(); i++) { 18834 composeQuantity(t, "PackagedProductDefinition", "containedItemQuantity", element.getContainedItemQuantity().get(i), i); 18835 } 18836 if (element.hasDescriptionElement()) { 18837 composeMarkdown(t, "PackagedProductDefinition", "description", element.getDescriptionElement(), -1); 18838 } 18839 for (int i = 0; i < element.getLegalStatusOfSupply().size(); i++) { 18840 composePackagedProductDefinitionLegalStatusOfSupplyComponent(t, "PackagedProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply().get(i), i); 18841 } 18842 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 18843 composeMarketingStatus(t, "PackagedProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 18844 } 18845 for (int i = 0; i < element.getCharacteristic().size(); i++) { 18846 composeCodeableConcept(t, "PackagedProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 18847 } 18848 if (element.hasCopackagedIndicatorElement()) { 18849 composeBoolean(t, "PackagedProductDefinition", "copackagedIndicator", element.getCopackagedIndicatorElement(), -1); 18850 } 18851 for (int i = 0; i < element.getManufacturer().size(); i++) { 18852 composeReference(t, "PackagedProductDefinition", "manufacturer", element.getManufacturer().get(i), i); 18853 } 18854 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 18855 composeReference(t, "PackagedProductDefinition", "attachedDocument", element.getAttachedDocument().get(i), i); 18856 } 18857 if (element.hasPackage()) { 18858 composePackagedProductDefinitionPackageComponent(t, "PackagedProductDefinition", "package", element.getPackage(), -1); 18859 } 18860 } 18861 18862 protected void composePackagedProductDefinitionLegalStatusOfSupplyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent element, int index) { 18863 if (element == null) 18864 return; 18865 Complex t; 18866 if (Utilities.noString(parentType)) 18867 t = parent; 18868 else { 18869 t = parent.predicate("fhir:"+parentType+'.'+name); 18870 } 18871 composeBackboneElement(t, "legalStatusOfSupply", name, element, index); 18872 if (element.hasCode()) { 18873 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "code", element.getCode(), -1); 18874 } 18875 if (element.hasJurisdiction()) { 18876 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "jurisdiction", element.getJurisdiction(), -1); 18877 } 18878 } 18879 18880 protected void composePackagedProductDefinitionPackageComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackageComponent element, int index) { 18881 if (element == null) 18882 return; 18883 Complex t; 18884 if (Utilities.noString(parentType)) 18885 t = parent; 18886 else { 18887 t = parent.predicate("fhir:"+parentType+'.'+name); 18888 } 18889 composeBackboneElement(t, "package", name, element, index); 18890 for (int i = 0; i < element.getIdentifier().size(); i++) { 18891 composeIdentifier(t, "PackagedProductDefinitionPackageComponent", "identifier", element.getIdentifier().get(i), i); 18892 } 18893 if (element.hasType()) { 18894 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "type", element.getType(), -1); 18895 } 18896 if (element.hasQuantityElement()) { 18897 composeInteger(t, "PackagedProductDefinitionPackageComponent", "quantity", element.getQuantityElement(), -1); 18898 } 18899 for (int i = 0; i < element.getMaterial().size(); i++) { 18900 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "material", element.getMaterial().get(i), i); 18901 } 18902 for (int i = 0; i < element.getAlternateMaterial().size(); i++) { 18903 composeCodeableConcept(t, "PackagedProductDefinitionPackageComponent", "alternateMaterial", element.getAlternateMaterial().get(i), i); 18904 } 18905 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 18906 composeProductShelfLife(t, "PackagedProductDefinitionPackageComponent", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 18907 } 18908 for (int i = 0; i < element.getManufacturer().size(); i++) { 18909 composeReference(t, "PackagedProductDefinitionPackageComponent", "manufacturer", element.getManufacturer().get(i), i); 18910 } 18911 for (int i = 0; i < element.getProperty().size(); i++) { 18912 composePackagedProductDefinitionPackagePropertyComponent(t, "PackagedProductDefinitionPackageComponent", "property", element.getProperty().get(i), i); 18913 } 18914 for (int i = 0; i < element.getContainedItem().size(); i++) { 18915 composePackagedProductDefinitionPackageContainedItemComponent(t, "PackagedProductDefinitionPackageComponent", "containedItem", element.getContainedItem().get(i), i); 18916 } 18917 for (int i = 0; i < element.getPackage().size(); i++) { 18918 composePackagedProductDefinitionPackageComponent(t, "PackagedProductDefinitionPackageComponent", "package", element.getPackage().get(i), i); 18919 } 18920 } 18921 18922 protected void composePackagedProductDefinitionPackagePropertyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent element, int index) { 18923 if (element == null) 18924 return; 18925 Complex t; 18926 if (Utilities.noString(parentType)) 18927 t = parent; 18928 else { 18929 t = parent.predicate("fhir:"+parentType+'.'+name); 18930 } 18931 composeBackboneElement(t, "property", name, element, index); 18932 if (element.hasType()) { 18933 composeCodeableConcept(t, "PackagedProductDefinitionPackagePropertyComponent", "type", element.getType(), -1); 18934 } 18935 if (element.hasValue()) { 18936 composeType(t, "PackagedProductDefinitionPackagePropertyComponent", "value", element.getValue(), -1); 18937 } 18938 } 18939 18940 protected void composePackagedProductDefinitionPackageContainedItemComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent element, int index) { 18941 if (element == null) 18942 return; 18943 Complex t; 18944 if (Utilities.noString(parentType)) 18945 t = parent; 18946 else { 18947 t = parent.predicate("fhir:"+parentType+'.'+name); 18948 } 18949 composeBackboneElement(t, "containedItem", name, element, index); 18950 if (element.hasItem()) { 18951 composeCodeableReference(t, "PackagedProductDefinitionPackageContainedItemComponent", "item", element.getItem(), -1); 18952 } 18953 if (element.hasAmount()) { 18954 composeQuantity(t, "PackagedProductDefinitionPackageContainedItemComponent", "amount", element.getAmount(), -1); 18955 } 18956 } 18957 18958 protected void composeParameters(Complex parent, String parentType, String name, Parameters element, int index) { 18959 if (element == null) 18960 return; 18961 Complex t; 18962 if (Utilities.noString(parentType)) 18963 t = parent; 18964 else { 18965 t = parent.predicate("fhir:"+parentType+'.'+name); 18966 } 18967 composeResource(t, "Parameters", name, element, index); 18968 for (int i = 0; i < element.getParameter().size(); i++) { 18969 composeParametersParameterComponent(t, "Parameters", "parameter", element.getParameter().get(i), i); 18970 } 18971 } 18972 18973 protected void composeParametersParameterComponent(Complex parent, String parentType, String name, Parameters.ParametersParameterComponent element, int index) { 18974 if (element == null) 18975 return; 18976 Complex t; 18977 if (Utilities.noString(parentType)) 18978 t = parent; 18979 else { 18980 t = parent.predicate("fhir:"+parentType+'.'+name); 18981 } 18982 composeBackboneElement(t, "parameter", name, element, index); 18983 if (element.hasNameElement()) { 18984 composeString(t, "ParametersParameterComponent", "name", element.getNameElement(), -1); 18985 } 18986 if (element.hasValue()) { 18987 composeType(t, "ParametersParameterComponent", "value", element.getValue(), -1); 18988 } 18989 if (element.hasResource()) { 18990 composeResource(t, "ParametersParameterComponent", "resource", element.getResource(), -1); 18991 } 18992 for (int i = 0; i < element.getPart().size(); i++) { 18993 composeParametersParameterComponent(t, "ParametersParameterComponent", "part", element.getPart().get(i), i); 18994 } 18995 } 18996 18997 protected void composePatient(Complex parent, String parentType, String name, Patient element, int index) { 18998 if (element == null) 18999 return; 19000 Complex t; 19001 if (Utilities.noString(parentType)) 19002 t = parent; 19003 else { 19004 t = parent.predicate("fhir:"+parentType+'.'+name); 19005 } 19006 composeDomainResource(t, "Patient", name, element, index); 19007 for (int i = 0; i < element.getIdentifier().size(); i++) { 19008 composeIdentifier(t, "Patient", "identifier", element.getIdentifier().get(i), i); 19009 } 19010 if (element.hasActiveElement()) { 19011 composeBoolean(t, "Patient", "active", element.getActiveElement(), -1); 19012 } 19013 for (int i = 0; i < element.getName().size(); i++) { 19014 composeHumanName(t, "Patient", "name", element.getName().get(i), i); 19015 } 19016 for (int i = 0; i < element.getTelecom().size(); i++) { 19017 composeContactPoint(t, "Patient", "telecom", element.getTelecom().get(i), i); 19018 } 19019 if (element.hasGenderElement()) { 19020 composeEnum(t, "Patient", "gender", element.getGenderElement(), -1); 19021 } 19022 if (element.hasBirthDateElement()) { 19023 composeDate(t, "Patient", "birthDate", element.getBirthDateElement(), -1); 19024 } 19025 if (element.hasDeceased()) { 19026 composeType(t, "Patient", "deceased", element.getDeceased(), -1); 19027 } 19028 for (int i = 0; i < element.getAddress().size(); i++) { 19029 composeAddress(t, "Patient", "address", element.getAddress().get(i), i); 19030 } 19031 if (element.hasMaritalStatus()) { 19032 composeCodeableConcept(t, "Patient", "maritalStatus", element.getMaritalStatus(), -1); 19033 } 19034 if (element.hasMultipleBirth()) { 19035 composeType(t, "Patient", "multipleBirth", element.getMultipleBirth(), -1); 19036 } 19037 for (int i = 0; i < element.getPhoto().size(); i++) { 19038 composeAttachment(t, "Patient", "photo", element.getPhoto().get(i), i); 19039 } 19040 for (int i = 0; i < element.getContact().size(); i++) { 19041 composePatientContactComponent(t, "Patient", "contact", element.getContact().get(i), i); 19042 } 19043 for (int i = 0; i < element.getCommunication().size(); i++) { 19044 composePatientCommunicationComponent(t, "Patient", "communication", element.getCommunication().get(i), i); 19045 } 19046 for (int i = 0; i < element.getGeneralPractitioner().size(); i++) { 19047 composeReference(t, "Patient", "generalPractitioner", element.getGeneralPractitioner().get(i), i); 19048 } 19049 if (element.hasManagingOrganization()) { 19050 composeReference(t, "Patient", "managingOrganization", element.getManagingOrganization(), -1); 19051 } 19052 for (int i = 0; i < element.getLink().size(); i++) { 19053 composePatientLinkComponent(t, "Patient", "link", element.getLink().get(i), i); 19054 } 19055 } 19056 19057 protected void composePatientContactComponent(Complex parent, String parentType, String name, Patient.ContactComponent element, int index) { 19058 if (element == null) 19059 return; 19060 Complex t; 19061 if (Utilities.noString(parentType)) 19062 t = parent; 19063 else { 19064 t = parent.predicate("fhir:"+parentType+'.'+name); 19065 } 19066 composeBackboneElement(t, "contact", name, element, index); 19067 for (int i = 0; i < element.getRelationship().size(); i++) { 19068 composeCodeableConcept(t, "ContactComponent", "relationship", element.getRelationship().get(i), i); 19069 } 19070 if (element.hasName()) { 19071 composeHumanName(t, "ContactComponent", "name", element.getName(), -1); 19072 } 19073 for (int i = 0; i < element.getTelecom().size(); i++) { 19074 composeContactPoint(t, "ContactComponent", "telecom", element.getTelecom().get(i), i); 19075 } 19076 if (element.hasAddress()) { 19077 composeAddress(t, "ContactComponent", "address", element.getAddress(), -1); 19078 } 19079 if (element.hasGenderElement()) { 19080 composeEnum(t, "ContactComponent", "gender", element.getGenderElement(), -1); 19081 } 19082 if (element.hasOrganization()) { 19083 composeReference(t, "ContactComponent", "organization", element.getOrganization(), -1); 19084 } 19085 if (element.hasPeriod()) { 19086 composePeriod(t, "ContactComponent", "period", element.getPeriod(), -1); 19087 } 19088 } 19089 19090 protected void composePatientCommunicationComponent(Complex parent, String parentType, String name, Patient.PatientCommunicationComponent element, int index) { 19091 if (element == null) 19092 return; 19093 Complex t; 19094 if (Utilities.noString(parentType)) 19095 t = parent; 19096 else { 19097 t = parent.predicate("fhir:"+parentType+'.'+name); 19098 } 19099 composeBackboneElement(t, "communication", name, element, index); 19100 if (element.hasLanguage()) { 19101 composeCodeableConcept(t, "PatientCommunicationComponent", "language", element.getLanguage(), -1); 19102 } 19103 if (element.hasPreferredElement()) { 19104 composeBoolean(t, "PatientCommunicationComponent", "preferred", element.getPreferredElement(), -1); 19105 } 19106 } 19107 19108 protected void composePatientLinkComponent(Complex parent, String parentType, String name, Patient.PatientLinkComponent element, int index) { 19109 if (element == null) 19110 return; 19111 Complex t; 19112 if (Utilities.noString(parentType)) 19113 t = parent; 19114 else { 19115 t = parent.predicate("fhir:"+parentType+'.'+name); 19116 } 19117 composeBackboneElement(t, "link", name, element, index); 19118 if (element.hasOther()) { 19119 composeReference(t, "PatientLinkComponent", "other", element.getOther(), -1); 19120 } 19121 if (element.hasTypeElement()) { 19122 composeEnum(t, "PatientLinkComponent", "type", element.getTypeElement(), -1); 19123 } 19124 } 19125 19126 protected void composePaymentNotice(Complex parent, String parentType, String name, PaymentNotice element, int index) { 19127 if (element == null) 19128 return; 19129 Complex t; 19130 if (Utilities.noString(parentType)) 19131 t = parent; 19132 else { 19133 t = parent.predicate("fhir:"+parentType+'.'+name); 19134 } 19135 composeDomainResource(t, "PaymentNotice", name, element, index); 19136 for (int i = 0; i < element.getIdentifier().size(); i++) { 19137 composeIdentifier(t, "PaymentNotice", "identifier", element.getIdentifier().get(i), i); 19138 } 19139 if (element.hasStatusElement()) { 19140 composeEnum(t, "PaymentNotice", "status", element.getStatusElement(), -1); 19141 } 19142 if (element.hasRequest()) { 19143 composeReference(t, "PaymentNotice", "request", element.getRequest(), -1); 19144 } 19145 if (element.hasResponse()) { 19146 composeReference(t, "PaymentNotice", "response", element.getResponse(), -1); 19147 } 19148 if (element.hasCreatedElement()) { 19149 composeDateTime(t, "PaymentNotice", "created", element.getCreatedElement(), -1); 19150 } 19151 if (element.hasProvider()) { 19152 composeReference(t, "PaymentNotice", "provider", element.getProvider(), -1); 19153 } 19154 if (element.hasPayment()) { 19155 composeReference(t, "PaymentNotice", "payment", element.getPayment(), -1); 19156 } 19157 if (element.hasPaymentDateElement()) { 19158 composeDate(t, "PaymentNotice", "paymentDate", element.getPaymentDateElement(), -1); 19159 } 19160 if (element.hasPayee()) { 19161 composeReference(t, "PaymentNotice", "payee", element.getPayee(), -1); 19162 } 19163 if (element.hasRecipient()) { 19164 composeReference(t, "PaymentNotice", "recipient", element.getRecipient(), -1); 19165 } 19166 if (element.hasAmount()) { 19167 composeMoney(t, "PaymentNotice", "amount", element.getAmount(), -1); 19168 } 19169 if (element.hasPaymentStatus()) { 19170 composeCodeableConcept(t, "PaymentNotice", "paymentStatus", element.getPaymentStatus(), -1); 19171 } 19172 } 19173 19174 protected void composePaymentReconciliation(Complex parent, String parentType, String name, PaymentReconciliation element, int index) { 19175 if (element == null) 19176 return; 19177 Complex t; 19178 if (Utilities.noString(parentType)) 19179 t = parent; 19180 else { 19181 t = parent.predicate("fhir:"+parentType+'.'+name); 19182 } 19183 composeDomainResource(t, "PaymentReconciliation", name, element, index); 19184 for (int i = 0; i < element.getIdentifier().size(); i++) { 19185 composeIdentifier(t, "PaymentReconciliation", "identifier", element.getIdentifier().get(i), i); 19186 } 19187 if (element.hasStatusElement()) { 19188 composeEnum(t, "PaymentReconciliation", "status", element.getStatusElement(), -1); 19189 } 19190 if (element.hasPeriod()) { 19191 composePeriod(t, "PaymentReconciliation", "period", element.getPeriod(), -1); 19192 } 19193 if (element.hasCreatedElement()) { 19194 composeDateTime(t, "PaymentReconciliation", "created", element.getCreatedElement(), -1); 19195 } 19196 if (element.hasPaymentIssuer()) { 19197 composeReference(t, "PaymentReconciliation", "paymentIssuer", element.getPaymentIssuer(), -1); 19198 } 19199 if (element.hasRequest()) { 19200 composeReference(t, "PaymentReconciliation", "request", element.getRequest(), -1); 19201 } 19202 if (element.hasRequestor()) { 19203 composeReference(t, "PaymentReconciliation", "requestor", element.getRequestor(), -1); 19204 } 19205 if (element.hasOutcomeElement()) { 19206 composeEnum(t, "PaymentReconciliation", "outcome", element.getOutcomeElement(), -1); 19207 } 19208 if (element.hasDispositionElement()) { 19209 composeString(t, "PaymentReconciliation", "disposition", element.getDispositionElement(), -1); 19210 } 19211 if (element.hasPaymentDateElement()) { 19212 composeDate(t, "PaymentReconciliation", "paymentDate", element.getPaymentDateElement(), -1); 19213 } 19214 if (element.hasPaymentAmount()) { 19215 composeMoney(t, "PaymentReconciliation", "paymentAmount", element.getPaymentAmount(), -1); 19216 } 19217 if (element.hasPaymentIdentifier()) { 19218 composeIdentifier(t, "PaymentReconciliation", "paymentIdentifier", element.getPaymentIdentifier(), -1); 19219 } 19220 for (int i = 0; i < element.getDetail().size(); i++) { 19221 composePaymentReconciliationDetailsComponent(t, "PaymentReconciliation", "detail", element.getDetail().get(i), i); 19222 } 19223 if (element.hasFormCode()) { 19224 composeCodeableConcept(t, "PaymentReconciliation", "formCode", element.getFormCode(), -1); 19225 } 19226 for (int i = 0; i < element.getProcessNote().size(); i++) { 19227 composePaymentReconciliationNotesComponent(t, "PaymentReconciliation", "processNote", element.getProcessNote().get(i), i); 19228 } 19229 } 19230 19231 protected void composePaymentReconciliationDetailsComponent(Complex parent, String parentType, String name, PaymentReconciliation.DetailsComponent element, int index) { 19232 if (element == null) 19233 return; 19234 Complex t; 19235 if (Utilities.noString(parentType)) 19236 t = parent; 19237 else { 19238 t = parent.predicate("fhir:"+parentType+'.'+name); 19239 } 19240 composeBackboneElement(t, "detail", name, element, index); 19241 if (element.hasIdentifier()) { 19242 composeIdentifier(t, "DetailsComponent", "identifier", element.getIdentifier(), -1); 19243 } 19244 if (element.hasPredecessor()) { 19245 composeIdentifier(t, "DetailsComponent", "predecessor", element.getPredecessor(), -1); 19246 } 19247 if (element.hasType()) { 19248 composeCodeableConcept(t, "DetailsComponent", "type", element.getType(), -1); 19249 } 19250 if (element.hasRequest()) { 19251 composeReference(t, "DetailsComponent", "request", element.getRequest(), -1); 19252 } 19253 if (element.hasSubmitter()) { 19254 composeReference(t, "DetailsComponent", "submitter", element.getSubmitter(), -1); 19255 } 19256 if (element.hasResponse()) { 19257 composeReference(t, "DetailsComponent", "response", element.getResponse(), -1); 19258 } 19259 if (element.hasDateElement()) { 19260 composeDate(t, "DetailsComponent", "date", element.getDateElement(), -1); 19261 } 19262 if (element.hasResponsible()) { 19263 composeReference(t, "DetailsComponent", "responsible", element.getResponsible(), -1); 19264 } 19265 if (element.hasPayee()) { 19266 composeReference(t, "DetailsComponent", "payee", element.getPayee(), -1); 19267 } 19268 if (element.hasAmount()) { 19269 composeMoney(t, "DetailsComponent", "amount", element.getAmount(), -1); 19270 } 19271 } 19272 19273 protected void composePaymentReconciliationNotesComponent(Complex parent, String parentType, String name, PaymentReconciliation.NotesComponent element, int index) { 19274 if (element == null) 19275 return; 19276 Complex t; 19277 if (Utilities.noString(parentType)) 19278 t = parent; 19279 else { 19280 t = parent.predicate("fhir:"+parentType+'.'+name); 19281 } 19282 composeBackboneElement(t, "processNote", name, element, index); 19283 if (element.hasTypeElement()) { 19284 composeEnum(t, "NotesComponent", "type", element.getTypeElement(), -1); 19285 } 19286 if (element.hasTextElement()) { 19287 composeString(t, "NotesComponent", "text", element.getTextElement(), -1); 19288 } 19289 } 19290 19291 protected void composePermission(Complex parent, String parentType, String name, Permission element, int index) { 19292 if (element == null) 19293 return; 19294 Complex t; 19295 if (Utilities.noString(parentType)) 19296 t = parent; 19297 else { 19298 t = parent.predicate("fhir:"+parentType+'.'+name); 19299 } 19300 composeDomainResource(t, "Permission", name, element, index); 19301 if (element.hasStatusElement()) { 19302 composeEnum(t, "Permission", "status", element.getStatusElement(), -1); 19303 } 19304 if (element.hasIntent()) { 19305 composeCodeableConcept(t, "Permission", "intent", element.getIntent(), -1); 19306 } 19307 if (element.hasAsserter()) { 19308 composeReference(t, "Permission", "asserter", element.getAsserter(), -1); 19309 } 19310 for (int i = 0; i < element.getAssertionDate().size(); i++) { 19311 composeDateTime(t, "Permission", "assertionDate", element.getAssertionDate().get(i), i); 19312 } 19313 if (element.hasValidity()) { 19314 composePeriod(t, "Permission", "validity", element.getValidity(), -1); 19315 } 19316 for (int i = 0; i < element.getPurpose().size(); i++) { 19317 composeCodeableConcept(t, "Permission", "purpose", element.getPurpose().get(i), i); 19318 } 19319 for (int i = 0; i < element.getDataScope().size(); i++) { 19320 composeExpression(t, "Permission", "dataScope", element.getDataScope().get(i), i); 19321 } 19322 for (int i = 0; i < element.getProcessingActivity().size(); i++) { 19323 composePermissionProcessingActivityComponent(t, "Permission", "processingActivity", element.getProcessingActivity().get(i), i); 19324 } 19325 if (element.hasJustification()) { 19326 composePermissionJustificationComponent(t, "Permission", "justification", element.getJustification(), -1); 19327 } 19328 for (int i = 0; i < element.getUsageLimitations().size(); i++) { 19329 composeCodeableConcept(t, "Permission", "usageLimitations", element.getUsageLimitations().get(i), i); 19330 } 19331 } 19332 19333 protected void composePermissionProcessingActivityComponent(Complex parent, String parentType, String name, Permission.PermissionProcessingActivityComponent element, int index) { 19334 if (element == null) 19335 return; 19336 Complex t; 19337 if (Utilities.noString(parentType)) 19338 t = parent; 19339 else { 19340 t = parent.predicate("fhir:"+parentType+'.'+name); 19341 } 19342 composeBackboneElement(t, "processingActivity", name, element, index); 19343 for (int i = 0; i < element.getPartyReference().size(); i++) { 19344 composeReference(t, "PermissionProcessingActivityComponent", "partyReference", element.getPartyReference().get(i), i); 19345 } 19346 for (int i = 0; i < element.getPartyCodeableConcept().size(); i++) { 19347 composeCodeableConcept(t, "PermissionProcessingActivityComponent", "partyCodeableConcept", element.getPartyCodeableConcept().get(i), i); 19348 } 19349 for (int i = 0; i < element.getPurpose().size(); i++) { 19350 composeCodeableConcept(t, "PermissionProcessingActivityComponent", "purpose", element.getPurpose().get(i), i); 19351 } 19352 } 19353 19354 protected void composePermissionJustificationComponent(Complex parent, String parentType, String name, Permission.PermissionJustificationComponent element, int index) { 19355 if (element == null) 19356 return; 19357 Complex t; 19358 if (Utilities.noString(parentType)) 19359 t = parent; 19360 else { 19361 t = parent.predicate("fhir:"+parentType+'.'+name); 19362 } 19363 composeBackboneElement(t, "justification", name, element, index); 19364 for (int i = 0; i < element.getEvidence().size(); i++) { 19365 composeReference(t, "PermissionJustificationComponent", "evidence", element.getEvidence().get(i), i); 19366 } 19367 for (int i = 0; i < element.getGrounds().size(); i++) { 19368 composeCodeableConcept(t, "PermissionJustificationComponent", "grounds", element.getGrounds().get(i), i); 19369 } 19370 } 19371 19372 protected void composePerson(Complex parent, String parentType, String name, Person element, int index) { 19373 if (element == null) 19374 return; 19375 Complex t; 19376 if (Utilities.noString(parentType)) 19377 t = parent; 19378 else { 19379 t = parent.predicate("fhir:"+parentType+'.'+name); 19380 } 19381 composeDomainResource(t, "Person", name, element, index); 19382 for (int i = 0; i < element.getIdentifier().size(); i++) { 19383 composeIdentifier(t, "Person", "identifier", element.getIdentifier().get(i), i); 19384 } 19385 if (element.hasActiveElement()) { 19386 composeBoolean(t, "Person", "active", element.getActiveElement(), -1); 19387 } 19388 for (int i = 0; i < element.getName().size(); i++) { 19389 composeHumanName(t, "Person", "name", element.getName().get(i), i); 19390 } 19391 for (int i = 0; i < element.getTelecom().size(); i++) { 19392 composeContactPoint(t, "Person", "telecom", element.getTelecom().get(i), i); 19393 } 19394 if (element.hasGenderElement()) { 19395 composeEnum(t, "Person", "gender", element.getGenderElement(), -1); 19396 } 19397 if (element.hasBirthDateElement()) { 19398 composeDate(t, "Person", "birthDate", element.getBirthDateElement(), -1); 19399 } 19400 if (element.hasDeceased()) { 19401 composeType(t, "Person", "deceased", element.getDeceased(), -1); 19402 } 19403 for (int i = 0; i < element.getAddress().size(); i++) { 19404 composeAddress(t, "Person", "address", element.getAddress().get(i), i); 19405 } 19406 if (element.hasMaritalStatus()) { 19407 composeCodeableConcept(t, "Person", "maritalStatus", element.getMaritalStatus(), -1); 19408 } 19409 for (int i = 0; i < element.getPhoto().size(); i++) { 19410 composeAttachment(t, "Person", "photo", element.getPhoto().get(i), i); 19411 } 19412 if (element.hasManagingOrganization()) { 19413 composeReference(t, "Person", "managingOrganization", element.getManagingOrganization(), -1); 19414 } 19415 for (int i = 0; i < element.getCommunication().size(); i++) { 19416 composePersonCommunicationComponent(t, "Person", "communication", element.getCommunication().get(i), i); 19417 } 19418 for (int i = 0; i < element.getLink().size(); i++) { 19419 composePersonLinkComponent(t, "Person", "link", element.getLink().get(i), i); 19420 } 19421 } 19422 19423 protected void composePersonCommunicationComponent(Complex parent, String parentType, String name, Person.PersonCommunicationComponent element, int index) { 19424 if (element == null) 19425 return; 19426 Complex t; 19427 if (Utilities.noString(parentType)) 19428 t = parent; 19429 else { 19430 t = parent.predicate("fhir:"+parentType+'.'+name); 19431 } 19432 composeBackboneElement(t, "communication", name, element, index); 19433 if (element.hasLanguage()) { 19434 composeCodeableConcept(t, "PersonCommunicationComponent", "language", element.getLanguage(), -1); 19435 } 19436 if (element.hasPreferredElement()) { 19437 composeBoolean(t, "PersonCommunicationComponent", "preferred", element.getPreferredElement(), -1); 19438 } 19439 } 19440 19441 protected void composePersonLinkComponent(Complex parent, String parentType, String name, Person.PersonLinkComponent element, int index) { 19442 if (element == null) 19443 return; 19444 Complex t; 19445 if (Utilities.noString(parentType)) 19446 t = parent; 19447 else { 19448 t = parent.predicate("fhir:"+parentType+'.'+name); 19449 } 19450 composeBackboneElement(t, "link", name, element, index); 19451 if (element.hasTarget()) { 19452 composeReference(t, "PersonLinkComponent", "target", element.getTarget(), -1); 19453 } 19454 if (element.hasAssuranceElement()) { 19455 composeEnum(t, "PersonLinkComponent", "assurance", element.getAssuranceElement(), -1); 19456 } 19457 } 19458 19459 protected void composePlanDefinition(Complex parent, String parentType, String name, PlanDefinition element, int index) { 19460 if (element == null) 19461 return; 19462 Complex t; 19463 if (Utilities.noString(parentType)) 19464 t = parent; 19465 else { 19466 t = parent.predicate("fhir:"+parentType+'.'+name); 19467 } 19468 composeMetadataResource(t, "PlanDefinition", name, element, index); 19469 if (element.hasUrlElement()) { 19470 composeUri(t, "PlanDefinition", "url", element.getUrlElement(), -1); 19471 } 19472 for (int i = 0; i < element.getIdentifier().size(); i++) { 19473 composeIdentifier(t, "PlanDefinition", "identifier", element.getIdentifier().get(i), i); 19474 } 19475 if (element.hasVersionElement()) { 19476 composeString(t, "PlanDefinition", "version", element.getVersionElement(), -1); 19477 } 19478 if (element.hasNameElement()) { 19479 composeString(t, "PlanDefinition", "name", element.getNameElement(), -1); 19480 } 19481 if (element.hasTitleElement()) { 19482 composeString(t, "PlanDefinition", "title", element.getTitleElement(), -1); 19483 } 19484 if (element.hasSubtitleElement()) { 19485 composeString(t, "PlanDefinition", "subtitle", element.getSubtitleElement(), -1); 19486 } 19487 if (element.hasType()) { 19488 composeCodeableConcept(t, "PlanDefinition", "type", element.getType(), -1); 19489 } 19490 if (element.hasStatusElement()) { 19491 composeEnum(t, "PlanDefinition", "status", element.getStatusElement(), -1); 19492 } 19493 if (element.hasExperimentalElement()) { 19494 composeBoolean(t, "PlanDefinition", "experimental", element.getExperimentalElement(), -1); 19495 } 19496 if (element.hasSubject()) { 19497 composeType(t, "PlanDefinition", "subject", element.getSubject(), -1); 19498 } 19499 if (element.hasDateElement()) { 19500 composeDateTime(t, "PlanDefinition", "date", element.getDateElement(), -1); 19501 } 19502 if (element.hasPublisherElement()) { 19503 composeString(t, "PlanDefinition", "publisher", element.getPublisherElement(), -1); 19504 } 19505 for (int i = 0; i < element.getContact().size(); i++) { 19506 composeContactDetail(t, "PlanDefinition", "contact", element.getContact().get(i), i); 19507 } 19508 if (element.hasDescriptionElement()) { 19509 composeMarkdown(t, "PlanDefinition", "description", element.getDescriptionElement(), -1); 19510 } 19511 for (int i = 0; i < element.getUseContext().size(); i++) { 19512 composeUsageContext(t, "PlanDefinition", "useContext", element.getUseContext().get(i), i); 19513 } 19514 for (int i = 0; i < element.getJurisdiction().size(); i++) { 19515 composeCodeableConcept(t, "PlanDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 19516 } 19517 if (element.hasPurposeElement()) { 19518 composeMarkdown(t, "PlanDefinition", "purpose", element.getPurposeElement(), -1); 19519 } 19520 if (element.hasUsageElement()) { 19521 composeString(t, "PlanDefinition", "usage", element.getUsageElement(), -1); 19522 } 19523 if (element.hasCopyrightElement()) { 19524 composeMarkdown(t, "PlanDefinition", "copyright", element.getCopyrightElement(), -1); 19525 } 19526 if (element.hasApprovalDateElement()) { 19527 composeDate(t, "PlanDefinition", "approvalDate", element.getApprovalDateElement(), -1); 19528 } 19529 if (element.hasLastReviewDateElement()) { 19530 composeDate(t, "PlanDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 19531 } 19532 if (element.hasEffectivePeriod()) { 19533 composePeriod(t, "PlanDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 19534 } 19535 for (int i = 0; i < element.getTopic().size(); i++) { 19536 composeCodeableConcept(t, "PlanDefinition", "topic", element.getTopic().get(i), i); 19537 } 19538 for (int i = 0; i < element.getAuthor().size(); i++) { 19539 composeContactDetail(t, "PlanDefinition", "author", element.getAuthor().get(i), i); 19540 } 19541 for (int i = 0; i < element.getEditor().size(); i++) { 19542 composeContactDetail(t, "PlanDefinition", "editor", element.getEditor().get(i), i); 19543 } 19544 for (int i = 0; i < element.getReviewer().size(); i++) { 19545 composeContactDetail(t, "PlanDefinition", "reviewer", element.getReviewer().get(i), i); 19546 } 19547 for (int i = 0; i < element.getEndorser().size(); i++) { 19548 composeContactDetail(t, "PlanDefinition", "endorser", element.getEndorser().get(i), i); 19549 } 19550 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 19551 composeRelatedArtifact(t, "PlanDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 19552 } 19553 for (int i = 0; i < element.getLibrary().size(); i++) { 19554 composeCanonical(t, "PlanDefinition", "library", element.getLibrary().get(i), i); 19555 } 19556 for (int i = 0; i < element.getGoal().size(); i++) { 19557 composePlanDefinitionGoalComponent(t, "PlanDefinition", "goal", element.getGoal().get(i), i); 19558 } 19559 for (int i = 0; i < element.getActor().size(); i++) { 19560 composePlanDefinitionActorComponent(t, "PlanDefinition", "actor", element.getActor().get(i), i); 19561 } 19562 for (int i = 0; i < element.getAction().size(); i++) { 19563 composePlanDefinitionActionComponent(t, "PlanDefinition", "action", element.getAction().get(i), i); 19564 } 19565 } 19566 19567 protected void composePlanDefinitionGoalComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalComponent element, int index) { 19568 if (element == null) 19569 return; 19570 Complex t; 19571 if (Utilities.noString(parentType)) 19572 t = parent; 19573 else { 19574 t = parent.predicate("fhir:"+parentType+'.'+name); 19575 } 19576 composeBackboneElement(t, "goal", name, element, index); 19577 if (element.hasCategory()) { 19578 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "category", element.getCategory(), -1); 19579 } 19580 if (element.hasDescription()) { 19581 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "description", element.getDescription(), -1); 19582 } 19583 if (element.hasPriority()) { 19584 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "priority", element.getPriority(), -1); 19585 } 19586 if (element.hasStart()) { 19587 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "start", element.getStart(), -1); 19588 } 19589 for (int i = 0; i < element.getAddresses().size(); i++) { 19590 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "addresses", element.getAddresses().get(i), i); 19591 } 19592 for (int i = 0; i < element.getDocumentation().size(); i++) { 19593 composeRelatedArtifact(t, "PlanDefinitionGoalComponent", "documentation", element.getDocumentation().get(i), i); 19594 } 19595 for (int i = 0; i < element.getTarget().size(); i++) { 19596 composePlanDefinitionGoalTargetComponent(t, "PlanDefinitionGoalComponent", "target", element.getTarget().get(i), i); 19597 } 19598 } 19599 19600 protected void composePlanDefinitionGoalTargetComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalTargetComponent element, int index) { 19601 if (element == null) 19602 return; 19603 Complex t; 19604 if (Utilities.noString(parentType)) 19605 t = parent; 19606 else { 19607 t = parent.predicate("fhir:"+parentType+'.'+name); 19608 } 19609 composeBackboneElement(t, "target", name, element, index); 19610 if (element.hasMeasure()) { 19611 composeCodeableConcept(t, "PlanDefinitionGoalTargetComponent", "measure", element.getMeasure(), -1); 19612 } 19613 if (element.hasDetail()) { 19614 composeType(t, "PlanDefinitionGoalTargetComponent", "detail", element.getDetail(), -1); 19615 } 19616 if (element.hasDue()) { 19617 composeDuration(t, "PlanDefinitionGoalTargetComponent", "due", element.getDue(), -1); 19618 } 19619 } 19620 19621 protected void composePlanDefinitionActorComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActorComponent element, int index) { 19622 if (element == null) 19623 return; 19624 Complex t; 19625 if (Utilities.noString(parentType)) 19626 t = parent; 19627 else { 19628 t = parent.predicate("fhir:"+parentType+'.'+name); 19629 } 19630 composeBackboneElement(t, "actor", name, element, index); 19631 if (element.hasTitleElement()) { 19632 composeString(t, "PlanDefinitionActorComponent", "title", element.getTitleElement(), -1); 19633 } 19634 if (element.hasDescriptionElement()) { 19635 composeMarkdown(t, "PlanDefinitionActorComponent", "description", element.getDescriptionElement(), -1); 19636 } 19637 for (int i = 0; i < element.getOption().size(); i++) { 19638 composePlanDefinitionActorOptionComponent(t, "PlanDefinitionActorComponent", "option", element.getOption().get(i), i); 19639 } 19640 } 19641 19642 protected void composePlanDefinitionActorOptionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActorOptionComponent element, int index) { 19643 if (element == null) 19644 return; 19645 Complex t; 19646 if (Utilities.noString(parentType)) 19647 t = parent; 19648 else { 19649 t = parent.predicate("fhir:"+parentType+'.'+name); 19650 } 19651 composeBackboneElement(t, "option", name, element, index); 19652 if (element.hasTypeElement()) { 19653 composeEnum(t, "PlanDefinitionActorOptionComponent", "type", element.getTypeElement(), -1); 19654 } 19655 if (element.hasTypeReference()) { 19656 composeReference(t, "PlanDefinitionActorOptionComponent", "typeReference", element.getTypeReference(), -1); 19657 } 19658 if (element.hasRole()) { 19659 composeCodeableConcept(t, "PlanDefinitionActorOptionComponent", "role", element.getRole(), -1); 19660 } 19661 } 19662 19663 protected void composePlanDefinitionActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionComponent element, int index) { 19664 if (element == null) 19665 return; 19666 Complex t; 19667 if (Utilities.noString(parentType)) 19668 t = parent; 19669 else { 19670 t = parent.predicate("fhir:"+parentType+'.'+name); 19671 } 19672 composeBackboneElement(t, "action", name, element, index); 19673 if (element.hasLinkIdElement()) { 19674 composeString(t, "PlanDefinitionActionComponent", "linkId", element.getLinkIdElement(), -1); 19675 } 19676 if (element.hasPrefixElement()) { 19677 composeString(t, "PlanDefinitionActionComponent", "prefix", element.getPrefixElement(), -1); 19678 } 19679 if (element.hasTitleElement()) { 19680 composeString(t, "PlanDefinitionActionComponent", "title", element.getTitleElement(), -1); 19681 } 19682 if (element.hasDescriptionElement()) { 19683 composeString(t, "PlanDefinitionActionComponent", "description", element.getDescriptionElement(), -1); 19684 } 19685 if (element.hasTextEquivalentElement()) { 19686 composeString(t, "PlanDefinitionActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 19687 } 19688 if (element.hasPriorityElement()) { 19689 composeEnum(t, "PlanDefinitionActionComponent", "priority", element.getPriorityElement(), -1); 19690 } 19691 if (element.hasCode()) { 19692 composeCodeableConcept(t, "PlanDefinitionActionComponent", "code", element.getCode(), -1); 19693 } 19694 for (int i = 0; i < element.getReason().size(); i++) { 19695 composeCodeableConcept(t, "PlanDefinitionActionComponent", "reason", element.getReason().get(i), i); 19696 } 19697 for (int i = 0; i < element.getDocumentation().size(); i++) { 19698 composeRelatedArtifact(t, "PlanDefinitionActionComponent", "documentation", element.getDocumentation().get(i), i); 19699 } 19700 for (int i = 0; i < element.getGoalId().size(); i++) { 19701 composeId(t, "PlanDefinitionActionComponent", "goalId", element.getGoalId().get(i), i); 19702 } 19703 if (element.hasSubject()) { 19704 composeType(t, "PlanDefinitionActionComponent", "subject", element.getSubject(), -1); 19705 } 19706 for (int i = 0; i < element.getTrigger().size(); i++) { 19707 composeTriggerDefinition(t, "PlanDefinitionActionComponent", "trigger", element.getTrigger().get(i), i); 19708 } 19709 for (int i = 0; i < element.getCondition().size(); i++) { 19710 composePlanDefinitionActionConditionComponent(t, "PlanDefinitionActionComponent", "condition", element.getCondition().get(i), i); 19711 } 19712 for (int i = 0; i < element.getInput().size(); i++) { 19713 composePlanDefinitionActionInputComponent(t, "PlanDefinitionActionComponent", "input", element.getInput().get(i), i); 19714 } 19715 for (int i = 0; i < element.getOutput().size(); i++) { 19716 composePlanDefinitionActionOutputComponent(t, "PlanDefinitionActionComponent", "output", element.getOutput().get(i), i); 19717 } 19718 for (int i = 0; i < element.getRelatedAction().size(); i++) { 19719 composePlanDefinitionActionRelatedActionComponent(t, "PlanDefinitionActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 19720 } 19721 if (element.hasTiming()) { 19722 composeType(t, "PlanDefinitionActionComponent", "timing", element.getTiming(), -1); 19723 } 19724 if (element.hasLocation()) { 19725 composeCodeableReference(t, "PlanDefinitionActionComponent", "location", element.getLocation(), -1); 19726 } 19727 for (int i = 0; i < element.getParticipant().size(); i++) { 19728 composePlanDefinitionActionParticipantComponent(t, "PlanDefinitionActionComponent", "participant", element.getParticipant().get(i), i); 19729 } 19730 if (element.hasType()) { 19731 composeCodeableConcept(t, "PlanDefinitionActionComponent", "type", element.getType(), -1); 19732 } 19733 if (element.hasGroupingBehaviorElement()) { 19734 composeEnum(t, "PlanDefinitionActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 19735 } 19736 if (element.hasSelectionBehaviorElement()) { 19737 composeEnum(t, "PlanDefinitionActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 19738 } 19739 if (element.hasRequiredBehaviorElement()) { 19740 composeEnum(t, "PlanDefinitionActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 19741 } 19742 if (element.hasPrecheckBehaviorElement()) { 19743 composeEnum(t, "PlanDefinitionActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 19744 } 19745 if (element.hasCardinalityBehaviorElement()) { 19746 composeEnum(t, "PlanDefinitionActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 19747 } 19748 if (element.hasDefinition()) { 19749 composeType(t, "PlanDefinitionActionComponent", "definition", element.getDefinition(), -1); 19750 } 19751 if (element.hasTransformElement()) { 19752 composeCanonical(t, "PlanDefinitionActionComponent", "transform", element.getTransformElement(), -1); 19753 } 19754 for (int i = 0; i < element.getDynamicValue().size(); i++) { 19755 composePlanDefinitionActionDynamicValueComponent(t, "PlanDefinitionActionComponent", "dynamicValue", element.getDynamicValue().get(i), i); 19756 } 19757 for (int i = 0; i < element.getAction().size(); i++) { 19758 composePlanDefinitionActionComponent(t, "PlanDefinitionActionComponent", "action", element.getAction().get(i), i); 19759 } 19760 } 19761 19762 protected void composePlanDefinitionActionConditionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionConditionComponent element, int index) { 19763 if (element == null) 19764 return; 19765 Complex t; 19766 if (Utilities.noString(parentType)) 19767 t = parent; 19768 else { 19769 t = parent.predicate("fhir:"+parentType+'.'+name); 19770 } 19771 composeBackboneElement(t, "condition", name, element, index); 19772 if (element.hasKindElement()) { 19773 composeEnum(t, "PlanDefinitionActionConditionComponent", "kind", element.getKindElement(), -1); 19774 } 19775 if (element.hasExpression()) { 19776 composeExpression(t, "PlanDefinitionActionConditionComponent", "expression", element.getExpression(), -1); 19777 } 19778 } 19779 19780 protected void composePlanDefinitionActionInputComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionInputComponent element, int index) { 19781 if (element == null) 19782 return; 19783 Complex t; 19784 if (Utilities.noString(parentType)) 19785 t = parent; 19786 else { 19787 t = parent.predicate("fhir:"+parentType+'.'+name); 19788 } 19789 composeBackboneElement(t, "input", name, element, index); 19790 if (element.hasTitleElement()) { 19791 composeString(t, "PlanDefinitionActionInputComponent", "title", element.getTitleElement(), -1); 19792 } 19793 if (element.hasRequirement()) { 19794 composeDataRequirement(t, "PlanDefinitionActionInputComponent", "requirement", element.getRequirement(), -1); 19795 } 19796 if (element.hasRelatedDataElement()) { 19797 composeId(t, "PlanDefinitionActionInputComponent", "relatedData", element.getRelatedDataElement(), -1); 19798 } 19799 } 19800 19801 protected void composePlanDefinitionActionOutputComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionOutputComponent element, int index) { 19802 if (element == null) 19803 return; 19804 Complex t; 19805 if (Utilities.noString(parentType)) 19806 t = parent; 19807 else { 19808 t = parent.predicate("fhir:"+parentType+'.'+name); 19809 } 19810 composeBackboneElement(t, "output", name, element, index); 19811 if (element.hasTitleElement()) { 19812 composeString(t, "PlanDefinitionActionOutputComponent", "title", element.getTitleElement(), -1); 19813 } 19814 if (element.hasRequirement()) { 19815 composeDataRequirement(t, "PlanDefinitionActionOutputComponent", "requirement", element.getRequirement(), -1); 19816 } 19817 if (element.hasRelatedDataElement()) { 19818 composeString(t, "PlanDefinitionActionOutputComponent", "relatedData", element.getRelatedDataElement(), -1); 19819 } 19820 } 19821 19822 protected void composePlanDefinitionActionRelatedActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionRelatedActionComponent element, int index) { 19823 if (element == null) 19824 return; 19825 Complex t; 19826 if (Utilities.noString(parentType)) 19827 t = parent; 19828 else { 19829 t = parent.predicate("fhir:"+parentType+'.'+name); 19830 } 19831 composeBackboneElement(t, "relatedAction", name, element, index); 19832 if (element.hasTargetIdElement()) { 19833 composeId(t, "PlanDefinitionActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); 19834 } 19835 if (element.hasRelationshipElement()) { 19836 composeEnum(t, "PlanDefinitionActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 19837 } 19838 if (element.hasOffset()) { 19839 composeType(t, "PlanDefinitionActionRelatedActionComponent", "offset", element.getOffset(), -1); 19840 } 19841 } 19842 19843 protected void composePlanDefinitionActionParticipantComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionParticipantComponent element, int index) { 19844 if (element == null) 19845 return; 19846 Complex t; 19847 if (Utilities.noString(parentType)) 19848 t = parent; 19849 else { 19850 t = parent.predicate("fhir:"+parentType+'.'+name); 19851 } 19852 composeBackboneElement(t, "participant", name, element, index); 19853 if (element.hasActorIdElement()) { 19854 composeString(t, "PlanDefinitionActionParticipantComponent", "actorId", element.getActorIdElement(), -1); 19855 } 19856 if (element.hasTypeElement()) { 19857 composeEnum(t, "PlanDefinitionActionParticipantComponent", "type", element.getTypeElement(), -1); 19858 } 19859 if (element.hasTypeReference()) { 19860 composeReference(t, "PlanDefinitionActionParticipantComponent", "typeReference", element.getTypeReference(), -1); 19861 } 19862 if (element.hasRole()) { 19863 composeCodeableConcept(t, "PlanDefinitionActionParticipantComponent", "role", element.getRole(), -1); 19864 } 19865 if (element.hasFunction()) { 19866 composeCodeableConcept(t, "PlanDefinitionActionParticipantComponent", "function", element.getFunction(), -1); 19867 } 19868 } 19869 19870 protected void composePlanDefinitionActionDynamicValueComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionDynamicValueComponent element, int index) { 19871 if (element == null) 19872 return; 19873 Complex t; 19874 if (Utilities.noString(parentType)) 19875 t = parent; 19876 else { 19877 t = parent.predicate("fhir:"+parentType+'.'+name); 19878 } 19879 composeBackboneElement(t, "dynamicValue", name, element, index); 19880 if (element.hasPathElement()) { 19881 composeString(t, "PlanDefinitionActionDynamicValueComponent", "path", element.getPathElement(), -1); 19882 } 19883 if (element.hasExpression()) { 19884 composeExpression(t, "PlanDefinitionActionDynamicValueComponent", "expression", element.getExpression(), -1); 19885 } 19886 } 19887 19888 protected void composePractitioner(Complex parent, String parentType, String name, Practitioner element, int index) { 19889 if (element == null) 19890 return; 19891 Complex t; 19892 if (Utilities.noString(parentType)) 19893 t = parent; 19894 else { 19895 t = parent.predicate("fhir:"+parentType+'.'+name); 19896 } 19897 composeDomainResource(t, "Practitioner", name, element, index); 19898 for (int i = 0; i < element.getIdentifier().size(); i++) { 19899 composeIdentifier(t, "Practitioner", "identifier", element.getIdentifier().get(i), i); 19900 } 19901 if (element.hasActiveElement()) { 19902 composeBoolean(t, "Practitioner", "active", element.getActiveElement(), -1); 19903 } 19904 for (int i = 0; i < element.getName().size(); i++) { 19905 composeHumanName(t, "Practitioner", "name", element.getName().get(i), i); 19906 } 19907 for (int i = 0; i < element.getTelecom().size(); i++) { 19908 composeContactPoint(t, "Practitioner", "telecom", element.getTelecom().get(i), i); 19909 } 19910 if (element.hasDeceased()) { 19911 composeType(t, "Practitioner", "deceased", element.getDeceased(), -1); 19912 } 19913 for (int i = 0; i < element.getAddress().size(); i++) { 19914 composeAddress(t, "Practitioner", "address", element.getAddress().get(i), i); 19915 } 19916 if (element.hasGenderElement()) { 19917 composeEnum(t, "Practitioner", "gender", element.getGenderElement(), -1); 19918 } 19919 if (element.hasBirthDateElement()) { 19920 composeDate(t, "Practitioner", "birthDate", element.getBirthDateElement(), -1); 19921 } 19922 for (int i = 0; i < element.getPhoto().size(); i++) { 19923 composeAttachment(t, "Practitioner", "photo", element.getPhoto().get(i), i); 19924 } 19925 for (int i = 0; i < element.getQualification().size(); i++) { 19926 composePractitionerQualificationComponent(t, "Practitioner", "qualification", element.getQualification().get(i), i); 19927 } 19928 for (int i = 0; i < element.getCommunication().size(); i++) { 19929 composeCodeableConcept(t, "Practitioner", "communication", element.getCommunication().get(i), i); 19930 } 19931 } 19932 19933 protected void composePractitionerQualificationComponent(Complex parent, String parentType, String name, Practitioner.PractitionerQualificationComponent element, int index) { 19934 if (element == null) 19935 return; 19936 Complex t; 19937 if (Utilities.noString(parentType)) 19938 t = parent; 19939 else { 19940 t = parent.predicate("fhir:"+parentType+'.'+name); 19941 } 19942 composeBackboneElement(t, "qualification", name, element, index); 19943 for (int i = 0; i < element.getIdentifier().size(); i++) { 19944 composeIdentifier(t, "PractitionerQualificationComponent", "identifier", element.getIdentifier().get(i), i); 19945 } 19946 if (element.hasCode()) { 19947 composeCodeableConcept(t, "PractitionerQualificationComponent", "code", element.getCode(), -1); 19948 } 19949 if (element.hasPeriod()) { 19950 composePeriod(t, "PractitionerQualificationComponent", "period", element.getPeriod(), -1); 19951 } 19952 if (element.hasIssuer()) { 19953 composeReference(t, "PractitionerQualificationComponent", "issuer", element.getIssuer(), -1); 19954 } 19955 } 19956 19957 protected void composePractitionerRole(Complex parent, String parentType, String name, PractitionerRole element, int index) { 19958 if (element == null) 19959 return; 19960 Complex t; 19961 if (Utilities.noString(parentType)) 19962 t = parent; 19963 else { 19964 t = parent.predicate("fhir:"+parentType+'.'+name); 19965 } 19966 composeDomainResource(t, "PractitionerRole", name, element, index); 19967 for (int i = 0; i < element.getIdentifier().size(); i++) { 19968 composeIdentifier(t, "PractitionerRole", "identifier", element.getIdentifier().get(i), i); 19969 } 19970 if (element.hasActiveElement()) { 19971 composeBoolean(t, "PractitionerRole", "active", element.getActiveElement(), -1); 19972 } 19973 if (element.hasPeriod()) { 19974 composePeriod(t, "PractitionerRole", "period", element.getPeriod(), -1); 19975 } 19976 if (element.hasPractitioner()) { 19977 composeReference(t, "PractitionerRole", "practitioner", element.getPractitioner(), -1); 19978 } 19979 if (element.hasOrganization()) { 19980 composeReference(t, "PractitionerRole", "organization", element.getOrganization(), -1); 19981 } 19982 for (int i = 0; i < element.getCode().size(); i++) { 19983 composeCodeableConcept(t, "PractitionerRole", "code", element.getCode().get(i), i); 19984 } 19985 for (int i = 0; i < element.getSpecialty().size(); i++) { 19986 composeCodeableConcept(t, "PractitionerRole", "specialty", element.getSpecialty().get(i), i); 19987 } 19988 for (int i = 0; i < element.getLocation().size(); i++) { 19989 composeReference(t, "PractitionerRole", "location", element.getLocation().get(i), i); 19990 } 19991 for (int i = 0; i < element.getHealthcareService().size(); i++) { 19992 composeReference(t, "PractitionerRole", "healthcareService", element.getHealthcareService().get(i), i); 19993 } 19994 for (int i = 0; i < element.getTelecom().size(); i++) { 19995 composeContactPoint(t, "PractitionerRole", "telecom", element.getTelecom().get(i), i); 19996 } 19997 for (int i = 0; i < element.getAvailableTime().size(); i++) { 19998 composePractitionerRoleAvailableTimeComponent(t, "PractitionerRole", "availableTime", element.getAvailableTime().get(i), i); 19999 } 20000 for (int i = 0; i < element.getNotAvailable().size(); i++) { 20001 composePractitionerRoleNotAvailableComponent(t, "PractitionerRole", "notAvailable", element.getNotAvailable().get(i), i); 20002 } 20003 if (element.hasAvailabilityExceptionsElement()) { 20004 composeString(t, "PractitionerRole", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); 20005 } 20006 for (int i = 0; i < element.getEndpoint().size(); i++) { 20007 composeReference(t, "PractitionerRole", "endpoint", element.getEndpoint().get(i), i); 20008 } 20009 } 20010 20011 protected void composePractitionerRoleAvailableTimeComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element, int index) { 20012 if (element == null) 20013 return; 20014 Complex t; 20015 if (Utilities.noString(parentType)) 20016 t = parent; 20017 else { 20018 t = parent.predicate("fhir:"+parentType+'.'+name); 20019 } 20020 composeBackboneElement(t, "availableTime", name, element, index); 20021 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 20022 composeEnum(t, "PractitionerRoleAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 20023 } 20024 if (element.hasAllDayElement()) { 20025 composeBoolean(t, "PractitionerRoleAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); 20026 } 20027 if (element.hasAvailableStartTimeElement()) { 20028 composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); 20029 } 20030 if (element.hasAvailableEndTimeElement()) { 20031 composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); 20032 } 20033 } 20034 20035 protected void composePractitionerRoleNotAvailableComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleNotAvailableComponent element, int index) { 20036 if (element == null) 20037 return; 20038 Complex t; 20039 if (Utilities.noString(parentType)) 20040 t = parent; 20041 else { 20042 t = parent.predicate("fhir:"+parentType+'.'+name); 20043 } 20044 composeBackboneElement(t, "notAvailable", name, element, index); 20045 if (element.hasDescriptionElement()) { 20046 composeString(t, "PractitionerRoleNotAvailableComponent", "description", element.getDescriptionElement(), -1); 20047 } 20048 if (element.hasDuring()) { 20049 composePeriod(t, "PractitionerRoleNotAvailableComponent", "during", element.getDuring(), -1); 20050 } 20051 } 20052 20053 protected void composeProcedure(Complex parent, String parentType, String name, Procedure element, int index) { 20054 if (element == null) 20055 return; 20056 Complex t; 20057 if (Utilities.noString(parentType)) 20058 t = parent; 20059 else { 20060 t = parent.predicate("fhir:"+parentType+'.'+name); 20061 } 20062 composeDomainResource(t, "Procedure", name, element, index); 20063 for (int i = 0; i < element.getIdentifier().size(); i++) { 20064 composeIdentifier(t, "Procedure", "identifier", element.getIdentifier().get(i), i); 20065 } 20066 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 20067 composeCanonical(t, "Procedure", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 20068 } 20069 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 20070 composeUri(t, "Procedure", "instantiatesUri", element.getInstantiatesUri().get(i), i); 20071 } 20072 for (int i = 0; i < element.getBasedOn().size(); i++) { 20073 composeReference(t, "Procedure", "basedOn", element.getBasedOn().get(i), i); 20074 } 20075 for (int i = 0; i < element.getPartOf().size(); i++) { 20076 composeReference(t, "Procedure", "partOf", element.getPartOf().get(i), i); 20077 } 20078 if (element.hasStatusElement()) { 20079 composeEnum(t, "Procedure", "status", element.getStatusElement(), -1); 20080 } 20081 if (element.hasStatusReason()) { 20082 composeCodeableConcept(t, "Procedure", "statusReason", element.getStatusReason(), -1); 20083 } 20084 for (int i = 0; i < element.getCategory().size(); i++) { 20085 composeCodeableConcept(t, "Procedure", "category", element.getCategory().get(i), i); 20086 } 20087 if (element.hasCode()) { 20088 composeCodeableConcept(t, "Procedure", "code", element.getCode(), -1); 20089 } 20090 if (element.hasSubject()) { 20091 composeReference(t, "Procedure", "subject", element.getSubject(), -1); 20092 } 20093 if (element.hasEncounter()) { 20094 composeReference(t, "Procedure", "encounter", element.getEncounter(), -1); 20095 } 20096 if (element.hasOccurrence()) { 20097 composeType(t, "Procedure", "occurrence", element.getOccurrence(), -1); 20098 } 20099 if (element.hasRecordedElement()) { 20100 composeDateTime(t, "Procedure", "recorded", element.getRecordedElement(), -1); 20101 } 20102 if (element.hasRecorder()) { 20103 composeReference(t, "Procedure", "recorder", element.getRecorder(), -1); 20104 } 20105 if (element.hasReported()) { 20106 composeType(t, "Procedure", "reported", element.getReported(), -1); 20107 } 20108 for (int i = 0; i < element.getPerformer().size(); i++) { 20109 composeProcedurePerformerComponent(t, "Procedure", "performer", element.getPerformer().get(i), i); 20110 } 20111 if (element.hasLocation()) { 20112 composeReference(t, "Procedure", "location", element.getLocation(), -1); 20113 } 20114 for (int i = 0; i < element.getReason().size(); i++) { 20115 composeCodeableReference(t, "Procedure", "reason", element.getReason().get(i), i); 20116 } 20117 for (int i = 0; i < element.getBodySite().size(); i++) { 20118 composeCodeableConcept(t, "Procedure", "bodySite", element.getBodySite().get(i), i); 20119 } 20120 if (element.hasOutcome()) { 20121 composeCodeableConcept(t, "Procedure", "outcome", element.getOutcome(), -1); 20122 } 20123 for (int i = 0; i < element.getReport().size(); i++) { 20124 composeReference(t, "Procedure", "report", element.getReport().get(i), i); 20125 } 20126 for (int i = 0; i < element.getComplication().size(); i++) { 20127 composeCodeableConcept(t, "Procedure", "complication", element.getComplication().get(i), i); 20128 } 20129 for (int i = 0; i < element.getComplicationDetail().size(); i++) { 20130 composeReference(t, "Procedure", "complicationDetail", element.getComplicationDetail().get(i), i); 20131 } 20132 for (int i = 0; i < element.getFollowUp().size(); i++) { 20133 composeCodeableConcept(t, "Procedure", "followUp", element.getFollowUp().get(i), i); 20134 } 20135 for (int i = 0; i < element.getNote().size(); i++) { 20136 composeAnnotation(t, "Procedure", "note", element.getNote().get(i), i); 20137 } 20138 for (int i = 0; i < element.getFocalDevice().size(); i++) { 20139 composeProcedureFocalDeviceComponent(t, "Procedure", "focalDevice", element.getFocalDevice().get(i), i); 20140 } 20141 for (int i = 0; i < element.getUsed().size(); i++) { 20142 composeCodeableReference(t, "Procedure", "used", element.getUsed().get(i), i); 20143 } 20144 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 20145 composeReference(t, "Procedure", "supportingInfo", element.getSupportingInfo().get(i), i); 20146 } 20147 } 20148 20149 protected void composeProcedurePerformerComponent(Complex parent, String parentType, String name, Procedure.ProcedurePerformerComponent element, int index) { 20150 if (element == null) 20151 return; 20152 Complex t; 20153 if (Utilities.noString(parentType)) 20154 t = parent; 20155 else { 20156 t = parent.predicate("fhir:"+parentType+'.'+name); 20157 } 20158 composeBackboneElement(t, "performer", name, element, index); 20159 if (element.hasFunction()) { 20160 composeCodeableConcept(t, "ProcedurePerformerComponent", "function", element.getFunction(), -1); 20161 } 20162 if (element.hasActor()) { 20163 composeReference(t, "ProcedurePerformerComponent", "actor", element.getActor(), -1); 20164 } 20165 if (element.hasOnBehalfOf()) { 20166 composeReference(t, "ProcedurePerformerComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 20167 } 20168 } 20169 20170 protected void composeProcedureFocalDeviceComponent(Complex parent, String parentType, String name, Procedure.ProcedureFocalDeviceComponent element, int index) { 20171 if (element == null) 20172 return; 20173 Complex t; 20174 if (Utilities.noString(parentType)) 20175 t = parent; 20176 else { 20177 t = parent.predicate("fhir:"+parentType+'.'+name); 20178 } 20179 composeBackboneElement(t, "focalDevice", name, element, index); 20180 if (element.hasAction()) { 20181 composeCodeableConcept(t, "ProcedureFocalDeviceComponent", "action", element.getAction(), -1); 20182 } 20183 if (element.hasManipulated()) { 20184 composeReference(t, "ProcedureFocalDeviceComponent", "manipulated", element.getManipulated(), -1); 20185 } 20186 } 20187 20188 protected void composeProvenance(Complex parent, String parentType, String name, Provenance element, int index) { 20189 if (element == null) 20190 return; 20191 Complex t; 20192 if (Utilities.noString(parentType)) 20193 t = parent; 20194 else { 20195 t = parent.predicate("fhir:"+parentType+'.'+name); 20196 } 20197 composeDomainResource(t, "Provenance", name, element, index); 20198 for (int i = 0; i < element.getTarget().size(); i++) { 20199 composeReference(t, "Provenance", "target", element.getTarget().get(i), i); 20200 } 20201 if (element.hasOccurred()) { 20202 composeType(t, "Provenance", "occurred", element.getOccurred(), -1); 20203 } 20204 if (element.hasRecordedElement()) { 20205 composeInstant(t, "Provenance", "recorded", element.getRecordedElement(), -1); 20206 } 20207 for (int i = 0; i < element.getPolicy().size(); i++) { 20208 composeUri(t, "Provenance", "policy", element.getPolicy().get(i), i); 20209 } 20210 if (element.hasLocation()) { 20211 composeReference(t, "Provenance", "location", element.getLocation(), -1); 20212 } 20213 for (int i = 0; i < element.getAuthorization().size(); i++) { 20214 composeCodeableReference(t, "Provenance", "authorization", element.getAuthorization().get(i), i); 20215 } 20216 if (element.hasActivity()) { 20217 composeCodeableConcept(t, "Provenance", "activity", element.getActivity(), -1); 20218 } 20219 for (int i = 0; i < element.getBasedOn().size(); i++) { 20220 composeReference(t, "Provenance", "basedOn", element.getBasedOn().get(i), i); 20221 } 20222 if (element.hasEncounter()) { 20223 composeReference(t, "Provenance", "encounter", element.getEncounter(), -1); 20224 } 20225 for (int i = 0; i < element.getAgent().size(); i++) { 20226 composeProvenanceAgentComponent(t, "Provenance", "agent", element.getAgent().get(i), i); 20227 } 20228 for (int i = 0; i < element.getEntity().size(); i++) { 20229 composeProvenanceEntityComponent(t, "Provenance", "entity", element.getEntity().get(i), i); 20230 } 20231 for (int i = 0; i < element.getSignature().size(); i++) { 20232 composeSignature(t, "Provenance", "signature", element.getSignature().get(i), i); 20233 } 20234 } 20235 20236 protected void composeProvenanceAgentComponent(Complex parent, String parentType, String name, Provenance.ProvenanceAgentComponent element, int index) { 20237 if (element == null) 20238 return; 20239 Complex t; 20240 if (Utilities.noString(parentType)) 20241 t = parent; 20242 else { 20243 t = parent.predicate("fhir:"+parentType+'.'+name); 20244 } 20245 composeBackboneElement(t, "agent", name, element, index); 20246 if (element.hasType()) { 20247 composeCodeableConcept(t, "ProvenanceAgentComponent", "type", element.getType(), -1); 20248 } 20249 for (int i = 0; i < element.getRole().size(); i++) { 20250 composeCodeableConcept(t, "ProvenanceAgentComponent", "role", element.getRole().get(i), i); 20251 } 20252 if (element.hasWho()) { 20253 composeReference(t, "ProvenanceAgentComponent", "who", element.getWho(), -1); 20254 } 20255 if (element.hasOnBehalfOf()) { 20256 composeReference(t, "ProvenanceAgentComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 20257 } 20258 } 20259 20260 protected void composeProvenanceEntityComponent(Complex parent, String parentType, String name, Provenance.ProvenanceEntityComponent element, int index) { 20261 if (element == null) 20262 return; 20263 Complex t; 20264 if (Utilities.noString(parentType)) 20265 t = parent; 20266 else { 20267 t = parent.predicate("fhir:"+parentType+'.'+name); 20268 } 20269 composeBackboneElement(t, "entity", name, element, index); 20270 if (element.hasRoleElement()) { 20271 composeEnum(t, "ProvenanceEntityComponent", "role", element.getRoleElement(), -1); 20272 } 20273 if (element.hasWhat()) { 20274 composeReference(t, "ProvenanceEntityComponent", "what", element.getWhat(), -1); 20275 } 20276 for (int i = 0; i < element.getAgent().size(); i++) { 20277 composeProvenanceAgentComponent(t, "ProvenanceEntityComponent", "agent", element.getAgent().get(i), i); 20278 } 20279 } 20280 20281 protected void composeQuestionnaire(Complex parent, String parentType, String name, Questionnaire element, int index) { 20282 if (element == null) 20283 return; 20284 Complex t; 20285 if (Utilities.noString(parentType)) 20286 t = parent; 20287 else { 20288 t = parent.predicate("fhir:"+parentType+'.'+name); 20289 } 20290 composeMetadataResource(t, "Questionnaire", name, element, index); 20291 if (element.hasUrlElement()) { 20292 composeUri(t, "Questionnaire", "url", element.getUrlElement(), -1); 20293 } 20294 for (int i = 0; i < element.getIdentifier().size(); i++) { 20295 composeIdentifier(t, "Questionnaire", "identifier", element.getIdentifier().get(i), i); 20296 } 20297 if (element.hasVersionElement()) { 20298 composeString(t, "Questionnaire", "version", element.getVersionElement(), -1); 20299 } 20300 if (element.hasNameElement()) { 20301 composeString(t, "Questionnaire", "name", element.getNameElement(), -1); 20302 } 20303 if (element.hasTitleElement()) { 20304 composeString(t, "Questionnaire", "title", element.getTitleElement(), -1); 20305 } 20306 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 20307 composeCanonical(t, "Questionnaire", "derivedFrom", element.getDerivedFrom().get(i), i); 20308 } 20309 if (element.hasStatusElement()) { 20310 composeEnum(t, "Questionnaire", "status", element.getStatusElement(), -1); 20311 } 20312 if (element.hasExperimentalElement()) { 20313 composeBoolean(t, "Questionnaire", "experimental", element.getExperimentalElement(), -1); 20314 } 20315 for (int i = 0; i < element.getSubjectType().size(); i++) { 20316 composeCode(t, "Questionnaire", "subjectType", element.getSubjectType().get(i), i); 20317 } 20318 if (element.hasDateElement()) { 20319 composeDateTime(t, "Questionnaire", "date", element.getDateElement(), -1); 20320 } 20321 if (element.hasPublisherElement()) { 20322 composeString(t, "Questionnaire", "publisher", element.getPublisherElement(), -1); 20323 } 20324 for (int i = 0; i < element.getContact().size(); i++) { 20325 composeContactDetail(t, "Questionnaire", "contact", element.getContact().get(i), i); 20326 } 20327 if (element.hasDescriptionElement()) { 20328 composeMarkdown(t, "Questionnaire", "description", element.getDescriptionElement(), -1); 20329 } 20330 for (int i = 0; i < element.getUseContext().size(); i++) { 20331 composeUsageContext(t, "Questionnaire", "useContext", element.getUseContext().get(i), i); 20332 } 20333 for (int i = 0; i < element.getJurisdiction().size(); i++) { 20334 composeCodeableConcept(t, "Questionnaire", "jurisdiction", element.getJurisdiction().get(i), i); 20335 } 20336 if (element.hasPurposeElement()) { 20337 composeMarkdown(t, "Questionnaire", "purpose", element.getPurposeElement(), -1); 20338 } 20339 if (element.hasCopyrightElement()) { 20340 composeMarkdown(t, "Questionnaire", "copyright", element.getCopyrightElement(), -1); 20341 } 20342 if (element.hasApprovalDateElement()) { 20343 composeDate(t, "Questionnaire", "approvalDate", element.getApprovalDateElement(), -1); 20344 } 20345 if (element.hasLastReviewDateElement()) { 20346 composeDate(t, "Questionnaire", "lastReviewDate", element.getLastReviewDateElement(), -1); 20347 } 20348 if (element.hasEffectivePeriod()) { 20349 composePeriod(t, "Questionnaire", "effectivePeriod", element.getEffectivePeriod(), -1); 20350 } 20351 for (int i = 0; i < element.getCode().size(); i++) { 20352 composeCoding(t, "Questionnaire", "code", element.getCode().get(i), i); 20353 } 20354 for (int i = 0; i < element.getItem().size(); i++) { 20355 composeQuestionnaireItemComponent(t, "Questionnaire", "item", element.getItem().get(i), i); 20356 } 20357 } 20358 20359 protected void composeQuestionnaireItemComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemComponent element, int index) { 20360 if (element == null) 20361 return; 20362 Complex t; 20363 if (Utilities.noString(parentType)) 20364 t = parent; 20365 else { 20366 t = parent.predicate("fhir:"+parentType+'.'+name); 20367 } 20368 composeBackboneElement(t, "item", name, element, index); 20369 if (element.hasLinkIdElement()) { 20370 composeString(t, "QuestionnaireItemComponent", "linkId", element.getLinkIdElement(), -1); 20371 } 20372 if (element.hasDefinitionElement()) { 20373 composeUri(t, "QuestionnaireItemComponent", "definition", element.getDefinitionElement(), -1); 20374 } 20375 for (int i = 0; i < element.getCode().size(); i++) { 20376 composeCoding(t, "QuestionnaireItemComponent", "code", element.getCode().get(i), i); 20377 } 20378 if (element.hasPrefixElement()) { 20379 composeString(t, "QuestionnaireItemComponent", "prefix", element.getPrefixElement(), -1); 20380 } 20381 if (element.hasTextElement()) { 20382 composeMarkdown(t, "QuestionnaireItemComponent", "text", element.getTextElement(), -1); 20383 } 20384 if (element.hasTypeElement()) { 20385 composeEnum(t, "QuestionnaireItemComponent", "type", element.getTypeElement(), -1); 20386 } 20387 for (int i = 0; i < element.getEnableWhen().size(); i++) { 20388 composeQuestionnaireItemEnableWhenComponent(t, "QuestionnaireItemComponent", "enableWhen", element.getEnableWhen().get(i), i); 20389 } 20390 if (element.hasEnableBehaviorElement()) { 20391 composeEnum(t, "QuestionnaireItemComponent", "enableBehavior", element.getEnableBehaviorElement(), -1); 20392 } 20393 if (element.hasDisabledDisplayElement()) { 20394 composeEnum(t, "QuestionnaireItemComponent", "disabledDisplay", element.getDisabledDisplayElement(), -1); 20395 } 20396 if (element.hasRequiredElement()) { 20397 composeBoolean(t, "QuestionnaireItemComponent", "required", element.getRequiredElement(), -1); 20398 } 20399 if (element.hasRepeatsElement()) { 20400 composeBoolean(t, "QuestionnaireItemComponent", "repeats", element.getRepeatsElement(), -1); 20401 } 20402 if (element.hasReadOnlyElement()) { 20403 composeBoolean(t, "QuestionnaireItemComponent", "readOnly", element.getReadOnlyElement(), -1); 20404 } 20405 if (element.hasMaxLengthElement()) { 20406 composeInteger(t, "QuestionnaireItemComponent", "maxLength", element.getMaxLengthElement(), -1); 20407 } 20408 if (element.hasAnswerConstraintElement()) { 20409 composeEnum(t, "QuestionnaireItemComponent", "answerConstraint", element.getAnswerConstraintElement(), -1); 20410 } 20411 if (element.hasAnswerValueSetElement()) { 20412 composeCanonical(t, "QuestionnaireItemComponent", "answerValueSet", element.getAnswerValueSetElement(), -1); 20413 } 20414 for (int i = 0; i < element.getAnswerOption().size(); i++) { 20415 composeQuestionnaireItemAnswerOptionComponent(t, "QuestionnaireItemComponent", "answerOption", element.getAnswerOption().get(i), i); 20416 } 20417 for (int i = 0; i < element.getInitial().size(); i++) { 20418 composeQuestionnaireItemInitialComponent(t, "QuestionnaireItemComponent", "initial", element.getInitial().get(i), i); 20419 } 20420 for (int i = 0; i < element.getItem().size(); i++) { 20421 composeQuestionnaireItemComponent(t, "QuestionnaireItemComponent", "item", element.getItem().get(i), i); 20422 } 20423 } 20424 20425 protected void composeQuestionnaireItemEnableWhenComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemEnableWhenComponent element, int index) { 20426 if (element == null) 20427 return; 20428 Complex t; 20429 if (Utilities.noString(parentType)) 20430 t = parent; 20431 else { 20432 t = parent.predicate("fhir:"+parentType+'.'+name); 20433 } 20434 composeBackboneElement(t, "enableWhen", name, element, index); 20435 if (element.hasQuestionElement()) { 20436 composeString(t, "QuestionnaireItemEnableWhenComponent", "question", element.getQuestionElement(), -1); 20437 } 20438 if (element.hasOperatorElement()) { 20439 composeEnum(t, "QuestionnaireItemEnableWhenComponent", "operator", element.getOperatorElement(), -1); 20440 } 20441 if (element.hasAnswer()) { 20442 composeType(t, "QuestionnaireItemEnableWhenComponent", "answer", element.getAnswer(), -1); 20443 } 20444 } 20445 20446 protected void composeQuestionnaireItemAnswerOptionComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemAnswerOptionComponent element, int index) { 20447 if (element == null) 20448 return; 20449 Complex t; 20450 if (Utilities.noString(parentType)) 20451 t = parent; 20452 else { 20453 t = parent.predicate("fhir:"+parentType+'.'+name); 20454 } 20455 composeBackboneElement(t, "answerOption", name, element, index); 20456 if (element.hasValue()) { 20457 composeType(t, "QuestionnaireItemAnswerOptionComponent", "value", element.getValue(), -1); 20458 } 20459 if (element.hasInitialSelectedElement()) { 20460 composeBoolean(t, "QuestionnaireItemAnswerOptionComponent", "initialSelected", element.getInitialSelectedElement(), -1); 20461 } 20462 } 20463 20464 protected void composeQuestionnaireItemInitialComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemInitialComponent element, int index) { 20465 if (element == null) 20466 return; 20467 Complex t; 20468 if (Utilities.noString(parentType)) 20469 t = parent; 20470 else { 20471 t = parent.predicate("fhir:"+parentType+'.'+name); 20472 } 20473 composeBackboneElement(t, "initial", name, element, index); 20474 if (element.hasValue()) { 20475 composeType(t, "QuestionnaireItemInitialComponent", "value", element.getValue(), -1); 20476 } 20477 } 20478 20479 protected void composeQuestionnaireResponse(Complex parent, String parentType, String name, QuestionnaireResponse element, int index) { 20480 if (element == null) 20481 return; 20482 Complex t; 20483 if (Utilities.noString(parentType)) 20484 t = parent; 20485 else { 20486 t = parent.predicate("fhir:"+parentType+'.'+name); 20487 } 20488 composeDomainResource(t, "QuestionnaireResponse", name, element, index); 20489 for (int i = 0; i < element.getIdentifier().size(); i++) { 20490 composeIdentifier(t, "QuestionnaireResponse", "identifier", element.getIdentifier().get(i), i); 20491 } 20492 for (int i = 0; i < element.getBasedOn().size(); i++) { 20493 composeReference(t, "QuestionnaireResponse", "basedOn", element.getBasedOn().get(i), i); 20494 } 20495 for (int i = 0; i < element.getPartOf().size(); i++) { 20496 composeReference(t, "QuestionnaireResponse", "partOf", element.getPartOf().get(i), i); 20497 } 20498 if (element.hasQuestionnaireElement()) { 20499 composeCanonical(t, "QuestionnaireResponse", "questionnaire", element.getQuestionnaireElement(), -1); 20500 } 20501 if (element.hasStatusElement()) { 20502 composeEnum(t, "QuestionnaireResponse", "status", element.getStatusElement(), -1); 20503 } 20504 if (element.hasSubject()) { 20505 composeReference(t, "QuestionnaireResponse", "subject", element.getSubject(), -1); 20506 } 20507 if (element.hasEncounter()) { 20508 composeReference(t, "QuestionnaireResponse", "encounter", element.getEncounter(), -1); 20509 } 20510 if (element.hasAuthoredElement()) { 20511 composeDateTime(t, "QuestionnaireResponse", "authored", element.getAuthoredElement(), -1); 20512 } 20513 if (element.hasAuthor()) { 20514 composeReference(t, "QuestionnaireResponse", "author", element.getAuthor(), -1); 20515 } 20516 if (element.hasSource()) { 20517 composeReference(t, "QuestionnaireResponse", "source", element.getSource(), -1); 20518 } 20519 for (int i = 0; i < element.getItem().size(); i++) { 20520 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponse", "item", element.getItem().get(i), i); 20521 } 20522 } 20523 20524 protected void composeQuestionnaireResponseItemComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemComponent element, int index) { 20525 if (element == null) 20526 return; 20527 Complex t; 20528 if (Utilities.noString(parentType)) 20529 t = parent; 20530 else { 20531 t = parent.predicate("fhir:"+parentType+'.'+name); 20532 } 20533 composeBackboneElement(t, "item", name, element, index); 20534 if (element.hasLinkIdElement()) { 20535 composeString(t, "QuestionnaireResponseItemComponent", "linkId", element.getLinkIdElement(), -1); 20536 } 20537 if (element.hasDefinitionElement()) { 20538 composeUri(t, "QuestionnaireResponseItemComponent", "definition", element.getDefinitionElement(), -1); 20539 } 20540 if (element.hasTextElement()) { 20541 composeString(t, "QuestionnaireResponseItemComponent", "text", element.getTextElement(), -1); 20542 } 20543 for (int i = 0; i < element.getAnswer().size(); i++) { 20544 composeQuestionnaireResponseItemAnswerComponent(t, "QuestionnaireResponseItemComponent", "answer", element.getAnswer().get(i), i); 20545 } 20546 for (int i = 0; i < element.getItem().size(); i++) { 20547 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemComponent", "item", element.getItem().get(i), i); 20548 } 20549 } 20550 20551 protected void composeQuestionnaireResponseItemAnswerComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent element, int index) { 20552 if (element == null) 20553 return; 20554 Complex t; 20555 if (Utilities.noString(parentType)) 20556 t = parent; 20557 else { 20558 t = parent.predicate("fhir:"+parentType+'.'+name); 20559 } 20560 composeBackboneElement(t, "answer", name, element, index); 20561 if (element.hasValue()) { 20562 composeType(t, "QuestionnaireResponseItemAnswerComponent", "value", element.getValue(), -1); 20563 } 20564 for (int i = 0; i < element.getItem().size(); i++) { 20565 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemAnswerComponent", "item", element.getItem().get(i), i); 20566 } 20567 } 20568 20569 protected void composeRegulatedAuthorization(Complex parent, String parentType, String name, RegulatedAuthorization element, int index) { 20570 if (element == null) 20571 return; 20572 Complex t; 20573 if (Utilities.noString(parentType)) 20574 t = parent; 20575 else { 20576 t = parent.predicate("fhir:"+parentType+'.'+name); 20577 } 20578 composeDomainResource(t, "RegulatedAuthorization", name, element, index); 20579 for (int i = 0; i < element.getIdentifier().size(); i++) { 20580 composeIdentifier(t, "RegulatedAuthorization", "identifier", element.getIdentifier().get(i), i); 20581 } 20582 for (int i = 0; i < element.getSubject().size(); i++) { 20583 composeReference(t, "RegulatedAuthorization", "subject", element.getSubject().get(i), i); 20584 } 20585 if (element.hasType()) { 20586 composeCodeableConcept(t, "RegulatedAuthorization", "type", element.getType(), -1); 20587 } 20588 if (element.hasDescriptionElement()) { 20589 composeMarkdown(t, "RegulatedAuthorization", "description", element.getDescriptionElement(), -1); 20590 } 20591 for (int i = 0; i < element.getRegion().size(); i++) { 20592 composeCodeableConcept(t, "RegulatedAuthorization", "region", element.getRegion().get(i), i); 20593 } 20594 if (element.hasStatus()) { 20595 composeCodeableConcept(t, "RegulatedAuthorization", "status", element.getStatus(), -1); 20596 } 20597 if (element.hasStatusDateElement()) { 20598 composeDateTime(t, "RegulatedAuthorization", "statusDate", element.getStatusDateElement(), -1); 20599 } 20600 if (element.hasValidityPeriod()) { 20601 composePeriod(t, "RegulatedAuthorization", "validityPeriod", element.getValidityPeriod(), -1); 20602 } 20603 if (element.hasIndication()) { 20604 composeCodeableReference(t, "RegulatedAuthorization", "indication", element.getIndication(), -1); 20605 } 20606 if (element.hasIntendedUse()) { 20607 composeCodeableConcept(t, "RegulatedAuthorization", "intendedUse", element.getIntendedUse(), -1); 20608 } 20609 for (int i = 0; i < element.getBasis().size(); i++) { 20610 composeCodeableConcept(t, "RegulatedAuthorization", "basis", element.getBasis().get(i), i); 20611 } 20612 if (element.hasHolder()) { 20613 composeReference(t, "RegulatedAuthorization", "holder", element.getHolder(), -1); 20614 } 20615 if (element.hasRegulator()) { 20616 composeReference(t, "RegulatedAuthorization", "regulator", element.getRegulator(), -1); 20617 } 20618 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 20619 composeReference(t, "RegulatedAuthorization", "attachedDocument", element.getAttachedDocument().get(i), i); 20620 } 20621 if (element.hasCase()) { 20622 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorization", "case", element.getCase(), -1); 20623 } 20624 } 20625 20626 protected void composeRegulatedAuthorizationCaseComponent(Complex parent, String parentType, String name, RegulatedAuthorization.RegulatedAuthorizationCaseComponent element, int index) { 20627 if (element == null) 20628 return; 20629 Complex t; 20630 if (Utilities.noString(parentType)) 20631 t = parent; 20632 else { 20633 t = parent.predicate("fhir:"+parentType+'.'+name); 20634 } 20635 composeBackboneElement(t, "case", name, element, index); 20636 if (element.hasIdentifier()) { 20637 composeIdentifier(t, "RegulatedAuthorizationCaseComponent", "identifier", element.getIdentifier(), -1); 20638 } 20639 if (element.hasType()) { 20640 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "type", element.getType(), -1); 20641 } 20642 if (element.hasStatus()) { 20643 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "status", element.getStatus(), -1); 20644 } 20645 if (element.hasDate()) { 20646 composeType(t, "RegulatedAuthorizationCaseComponent", "date", element.getDate(), -1); 20647 } 20648 for (int i = 0; i < element.getApplication().size(); i++) { 20649 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorizationCaseComponent", "application", element.getApplication().get(i), i); 20650 } 20651 } 20652 20653 protected void composeRelatedPerson(Complex parent, String parentType, String name, RelatedPerson element, int index) { 20654 if (element == null) 20655 return; 20656 Complex t; 20657 if (Utilities.noString(parentType)) 20658 t = parent; 20659 else { 20660 t = parent.predicate("fhir:"+parentType+'.'+name); 20661 } 20662 composeDomainResource(t, "RelatedPerson", name, element, index); 20663 for (int i = 0; i < element.getIdentifier().size(); i++) { 20664 composeIdentifier(t, "RelatedPerson", "identifier", element.getIdentifier().get(i), i); 20665 } 20666 if (element.hasActiveElement()) { 20667 composeBoolean(t, "RelatedPerson", "active", element.getActiveElement(), -1); 20668 } 20669 if (element.hasPatient()) { 20670 composeReference(t, "RelatedPerson", "patient", element.getPatient(), -1); 20671 } 20672 for (int i = 0; i < element.getRelationship().size(); i++) { 20673 composeCodeableConcept(t, "RelatedPerson", "relationship", element.getRelationship().get(i), i); 20674 } 20675 for (int i = 0; i < element.getName().size(); i++) { 20676 composeHumanName(t, "RelatedPerson", "name", element.getName().get(i), i); 20677 } 20678 for (int i = 0; i < element.getTelecom().size(); i++) { 20679 composeContactPoint(t, "RelatedPerson", "telecom", element.getTelecom().get(i), i); 20680 } 20681 if (element.hasGenderElement()) { 20682 composeEnum(t, "RelatedPerson", "gender", element.getGenderElement(), -1); 20683 } 20684 if (element.hasBirthDateElement()) { 20685 composeDate(t, "RelatedPerson", "birthDate", element.getBirthDateElement(), -1); 20686 } 20687 for (int i = 0; i < element.getAddress().size(); i++) { 20688 composeAddress(t, "RelatedPerson", "address", element.getAddress().get(i), i); 20689 } 20690 for (int i = 0; i < element.getPhoto().size(); i++) { 20691 composeAttachment(t, "RelatedPerson", "photo", element.getPhoto().get(i), i); 20692 } 20693 if (element.hasPeriod()) { 20694 composePeriod(t, "RelatedPerson", "period", element.getPeriod(), -1); 20695 } 20696 for (int i = 0; i < element.getCommunication().size(); i++) { 20697 composeRelatedPersonCommunicationComponent(t, "RelatedPerson", "communication", element.getCommunication().get(i), i); 20698 } 20699 } 20700 20701 protected void composeRelatedPersonCommunicationComponent(Complex parent, String parentType, String name, RelatedPerson.RelatedPersonCommunicationComponent element, int index) { 20702 if (element == null) 20703 return; 20704 Complex t; 20705 if (Utilities.noString(parentType)) 20706 t = parent; 20707 else { 20708 t = parent.predicate("fhir:"+parentType+'.'+name); 20709 } 20710 composeBackboneElement(t, "communication", name, element, index); 20711 if (element.hasLanguage()) { 20712 composeCodeableConcept(t, "RelatedPersonCommunicationComponent", "language", element.getLanguage(), -1); 20713 } 20714 if (element.hasPreferredElement()) { 20715 composeBoolean(t, "RelatedPersonCommunicationComponent", "preferred", element.getPreferredElement(), -1); 20716 } 20717 } 20718 20719 protected void composeRequestGroup(Complex parent, String parentType, String name, RequestGroup element, int index) { 20720 if (element == null) 20721 return; 20722 Complex t; 20723 if (Utilities.noString(parentType)) 20724 t = parent; 20725 else { 20726 t = parent.predicate("fhir:"+parentType+'.'+name); 20727 } 20728 composeDomainResource(t, "RequestGroup", name, element, index); 20729 for (int i = 0; i < element.getIdentifier().size(); i++) { 20730 composeIdentifier(t, "RequestGroup", "identifier", element.getIdentifier().get(i), i); 20731 } 20732 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 20733 composeCanonical(t, "RequestGroup", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 20734 } 20735 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 20736 composeUri(t, "RequestGroup", "instantiatesUri", element.getInstantiatesUri().get(i), i); 20737 } 20738 for (int i = 0; i < element.getBasedOn().size(); i++) { 20739 composeReference(t, "RequestGroup", "basedOn", element.getBasedOn().get(i), i); 20740 } 20741 for (int i = 0; i < element.getReplaces().size(); i++) { 20742 composeReference(t, "RequestGroup", "replaces", element.getReplaces().get(i), i); 20743 } 20744 if (element.hasGroupIdentifier()) { 20745 composeIdentifier(t, "RequestGroup", "groupIdentifier", element.getGroupIdentifier(), -1); 20746 } 20747 if (element.hasStatusElement()) { 20748 composeEnum(t, "RequestGroup", "status", element.getStatusElement(), -1); 20749 } 20750 if (element.hasIntentElement()) { 20751 composeEnum(t, "RequestGroup", "intent", element.getIntentElement(), -1); 20752 } 20753 if (element.hasPriorityElement()) { 20754 composeEnum(t, "RequestGroup", "priority", element.getPriorityElement(), -1); 20755 } 20756 if (element.hasCode()) { 20757 composeCodeableConcept(t, "RequestGroup", "code", element.getCode(), -1); 20758 } 20759 if (element.hasSubject()) { 20760 composeReference(t, "RequestGroup", "subject", element.getSubject(), -1); 20761 } 20762 if (element.hasEncounter()) { 20763 composeReference(t, "RequestGroup", "encounter", element.getEncounter(), -1); 20764 } 20765 if (element.hasAuthoredOnElement()) { 20766 composeDateTime(t, "RequestGroup", "authoredOn", element.getAuthoredOnElement(), -1); 20767 } 20768 if (element.hasAuthor()) { 20769 composeReference(t, "RequestGroup", "author", element.getAuthor(), -1); 20770 } 20771 for (int i = 0; i < element.getReason().size(); i++) { 20772 composeCodeableReference(t, "RequestGroup", "reason", element.getReason().get(i), i); 20773 } 20774 for (int i = 0; i < element.getGoal().size(); i++) { 20775 composeReference(t, "RequestGroup", "goal", element.getGoal().get(i), i); 20776 } 20777 for (int i = 0; i < element.getNote().size(); i++) { 20778 composeAnnotation(t, "RequestGroup", "note", element.getNote().get(i), i); 20779 } 20780 for (int i = 0; i < element.getAction().size(); i++) { 20781 composeRequestGroupActionComponent(t, "RequestGroup", "action", element.getAction().get(i), i); 20782 } 20783 } 20784 20785 protected void composeRequestGroupActionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionComponent element, int index) { 20786 if (element == null) 20787 return; 20788 Complex t; 20789 if (Utilities.noString(parentType)) 20790 t = parent; 20791 else { 20792 t = parent.predicate("fhir:"+parentType+'.'+name); 20793 } 20794 composeBackboneElement(t, "action", name, element, index); 20795 if (element.hasLinkIdElement()) { 20796 composeString(t, "RequestGroupActionComponent", "linkId", element.getLinkIdElement(), -1); 20797 } 20798 if (element.hasPrefixElement()) { 20799 composeString(t, "RequestGroupActionComponent", "prefix", element.getPrefixElement(), -1); 20800 } 20801 if (element.hasTitleElement()) { 20802 composeString(t, "RequestGroupActionComponent", "title", element.getTitleElement(), -1); 20803 } 20804 if (element.hasDescriptionElement()) { 20805 composeString(t, "RequestGroupActionComponent", "description", element.getDescriptionElement(), -1); 20806 } 20807 if (element.hasTextEquivalentElement()) { 20808 composeString(t, "RequestGroupActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 20809 } 20810 if (element.hasPriorityElement()) { 20811 composeEnum(t, "RequestGroupActionComponent", "priority", element.getPriorityElement(), -1); 20812 } 20813 for (int i = 0; i < element.getCode().size(); i++) { 20814 composeCodeableConcept(t, "RequestGroupActionComponent", "code", element.getCode().get(i), i); 20815 } 20816 for (int i = 0; i < element.getDocumentation().size(); i++) { 20817 composeRelatedArtifact(t, "RequestGroupActionComponent", "documentation", element.getDocumentation().get(i), i); 20818 } 20819 for (int i = 0; i < element.getGoal().size(); i++) { 20820 composeReference(t, "RequestGroupActionComponent", "goal", element.getGoal().get(i), i); 20821 } 20822 for (int i = 0; i < element.getCondition().size(); i++) { 20823 composeRequestGroupActionConditionComponent(t, "RequestGroupActionComponent", "condition", element.getCondition().get(i), i); 20824 } 20825 for (int i = 0; i < element.getRelatedAction().size(); i++) { 20826 composeRequestGroupActionRelatedActionComponent(t, "RequestGroupActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 20827 } 20828 if (element.hasTiming()) { 20829 composeType(t, "RequestGroupActionComponent", "timing", element.getTiming(), -1); 20830 } 20831 if (element.hasLocation()) { 20832 composeCodeableReference(t, "RequestGroupActionComponent", "location", element.getLocation(), -1); 20833 } 20834 for (int i = 0; i < element.getParticipant().size(); i++) { 20835 composeRequestGroupActionParticipantComponent(t, "RequestGroupActionComponent", "participant", element.getParticipant().get(i), i); 20836 } 20837 if (element.hasType()) { 20838 composeCodeableConcept(t, "RequestGroupActionComponent", "type", element.getType(), -1); 20839 } 20840 if (element.hasGroupingBehaviorElement()) { 20841 composeEnum(t, "RequestGroupActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 20842 } 20843 if (element.hasSelectionBehaviorElement()) { 20844 composeEnum(t, "RequestGroupActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 20845 } 20846 if (element.hasRequiredBehaviorElement()) { 20847 composeEnum(t, "RequestGroupActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 20848 } 20849 if (element.hasPrecheckBehaviorElement()) { 20850 composeEnum(t, "RequestGroupActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 20851 } 20852 if (element.hasCardinalityBehaviorElement()) { 20853 composeEnum(t, "RequestGroupActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 20854 } 20855 if (element.hasResource()) { 20856 composeReference(t, "RequestGroupActionComponent", "resource", element.getResource(), -1); 20857 } 20858 for (int i = 0; i < element.getAction().size(); i++) { 20859 composeRequestGroupActionComponent(t, "RequestGroupActionComponent", "action", element.getAction().get(i), i); 20860 } 20861 } 20862 20863 protected void composeRequestGroupActionConditionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionConditionComponent element, int index) { 20864 if (element == null) 20865 return; 20866 Complex t; 20867 if (Utilities.noString(parentType)) 20868 t = parent; 20869 else { 20870 t = parent.predicate("fhir:"+parentType+'.'+name); 20871 } 20872 composeBackboneElement(t, "condition", name, element, index); 20873 if (element.hasKindElement()) { 20874 composeEnum(t, "RequestGroupActionConditionComponent", "kind", element.getKindElement(), -1); 20875 } 20876 if (element.hasExpression()) { 20877 composeExpression(t, "RequestGroupActionConditionComponent", "expression", element.getExpression(), -1); 20878 } 20879 } 20880 20881 protected void composeRequestGroupActionRelatedActionComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionRelatedActionComponent element, int index) { 20882 if (element == null) 20883 return; 20884 Complex t; 20885 if (Utilities.noString(parentType)) 20886 t = parent; 20887 else { 20888 t = parent.predicate("fhir:"+parentType+'.'+name); 20889 } 20890 composeBackboneElement(t, "relatedAction", name, element, index); 20891 if (element.hasTargetIdElement()) { 20892 composeId(t, "RequestGroupActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); 20893 } 20894 if (element.hasRelationshipElement()) { 20895 composeEnum(t, "RequestGroupActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 20896 } 20897 if (element.hasOffset()) { 20898 composeType(t, "RequestGroupActionRelatedActionComponent", "offset", element.getOffset(), -1); 20899 } 20900 } 20901 20902 protected void composeRequestGroupActionParticipantComponent(Complex parent, String parentType, String name, RequestGroup.RequestGroupActionParticipantComponent element, int index) { 20903 if (element == null) 20904 return; 20905 Complex t; 20906 if (Utilities.noString(parentType)) 20907 t = parent; 20908 else { 20909 t = parent.predicate("fhir:"+parentType+'.'+name); 20910 } 20911 composeBackboneElement(t, "participant", name, element, index); 20912 if (element.hasTypeElement()) { 20913 composeEnum(t, "RequestGroupActionParticipantComponent", "type", element.getTypeElement(), -1); 20914 } 20915 if (element.hasTypeReference()) { 20916 composeReference(t, "RequestGroupActionParticipantComponent", "typeReference", element.getTypeReference(), -1); 20917 } 20918 if (element.hasRole()) { 20919 composeCodeableConcept(t, "RequestGroupActionParticipantComponent", "role", element.getRole(), -1); 20920 } 20921 if (element.hasFunction()) { 20922 composeCodeableConcept(t, "RequestGroupActionParticipantComponent", "function", element.getFunction(), -1); 20923 } 20924 if (element.hasActor()) { 20925 composeReference(t, "RequestGroupActionParticipantComponent", "actor", element.getActor(), -1); 20926 } 20927 } 20928 20929 protected void composeResearchStudy(Complex parent, String parentType, String name, ResearchStudy element, int index) { 20930 if (element == null) 20931 return; 20932 Complex t; 20933 if (Utilities.noString(parentType)) 20934 t = parent; 20935 else { 20936 t = parent.predicate("fhir:"+parentType+'.'+name); 20937 } 20938 composeDomainResource(t, "ResearchStudy", name, element, index); 20939 if (element.hasUrlElement()) { 20940 composeUri(t, "ResearchStudy", "url", element.getUrlElement(), -1); 20941 } 20942 for (int i = 0; i < element.getIdentifier().size(); i++) { 20943 composeIdentifier(t, "ResearchStudy", "identifier", element.getIdentifier().get(i), i); 20944 } 20945 if (element.hasVersionElement()) { 20946 composeString(t, "ResearchStudy", "version", element.getVersionElement(), -1); 20947 } 20948 if (element.hasNameElement()) { 20949 composeString(t, "ResearchStudy", "name", element.getNameElement(), -1); 20950 } 20951 if (element.hasTitleElement()) { 20952 composeString(t, "ResearchStudy", "title", element.getTitleElement(), -1); 20953 } 20954 for (int i = 0; i < element.getLabel().size(); i++) { 20955 composeResearchStudyLabelComponent(t, "ResearchStudy", "label", element.getLabel().get(i), i); 20956 } 20957 for (int i = 0; i < element.getProtocol().size(); i++) { 20958 composeReference(t, "ResearchStudy", "protocol", element.getProtocol().get(i), i); 20959 } 20960 for (int i = 0; i < element.getPartOf().size(); i++) { 20961 composeReference(t, "ResearchStudy", "partOf", element.getPartOf().get(i), i); 20962 } 20963 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 20964 composeRelatedArtifact(t, "ResearchStudy", "relatedArtifact", element.getRelatedArtifact().get(i), i); 20965 } 20966 if (element.hasDateElement()) { 20967 composeDateTime(t, "ResearchStudy", "date", element.getDateElement(), -1); 20968 } 20969 if (element.hasStatusElement()) { 20970 composeEnum(t, "ResearchStudy", "status", element.getStatusElement(), -1); 20971 } 20972 if (element.hasPrimaryPurposeType()) { 20973 composeCodeableConcept(t, "ResearchStudy", "primaryPurposeType", element.getPrimaryPurposeType(), -1); 20974 } 20975 if (element.hasPhase()) { 20976 composeCodeableConcept(t, "ResearchStudy", "phase", element.getPhase(), -1); 20977 } 20978 for (int i = 0; i < element.getCategory().size(); i++) { 20979 composeCodeableConcept(t, "ResearchStudy", "category", element.getCategory().get(i), i); 20980 } 20981 for (int i = 0; i < element.getFocus().size(); i++) { 20982 composeResearchStudyFocusComponent(t, "ResearchStudy", "focus", element.getFocus().get(i), i); 20983 } 20984 for (int i = 0; i < element.getCondition().size(); i++) { 20985 composeCodeableConcept(t, "ResearchStudy", "condition", element.getCondition().get(i), i); 20986 } 20987 for (int i = 0; i < element.getKeyword().size(); i++) { 20988 composeCodeableConcept(t, "ResearchStudy", "keyword", element.getKeyword().get(i), i); 20989 } 20990 for (int i = 0; i < element.getLocation().size(); i++) { 20991 composeCodeableConcept(t, "ResearchStudy", "location", element.getLocation().get(i), i); 20992 } 20993 if (element.hasDescriptionSummaryElement()) { 20994 composeMarkdown(t, "ResearchStudy", "descriptionSummary", element.getDescriptionSummaryElement(), -1); 20995 } 20996 if (element.hasDescriptionElement()) { 20997 composeMarkdown(t, "ResearchStudy", "description", element.getDescriptionElement(), -1); 20998 } 20999 if (element.hasPeriod()) { 21000 composePeriod(t, "ResearchStudy", "period", element.getPeriod(), -1); 21001 } 21002 for (int i = 0; i < element.getContact().size(); i++) { 21003 composeContactDetail(t, "ResearchStudy", "contact", element.getContact().get(i), i); 21004 } 21005 if (element.hasSponsor()) { 21006 composeReference(t, "ResearchStudy", "sponsor", element.getSponsor(), -1); 21007 } 21008 if (element.hasPrincipalInvestigator()) { 21009 composeReference(t, "ResearchStudy", "principalInvestigator", element.getPrincipalInvestigator(), -1); 21010 } 21011 for (int i = 0; i < element.getSite().size(); i++) { 21012 composeReference(t, "ResearchStudy", "site", element.getSite().get(i), i); 21013 } 21014 for (int i = 0; i < element.getNote().size(); i++) { 21015 composeAnnotation(t, "ResearchStudy", "note", element.getNote().get(i), i); 21016 } 21017 for (int i = 0; i < element.getClassification().size(); i++) { 21018 composeResearchStudyClassificationComponent(t, "ResearchStudy", "classification", element.getClassification().get(i), i); 21019 } 21020 for (int i = 0; i < element.getAssociatedParty().size(); i++) { 21021 composeResearchStudyAssociatedPartyComponent(t, "ResearchStudy", "associatedParty", element.getAssociatedParty().get(i), i); 21022 } 21023 for (int i = 0; i < element.getCurrentState().size(); i++) { 21024 composeCodeableConcept(t, "ResearchStudy", "currentState", element.getCurrentState().get(i), i); 21025 } 21026 for (int i = 0; i < element.getStatusDate().size(); i++) { 21027 composeResearchStudyStatusDateComponent(t, "ResearchStudy", "statusDate", element.getStatusDate().get(i), i); 21028 } 21029 if (element.hasWhyStopped()) { 21030 composeCodeableConcept(t, "ResearchStudy", "whyStopped", element.getWhyStopped(), -1); 21031 } 21032 if (element.hasRecruitment()) { 21033 composeResearchStudyRecruitmentComponent(t, "ResearchStudy", "recruitment", element.getRecruitment(), -1); 21034 } 21035 for (int i = 0; i < element.getComparisonGroup().size(); i++) { 21036 composeResearchStudyComparisonGroupComponent(t, "ResearchStudy", "comparisonGroup", element.getComparisonGroup().get(i), i); 21037 } 21038 for (int i = 0; i < element.getObjective().size(); i++) { 21039 composeResearchStudyObjectiveComponent(t, "ResearchStudy", "objective", element.getObjective().get(i), i); 21040 } 21041 for (int i = 0; i < element.getOutcomeMeasure().size(); i++) { 21042 composeResearchStudyOutcomeMeasureComponent(t, "ResearchStudy", "outcomeMeasure", element.getOutcomeMeasure().get(i), i); 21043 } 21044 for (int i = 0; i < element.getResult().size(); i++) { 21045 composeReference(t, "ResearchStudy", "result", element.getResult().get(i), i); 21046 } 21047 for (int i = 0; i < element.getWebLocation().size(); i++) { 21048 composeResearchStudyWebLocationComponent(t, "ResearchStudy", "webLocation", element.getWebLocation().get(i), i); 21049 } 21050 } 21051 21052 protected void composeResearchStudyLabelComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyLabelComponent element, int index) { 21053 if (element == null) 21054 return; 21055 Complex t; 21056 if (Utilities.noString(parentType)) 21057 t = parent; 21058 else { 21059 t = parent.predicate("fhir:"+parentType+'.'+name); 21060 } 21061 composeBackboneElement(t, "label", name, element, index); 21062 if (element.hasType()) { 21063 composeCodeableConcept(t, "ResearchStudyLabelComponent", "type", element.getType(), -1); 21064 } 21065 if (element.hasValueElement()) { 21066 composeString(t, "ResearchStudyLabelComponent", "value", element.getValueElement(), -1); 21067 } 21068 } 21069 21070 protected void composeResearchStudyFocusComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyFocusComponent element, int index) { 21071 if (element == null) 21072 return; 21073 Complex t; 21074 if (Utilities.noString(parentType)) 21075 t = parent; 21076 else { 21077 t = parent.predicate("fhir:"+parentType+'.'+name); 21078 } 21079 composeBackboneElement(t, "focus", name, element, index); 21080 if (element.hasProductCode()) { 21081 composeCodeableConcept(t, "ResearchStudyFocusComponent", "productCode", element.getProductCode(), -1); 21082 } 21083 for (int i = 0; i < element.getFocusType().size(); i++) { 21084 composeCodeableConcept(t, "ResearchStudyFocusComponent", "focusType", element.getFocusType().get(i), i); 21085 } 21086 if (element.hasFactorElement()) { 21087 composeMarkdown(t, "ResearchStudyFocusComponent", "factor", element.getFactorElement(), -1); 21088 } 21089 } 21090 21091 protected void composeResearchStudyClassificationComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyClassificationComponent element, int index) { 21092 if (element == null) 21093 return; 21094 Complex t; 21095 if (Utilities.noString(parentType)) 21096 t = parent; 21097 else { 21098 t = parent.predicate("fhir:"+parentType+'.'+name); 21099 } 21100 composeBackboneElement(t, "classification", name, element, index); 21101 if (element.hasType()) { 21102 composeCodeableConcept(t, "ResearchStudyClassificationComponent", "type", element.getType(), -1); 21103 } 21104 for (int i = 0; i < element.getClassifier().size(); i++) { 21105 composeCodeableConcept(t, "ResearchStudyClassificationComponent", "classifier", element.getClassifier().get(i), i); 21106 } 21107 } 21108 21109 protected void composeResearchStudyAssociatedPartyComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyAssociatedPartyComponent element, int index) { 21110 if (element == null) 21111 return; 21112 Complex t; 21113 if (Utilities.noString(parentType)) 21114 t = parent; 21115 else { 21116 t = parent.predicate("fhir:"+parentType+'.'+name); 21117 } 21118 composeBackboneElement(t, "associatedParty", name, element, index); 21119 if (element.hasNameElement()) { 21120 composeString(t, "ResearchStudyAssociatedPartyComponent", "name", element.getNameElement(), -1); 21121 } 21122 if (element.hasRole()) { 21123 composeCodeableConcept(t, "ResearchStudyAssociatedPartyComponent", "role", element.getRole(), -1); 21124 } 21125 for (int i = 0; i < element.getClassifier().size(); i++) { 21126 composeCodeableConcept(t, "ResearchStudyAssociatedPartyComponent", "classifier", element.getClassifier().get(i), i); 21127 } 21128 if (element.hasParty()) { 21129 composeReference(t, "ResearchStudyAssociatedPartyComponent", "party", element.getParty(), -1); 21130 } 21131 } 21132 21133 protected void composeResearchStudyStatusDateComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyStatusDateComponent element, int index) { 21134 if (element == null) 21135 return; 21136 Complex t; 21137 if (Utilities.noString(parentType)) 21138 t = parent; 21139 else { 21140 t = parent.predicate("fhir:"+parentType+'.'+name); 21141 } 21142 composeBackboneElement(t, "statusDate", name, element, index); 21143 if (element.hasActivity()) { 21144 composeCodeableConcept(t, "ResearchStudyStatusDateComponent", "activity", element.getActivity(), -1); 21145 } 21146 if (element.hasActualElement()) { 21147 composeBoolean(t, "ResearchStudyStatusDateComponent", "actual", element.getActualElement(), -1); 21148 } 21149 if (element.hasPeriod()) { 21150 composePeriod(t, "ResearchStudyStatusDateComponent", "period", element.getPeriod(), -1); 21151 } 21152 } 21153 21154 protected void composeResearchStudyRecruitmentComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyRecruitmentComponent element, int index) { 21155 if (element == null) 21156 return; 21157 Complex t; 21158 if (Utilities.noString(parentType)) 21159 t = parent; 21160 else { 21161 t = parent.predicate("fhir:"+parentType+'.'+name); 21162 } 21163 composeBackboneElement(t, "recruitment", name, element, index); 21164 if (element.hasTargetNumberElement()) { 21165 composeUnsignedInt(t, "ResearchStudyRecruitmentComponent", "targetNumber", element.getTargetNumberElement(), -1); 21166 } 21167 if (element.hasActualNumberElement()) { 21168 composeUnsignedInt(t, "ResearchStudyRecruitmentComponent", "actualNumber", element.getActualNumberElement(), -1); 21169 } 21170 if (element.hasEligibility()) { 21171 composeReference(t, "ResearchStudyRecruitmentComponent", "eligibility", element.getEligibility(), -1); 21172 } 21173 if (element.hasActualGroup()) { 21174 composeReference(t, "ResearchStudyRecruitmentComponent", "actualGroup", element.getActualGroup(), -1); 21175 } 21176 } 21177 21178 protected void composeResearchStudyComparisonGroupComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyComparisonGroupComponent element, int index) { 21179 if (element == null) 21180 return; 21181 Complex t; 21182 if (Utilities.noString(parentType)) 21183 t = parent; 21184 else { 21185 t = parent.predicate("fhir:"+parentType+'.'+name); 21186 } 21187 composeBackboneElement(t, "comparisonGroup", name, element, index); 21188 if (element.hasIdentifier()) { 21189 composeType(t, "ResearchStudyComparisonGroupComponent", "identifier", element.getIdentifier(), -1); 21190 } 21191 if (element.hasNameElement()) { 21192 composeString(t, "ResearchStudyComparisonGroupComponent", "name", element.getNameElement(), -1); 21193 } 21194 if (element.hasType()) { 21195 composeCodeableConcept(t, "ResearchStudyComparisonGroupComponent", "type", element.getType(), -1); 21196 } 21197 if (element.hasDescriptionElement()) { 21198 composeMarkdown(t, "ResearchStudyComparisonGroupComponent", "description", element.getDescriptionElement(), -1); 21199 } 21200 for (int i = 0; i < element.getIntendedExposure().size(); i++) { 21201 composeReference(t, "ResearchStudyComparisonGroupComponent", "intendedExposure", element.getIntendedExposure().get(i), i); 21202 } 21203 if (element.hasObservedGroup()) { 21204 composeReference(t, "ResearchStudyComparisonGroupComponent", "observedGroup", element.getObservedGroup(), -1); 21205 } 21206 } 21207 21208 protected void composeResearchStudyObjectiveComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyObjectiveComponent element, int index) { 21209 if (element == null) 21210 return; 21211 Complex t; 21212 if (Utilities.noString(parentType)) 21213 t = parent; 21214 else { 21215 t = parent.predicate("fhir:"+parentType+'.'+name); 21216 } 21217 composeBackboneElement(t, "objective", name, element, index); 21218 if (element.hasNameElement()) { 21219 composeString(t, "ResearchStudyObjectiveComponent", "name", element.getNameElement(), -1); 21220 } 21221 if (element.hasType()) { 21222 composeCodeableConcept(t, "ResearchStudyObjectiveComponent", "type", element.getType(), -1); 21223 } 21224 if (element.hasDescriptionElement()) { 21225 composeMarkdown(t, "ResearchStudyObjectiveComponent", "description", element.getDescriptionElement(), -1); 21226 } 21227 } 21228 21229 protected void composeResearchStudyOutcomeMeasureComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyOutcomeMeasureComponent element, int index) { 21230 if (element == null) 21231 return; 21232 Complex t; 21233 if (Utilities.noString(parentType)) 21234 t = parent; 21235 else { 21236 t = parent.predicate("fhir:"+parentType+'.'+name); 21237 } 21238 composeBackboneElement(t, "outcomeMeasure", name, element, index); 21239 if (element.hasNameElement()) { 21240 composeString(t, "ResearchStudyOutcomeMeasureComponent", "name", element.getNameElement(), -1); 21241 } 21242 for (int i = 0; i < element.getType().size(); i++) { 21243 composeCodeableConcept(t, "ResearchStudyOutcomeMeasureComponent", "type", element.getType().get(i), i); 21244 } 21245 if (element.hasDescriptionElement()) { 21246 composeMarkdown(t, "ResearchStudyOutcomeMeasureComponent", "description", element.getDescriptionElement(), -1); 21247 } 21248 if (element.hasReference()) { 21249 composeReference(t, "ResearchStudyOutcomeMeasureComponent", "reference", element.getReference(), -1); 21250 } 21251 } 21252 21253 protected void composeResearchStudyWebLocationComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyWebLocationComponent element, int index) { 21254 if (element == null) 21255 return; 21256 Complex t; 21257 if (Utilities.noString(parentType)) 21258 t = parent; 21259 else { 21260 t = parent.predicate("fhir:"+parentType+'.'+name); 21261 } 21262 composeBackboneElement(t, "webLocation", name, element, index); 21263 if (element.hasType()) { 21264 composeCodeableConcept(t, "ResearchStudyWebLocationComponent", "type", element.getType(), -1); 21265 } 21266 if (element.hasUrlElement()) { 21267 composeUri(t, "ResearchStudyWebLocationComponent", "url", element.getUrlElement(), -1); 21268 } 21269 } 21270 21271 protected void composeResearchSubject(Complex parent, String parentType, String name, ResearchSubject element, int index) { 21272 if (element == null) 21273 return; 21274 Complex t; 21275 if (Utilities.noString(parentType)) 21276 t = parent; 21277 else { 21278 t = parent.predicate("fhir:"+parentType+'.'+name); 21279 } 21280 composeDomainResource(t, "ResearchSubject", name, element, index); 21281 for (int i = 0; i < element.getIdentifier().size(); i++) { 21282 composeIdentifier(t, "ResearchSubject", "identifier", element.getIdentifier().get(i), i); 21283 } 21284 if (element.hasStatusElement()) { 21285 composeEnum(t, "ResearchSubject", "status", element.getStatusElement(), -1); 21286 } 21287 for (int i = 0; i < element.getProgress().size(); i++) { 21288 composeResearchSubjectProgressComponent(t, "ResearchSubject", "progress", element.getProgress().get(i), i); 21289 } 21290 if (element.hasPeriod()) { 21291 composePeriod(t, "ResearchSubject", "period", element.getPeriod(), -1); 21292 } 21293 if (element.hasStudy()) { 21294 composeReference(t, "ResearchSubject", "study", element.getStudy(), -1); 21295 } 21296 if (element.hasSubject()) { 21297 composeReference(t, "ResearchSubject", "subject", element.getSubject(), -1); 21298 } 21299 if (element.hasAssignedArmElement()) { 21300 composeString(t, "ResearchSubject", "assignedArm", element.getAssignedArmElement(), -1); 21301 } 21302 if (element.hasActualArmElement()) { 21303 composeString(t, "ResearchSubject", "actualArm", element.getActualArmElement(), -1); 21304 } 21305 if (element.hasConsent()) { 21306 composeReference(t, "ResearchSubject", "consent", element.getConsent(), -1); 21307 } 21308 } 21309 21310 protected void composeResearchSubjectProgressComponent(Complex parent, String parentType, String name, ResearchSubject.ResearchSubjectProgressComponent element, int index) { 21311 if (element == null) 21312 return; 21313 Complex t; 21314 if (Utilities.noString(parentType)) 21315 t = parent; 21316 else { 21317 t = parent.predicate("fhir:"+parentType+'.'+name); 21318 } 21319 composeBackboneElement(t, "progress", name, element, index); 21320 if (element.hasType()) { 21321 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "type", element.getType(), -1); 21322 } 21323 if (element.hasSubjectState()) { 21324 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "subjectState", element.getSubjectState(), -1); 21325 } 21326 if (element.hasMilestone()) { 21327 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "milestone", element.getMilestone(), -1); 21328 } 21329 if (element.hasReason()) { 21330 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "reason", element.getReason(), -1); 21331 } 21332 if (element.hasStartDateElement()) { 21333 composeDateTime(t, "ResearchSubjectProgressComponent", "startDate", element.getStartDateElement(), -1); 21334 } 21335 if (element.hasEndDateElement()) { 21336 composeDateTime(t, "ResearchSubjectProgressComponent", "endDate", element.getEndDateElement(), -1); 21337 } 21338 } 21339 21340 protected void composeRiskAssessment(Complex parent, String parentType, String name, RiskAssessment element, int index) { 21341 if (element == null) 21342 return; 21343 Complex t; 21344 if (Utilities.noString(parentType)) 21345 t = parent; 21346 else { 21347 t = parent.predicate("fhir:"+parentType+'.'+name); 21348 } 21349 composeDomainResource(t, "RiskAssessment", name, element, index); 21350 for (int i = 0; i < element.getIdentifier().size(); i++) { 21351 composeIdentifier(t, "RiskAssessment", "identifier", element.getIdentifier().get(i), i); 21352 } 21353 if (element.hasBasedOn()) { 21354 composeReference(t, "RiskAssessment", "basedOn", element.getBasedOn(), -1); 21355 } 21356 if (element.hasParent()) { 21357 composeReference(t, "RiskAssessment", "parent", element.getParent(), -1); 21358 } 21359 if (element.hasStatusElement()) { 21360 composeEnum(t, "RiskAssessment", "status", element.getStatusElement(), -1); 21361 } 21362 if (element.hasMethod()) { 21363 composeCodeableConcept(t, "RiskAssessment", "method", element.getMethod(), -1); 21364 } 21365 if (element.hasCode()) { 21366 composeCodeableConcept(t, "RiskAssessment", "code", element.getCode(), -1); 21367 } 21368 if (element.hasSubject()) { 21369 composeReference(t, "RiskAssessment", "subject", element.getSubject(), -1); 21370 } 21371 if (element.hasEncounter()) { 21372 composeReference(t, "RiskAssessment", "encounter", element.getEncounter(), -1); 21373 } 21374 if (element.hasOccurrence()) { 21375 composeType(t, "RiskAssessment", "occurrence", element.getOccurrence(), -1); 21376 } 21377 if (element.hasCondition()) { 21378 composeReference(t, "RiskAssessment", "condition", element.getCondition(), -1); 21379 } 21380 if (element.hasPerformer()) { 21381 composeReference(t, "RiskAssessment", "performer", element.getPerformer(), -1); 21382 } 21383 for (int i = 0; i < element.getReason().size(); i++) { 21384 composeCodeableReference(t, "RiskAssessment", "reason", element.getReason().get(i), i); 21385 } 21386 for (int i = 0; i < element.getBasis().size(); i++) { 21387 composeReference(t, "RiskAssessment", "basis", element.getBasis().get(i), i); 21388 } 21389 for (int i = 0; i < element.getPrediction().size(); i++) { 21390 composeRiskAssessmentPredictionComponent(t, "RiskAssessment", "prediction", element.getPrediction().get(i), i); 21391 } 21392 if (element.hasMitigationElement()) { 21393 composeString(t, "RiskAssessment", "mitigation", element.getMitigationElement(), -1); 21394 } 21395 for (int i = 0; i < element.getNote().size(); i++) { 21396 composeAnnotation(t, "RiskAssessment", "note", element.getNote().get(i), i); 21397 } 21398 } 21399 21400 protected void composeRiskAssessmentPredictionComponent(Complex parent, String parentType, String name, RiskAssessment.RiskAssessmentPredictionComponent element, int index) { 21401 if (element == null) 21402 return; 21403 Complex t; 21404 if (Utilities.noString(parentType)) 21405 t = parent; 21406 else { 21407 t = parent.predicate("fhir:"+parentType+'.'+name); 21408 } 21409 composeBackboneElement(t, "prediction", name, element, index); 21410 if (element.hasOutcome()) { 21411 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "outcome", element.getOutcome(), -1); 21412 } 21413 if (element.hasProbability()) { 21414 composeType(t, "RiskAssessmentPredictionComponent", "probability", element.getProbability(), -1); 21415 } 21416 if (element.hasQualitativeRisk()) { 21417 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "qualitativeRisk", element.getQualitativeRisk(), -1); 21418 } 21419 if (element.hasRelativeRiskElement()) { 21420 composeDecimal(t, "RiskAssessmentPredictionComponent", "relativeRisk", element.getRelativeRiskElement(), -1); 21421 } 21422 if (element.hasWhen()) { 21423 composeType(t, "RiskAssessmentPredictionComponent", "when", element.getWhen(), -1); 21424 } 21425 if (element.hasRationaleElement()) { 21426 composeString(t, "RiskAssessmentPredictionComponent", "rationale", element.getRationaleElement(), -1); 21427 } 21428 } 21429 21430 protected void composeSchedule(Complex parent, String parentType, String name, Schedule element, int index) { 21431 if (element == null) 21432 return; 21433 Complex t; 21434 if (Utilities.noString(parentType)) 21435 t = parent; 21436 else { 21437 t = parent.predicate("fhir:"+parentType+'.'+name); 21438 } 21439 composeDomainResource(t, "Schedule", name, element, index); 21440 for (int i = 0; i < element.getIdentifier().size(); i++) { 21441 composeIdentifier(t, "Schedule", "identifier", element.getIdentifier().get(i), i); 21442 } 21443 if (element.hasActiveElement()) { 21444 composeBoolean(t, "Schedule", "active", element.getActiveElement(), -1); 21445 } 21446 for (int i = 0; i < element.getServiceCategory().size(); i++) { 21447 composeCodeableConcept(t, "Schedule", "serviceCategory", element.getServiceCategory().get(i), i); 21448 } 21449 for (int i = 0; i < element.getServiceType().size(); i++) { 21450 composeCodeableConcept(t, "Schedule", "serviceType", element.getServiceType().get(i), i); 21451 } 21452 for (int i = 0; i < element.getSpecialty().size(); i++) { 21453 composeCodeableConcept(t, "Schedule", "specialty", element.getSpecialty().get(i), i); 21454 } 21455 for (int i = 0; i < element.getActor().size(); i++) { 21456 composeReference(t, "Schedule", "actor", element.getActor().get(i), i); 21457 } 21458 if (element.hasPlanningHorizon()) { 21459 composePeriod(t, "Schedule", "planningHorizon", element.getPlanningHorizon(), -1); 21460 } 21461 if (element.hasCommentElement()) { 21462 composeString(t, "Schedule", "comment", element.getCommentElement(), -1); 21463 } 21464 } 21465 21466 protected void composeSearchParameter(Complex parent, String parentType, String name, SearchParameter element, int index) { 21467 if (element == null) 21468 return; 21469 Complex t; 21470 if (Utilities.noString(parentType)) 21471 t = parent; 21472 else { 21473 t = parent.predicate("fhir:"+parentType+'.'+name); 21474 } 21475 composeCanonicalResource(t, "SearchParameter", name, element, index); 21476 if (element.hasUrlElement()) { 21477 composeUri(t, "SearchParameter", "url", element.getUrlElement(), -1); 21478 } 21479 if (element.hasVersionElement()) { 21480 composeString(t, "SearchParameter", "version", element.getVersionElement(), -1); 21481 } 21482 if (element.hasNameElement()) { 21483 composeString(t, "SearchParameter", "name", element.getNameElement(), -1); 21484 } 21485 if (element.hasDerivedFromElement()) { 21486 composeCanonical(t, "SearchParameter", "derivedFrom", element.getDerivedFromElement(), -1); 21487 } 21488 if (element.hasStatusElement()) { 21489 composeEnum(t, "SearchParameter", "status", element.getStatusElement(), -1); 21490 } 21491 if (element.hasExperimentalElement()) { 21492 composeBoolean(t, "SearchParameter", "experimental", element.getExperimentalElement(), -1); 21493 } 21494 if (element.hasDateElement()) { 21495 composeDateTime(t, "SearchParameter", "date", element.getDateElement(), -1); 21496 } 21497 if (element.hasPublisherElement()) { 21498 composeString(t, "SearchParameter", "publisher", element.getPublisherElement(), -1); 21499 } 21500 for (int i = 0; i < element.getContact().size(); i++) { 21501 composeContactDetail(t, "SearchParameter", "contact", element.getContact().get(i), i); 21502 } 21503 if (element.hasDescriptionElement()) { 21504 composeMarkdown(t, "SearchParameter", "description", element.getDescriptionElement(), -1); 21505 } 21506 for (int i = 0; i < element.getUseContext().size(); i++) { 21507 composeUsageContext(t, "SearchParameter", "useContext", element.getUseContext().get(i), i); 21508 } 21509 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21510 composeCodeableConcept(t, "SearchParameter", "jurisdiction", element.getJurisdiction().get(i), i); 21511 } 21512 if (element.hasPurposeElement()) { 21513 composeMarkdown(t, "SearchParameter", "purpose", element.getPurposeElement(), -1); 21514 } 21515 if (element.hasCodeElement()) { 21516 composeCode(t, "SearchParameter", "code", element.getCodeElement(), -1); 21517 } 21518 for (int i = 0; i < element.getBase().size(); i++) { 21519 composeCode(t, "SearchParameter", "base", element.getBase().get(i), i); 21520 } 21521 if (element.hasTypeElement()) { 21522 composeEnum(t, "SearchParameter", "type", element.getTypeElement(), -1); 21523 } 21524 if (element.hasExpressionElement()) { 21525 composeString(t, "SearchParameter", "expression", element.getExpressionElement(), -1); 21526 } 21527 if (element.hasXpathElement()) { 21528 composeString(t, "SearchParameter", "xpath", element.getXpathElement(), -1); 21529 } 21530 if (element.hasXpathUsageElement()) { 21531 composeEnum(t, "SearchParameter", "xpathUsage", element.getXpathUsageElement(), -1); 21532 } 21533 for (int i = 0; i < element.getTarget().size(); i++) { 21534 composeCode(t, "SearchParameter", "target", element.getTarget().get(i), i); 21535 } 21536 if (element.hasMultipleOrElement()) { 21537 composeBoolean(t, "SearchParameter", "multipleOr", element.getMultipleOrElement(), -1); 21538 } 21539 if (element.hasMultipleAndElement()) { 21540 composeBoolean(t, "SearchParameter", "multipleAnd", element.getMultipleAndElement(), -1); 21541 } 21542 for (int i = 0; i < element.getComparator().size(); i++) { 21543 composeEnum(t, "SearchParameter", "comparator", element.getComparator().get(i), i); 21544 } 21545 for (int i = 0; i < element.getModifier().size(); i++) { 21546 composeEnum(t, "SearchParameter", "modifier", element.getModifier().get(i), i); 21547 } 21548 for (int i = 0; i < element.getChain().size(); i++) { 21549 composeString(t, "SearchParameter", "chain", element.getChain().get(i), i); 21550 } 21551 for (int i = 0; i < element.getComponent().size(); i++) { 21552 composeSearchParameterComponentComponent(t, "SearchParameter", "component", element.getComponent().get(i), i); 21553 } 21554 } 21555 21556 protected void composeSearchParameterComponentComponent(Complex parent, String parentType, String name, SearchParameter.SearchParameterComponentComponent element, int index) { 21557 if (element == null) 21558 return; 21559 Complex t; 21560 if (Utilities.noString(parentType)) 21561 t = parent; 21562 else { 21563 t = parent.predicate("fhir:"+parentType+'.'+name); 21564 } 21565 composeBackboneElement(t, "component", name, element, index); 21566 if (element.hasDefinitionElement()) { 21567 composeCanonical(t, "SearchParameterComponentComponent", "definition", element.getDefinitionElement(), -1); 21568 } 21569 if (element.hasExpressionElement()) { 21570 composeString(t, "SearchParameterComponentComponent", "expression", element.getExpressionElement(), -1); 21571 } 21572 } 21573 21574 protected void composeServiceRequest(Complex parent, String parentType, String name, ServiceRequest element, int index) { 21575 if (element == null) 21576 return; 21577 Complex t; 21578 if (Utilities.noString(parentType)) 21579 t = parent; 21580 else { 21581 t = parent.predicate("fhir:"+parentType+'.'+name); 21582 } 21583 composeDomainResource(t, "ServiceRequest", name, element, index); 21584 for (int i = 0; i < element.getIdentifier().size(); i++) { 21585 composeIdentifier(t, "ServiceRequest", "identifier", element.getIdentifier().get(i), i); 21586 } 21587 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 21588 composeCanonical(t, "ServiceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 21589 } 21590 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 21591 composeUri(t, "ServiceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 21592 } 21593 for (int i = 0; i < element.getBasedOn().size(); i++) { 21594 composeReference(t, "ServiceRequest", "basedOn", element.getBasedOn().get(i), i); 21595 } 21596 for (int i = 0; i < element.getReplaces().size(); i++) { 21597 composeReference(t, "ServiceRequest", "replaces", element.getReplaces().get(i), i); 21598 } 21599 if (element.hasRequisition()) { 21600 composeIdentifier(t, "ServiceRequest", "requisition", element.getRequisition(), -1); 21601 } 21602 if (element.hasStatusElement()) { 21603 composeEnum(t, "ServiceRequest", "status", element.getStatusElement(), -1); 21604 } 21605 if (element.hasIntentElement()) { 21606 composeEnum(t, "ServiceRequest", "intent", element.getIntentElement(), -1); 21607 } 21608 for (int i = 0; i < element.getCategory().size(); i++) { 21609 composeCodeableConcept(t, "ServiceRequest", "category", element.getCategory().get(i), i); 21610 } 21611 if (element.hasPriorityElement()) { 21612 composeEnum(t, "ServiceRequest", "priority", element.getPriorityElement(), -1); 21613 } 21614 if (element.hasDoNotPerformElement()) { 21615 composeBoolean(t, "ServiceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 21616 } 21617 if (element.hasCode()) { 21618 composeCodeableConcept(t, "ServiceRequest", "code", element.getCode(), -1); 21619 } 21620 for (int i = 0; i < element.getOrderDetail().size(); i++) { 21621 composeCodeableConcept(t, "ServiceRequest", "orderDetail", element.getOrderDetail().get(i), i); 21622 } 21623 if (element.hasQuantity()) { 21624 composeType(t, "ServiceRequest", "quantity", element.getQuantity(), -1); 21625 } 21626 if (element.hasSubject()) { 21627 composeReference(t, "ServiceRequest", "subject", element.getSubject(), -1); 21628 } 21629 if (element.hasEncounter()) { 21630 composeReference(t, "ServiceRequest", "encounter", element.getEncounter(), -1); 21631 } 21632 if (element.hasOccurrence()) { 21633 composeType(t, "ServiceRequest", "occurrence", element.getOccurrence(), -1); 21634 } 21635 if (element.hasAsNeeded()) { 21636 composeType(t, "ServiceRequest", "asNeeded", element.getAsNeeded(), -1); 21637 } 21638 if (element.hasAuthoredOnElement()) { 21639 composeDateTime(t, "ServiceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 21640 } 21641 if (element.hasRequester()) { 21642 composeReference(t, "ServiceRequest", "requester", element.getRequester(), -1); 21643 } 21644 if (element.hasPerformerType()) { 21645 composeCodeableConcept(t, "ServiceRequest", "performerType", element.getPerformerType(), -1); 21646 } 21647 for (int i = 0; i < element.getPerformer().size(); i++) { 21648 composeReference(t, "ServiceRequest", "performer", element.getPerformer().get(i), i); 21649 } 21650 for (int i = 0; i < element.getLocation().size(); i++) { 21651 composeCodeableReference(t, "ServiceRequest", "location", element.getLocation().get(i), i); 21652 } 21653 for (int i = 0; i < element.getReason().size(); i++) { 21654 composeCodeableReference(t, "ServiceRequest", "reason", element.getReason().get(i), i); 21655 } 21656 for (int i = 0; i < element.getInsurance().size(); i++) { 21657 composeReference(t, "ServiceRequest", "insurance", element.getInsurance().get(i), i); 21658 } 21659 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 21660 composeReference(t, "ServiceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 21661 } 21662 for (int i = 0; i < element.getSpecimen().size(); i++) { 21663 composeReference(t, "ServiceRequest", "specimen", element.getSpecimen().get(i), i); 21664 } 21665 for (int i = 0; i < element.getBodySite().size(); i++) { 21666 composeCodeableConcept(t, "ServiceRequest", "bodySite", element.getBodySite().get(i), i); 21667 } 21668 for (int i = 0; i < element.getNote().size(); i++) { 21669 composeAnnotation(t, "ServiceRequest", "note", element.getNote().get(i), i); 21670 } 21671 if (element.hasPatientInstructionElement()) { 21672 composeString(t, "ServiceRequest", "patientInstruction", element.getPatientInstructionElement(), -1); 21673 } 21674 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 21675 composeReference(t, "ServiceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 21676 } 21677 } 21678 21679 protected void composeSlot(Complex parent, String parentType, String name, Slot element, int index) { 21680 if (element == null) 21681 return; 21682 Complex t; 21683 if (Utilities.noString(parentType)) 21684 t = parent; 21685 else { 21686 t = parent.predicate("fhir:"+parentType+'.'+name); 21687 } 21688 composeDomainResource(t, "Slot", name, element, index); 21689 for (int i = 0; i < element.getIdentifier().size(); i++) { 21690 composeIdentifier(t, "Slot", "identifier", element.getIdentifier().get(i), i); 21691 } 21692 for (int i = 0; i < element.getServiceCategory().size(); i++) { 21693 composeCodeableConcept(t, "Slot", "serviceCategory", element.getServiceCategory().get(i), i); 21694 } 21695 for (int i = 0; i < element.getServiceType().size(); i++) { 21696 composeCodeableConcept(t, "Slot", "serviceType", element.getServiceType().get(i), i); 21697 } 21698 for (int i = 0; i < element.getSpecialty().size(); i++) { 21699 composeCodeableConcept(t, "Slot", "specialty", element.getSpecialty().get(i), i); 21700 } 21701 for (int i = 0; i < element.getAppointmentType().size(); i++) { 21702 composeCodeableConcept(t, "Slot", "appointmentType", element.getAppointmentType().get(i), i); 21703 } 21704 if (element.hasSchedule()) { 21705 composeReference(t, "Slot", "schedule", element.getSchedule(), -1); 21706 } 21707 if (element.hasStatusElement()) { 21708 composeEnum(t, "Slot", "status", element.getStatusElement(), -1); 21709 } 21710 if (element.hasStartElement()) { 21711 composeInstant(t, "Slot", "start", element.getStartElement(), -1); 21712 } 21713 if (element.hasEndElement()) { 21714 composeInstant(t, "Slot", "end", element.getEndElement(), -1); 21715 } 21716 if (element.hasOverbookedElement()) { 21717 composeBoolean(t, "Slot", "overbooked", element.getOverbookedElement(), -1); 21718 } 21719 if (element.hasCommentElement()) { 21720 composeString(t, "Slot", "comment", element.getCommentElement(), -1); 21721 } 21722 } 21723 21724 protected void composeSpecimen(Complex parent, String parentType, String name, Specimen element, int index) { 21725 if (element == null) 21726 return; 21727 Complex t; 21728 if (Utilities.noString(parentType)) 21729 t = parent; 21730 else { 21731 t = parent.predicate("fhir:"+parentType+'.'+name); 21732 } 21733 composeDomainResource(t, "Specimen", name, element, index); 21734 for (int i = 0; i < element.getIdentifier().size(); i++) { 21735 composeIdentifier(t, "Specimen", "identifier", element.getIdentifier().get(i), i); 21736 } 21737 if (element.hasAccessionIdentifier()) { 21738 composeIdentifier(t, "Specimen", "accessionIdentifier", element.getAccessionIdentifier(), -1); 21739 } 21740 if (element.hasStatusElement()) { 21741 composeEnum(t, "Specimen", "status", element.getStatusElement(), -1); 21742 } 21743 if (element.hasType()) { 21744 composeCodeableConcept(t, "Specimen", "type", element.getType(), -1); 21745 } 21746 if (element.hasSubject()) { 21747 composeReference(t, "Specimen", "subject", element.getSubject(), -1); 21748 } 21749 if (element.hasReceivedTimeElement()) { 21750 composeDateTime(t, "Specimen", "receivedTime", element.getReceivedTimeElement(), -1); 21751 } 21752 for (int i = 0; i < element.getParent().size(); i++) { 21753 composeReference(t, "Specimen", "parent", element.getParent().get(i), i); 21754 } 21755 for (int i = 0; i < element.getRequest().size(); i++) { 21756 composeReference(t, "Specimen", "request", element.getRequest().get(i), i); 21757 } 21758 if (element.hasCollection()) { 21759 composeSpecimenCollectionComponent(t, "Specimen", "collection", element.getCollection(), -1); 21760 } 21761 for (int i = 0; i < element.getProcessing().size(); i++) { 21762 composeSpecimenProcessingComponent(t, "Specimen", "processing", element.getProcessing().get(i), i); 21763 } 21764 for (int i = 0; i < element.getContainer().size(); i++) { 21765 composeSpecimenContainerComponent(t, "Specimen", "container", element.getContainer().get(i), i); 21766 } 21767 for (int i = 0; i < element.getCondition().size(); i++) { 21768 composeCodeableConcept(t, "Specimen", "condition", element.getCondition().get(i), i); 21769 } 21770 for (int i = 0; i < element.getNote().size(); i++) { 21771 composeAnnotation(t, "Specimen", "note", element.getNote().get(i), i); 21772 } 21773 } 21774 21775 protected void composeSpecimenCollectionComponent(Complex parent, String parentType, String name, Specimen.SpecimenCollectionComponent element, int index) { 21776 if (element == null) 21777 return; 21778 Complex t; 21779 if (Utilities.noString(parentType)) 21780 t = parent; 21781 else { 21782 t = parent.predicate("fhir:"+parentType+'.'+name); 21783 } 21784 composeBackboneElement(t, "collection", name, element, index); 21785 if (element.hasCollector()) { 21786 composeReference(t, "SpecimenCollectionComponent", "collector", element.getCollector(), -1); 21787 } 21788 if (element.hasCollected()) { 21789 composeType(t, "SpecimenCollectionComponent", "collected", element.getCollected(), -1); 21790 } 21791 if (element.hasDuration()) { 21792 composeDuration(t, "SpecimenCollectionComponent", "duration", element.getDuration(), -1); 21793 } 21794 if (element.hasQuantity()) { 21795 composeQuantity(t, "SpecimenCollectionComponent", "quantity", element.getQuantity(), -1); 21796 } 21797 if (element.hasMethod()) { 21798 composeCodeableConcept(t, "SpecimenCollectionComponent", "method", element.getMethod(), -1); 21799 } 21800 if (element.hasDevice()) { 21801 composeCodeableReference(t, "SpecimenCollectionComponent", "device", element.getDevice(), -1); 21802 } 21803 if (element.hasProcedure()) { 21804 composeReference(t, "SpecimenCollectionComponent", "procedure", element.getProcedure(), -1); 21805 } 21806 if (element.hasBodySite()) { 21807 composeCodeableReference(t, "SpecimenCollectionComponent", "bodySite", element.getBodySite(), -1); 21808 } 21809 if (element.hasFastingStatus()) { 21810 composeType(t, "SpecimenCollectionComponent", "fastingStatus", element.getFastingStatus(), -1); 21811 } 21812 } 21813 21814 protected void composeSpecimenProcessingComponent(Complex parent, String parentType, String name, Specimen.SpecimenProcessingComponent element, int index) { 21815 if (element == null) 21816 return; 21817 Complex t; 21818 if (Utilities.noString(parentType)) 21819 t = parent; 21820 else { 21821 t = parent.predicate("fhir:"+parentType+'.'+name); 21822 } 21823 composeBackboneElement(t, "processing", name, element, index); 21824 if (element.hasDescriptionElement()) { 21825 composeString(t, "SpecimenProcessingComponent", "description", element.getDescriptionElement(), -1); 21826 } 21827 if (element.hasMethod()) { 21828 composeCodeableConcept(t, "SpecimenProcessingComponent", "method", element.getMethod(), -1); 21829 } 21830 for (int i = 0; i < element.getAdditive().size(); i++) { 21831 composeReference(t, "SpecimenProcessingComponent", "additive", element.getAdditive().get(i), i); 21832 } 21833 if (element.hasTime()) { 21834 composeType(t, "SpecimenProcessingComponent", "time", element.getTime(), -1); 21835 } 21836 } 21837 21838 protected void composeSpecimenContainerComponent(Complex parent, String parentType, String name, Specimen.SpecimenContainerComponent element, int index) { 21839 if (element == null) 21840 return; 21841 Complex t; 21842 if (Utilities.noString(parentType)) 21843 t = parent; 21844 else { 21845 t = parent.predicate("fhir:"+parentType+'.'+name); 21846 } 21847 composeBackboneElement(t, "container", name, element, index); 21848 for (int i = 0; i < element.getIdentifier().size(); i++) { 21849 composeIdentifier(t, "SpecimenContainerComponent", "identifier", element.getIdentifier().get(i), i); 21850 } 21851 if (element.hasDescriptionElement()) { 21852 composeString(t, "SpecimenContainerComponent", "description", element.getDescriptionElement(), -1); 21853 } 21854 if (element.hasLocation()) { 21855 composeReference(t, "SpecimenContainerComponent", "location", element.getLocation(), -1); 21856 } 21857 if (element.hasType()) { 21858 composeCodeableConcept(t, "SpecimenContainerComponent", "type", element.getType(), -1); 21859 } 21860 if (element.hasCapacity()) { 21861 composeQuantity(t, "SpecimenContainerComponent", "capacity", element.getCapacity(), -1); 21862 } 21863 if (element.hasSpecimenQuantity()) { 21864 composeQuantity(t, "SpecimenContainerComponent", "specimenQuantity", element.getSpecimenQuantity(), -1); 21865 } 21866 if (element.hasAdditive()) { 21867 composeType(t, "SpecimenContainerComponent", "additive", element.getAdditive(), -1); 21868 } 21869 } 21870 21871 protected void composeSpecimenDefinition(Complex parent, String parentType, String name, SpecimenDefinition element, int index) { 21872 if (element == null) 21873 return; 21874 Complex t; 21875 if (Utilities.noString(parentType)) 21876 t = parent; 21877 else { 21878 t = parent.predicate("fhir:"+parentType+'.'+name); 21879 } 21880 composeDomainResource(t, "SpecimenDefinition", name, element, index); 21881 if (element.hasUrlElement()) { 21882 composeUri(t, "SpecimenDefinition", "url", element.getUrlElement(), -1); 21883 } 21884 if (element.hasIdentifier()) { 21885 composeIdentifier(t, "SpecimenDefinition", "identifier", element.getIdentifier(), -1); 21886 } 21887 if (element.hasVersionElement()) { 21888 composeString(t, "SpecimenDefinition", "version", element.getVersionElement(), -1); 21889 } 21890 if (element.hasTitleElement()) { 21891 composeString(t, "SpecimenDefinition", "title", element.getTitleElement(), -1); 21892 } 21893 for (int i = 0; i < element.getDerivedFromCanonical().size(); i++) { 21894 composeCanonical(t, "SpecimenDefinition", "derivedFromCanonical", element.getDerivedFromCanonical().get(i), i); 21895 } 21896 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 21897 composeUri(t, "SpecimenDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 21898 } 21899 if (element.hasStatusElement()) { 21900 composeEnum(t, "SpecimenDefinition", "status", element.getStatusElement(), -1); 21901 } 21902 if (element.hasExperimentalElement()) { 21903 composeBoolean(t, "SpecimenDefinition", "experimental", element.getExperimentalElement(), -1); 21904 } 21905 if (element.hasSubject()) { 21906 composeType(t, "SpecimenDefinition", "subject", element.getSubject(), -1); 21907 } 21908 if (element.hasDateElement()) { 21909 composeDateTime(t, "SpecimenDefinition", "date", element.getDateElement(), -1); 21910 } 21911 if (element.hasPublisher()) { 21912 composeReference(t, "SpecimenDefinition", "publisher", element.getPublisher(), -1); 21913 } 21914 for (int i = 0; i < element.getContact().size(); i++) { 21915 composeContactDetail(t, "SpecimenDefinition", "contact", element.getContact().get(i), i); 21916 } 21917 if (element.hasDescriptionElement()) { 21918 composeMarkdown(t, "SpecimenDefinition", "description", element.getDescriptionElement(), -1); 21919 } 21920 for (int i = 0; i < element.getUseContext().size(); i++) { 21921 composeUsageContext(t, "SpecimenDefinition", "useContext", element.getUseContext().get(i), i); 21922 } 21923 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21924 composeCodeableConcept(t, "SpecimenDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 21925 } 21926 if (element.hasPurposeElement()) { 21927 composeMarkdown(t, "SpecimenDefinition", "purpose", element.getPurposeElement(), -1); 21928 } 21929 if (element.hasCopyrightElement()) { 21930 composeMarkdown(t, "SpecimenDefinition", "copyright", element.getCopyrightElement(), -1); 21931 } 21932 if (element.hasApprovalDateElement()) { 21933 composeDate(t, "SpecimenDefinition", "approvalDate", element.getApprovalDateElement(), -1); 21934 } 21935 if (element.hasLastReviewDateElement()) { 21936 composeDate(t, "SpecimenDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 21937 } 21938 if (element.hasEffectivePeriod()) { 21939 composePeriod(t, "SpecimenDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 21940 } 21941 if (element.hasTypeCollected()) { 21942 composeCodeableConcept(t, "SpecimenDefinition", "typeCollected", element.getTypeCollected(), -1); 21943 } 21944 for (int i = 0; i < element.getPatientPreparation().size(); i++) { 21945 composeCodeableConcept(t, "SpecimenDefinition", "patientPreparation", element.getPatientPreparation().get(i), i); 21946 } 21947 if (element.hasTimeAspectElement()) { 21948 composeString(t, "SpecimenDefinition", "timeAspect", element.getTimeAspectElement(), -1); 21949 } 21950 for (int i = 0; i < element.getCollection().size(); i++) { 21951 composeCodeableConcept(t, "SpecimenDefinition", "collection", element.getCollection().get(i), i); 21952 } 21953 for (int i = 0; i < element.getTypeTested().size(); i++) { 21954 composeSpecimenDefinitionTypeTestedComponent(t, "SpecimenDefinition", "typeTested", element.getTypeTested().get(i), i); 21955 } 21956 } 21957 21958 protected void composeSpecimenDefinitionTypeTestedComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedComponent element, int index) { 21959 if (element == null) 21960 return; 21961 Complex t; 21962 if (Utilities.noString(parentType)) 21963 t = parent; 21964 else { 21965 t = parent.predicate("fhir:"+parentType+'.'+name); 21966 } 21967 composeBackboneElement(t, "typeTested", name, element, index); 21968 if (element.hasIsDerivedElement()) { 21969 composeBoolean(t, "SpecimenDefinitionTypeTestedComponent", "isDerived", element.getIsDerivedElement(), -1); 21970 } 21971 if (element.hasType()) { 21972 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "type", element.getType(), -1); 21973 } 21974 if (element.hasPreferenceElement()) { 21975 composeEnum(t, "SpecimenDefinitionTypeTestedComponent", "preference", element.getPreferenceElement(), -1); 21976 } 21977 if (element.hasContainer()) { 21978 composeSpecimenDefinitionTypeTestedContainerComponent(t, "SpecimenDefinitionTypeTestedComponent", "container", element.getContainer(), -1); 21979 } 21980 if (element.hasRequirementElement()) { 21981 composeString(t, "SpecimenDefinitionTypeTestedComponent", "requirement", element.getRequirementElement(), -1); 21982 } 21983 if (element.hasRetentionTime()) { 21984 composeDuration(t, "SpecimenDefinitionTypeTestedComponent", "retentionTime", element.getRetentionTime(), -1); 21985 } 21986 if (element.hasSingleUseElement()) { 21987 composeBoolean(t, "SpecimenDefinitionTypeTestedComponent", "singleUse", element.getSingleUseElement(), -1); 21988 } 21989 for (int i = 0; i < element.getRejectionCriterion().size(); i++) { 21990 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "rejectionCriterion", element.getRejectionCriterion().get(i), i); 21991 } 21992 for (int i = 0; i < element.getHandling().size(); i++) { 21993 composeSpecimenDefinitionTypeTestedHandlingComponent(t, "SpecimenDefinitionTypeTestedComponent", "handling", element.getHandling().get(i), i); 21994 } 21995 for (int i = 0; i < element.getTestingDestination().size(); i++) { 21996 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "testingDestination", element.getTestingDestination().get(i), i); 21997 } 21998 } 21999 22000 protected void composeSpecimenDefinitionTypeTestedContainerComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent element, int index) { 22001 if (element == null) 22002 return; 22003 Complex t; 22004 if (Utilities.noString(parentType)) 22005 t = parent; 22006 else { 22007 t = parent.predicate("fhir:"+parentType+'.'+name); 22008 } 22009 composeBackboneElement(t, "container", name, element, index); 22010 if (element.hasMaterial()) { 22011 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "material", element.getMaterial(), -1); 22012 } 22013 if (element.hasType()) { 22014 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "type", element.getType(), -1); 22015 } 22016 if (element.hasCap()) { 22017 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "cap", element.getCap(), -1); 22018 } 22019 if (element.hasDescriptionElement()) { 22020 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "description", element.getDescriptionElement(), -1); 22021 } 22022 if (element.hasCapacity()) { 22023 composeQuantity(t, "SpecimenDefinitionTypeTestedContainerComponent", "capacity", element.getCapacity(), -1); 22024 } 22025 if (element.hasMinimumVolume()) { 22026 composeType(t, "SpecimenDefinitionTypeTestedContainerComponent", "minimumVolume", element.getMinimumVolume(), -1); 22027 } 22028 for (int i = 0; i < element.getAdditive().size(); i++) { 22029 composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(t, "SpecimenDefinitionTypeTestedContainerComponent", "additive", element.getAdditive().get(i), i); 22030 } 22031 if (element.hasPreparationElement()) { 22032 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "preparation", element.getPreparationElement(), -1); 22033 } 22034 } 22035 22036 protected void composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent element, int index) { 22037 if (element == null) 22038 return; 22039 Complex t; 22040 if (Utilities.noString(parentType)) 22041 t = parent; 22042 else { 22043 t = parent.predicate("fhir:"+parentType+'.'+name); 22044 } 22045 composeBackboneElement(t, "additive", name, element, index); 22046 if (element.hasAdditive()) { 22047 composeType(t, "SpecimenDefinitionTypeTestedContainerAdditiveComponent", "additive", element.getAdditive(), -1); 22048 } 22049 } 22050 22051 protected void composeSpecimenDefinitionTypeTestedHandlingComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent element, int index) { 22052 if (element == null) 22053 return; 22054 Complex t; 22055 if (Utilities.noString(parentType)) 22056 t = parent; 22057 else { 22058 t = parent.predicate("fhir:"+parentType+'.'+name); 22059 } 22060 composeBackboneElement(t, "handling", name, element, index); 22061 if (element.hasTemperatureQualifier()) { 22062 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureQualifier", element.getTemperatureQualifier(), -1); 22063 } 22064 if (element.hasTemperatureRange()) { 22065 composeRange(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureRange", element.getTemperatureRange(), -1); 22066 } 22067 if (element.hasMaxDuration()) { 22068 composeDuration(t, "SpecimenDefinitionTypeTestedHandlingComponent", "maxDuration", element.getMaxDuration(), -1); 22069 } 22070 if (element.hasInstructionElement()) { 22071 composeString(t, "SpecimenDefinitionTypeTestedHandlingComponent", "instruction", element.getInstructionElement(), -1); 22072 } 22073 } 22074 22075 protected void composeStructureDefinition(Complex parent, String parentType, String name, StructureDefinition element, int index) { 22076 if (element == null) 22077 return; 22078 Complex t; 22079 if (Utilities.noString(parentType)) 22080 t = parent; 22081 else { 22082 t = parent.predicate("fhir:"+parentType+'.'+name); 22083 } 22084 composeCanonicalResource(t, "StructureDefinition", name, element, index); 22085 if (element.hasUrlElement()) { 22086 composeUri(t, "StructureDefinition", "url", element.getUrlElement(), -1); 22087 } 22088 for (int i = 0; i < element.getIdentifier().size(); i++) { 22089 composeIdentifier(t, "StructureDefinition", "identifier", element.getIdentifier().get(i), i); 22090 } 22091 if (element.hasVersionElement()) { 22092 composeString(t, "StructureDefinition", "version", element.getVersionElement(), -1); 22093 } 22094 if (element.hasNameElement()) { 22095 composeString(t, "StructureDefinition", "name", element.getNameElement(), -1); 22096 } 22097 if (element.hasTitleElement()) { 22098 composeString(t, "StructureDefinition", "title", element.getTitleElement(), -1); 22099 } 22100 if (element.hasStatusElement()) { 22101 composeEnum(t, "StructureDefinition", "status", element.getStatusElement(), -1); 22102 } 22103 if (element.hasExperimentalElement()) { 22104 composeBoolean(t, "StructureDefinition", "experimental", element.getExperimentalElement(), -1); 22105 } 22106 if (element.hasDateElement()) { 22107 composeDateTime(t, "StructureDefinition", "date", element.getDateElement(), -1); 22108 } 22109 if (element.hasPublisherElement()) { 22110 composeString(t, "StructureDefinition", "publisher", element.getPublisherElement(), -1); 22111 } 22112 for (int i = 0; i < element.getContact().size(); i++) { 22113 composeContactDetail(t, "StructureDefinition", "contact", element.getContact().get(i), i); 22114 } 22115 if (element.hasDescriptionElement()) { 22116 composeMarkdown(t, "StructureDefinition", "description", element.getDescriptionElement(), -1); 22117 } 22118 for (int i = 0; i < element.getUseContext().size(); i++) { 22119 composeUsageContext(t, "StructureDefinition", "useContext", element.getUseContext().get(i), i); 22120 } 22121 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22122 composeCodeableConcept(t, "StructureDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 22123 } 22124 if (element.hasPurposeElement()) { 22125 composeMarkdown(t, "StructureDefinition", "purpose", element.getPurposeElement(), -1); 22126 } 22127 if (element.hasCopyrightElement()) { 22128 composeMarkdown(t, "StructureDefinition", "copyright", element.getCopyrightElement(), -1); 22129 } 22130 for (int i = 0; i < element.getKeyword().size(); i++) { 22131 composeCoding(t, "StructureDefinition", "keyword", element.getKeyword().get(i), i); 22132 } 22133 if (element.hasFhirVersionElement()) { 22134 composeEnum(t, "StructureDefinition", "fhirVersion", element.getFhirVersionElement(), -1); 22135 } 22136 for (int i = 0; i < element.getMapping().size(); i++) { 22137 composeStructureDefinitionMappingComponent(t, "StructureDefinition", "mapping", element.getMapping().get(i), i); 22138 } 22139 if (element.hasKindElement()) { 22140 composeEnum(t, "StructureDefinition", "kind", element.getKindElement(), -1); 22141 } 22142 if (element.hasAbstractElement()) { 22143 composeBoolean(t, "StructureDefinition", "abstract", element.getAbstractElement(), -1); 22144 } 22145 for (int i = 0; i < element.getContext().size(); i++) { 22146 composeStructureDefinitionContextComponent(t, "StructureDefinition", "context", element.getContext().get(i), i); 22147 } 22148 for (int i = 0; i < element.getContextInvariant().size(); i++) { 22149 composeString(t, "StructureDefinition", "contextInvariant", element.getContextInvariant().get(i), i); 22150 } 22151 if (element.hasTypeElement()) { 22152 composeUri(t, "StructureDefinition", "type", element.getTypeElement(), -1); 22153 } 22154 if (element.hasBaseDefinitionElement()) { 22155 composeCanonical(t, "StructureDefinition", "baseDefinition", element.getBaseDefinitionElement(), -1); 22156 } 22157 if (element.hasDerivationElement()) { 22158 composeEnum(t, "StructureDefinition", "derivation", element.getDerivationElement(), -1); 22159 } 22160 if (element.hasSnapshot()) { 22161 composeStructureDefinitionSnapshotComponent(t, "StructureDefinition", "snapshot", element.getSnapshot(), -1); 22162 } 22163 if (element.hasDifferential()) { 22164 composeStructureDefinitionDifferentialComponent(t, "StructureDefinition", "differential", element.getDifferential(), -1); 22165 } 22166 } 22167 22168 protected void composeStructureDefinitionMappingComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionMappingComponent element, int index) { 22169 if (element == null) 22170 return; 22171 Complex t; 22172 if (Utilities.noString(parentType)) 22173 t = parent; 22174 else { 22175 t = parent.predicate("fhir:"+parentType+'.'+name); 22176 } 22177 composeBackboneElement(t, "mapping", name, element, index); 22178 if (element.hasIdentityElement()) { 22179 composeId(t, "StructureDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 22180 } 22181 if (element.hasUriElement()) { 22182 composeUri(t, "StructureDefinitionMappingComponent", "uri", element.getUriElement(), -1); 22183 } 22184 if (element.hasNameElement()) { 22185 composeString(t, "StructureDefinitionMappingComponent", "name", element.getNameElement(), -1); 22186 } 22187 if (element.hasCommentElement()) { 22188 composeString(t, "StructureDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 22189 } 22190 } 22191 22192 protected void composeStructureDefinitionContextComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionContextComponent element, int index) { 22193 if (element == null) 22194 return; 22195 Complex t; 22196 if (Utilities.noString(parentType)) 22197 t = parent; 22198 else { 22199 t = parent.predicate("fhir:"+parentType+'.'+name); 22200 } 22201 composeBackboneElement(t, "context", name, element, index); 22202 if (element.hasTypeElement()) { 22203 composeEnum(t, "StructureDefinitionContextComponent", "type", element.getTypeElement(), -1); 22204 } 22205 if (element.hasExpressionElement()) { 22206 composeString(t, "StructureDefinitionContextComponent", "expression", element.getExpressionElement(), -1); 22207 } 22208 } 22209 22210 protected void composeStructureDefinitionSnapshotComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionSnapshotComponent element, int index) { 22211 if (element == null) 22212 return; 22213 Complex t; 22214 if (Utilities.noString(parentType)) 22215 t = parent; 22216 else { 22217 t = parent.predicate("fhir:"+parentType+'.'+name); 22218 } 22219 composeBackboneElement(t, "snapshot", name, element, index); 22220 for (int i = 0; i < element.getElement().size(); i++) { 22221 composeElementDefinition(t, "StructureDefinitionSnapshotComponent", "element", element.getElement().get(i), i); 22222 } 22223 } 22224 22225 protected void composeStructureDefinitionDifferentialComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionDifferentialComponent element, int index) { 22226 if (element == null) 22227 return; 22228 Complex t; 22229 if (Utilities.noString(parentType)) 22230 t = parent; 22231 else { 22232 t = parent.predicate("fhir:"+parentType+'.'+name); 22233 } 22234 composeBackboneElement(t, "differential", name, element, index); 22235 for (int i = 0; i < element.getElement().size(); i++) { 22236 composeElementDefinition(t, "StructureDefinitionDifferentialComponent", "element", element.getElement().get(i), i); 22237 } 22238 } 22239 22240 protected void composeStructureMap(Complex parent, String parentType, String name, StructureMap element, int index) { 22241 if (element == null) 22242 return; 22243 Complex t; 22244 if (Utilities.noString(parentType)) 22245 t = parent; 22246 else { 22247 t = parent.predicate("fhir:"+parentType+'.'+name); 22248 } 22249 composeCanonicalResource(t, "StructureMap", name, element, index); 22250 if (element.hasUrlElement()) { 22251 composeUri(t, "StructureMap", "url", element.getUrlElement(), -1); 22252 } 22253 for (int i = 0; i < element.getIdentifier().size(); i++) { 22254 composeIdentifier(t, "StructureMap", "identifier", element.getIdentifier().get(i), i); 22255 } 22256 if (element.hasVersionElement()) { 22257 composeString(t, "StructureMap", "version", element.getVersionElement(), -1); 22258 } 22259 if (element.hasNameElement()) { 22260 composeString(t, "StructureMap", "name", element.getNameElement(), -1); 22261 } 22262 if (element.hasTitleElement()) { 22263 composeString(t, "StructureMap", "title", element.getTitleElement(), -1); 22264 } 22265 if (element.hasStatusElement()) { 22266 composeEnum(t, "StructureMap", "status", element.getStatusElement(), -1); 22267 } 22268 if (element.hasExperimentalElement()) { 22269 composeBoolean(t, "StructureMap", "experimental", element.getExperimentalElement(), -1); 22270 } 22271 if (element.hasDateElement()) { 22272 composeDateTime(t, "StructureMap", "date", element.getDateElement(), -1); 22273 } 22274 if (element.hasPublisherElement()) { 22275 composeString(t, "StructureMap", "publisher", element.getPublisherElement(), -1); 22276 } 22277 for (int i = 0; i < element.getContact().size(); i++) { 22278 composeContactDetail(t, "StructureMap", "contact", element.getContact().get(i), i); 22279 } 22280 if (element.hasDescriptionElement()) { 22281 composeMarkdown(t, "StructureMap", "description", element.getDescriptionElement(), -1); 22282 } 22283 for (int i = 0; i < element.getUseContext().size(); i++) { 22284 composeUsageContext(t, "StructureMap", "useContext", element.getUseContext().get(i), i); 22285 } 22286 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22287 composeCodeableConcept(t, "StructureMap", "jurisdiction", element.getJurisdiction().get(i), i); 22288 } 22289 if (element.hasPurposeElement()) { 22290 composeMarkdown(t, "StructureMap", "purpose", element.getPurposeElement(), -1); 22291 } 22292 if (element.hasCopyrightElement()) { 22293 composeMarkdown(t, "StructureMap", "copyright", element.getCopyrightElement(), -1); 22294 } 22295 for (int i = 0; i < element.getStructure().size(); i++) { 22296 composeStructureMapStructureComponent(t, "StructureMap", "structure", element.getStructure().get(i), i); 22297 } 22298 for (int i = 0; i < element.getImport().size(); i++) { 22299 composeCanonical(t, "StructureMap", "import", element.getImport().get(i), i); 22300 } 22301 for (int i = 0; i < element.getGroup().size(); i++) { 22302 composeStructureMapGroupComponent(t, "StructureMap", "group", element.getGroup().get(i), i); 22303 } 22304 } 22305 22306 protected void composeStructureMapStructureComponent(Complex parent, String parentType, String name, StructureMap.StructureMapStructureComponent element, int index) { 22307 if (element == null) 22308 return; 22309 Complex t; 22310 if (Utilities.noString(parentType)) 22311 t = parent; 22312 else { 22313 t = parent.predicate("fhir:"+parentType+'.'+name); 22314 } 22315 composeBackboneElement(t, "structure", name, element, index); 22316 if (element.hasUrlElement()) { 22317 composeCanonical(t, "StructureMapStructureComponent", "url", element.getUrlElement(), -1); 22318 } 22319 if (element.hasModeElement()) { 22320 composeEnum(t, "StructureMapStructureComponent", "mode", element.getModeElement(), -1); 22321 } 22322 if (element.hasAliasElement()) { 22323 composeString(t, "StructureMapStructureComponent", "alias", element.getAliasElement(), -1); 22324 } 22325 if (element.hasDocumentationElement()) { 22326 composeString(t, "StructureMapStructureComponent", "documentation", element.getDocumentationElement(), -1); 22327 } 22328 } 22329 22330 protected void composeStructureMapGroupComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupComponent element, int index) { 22331 if (element == null) 22332 return; 22333 Complex t; 22334 if (Utilities.noString(parentType)) 22335 t = parent; 22336 else { 22337 t = parent.predicate("fhir:"+parentType+'.'+name); 22338 } 22339 composeBackboneElement(t, "group", name, element, index); 22340 if (element.hasNameElement()) { 22341 composeId(t, "StructureMapGroupComponent", "name", element.getNameElement(), -1); 22342 } 22343 if (element.hasExtendsElement()) { 22344 composeId(t, "StructureMapGroupComponent", "extends", element.getExtendsElement(), -1); 22345 } 22346 if (element.hasTypeModeElement()) { 22347 composeEnum(t, "StructureMapGroupComponent", "typeMode", element.getTypeModeElement(), -1); 22348 } 22349 if (element.hasDocumentationElement()) { 22350 composeString(t, "StructureMapGroupComponent", "documentation", element.getDocumentationElement(), -1); 22351 } 22352 for (int i = 0; i < element.getInput().size(); i++) { 22353 composeStructureMapGroupInputComponent(t, "StructureMapGroupComponent", "input", element.getInput().get(i), i); 22354 } 22355 for (int i = 0; i < element.getRule().size(); i++) { 22356 composeStructureMapGroupRuleComponent(t, "StructureMapGroupComponent", "rule", element.getRule().get(i), i); 22357 } 22358 } 22359 22360 protected void composeStructureMapGroupInputComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupInputComponent element, int index) { 22361 if (element == null) 22362 return; 22363 Complex t; 22364 if (Utilities.noString(parentType)) 22365 t = parent; 22366 else { 22367 t = parent.predicate("fhir:"+parentType+'.'+name); 22368 } 22369 composeBackboneElement(t, "input", name, element, index); 22370 if (element.hasNameElement()) { 22371 composeId(t, "StructureMapGroupInputComponent", "name", element.getNameElement(), -1); 22372 } 22373 if (element.hasTypeElement()) { 22374 composeString(t, "StructureMapGroupInputComponent", "type", element.getTypeElement(), -1); 22375 } 22376 if (element.hasModeElement()) { 22377 composeEnum(t, "StructureMapGroupInputComponent", "mode", element.getModeElement(), -1); 22378 } 22379 if (element.hasDocumentationElement()) { 22380 composeString(t, "StructureMapGroupInputComponent", "documentation", element.getDocumentationElement(), -1); 22381 } 22382 } 22383 22384 protected void composeStructureMapGroupRuleComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleComponent element, int index) { 22385 if (element == null) 22386 return; 22387 Complex t; 22388 if (Utilities.noString(parentType)) 22389 t = parent; 22390 else { 22391 t = parent.predicate("fhir:"+parentType+'.'+name); 22392 } 22393 composeBackboneElement(t, "rule", name, element, index); 22394 if (element.hasNameElement()) { 22395 composeId(t, "StructureMapGroupRuleComponent", "name", element.getNameElement(), -1); 22396 } 22397 for (int i = 0; i < element.getSource().size(); i++) { 22398 composeStructureMapGroupRuleSourceComponent(t, "StructureMapGroupRuleComponent", "source", element.getSource().get(i), i); 22399 } 22400 for (int i = 0; i < element.getTarget().size(); i++) { 22401 composeStructureMapGroupRuleTargetComponent(t, "StructureMapGroupRuleComponent", "target", element.getTarget().get(i), i); 22402 } 22403 for (int i = 0; i < element.getRule().size(); i++) { 22404 composeStructureMapGroupRuleComponent(t, "StructureMapGroupRuleComponent", "rule", element.getRule().get(i), i); 22405 } 22406 for (int i = 0; i < element.getDependent().size(); i++) { 22407 composeStructureMapGroupRuleDependentComponent(t, "StructureMapGroupRuleComponent", "dependent", element.getDependent().get(i), i); 22408 } 22409 if (element.hasDocumentationElement()) { 22410 composeString(t, "StructureMapGroupRuleComponent", "documentation", element.getDocumentationElement(), -1); 22411 } 22412 } 22413 22414 protected void composeStructureMapGroupRuleSourceComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleSourceComponent element, int index) { 22415 if (element == null) 22416 return; 22417 Complex t; 22418 if (Utilities.noString(parentType)) 22419 t = parent; 22420 else { 22421 t = parent.predicate("fhir:"+parentType+'.'+name); 22422 } 22423 composeBackboneElement(t, "source", name, element, index); 22424 if (element.hasContextElement()) { 22425 composeId(t, "StructureMapGroupRuleSourceComponent", "context", element.getContextElement(), -1); 22426 } 22427 if (element.hasMinElement()) { 22428 composeInteger(t, "StructureMapGroupRuleSourceComponent", "min", element.getMinElement(), -1); 22429 } 22430 if (element.hasMaxElement()) { 22431 composeString(t, "StructureMapGroupRuleSourceComponent", "max", element.getMaxElement(), -1); 22432 } 22433 if (element.hasTypeElement()) { 22434 composeString(t, "StructureMapGroupRuleSourceComponent", "type", element.getTypeElement(), -1); 22435 } 22436 if (element.hasDefaultValueElement()) { 22437 composeString(t, "StructureMapGroupRuleSourceComponent", "defaultValue", element.getDefaultValueElement(), -1); 22438 } 22439 if (element.hasElementElement()) { 22440 composeString(t, "StructureMapGroupRuleSourceComponent", "element", element.getElementElement(), -1); 22441 } 22442 if (element.hasListModeElement()) { 22443 composeEnum(t, "StructureMapGroupRuleSourceComponent", "listMode", element.getListModeElement(), -1); 22444 } 22445 if (element.hasVariableElement()) { 22446 composeId(t, "StructureMapGroupRuleSourceComponent", "variable", element.getVariableElement(), -1); 22447 } 22448 if (element.hasConditionElement()) { 22449 composeString(t, "StructureMapGroupRuleSourceComponent", "condition", element.getConditionElement(), -1); 22450 } 22451 if (element.hasCheckElement()) { 22452 composeString(t, "StructureMapGroupRuleSourceComponent", "check", element.getCheckElement(), -1); 22453 } 22454 if (element.hasLogMessageElement()) { 22455 composeString(t, "StructureMapGroupRuleSourceComponent", "logMessage", element.getLogMessageElement(), -1); 22456 } 22457 } 22458 22459 protected void composeStructureMapGroupRuleTargetComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetComponent element, int index) { 22460 if (element == null) 22461 return; 22462 Complex t; 22463 if (Utilities.noString(parentType)) 22464 t = parent; 22465 else { 22466 t = parent.predicate("fhir:"+parentType+'.'+name); 22467 } 22468 composeBackboneElement(t, "target", name, element, index); 22469 if (element.hasContextElement()) { 22470 composeId(t, "StructureMapGroupRuleTargetComponent", "context", element.getContextElement(), -1); 22471 } 22472 if (element.hasElementElement()) { 22473 composeString(t, "StructureMapGroupRuleTargetComponent", "element", element.getElementElement(), -1); 22474 } 22475 if (element.hasVariableElement()) { 22476 composeId(t, "StructureMapGroupRuleTargetComponent", "variable", element.getVariableElement(), -1); 22477 } 22478 for (int i = 0; i < element.getListMode().size(); i++) { 22479 composeEnum(t, "StructureMapGroupRuleTargetComponent", "listMode", element.getListMode().get(i), i); 22480 } 22481 if (element.hasListRuleIdElement()) { 22482 composeId(t, "StructureMapGroupRuleTargetComponent", "listRuleId", element.getListRuleIdElement(), -1); 22483 } 22484 if (element.hasTransformElement()) { 22485 composeEnum(t, "StructureMapGroupRuleTargetComponent", "transform", element.getTransformElement(), -1); 22486 } 22487 for (int i = 0; i < element.getParameter().size(); i++) { 22488 composeStructureMapGroupRuleTargetParameterComponent(t, "StructureMapGroupRuleTargetComponent", "parameter", element.getParameter().get(i), i); 22489 } 22490 } 22491 22492 protected void composeStructureMapGroupRuleTargetParameterComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetParameterComponent element, int index) { 22493 if (element == null) 22494 return; 22495 Complex t; 22496 if (Utilities.noString(parentType)) 22497 t = parent; 22498 else { 22499 t = parent.predicate("fhir:"+parentType+'.'+name); 22500 } 22501 composeBackboneElement(t, "parameter", name, element, index); 22502 if (element.hasValue()) { 22503 composeType(t, "StructureMapGroupRuleTargetParameterComponent", "value", element.getValue(), -1); 22504 } 22505 } 22506 22507 protected void composeStructureMapGroupRuleDependentComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleDependentComponent element, int index) { 22508 if (element == null) 22509 return; 22510 Complex t; 22511 if (Utilities.noString(parentType)) 22512 t = parent; 22513 else { 22514 t = parent.predicate("fhir:"+parentType+'.'+name); 22515 } 22516 composeBackboneElement(t, "dependent", name, element, index); 22517 if (element.hasNameElement()) { 22518 composeId(t, "StructureMapGroupRuleDependentComponent", "name", element.getNameElement(), -1); 22519 } 22520 for (int i = 0; i < element.getParameter().size(); i++) { 22521 composeStructureMapGroupRuleTargetParameterComponent(t, "StructureMapGroupRuleDependentComponent", "parameter", element.getParameter().get(i), i); 22522 } 22523 } 22524 22525 protected void composeSubscription(Complex parent, String parentType, String name, Subscription element, int index) { 22526 if (element == null) 22527 return; 22528 Complex t; 22529 if (Utilities.noString(parentType)) 22530 t = parent; 22531 else { 22532 t = parent.predicate("fhir:"+parentType+'.'+name); 22533 } 22534 composeDomainResource(t, "Subscription", name, element, index); 22535 for (int i = 0; i < element.getIdentifier().size(); i++) { 22536 composeIdentifier(t, "Subscription", "identifier", element.getIdentifier().get(i), i); 22537 } 22538 if (element.hasNameElement()) { 22539 composeString(t, "Subscription", "name", element.getNameElement(), -1); 22540 } 22541 if (element.hasStatusElement()) { 22542 composeEnum(t, "Subscription", "status", element.getStatusElement(), -1); 22543 } 22544 if (element.hasTopicElement()) { 22545 composeCanonical(t, "Subscription", "topic", element.getTopicElement(), -1); 22546 } 22547 for (int i = 0; i < element.getContact().size(); i++) { 22548 composeContactPoint(t, "Subscription", "contact", element.getContact().get(i), i); 22549 } 22550 if (element.hasEndElement()) { 22551 composeInstant(t, "Subscription", "end", element.getEndElement(), -1); 22552 } 22553 if (element.hasReasonElement()) { 22554 composeString(t, "Subscription", "reason", element.getReasonElement(), -1); 22555 } 22556 for (int i = 0; i < element.getFilterBy().size(); i++) { 22557 composeSubscriptionFilterByComponent(t, "Subscription", "filterBy", element.getFilterBy().get(i), i); 22558 } 22559 if (element.hasChannelType()) { 22560 composeCoding(t, "Subscription", "channelType", element.getChannelType(), -1); 22561 } 22562 if (element.hasEndpointElement()) { 22563 composeUrl(t, "Subscription", "endpoint", element.getEndpointElement(), -1); 22564 } 22565 for (int i = 0; i < element.getHeader().size(); i++) { 22566 composeString(t, "Subscription", "header", element.getHeader().get(i), i); 22567 } 22568 if (element.hasHeartbeatPeriodElement()) { 22569 composeUnsignedInt(t, "Subscription", "heartbeatPeriod", element.getHeartbeatPeriodElement(), -1); 22570 } 22571 if (element.hasTimeoutElement()) { 22572 composeUnsignedInt(t, "Subscription", "timeout", element.getTimeoutElement(), -1); 22573 } 22574 if (element.hasContentTypeElement()) { 22575 composeCode(t, "Subscription", "contentType", element.getContentTypeElement(), -1); 22576 } 22577 if (element.hasContentElement()) { 22578 composeEnum(t, "Subscription", "content", element.getContentElement(), -1); 22579 } 22580 if (element.hasNotificationUrlLocationElement()) { 22581 composeEnum(t, "Subscription", "notificationUrlLocation", element.getNotificationUrlLocationElement(), -1); 22582 } 22583 if (element.hasMaxCountElement()) { 22584 composePositiveInt(t, "Subscription", "maxCount", element.getMaxCountElement(), -1); 22585 } 22586 } 22587 22588 protected void composeSubscriptionFilterByComponent(Complex parent, String parentType, String name, Subscription.SubscriptionFilterByComponent element, int index) { 22589 if (element == null) 22590 return; 22591 Complex t; 22592 if (Utilities.noString(parentType)) 22593 t = parent; 22594 else { 22595 t = parent.predicate("fhir:"+parentType+'.'+name); 22596 } 22597 composeBackboneElement(t, "filterBy", name, element, index); 22598 if (element.hasResourceTypeElement()) { 22599 composeUri(t, "SubscriptionFilterByComponent", "resourceType", element.getResourceTypeElement(), -1); 22600 } 22601 if (element.hasSearchParamNameElement()) { 22602 composeString(t, "SubscriptionFilterByComponent", "searchParamName", element.getSearchParamNameElement(), -1); 22603 } 22604 if (element.hasSearchModifierElement()) { 22605 composeEnum(t, "SubscriptionFilterByComponent", "searchModifier", element.getSearchModifierElement(), -1); 22606 } 22607 if (element.hasValueElement()) { 22608 composeString(t, "SubscriptionFilterByComponent", "value", element.getValueElement(), -1); 22609 } 22610 } 22611 22612 protected void composeSubscriptionStatus(Complex parent, String parentType, String name, SubscriptionStatus element, int index) { 22613 if (element == null) 22614 return; 22615 Complex t; 22616 if (Utilities.noString(parentType)) 22617 t = parent; 22618 else { 22619 t = parent.predicate("fhir:"+parentType+'.'+name); 22620 } 22621 composeDomainResource(t, "SubscriptionStatus", name, element, index); 22622 if (element.hasStatusElement()) { 22623 composeEnum(t, "SubscriptionStatus", "status", element.getStatusElement(), -1); 22624 } 22625 if (element.hasTypeElement()) { 22626 composeEnum(t, "SubscriptionStatus", "type", element.getTypeElement(), -1); 22627 } 22628 if (element.hasEventsSinceSubscriptionStartElement()) { 22629 composeInteger64(t, "SubscriptionStatus", "eventsSinceSubscriptionStart", element.getEventsSinceSubscriptionStartElement(), -1); 22630 } 22631 if (element.hasEventsInNotificationElement()) { 22632 composeInteger(t, "SubscriptionStatus", "eventsInNotification", element.getEventsInNotificationElement(), -1); 22633 } 22634 for (int i = 0; i < element.getNotificationEvent().size(); i++) { 22635 composeSubscriptionStatusNotificationEventComponent(t, "SubscriptionStatus", "notificationEvent", element.getNotificationEvent().get(i), i); 22636 } 22637 if (element.hasSubscription()) { 22638 composeReference(t, "SubscriptionStatus", "subscription", element.getSubscription(), -1); 22639 } 22640 if (element.hasTopicElement()) { 22641 composeCanonical(t, "SubscriptionStatus", "topic", element.getTopicElement(), -1); 22642 } 22643 for (int i = 0; i < element.getError().size(); i++) { 22644 composeCodeableConcept(t, "SubscriptionStatus", "error", element.getError().get(i), i); 22645 } 22646 } 22647 22648 protected void composeSubscriptionStatusNotificationEventComponent(Complex parent, String parentType, String name, SubscriptionStatus.SubscriptionStatusNotificationEventComponent element, int index) { 22649 if (element == null) 22650 return; 22651 Complex t; 22652 if (Utilities.noString(parentType)) 22653 t = parent; 22654 else { 22655 t = parent.predicate("fhir:"+parentType+'.'+name); 22656 } 22657 composeBackboneElement(t, "notificationEvent", name, element, index); 22658 if (element.hasEventNumberElement()) { 22659 composeInteger64(t, "SubscriptionStatusNotificationEventComponent", "eventNumber", element.getEventNumberElement(), -1); 22660 } 22661 if (element.hasTimestampElement()) { 22662 composeInstant(t, "SubscriptionStatusNotificationEventComponent", "timestamp", element.getTimestampElement(), -1); 22663 } 22664 if (element.hasFocus()) { 22665 composeReference(t, "SubscriptionStatusNotificationEventComponent", "focus", element.getFocus(), -1); 22666 } 22667 for (int i = 0; i < element.getAdditionalContext().size(); i++) { 22668 composeReference(t, "SubscriptionStatusNotificationEventComponent", "additionalContext", element.getAdditionalContext().get(i), i); 22669 } 22670 } 22671 22672 protected void composeSubscriptionTopic(Complex parent, String parentType, String name, SubscriptionTopic element, int index) { 22673 if (element == null) 22674 return; 22675 Complex t; 22676 if (Utilities.noString(parentType)) 22677 t = parent; 22678 else { 22679 t = parent.predicate("fhir:"+parentType+'.'+name); 22680 } 22681 composeDomainResource(t, "SubscriptionTopic", name, element, index); 22682 if (element.hasUrlElement()) { 22683 composeUri(t, "SubscriptionTopic", "url", element.getUrlElement(), -1); 22684 } 22685 for (int i = 0; i < element.getIdentifier().size(); i++) { 22686 composeIdentifier(t, "SubscriptionTopic", "identifier", element.getIdentifier().get(i), i); 22687 } 22688 if (element.hasVersionElement()) { 22689 composeString(t, "SubscriptionTopic", "version", element.getVersionElement(), -1); 22690 } 22691 if (element.hasTitleElement()) { 22692 composeString(t, "SubscriptionTopic", "title", element.getTitleElement(), -1); 22693 } 22694 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 22695 composeCanonical(t, "SubscriptionTopic", "derivedFrom", element.getDerivedFrom().get(i), i); 22696 } 22697 if (element.hasStatusElement()) { 22698 composeEnum(t, "SubscriptionTopic", "status", element.getStatusElement(), -1); 22699 } 22700 if (element.hasExperimentalElement()) { 22701 composeBoolean(t, "SubscriptionTopic", "experimental", element.getExperimentalElement(), -1); 22702 } 22703 if (element.hasDateElement()) { 22704 composeDateTime(t, "SubscriptionTopic", "date", element.getDateElement(), -1); 22705 } 22706 if (element.hasPublisherElement()) { 22707 composeString(t, "SubscriptionTopic", "publisher", element.getPublisherElement(), -1); 22708 } 22709 for (int i = 0; i < element.getContact().size(); i++) { 22710 composeContactDetail(t, "SubscriptionTopic", "contact", element.getContact().get(i), i); 22711 } 22712 if (element.hasDescriptionElement()) { 22713 composeMarkdown(t, "SubscriptionTopic", "description", element.getDescriptionElement(), -1); 22714 } 22715 for (int i = 0; i < element.getUseContext().size(); i++) { 22716 composeUsageContext(t, "SubscriptionTopic", "useContext", element.getUseContext().get(i), i); 22717 } 22718 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22719 composeCodeableConcept(t, "SubscriptionTopic", "jurisdiction", element.getJurisdiction().get(i), i); 22720 } 22721 if (element.hasPurposeElement()) { 22722 composeMarkdown(t, "SubscriptionTopic", "purpose", element.getPurposeElement(), -1); 22723 } 22724 if (element.hasCopyrightElement()) { 22725 composeMarkdown(t, "SubscriptionTopic", "copyright", element.getCopyrightElement(), -1); 22726 } 22727 if (element.hasApprovalDateElement()) { 22728 composeDate(t, "SubscriptionTopic", "approvalDate", element.getApprovalDateElement(), -1); 22729 } 22730 if (element.hasLastReviewDateElement()) { 22731 composeDate(t, "SubscriptionTopic", "lastReviewDate", element.getLastReviewDateElement(), -1); 22732 } 22733 if (element.hasEffectivePeriod()) { 22734 composePeriod(t, "SubscriptionTopic", "effectivePeriod", element.getEffectivePeriod(), -1); 22735 } 22736 for (int i = 0; i < element.getResourceTrigger().size(); i++) { 22737 composeSubscriptionTopicResourceTriggerComponent(t, "SubscriptionTopic", "resourceTrigger", element.getResourceTrigger().get(i), i); 22738 } 22739 for (int i = 0; i < element.getEventTrigger().size(); i++) { 22740 composeSubscriptionTopicEventTriggerComponent(t, "SubscriptionTopic", "eventTrigger", element.getEventTrigger().get(i), i); 22741 } 22742 for (int i = 0; i < element.getCanFilterBy().size(); i++) { 22743 composeSubscriptionTopicCanFilterByComponent(t, "SubscriptionTopic", "canFilterBy", element.getCanFilterBy().get(i), i); 22744 } 22745 for (int i = 0; i < element.getNotificationShape().size(); i++) { 22746 composeSubscriptionTopicNotificationShapeComponent(t, "SubscriptionTopic", "notificationShape", element.getNotificationShape().get(i), i); 22747 } 22748 } 22749 22750 protected void composeSubscriptionTopicResourceTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerComponent element, int index) { 22751 if (element == null) 22752 return; 22753 Complex t; 22754 if (Utilities.noString(parentType)) 22755 t = parent; 22756 else { 22757 t = parent.predicate("fhir:"+parentType+'.'+name); 22758 } 22759 composeBackboneElement(t, "resourceTrigger", name, element, index); 22760 if (element.hasDescriptionElement()) { 22761 composeMarkdown(t, "SubscriptionTopicResourceTriggerComponent", "description", element.getDescriptionElement(), -1); 22762 } 22763 if (element.hasResourceElement()) { 22764 composeUri(t, "SubscriptionTopicResourceTriggerComponent", "resource", element.getResourceElement(), -1); 22765 } 22766 for (int i = 0; i < element.getSupportedInteraction().size(); i++) { 22767 composeEnum(t, "SubscriptionTopicResourceTriggerComponent", "supportedInteraction", element.getSupportedInteraction().get(i), i); 22768 } 22769 if (element.hasQueryCriteria()) { 22770 composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(t, "SubscriptionTopicResourceTriggerComponent", "queryCriteria", element.getQueryCriteria(), -1); 22771 } 22772 if (element.hasFhirPathCriteriaElement()) { 22773 composeString(t, "SubscriptionTopicResourceTriggerComponent", "fhirPathCriteria", element.getFhirPathCriteriaElement(), -1); 22774 } 22775 } 22776 22777 protected void composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent element, int index) { 22778 if (element == null) 22779 return; 22780 Complex t; 22781 if (Utilities.noString(parentType)) 22782 t = parent; 22783 else { 22784 t = parent.predicate("fhir:"+parentType+'.'+name); 22785 } 22786 composeBackboneElement(t, "queryCriteria", name, element, index); 22787 if (element.hasPreviousElement()) { 22788 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "previous", element.getPreviousElement(), -1); 22789 } 22790 if (element.hasResultForCreateElement()) { 22791 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForCreate", element.getResultForCreateElement(), -1); 22792 } 22793 if (element.hasCurrentElement()) { 22794 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "current", element.getCurrentElement(), -1); 22795 } 22796 if (element.hasResultForDeleteElement()) { 22797 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForDelete", element.getResultForDeleteElement(), -1); 22798 } 22799 if (element.hasRequireBothElement()) { 22800 composeBoolean(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "requireBoth", element.getRequireBothElement(), -1); 22801 } 22802 } 22803 22804 protected void composeSubscriptionTopicEventTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicEventTriggerComponent element, int index) { 22805 if (element == null) 22806 return; 22807 Complex t; 22808 if (Utilities.noString(parentType)) 22809 t = parent; 22810 else { 22811 t = parent.predicate("fhir:"+parentType+'.'+name); 22812 } 22813 composeBackboneElement(t, "eventTrigger", name, element, index); 22814 if (element.hasDescriptionElement()) { 22815 composeMarkdown(t, "SubscriptionTopicEventTriggerComponent", "description", element.getDescriptionElement(), -1); 22816 } 22817 if (element.hasEvent()) { 22818 composeCodeableConcept(t, "SubscriptionTopicEventTriggerComponent", "event", element.getEvent(), -1); 22819 } 22820 if (element.hasResourceElement()) { 22821 composeUri(t, "SubscriptionTopicEventTriggerComponent", "resource", element.getResourceElement(), -1); 22822 } 22823 } 22824 22825 protected void composeSubscriptionTopicCanFilterByComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicCanFilterByComponent element, int index) { 22826 if (element == null) 22827 return; 22828 Complex t; 22829 if (Utilities.noString(parentType)) 22830 t = parent; 22831 else { 22832 t = parent.predicate("fhir:"+parentType+'.'+name); 22833 } 22834 composeBackboneElement(t, "canFilterBy", name, element, index); 22835 if (element.hasDescriptionElement()) { 22836 composeMarkdown(t, "SubscriptionTopicCanFilterByComponent", "description", element.getDescriptionElement(), -1); 22837 } 22838 if (element.hasResourceElement()) { 22839 composeUri(t, "SubscriptionTopicCanFilterByComponent", "resource", element.getResourceElement(), -1); 22840 } 22841 if (element.hasFilterParameterElement()) { 22842 composeString(t, "SubscriptionTopicCanFilterByComponent", "filterParameter", element.getFilterParameterElement(), -1); 22843 } 22844 for (int i = 0; i < element.getModifier().size(); i++) { 22845 composeEnum(t, "SubscriptionTopicCanFilterByComponent", "modifier", element.getModifier().get(i), i); 22846 } 22847 } 22848 22849 protected void composeSubscriptionTopicNotificationShapeComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicNotificationShapeComponent element, int index) { 22850 if (element == null) 22851 return; 22852 Complex t; 22853 if (Utilities.noString(parentType)) 22854 t = parent; 22855 else { 22856 t = parent.predicate("fhir:"+parentType+'.'+name); 22857 } 22858 composeBackboneElement(t, "notificationShape", name, element, index); 22859 if (element.hasResourceElement()) { 22860 composeUri(t, "SubscriptionTopicNotificationShapeComponent", "resource", element.getResourceElement(), -1); 22861 } 22862 for (int i = 0; i < element.getInclude().size(); i++) { 22863 composeString(t, "SubscriptionTopicNotificationShapeComponent", "include", element.getInclude().get(i), i); 22864 } 22865 for (int i = 0; i < element.getRevInclude().size(); i++) { 22866 composeString(t, "SubscriptionTopicNotificationShapeComponent", "revInclude", element.getRevInclude().get(i), i); 22867 } 22868 } 22869 22870 protected void composeSubstance(Complex parent, String parentType, String name, Substance element, int index) { 22871 if (element == null) 22872 return; 22873 Complex t; 22874 if (Utilities.noString(parentType)) 22875 t = parent; 22876 else { 22877 t = parent.predicate("fhir:"+parentType+'.'+name); 22878 } 22879 composeDomainResource(t, "Substance", name, element, index); 22880 for (int i = 0; i < element.getIdentifier().size(); i++) { 22881 composeIdentifier(t, "Substance", "identifier", element.getIdentifier().get(i), i); 22882 } 22883 if (element.hasInstanceElement()) { 22884 composeBoolean(t, "Substance", "instance", element.getInstanceElement(), -1); 22885 } 22886 if (element.hasStatusElement()) { 22887 composeEnum(t, "Substance", "status", element.getStatusElement(), -1); 22888 } 22889 for (int i = 0; i < element.getCategory().size(); i++) { 22890 composeCodeableConcept(t, "Substance", "category", element.getCategory().get(i), i); 22891 } 22892 if (element.hasCode()) { 22893 composeCodeableReference(t, "Substance", "code", element.getCode(), -1); 22894 } 22895 if (element.hasDescriptionElement()) { 22896 composeString(t, "Substance", "description", element.getDescriptionElement(), -1); 22897 } 22898 if (element.hasExpiryElement()) { 22899 composeDateTime(t, "Substance", "expiry", element.getExpiryElement(), -1); 22900 } 22901 if (element.hasQuantity()) { 22902 composeQuantity(t, "Substance", "quantity", element.getQuantity(), -1); 22903 } 22904 for (int i = 0; i < element.getIngredient().size(); i++) { 22905 composeSubstanceIngredientComponent(t, "Substance", "ingredient", element.getIngredient().get(i), i); 22906 } 22907 } 22908 22909 protected void composeSubstanceIngredientComponent(Complex parent, String parentType, String name, Substance.SubstanceIngredientComponent element, int index) { 22910 if (element == null) 22911 return; 22912 Complex t; 22913 if (Utilities.noString(parentType)) 22914 t = parent; 22915 else { 22916 t = parent.predicate("fhir:"+parentType+'.'+name); 22917 } 22918 composeBackboneElement(t, "ingredient", name, element, index); 22919 if (element.hasQuantity()) { 22920 composeRatio(t, "SubstanceIngredientComponent", "quantity", element.getQuantity(), -1); 22921 } 22922 if (element.hasSubstance()) { 22923 composeType(t, "SubstanceIngredientComponent", "substance", element.getSubstance(), -1); 22924 } 22925 } 22926 22927 protected void composeSubstanceDefinition(Complex parent, String parentType, String name, SubstanceDefinition element, int index) { 22928 if (element == null) 22929 return; 22930 Complex t; 22931 if (Utilities.noString(parentType)) 22932 t = parent; 22933 else { 22934 t = parent.predicate("fhir:"+parentType+'.'+name); 22935 } 22936 composeDomainResource(t, "SubstanceDefinition", name, element, index); 22937 for (int i = 0; i < element.getIdentifier().size(); i++) { 22938 composeIdentifier(t, "SubstanceDefinition", "identifier", element.getIdentifier().get(i), i); 22939 } 22940 if (element.hasVersionElement()) { 22941 composeString(t, "SubstanceDefinition", "version", element.getVersionElement(), -1); 22942 } 22943 if (element.hasStatus()) { 22944 composeCodeableConcept(t, "SubstanceDefinition", "status", element.getStatus(), -1); 22945 } 22946 for (int i = 0; i < element.getClassification().size(); i++) { 22947 composeCodeableConcept(t, "SubstanceDefinition", "classification", element.getClassification().get(i), i); 22948 } 22949 if (element.hasDomain()) { 22950 composeCodeableConcept(t, "SubstanceDefinition", "domain", element.getDomain(), -1); 22951 } 22952 for (int i = 0; i < element.getGrade().size(); i++) { 22953 composeCodeableConcept(t, "SubstanceDefinition", "grade", element.getGrade().get(i), i); 22954 } 22955 if (element.hasDescriptionElement()) { 22956 composeMarkdown(t, "SubstanceDefinition", "description", element.getDescriptionElement(), -1); 22957 } 22958 for (int i = 0; i < element.getInformationSource().size(); i++) { 22959 composeReference(t, "SubstanceDefinition", "informationSource", element.getInformationSource().get(i), i); 22960 } 22961 for (int i = 0; i < element.getNote().size(); i++) { 22962 composeAnnotation(t, "SubstanceDefinition", "note", element.getNote().get(i), i); 22963 } 22964 for (int i = 0; i < element.getManufacturer().size(); i++) { 22965 composeReference(t, "SubstanceDefinition", "manufacturer", element.getManufacturer().get(i), i); 22966 } 22967 for (int i = 0; i < element.getSupplier().size(); i++) { 22968 composeReference(t, "SubstanceDefinition", "supplier", element.getSupplier().get(i), i); 22969 } 22970 for (int i = 0; i < element.getMoiety().size(); i++) { 22971 composeSubstanceDefinitionMoietyComponent(t, "SubstanceDefinition", "moiety", element.getMoiety().get(i), i); 22972 } 22973 for (int i = 0; i < element.getProperty().size(); i++) { 22974 composeSubstanceDefinitionPropertyComponent(t, "SubstanceDefinition", "property", element.getProperty().get(i), i); 22975 } 22976 if (element.hasReferenceInformation()) { 22977 composeReference(t, "SubstanceDefinition", "referenceInformation", element.getReferenceInformation(), -1); 22978 } 22979 for (int i = 0; i < element.getMolecularWeight().size(); i++) { 22980 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinition", "molecularWeight", element.getMolecularWeight().get(i), i); 22981 } 22982 if (element.hasStructure()) { 22983 composeSubstanceDefinitionStructureComponent(t, "SubstanceDefinition", "structure", element.getStructure(), -1); 22984 } 22985 for (int i = 0; i < element.getCode().size(); i++) { 22986 composeSubstanceDefinitionCodeComponent(t, "SubstanceDefinition", "code", element.getCode().get(i), i); 22987 } 22988 for (int i = 0; i < element.getName().size(); i++) { 22989 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinition", "name", element.getName().get(i), i); 22990 } 22991 for (int i = 0; i < element.getRelationship().size(); i++) { 22992 composeSubstanceDefinitionRelationshipComponent(t, "SubstanceDefinition", "relationship", element.getRelationship().get(i), i); 22993 } 22994 if (element.hasNucleicAcid()) { 22995 composeReference(t, "SubstanceDefinition", "nucleicAcid", element.getNucleicAcid(), -1); 22996 } 22997 if (element.hasPolymer()) { 22998 composeReference(t, "SubstanceDefinition", "polymer", element.getPolymer(), -1); 22999 } 23000 if (element.hasProtein()) { 23001 composeReference(t, "SubstanceDefinition", "protein", element.getProtein(), -1); 23002 } 23003 if (element.hasSourceMaterial()) { 23004 composeSubstanceDefinitionSourceMaterialComponent(t, "SubstanceDefinition", "sourceMaterial", element.getSourceMaterial(), -1); 23005 } 23006 } 23007 23008 protected void composeSubstanceDefinitionMoietyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMoietyComponent element, int index) { 23009 if (element == null) 23010 return; 23011 Complex t; 23012 if (Utilities.noString(parentType)) 23013 t = parent; 23014 else { 23015 t = parent.predicate("fhir:"+parentType+'.'+name); 23016 } 23017 composeBackboneElement(t, "moiety", name, element, index); 23018 if (element.hasRole()) { 23019 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "role", element.getRole(), -1); 23020 } 23021 if (element.hasIdentifier()) { 23022 composeIdentifier(t, "SubstanceDefinitionMoietyComponent", "identifier", element.getIdentifier(), -1); 23023 } 23024 if (element.hasNameElement()) { 23025 composeString(t, "SubstanceDefinitionMoietyComponent", "name", element.getNameElement(), -1); 23026 } 23027 if (element.hasStereochemistry()) { 23028 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "stereochemistry", element.getStereochemistry(), -1); 23029 } 23030 if (element.hasOpticalActivity()) { 23031 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "opticalActivity", element.getOpticalActivity(), -1); 23032 } 23033 if (element.hasMolecularFormulaElement()) { 23034 composeString(t, "SubstanceDefinitionMoietyComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 23035 } 23036 if (element.hasAmount()) { 23037 composeType(t, "SubstanceDefinitionMoietyComponent", "amount", element.getAmount(), -1); 23038 } 23039 if (element.hasAmountType()) { 23040 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "amountType", element.getAmountType(), -1); 23041 } 23042 } 23043 23044 protected void composeSubstanceDefinitionPropertyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionPropertyComponent element, int index) { 23045 if (element == null) 23046 return; 23047 Complex t; 23048 if (Utilities.noString(parentType)) 23049 t = parent; 23050 else { 23051 t = parent.predicate("fhir:"+parentType+'.'+name); 23052 } 23053 composeBackboneElement(t, "property", name, element, index); 23054 if (element.hasType()) { 23055 composeCodeableConcept(t, "SubstanceDefinitionPropertyComponent", "type", element.getType(), -1); 23056 } 23057 if (element.hasValue()) { 23058 composeType(t, "SubstanceDefinitionPropertyComponent", "value", element.getValue(), -1); 23059 } 23060 } 23061 23062 protected void composeSubstanceDefinitionMolecularWeightComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent element, int index) { 23063 if (element == null) 23064 return; 23065 Complex t; 23066 if (Utilities.noString(parentType)) 23067 t = parent; 23068 else { 23069 t = parent.predicate("fhir:"+parentType+'.'+name); 23070 } 23071 composeBackboneElement(t, "molecularWeight", name, element, index); 23072 if (element.hasMethod()) { 23073 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "method", element.getMethod(), -1); 23074 } 23075 if (element.hasType()) { 23076 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "type", element.getType(), -1); 23077 } 23078 if (element.hasAmount()) { 23079 composeQuantity(t, "SubstanceDefinitionMolecularWeightComponent", "amount", element.getAmount(), -1); 23080 } 23081 } 23082 23083 protected void composeSubstanceDefinitionStructureComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureComponent element, int index) { 23084 if (element == null) 23085 return; 23086 Complex t; 23087 if (Utilities.noString(parentType)) 23088 t = parent; 23089 else { 23090 t = parent.predicate("fhir:"+parentType+'.'+name); 23091 } 23092 composeBackboneElement(t, "structure", name, element, index); 23093 if (element.hasStereochemistry()) { 23094 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "stereochemistry", element.getStereochemistry(), -1); 23095 } 23096 if (element.hasOpticalActivity()) { 23097 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "opticalActivity", element.getOpticalActivity(), -1); 23098 } 23099 if (element.hasMolecularFormulaElement()) { 23100 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 23101 } 23102 if (element.hasMolecularFormulaByMoietyElement()) { 23103 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormulaByMoiety", element.getMolecularFormulaByMoietyElement(), -1); 23104 } 23105 if (element.hasMolecularWeight()) { 23106 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinitionStructureComponent", "molecularWeight", element.getMolecularWeight(), -1); 23107 } 23108 for (int i = 0; i < element.getTechnique().size(); i++) { 23109 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "technique", element.getTechnique().get(i), i); 23110 } 23111 for (int i = 0; i < element.getSourceDocument().size(); i++) { 23112 composeReference(t, "SubstanceDefinitionStructureComponent", "sourceDocument", element.getSourceDocument().get(i), i); 23113 } 23114 for (int i = 0; i < element.getRepresentation().size(); i++) { 23115 composeSubstanceDefinitionStructureRepresentationComponent(t, "SubstanceDefinitionStructureComponent", "representation", element.getRepresentation().get(i), i); 23116 } 23117 } 23118 23119 protected void composeSubstanceDefinitionStructureRepresentationComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent element, int index) { 23120 if (element == null) 23121 return; 23122 Complex t; 23123 if (Utilities.noString(parentType)) 23124 t = parent; 23125 else { 23126 t = parent.predicate("fhir:"+parentType+'.'+name); 23127 } 23128 composeBackboneElement(t, "representation", name, element, index); 23129 if (element.hasType()) { 23130 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "type", element.getType(), -1); 23131 } 23132 if (element.hasRepresentationElement()) { 23133 composeString(t, "SubstanceDefinitionStructureRepresentationComponent", "representation", element.getRepresentationElement(), -1); 23134 } 23135 if (element.hasFormat()) { 23136 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "format", element.getFormat(), -1); 23137 } 23138 if (element.hasDocument()) { 23139 composeReference(t, "SubstanceDefinitionStructureRepresentationComponent", "document", element.getDocument(), -1); 23140 } 23141 } 23142 23143 protected void composeSubstanceDefinitionCodeComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionCodeComponent element, int index) { 23144 if (element == null) 23145 return; 23146 Complex t; 23147 if (Utilities.noString(parentType)) 23148 t = parent; 23149 else { 23150 t = parent.predicate("fhir:"+parentType+'.'+name); 23151 } 23152 composeBackboneElement(t, "code", name, element, index); 23153 if (element.hasCode()) { 23154 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "code", element.getCode(), -1); 23155 } 23156 if (element.hasStatus()) { 23157 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "status", element.getStatus(), -1); 23158 } 23159 if (element.hasStatusDateElement()) { 23160 composeDateTime(t, "SubstanceDefinitionCodeComponent", "statusDate", element.getStatusDateElement(), -1); 23161 } 23162 for (int i = 0; i < element.getNote().size(); i++) { 23163 composeAnnotation(t, "SubstanceDefinitionCodeComponent", "note", element.getNote().get(i), i); 23164 } 23165 for (int i = 0; i < element.getSource().size(); i++) { 23166 composeReference(t, "SubstanceDefinitionCodeComponent", "source", element.getSource().get(i), i); 23167 } 23168 } 23169 23170 protected void composeSubstanceDefinitionNameComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameComponent element, int index) { 23171 if (element == null) 23172 return; 23173 Complex t; 23174 if (Utilities.noString(parentType)) 23175 t = parent; 23176 else { 23177 t = parent.predicate("fhir:"+parentType+'.'+name); 23178 } 23179 composeBackboneElement(t, "name", name, element, index); 23180 if (element.hasNameElement()) { 23181 composeString(t, "SubstanceDefinitionNameComponent", "name", element.getNameElement(), -1); 23182 } 23183 if (element.hasType()) { 23184 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "type", element.getType(), -1); 23185 } 23186 if (element.hasStatus()) { 23187 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "status", element.getStatus(), -1); 23188 } 23189 if (element.hasPreferredElement()) { 23190 composeBoolean(t, "SubstanceDefinitionNameComponent", "preferred", element.getPreferredElement(), -1); 23191 } 23192 for (int i = 0; i < element.getLanguage().size(); i++) { 23193 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "language", element.getLanguage().get(i), i); 23194 } 23195 for (int i = 0; i < element.getDomain().size(); i++) { 23196 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "domain", element.getDomain().get(i), i); 23197 } 23198 for (int i = 0; i < element.getJurisdiction().size(); i++) { 23199 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "jurisdiction", element.getJurisdiction().get(i), i); 23200 } 23201 for (int i = 0; i < element.getSynonym().size(); i++) { 23202 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "synonym", element.getSynonym().get(i), i); 23203 } 23204 for (int i = 0; i < element.getTranslation().size(); i++) { 23205 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "translation", element.getTranslation().get(i), i); 23206 } 23207 for (int i = 0; i < element.getOfficial().size(); i++) { 23208 composeSubstanceDefinitionNameOfficialComponent(t, "SubstanceDefinitionNameComponent", "official", element.getOfficial().get(i), i); 23209 } 23210 for (int i = 0; i < element.getSource().size(); i++) { 23211 composeReference(t, "SubstanceDefinitionNameComponent", "source", element.getSource().get(i), i); 23212 } 23213 } 23214 23215 protected void composeSubstanceDefinitionNameOfficialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameOfficialComponent element, int index) { 23216 if (element == null) 23217 return; 23218 Complex t; 23219 if (Utilities.noString(parentType)) 23220 t = parent; 23221 else { 23222 t = parent.predicate("fhir:"+parentType+'.'+name); 23223 } 23224 composeBackboneElement(t, "official", name, element, index); 23225 if (element.hasAuthority()) { 23226 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "authority", element.getAuthority(), -1); 23227 } 23228 if (element.hasStatus()) { 23229 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "status", element.getStatus(), -1); 23230 } 23231 if (element.hasDateElement()) { 23232 composeDateTime(t, "SubstanceDefinitionNameOfficialComponent", "date", element.getDateElement(), -1); 23233 } 23234 } 23235 23236 protected void composeSubstanceDefinitionRelationshipComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionRelationshipComponent element, int index) { 23237 if (element == null) 23238 return; 23239 Complex t; 23240 if (Utilities.noString(parentType)) 23241 t = parent; 23242 else { 23243 t = parent.predicate("fhir:"+parentType+'.'+name); 23244 } 23245 composeBackboneElement(t, "relationship", name, element, index); 23246 if (element.hasSubstanceDefinition()) { 23247 composeType(t, "SubstanceDefinitionRelationshipComponent", "substanceDefinition", element.getSubstanceDefinition(), -1); 23248 } 23249 if (element.hasType()) { 23250 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "type", element.getType(), -1); 23251 } 23252 if (element.hasIsDefiningElement()) { 23253 composeBoolean(t, "SubstanceDefinitionRelationshipComponent", "isDefining", element.getIsDefiningElement(), -1); 23254 } 23255 if (element.hasAmount()) { 23256 composeType(t, "SubstanceDefinitionRelationshipComponent", "amount", element.getAmount(), -1); 23257 } 23258 if (element.hasAmountRatioHighLimit()) { 23259 composeRatio(t, "SubstanceDefinitionRelationshipComponent", "amountRatioHighLimit", element.getAmountRatioHighLimit(), -1); 23260 } 23261 if (element.hasAmountType()) { 23262 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "amountType", element.getAmountType(), -1); 23263 } 23264 for (int i = 0; i < element.getSource().size(); i++) { 23265 composeReference(t, "SubstanceDefinitionRelationshipComponent", "source", element.getSource().get(i), i); 23266 } 23267 } 23268 23269 protected void composeSubstanceDefinitionSourceMaterialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent element, int index) { 23270 if (element == null) 23271 return; 23272 Complex t; 23273 if (Utilities.noString(parentType)) 23274 t = parent; 23275 else { 23276 t = parent.predicate("fhir:"+parentType+'.'+name); 23277 } 23278 composeBackboneElement(t, "sourceMaterial", name, element, index); 23279 if (element.hasType()) { 23280 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "type", element.getType(), -1); 23281 } 23282 if (element.hasGenus()) { 23283 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "genus", element.getGenus(), -1); 23284 } 23285 if (element.hasSpecies()) { 23286 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "species", element.getSpecies(), -1); 23287 } 23288 if (element.hasPart()) { 23289 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "part", element.getPart(), -1); 23290 } 23291 for (int i = 0; i < element.getCountryOfOrigin().size(); i++) { 23292 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "countryOfOrigin", element.getCountryOfOrigin().get(i), i); 23293 } 23294 } 23295 23296 protected void composeSubstanceNucleicAcid(Complex parent, String parentType, String name, SubstanceNucleicAcid element, int index) { 23297 if (element == null) 23298 return; 23299 Complex t; 23300 if (Utilities.noString(parentType)) 23301 t = parent; 23302 else { 23303 t = parent.predicate("fhir:"+parentType+'.'+name); 23304 } 23305 composeDomainResource(t, "SubstanceNucleicAcid", name, element, index); 23306 if (element.hasSequenceType()) { 23307 composeCodeableConcept(t, "SubstanceNucleicAcid", "sequenceType", element.getSequenceType(), -1); 23308 } 23309 if (element.hasNumberOfSubunitsElement()) { 23310 composeInteger(t, "SubstanceNucleicAcid", "numberOfSubunits", element.getNumberOfSubunitsElement(), -1); 23311 } 23312 if (element.hasAreaOfHybridisationElement()) { 23313 composeString(t, "SubstanceNucleicAcid", "areaOfHybridisation", element.getAreaOfHybridisationElement(), -1); 23314 } 23315 if (element.hasOligoNucleotideType()) { 23316 composeCodeableConcept(t, "SubstanceNucleicAcid", "oligoNucleotideType", element.getOligoNucleotideType(), -1); 23317 } 23318 for (int i = 0; i < element.getSubunit().size(); i++) { 23319 composeSubstanceNucleicAcidSubunitComponent(t, "SubstanceNucleicAcid", "subunit", element.getSubunit().get(i), i); 23320 } 23321 } 23322 23323 protected void composeSubstanceNucleicAcidSubunitComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitComponent element, int index) { 23324 if (element == null) 23325 return; 23326 Complex t; 23327 if (Utilities.noString(parentType)) 23328 t = parent; 23329 else { 23330 t = parent.predicate("fhir:"+parentType+'.'+name); 23331 } 23332 composeBackboneElement(t, "subunit", name, element, index); 23333 if (element.hasSubunitElement()) { 23334 composeInteger(t, "SubstanceNucleicAcidSubunitComponent", "subunit", element.getSubunitElement(), -1); 23335 } 23336 if (element.hasSequenceElement()) { 23337 composeString(t, "SubstanceNucleicAcidSubunitComponent", "sequence", element.getSequenceElement(), -1); 23338 } 23339 if (element.hasLengthElement()) { 23340 composeInteger(t, "SubstanceNucleicAcidSubunitComponent", "length", element.getLengthElement(), -1); 23341 } 23342 if (element.hasSequenceAttachment()) { 23343 composeAttachment(t, "SubstanceNucleicAcidSubunitComponent", "sequenceAttachment", element.getSequenceAttachment(), -1); 23344 } 23345 if (element.hasFivePrime()) { 23346 composeCodeableConcept(t, "SubstanceNucleicAcidSubunitComponent", "fivePrime", element.getFivePrime(), -1); 23347 } 23348 if (element.hasThreePrime()) { 23349 composeCodeableConcept(t, "SubstanceNucleicAcidSubunitComponent", "threePrime", element.getThreePrime(), -1); 23350 } 23351 for (int i = 0; i < element.getLinkage().size(); i++) { 23352 composeSubstanceNucleicAcidSubunitLinkageComponent(t, "SubstanceNucleicAcidSubunitComponent", "linkage", element.getLinkage().get(i), i); 23353 } 23354 for (int i = 0; i < element.getSugar().size(); i++) { 23355 composeSubstanceNucleicAcidSubunitSugarComponent(t, "SubstanceNucleicAcidSubunitComponent", "sugar", element.getSugar().get(i), i); 23356 } 23357 } 23358 23359 protected void composeSubstanceNucleicAcidSubunitLinkageComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitLinkageComponent element, int index) { 23360 if (element == null) 23361 return; 23362 Complex t; 23363 if (Utilities.noString(parentType)) 23364 t = parent; 23365 else { 23366 t = parent.predicate("fhir:"+parentType+'.'+name); 23367 } 23368 composeBackboneElement(t, "linkage", name, element, index); 23369 if (element.hasConnectivityElement()) { 23370 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "connectivity", element.getConnectivityElement(), -1); 23371 } 23372 if (element.hasIdentifier()) { 23373 composeIdentifier(t, "SubstanceNucleicAcidSubunitLinkageComponent", "identifier", element.getIdentifier(), -1); 23374 } 23375 if (element.hasNameElement()) { 23376 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "name", element.getNameElement(), -1); 23377 } 23378 if (element.hasResidueSiteElement()) { 23379 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "residueSite", element.getResidueSiteElement(), -1); 23380 } 23381 } 23382 23383 protected void composeSubstanceNucleicAcidSubunitSugarComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitSugarComponent element, int index) { 23384 if (element == null) 23385 return; 23386 Complex t; 23387 if (Utilities.noString(parentType)) 23388 t = parent; 23389 else { 23390 t = parent.predicate("fhir:"+parentType+'.'+name); 23391 } 23392 composeBackboneElement(t, "sugar", name, element, index); 23393 if (element.hasIdentifier()) { 23394 composeIdentifier(t, "SubstanceNucleicAcidSubunitSugarComponent", "identifier", element.getIdentifier(), -1); 23395 } 23396 if (element.hasNameElement()) { 23397 composeString(t, "SubstanceNucleicAcidSubunitSugarComponent", "name", element.getNameElement(), -1); 23398 } 23399 if (element.hasResidueSiteElement()) { 23400 composeString(t, "SubstanceNucleicAcidSubunitSugarComponent", "residueSite", element.getResidueSiteElement(), -1); 23401 } 23402 } 23403 23404 protected void composeSubstancePolymer(Complex parent, String parentType, String name, SubstancePolymer element, int index) { 23405 if (element == null) 23406 return; 23407 Complex t; 23408 if (Utilities.noString(parentType)) 23409 t = parent; 23410 else { 23411 t = parent.predicate("fhir:"+parentType+'.'+name); 23412 } 23413 composeDomainResource(t, "SubstancePolymer", name, element, index); 23414 if (element.hasIdentifier()) { 23415 composeIdentifier(t, "SubstancePolymer", "identifier", element.getIdentifier(), -1); 23416 } 23417 if (element.hasClass_()) { 23418 composeCodeableConcept(t, "SubstancePolymer", "class", element.getClass_(), -1); 23419 } 23420 if (element.hasGeometry()) { 23421 composeCodeableConcept(t, "SubstancePolymer", "geometry", element.getGeometry(), -1); 23422 } 23423 for (int i = 0; i < element.getCopolymerConnectivity().size(); i++) { 23424 composeCodeableConcept(t, "SubstancePolymer", "copolymerConnectivity", element.getCopolymerConnectivity().get(i), i); 23425 } 23426 if (element.hasModificationElement()) { 23427 composeString(t, "SubstancePolymer", "modification", element.getModificationElement(), -1); 23428 } 23429 for (int i = 0; i < element.getMonomerSet().size(); i++) { 23430 composeSubstancePolymerMonomerSetComponent(t, "SubstancePolymer", "monomerSet", element.getMonomerSet().get(i), i); 23431 } 23432 for (int i = 0; i < element.getRepeat().size(); i++) { 23433 composeSubstancePolymerRepeatComponent(t, "SubstancePolymer", "repeat", element.getRepeat().get(i), i); 23434 } 23435 } 23436 23437 protected void composeSubstancePolymerMonomerSetComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerMonomerSetComponent element, int index) { 23438 if (element == null) 23439 return; 23440 Complex t; 23441 if (Utilities.noString(parentType)) 23442 t = parent; 23443 else { 23444 t = parent.predicate("fhir:"+parentType+'.'+name); 23445 } 23446 composeBackboneElement(t, "monomerSet", name, element, index); 23447 if (element.hasRatioType()) { 23448 composeCodeableConcept(t, "SubstancePolymerMonomerSetComponent", "ratioType", element.getRatioType(), -1); 23449 } 23450 for (int i = 0; i < element.getStartingMaterial().size(); i++) { 23451 composeSubstancePolymerMonomerSetStartingMaterialComponent(t, "SubstancePolymerMonomerSetComponent", "startingMaterial", element.getStartingMaterial().get(i), i); 23452 } 23453 } 23454 23455 protected void composeSubstancePolymerMonomerSetStartingMaterialComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerMonomerSetStartingMaterialComponent element, int index) { 23456 if (element == null) 23457 return; 23458 Complex t; 23459 if (Utilities.noString(parentType)) 23460 t = parent; 23461 else { 23462 t = parent.predicate("fhir:"+parentType+'.'+name); 23463 } 23464 composeBackboneElement(t, "startingMaterial", name, element, index); 23465 if (element.hasCode()) { 23466 composeCodeableConcept(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "code", element.getCode(), -1); 23467 } 23468 if (element.hasCategory()) { 23469 composeCodeableConcept(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "category", element.getCategory(), -1); 23470 } 23471 if (element.hasIsDefiningElement()) { 23472 composeBoolean(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "isDefining", element.getIsDefiningElement(), -1); 23473 } 23474 if (element.hasAmount()) { 23475 composeQuantity(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "amount", element.getAmount(), -1); 23476 } 23477 } 23478 23479 protected void composeSubstancePolymerRepeatComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatComponent element, int index) { 23480 if (element == null) 23481 return; 23482 Complex t; 23483 if (Utilities.noString(parentType)) 23484 t = parent; 23485 else { 23486 t = parent.predicate("fhir:"+parentType+'.'+name); 23487 } 23488 composeBackboneElement(t, "repeat", name, element, index); 23489 if (element.hasAverageMolecularFormulaElement()) { 23490 composeString(t, "SubstancePolymerRepeatComponent", "averageMolecularFormula", element.getAverageMolecularFormulaElement(), -1); 23491 } 23492 if (element.hasRepeatUnitAmountType()) { 23493 composeCodeableConcept(t, "SubstancePolymerRepeatComponent", "repeatUnitAmountType", element.getRepeatUnitAmountType(), -1); 23494 } 23495 for (int i = 0; i < element.getRepeatUnit().size(); i++) { 23496 composeSubstancePolymerRepeatRepeatUnitComponent(t, "SubstancePolymerRepeatComponent", "repeatUnit", element.getRepeatUnit().get(i), i); 23497 } 23498 } 23499 23500 protected void composeSubstancePolymerRepeatRepeatUnitComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitComponent element, int index) { 23501 if (element == null) 23502 return; 23503 Complex t; 23504 if (Utilities.noString(parentType)) 23505 t = parent; 23506 else { 23507 t = parent.predicate("fhir:"+parentType+'.'+name); 23508 } 23509 composeBackboneElement(t, "repeatUnit", name, element, index); 23510 if (element.hasUnitElement()) { 23511 composeString(t, "SubstancePolymerRepeatRepeatUnitComponent", "unit", element.getUnitElement(), -1); 23512 } 23513 if (element.hasOrientation()) { 23514 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitComponent", "orientation", element.getOrientation(), -1); 23515 } 23516 if (element.hasAmountElement()) { 23517 composeInteger(t, "SubstancePolymerRepeatRepeatUnitComponent", "amount", element.getAmountElement(), -1); 23518 } 23519 for (int i = 0; i < element.getDegreeOfPolymerisation().size(); i++) { 23520 composeSubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent(t, "SubstancePolymerRepeatRepeatUnitComponent", "degreeOfPolymerisation", element.getDegreeOfPolymerisation().get(i), i); 23521 } 23522 for (int i = 0; i < element.getStructuralRepresentation().size(); i++) { 23523 composeSubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent(t, "SubstancePolymerRepeatRepeatUnitComponent", "structuralRepresentation", element.getStructuralRepresentation().get(i), i); 23524 } 23525 } 23526 23527 protected void composeSubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent element, int index) { 23528 if (element == null) 23529 return; 23530 Complex t; 23531 if (Utilities.noString(parentType)) 23532 t = parent; 23533 else { 23534 t = parent.predicate("fhir:"+parentType+'.'+name); 23535 } 23536 composeBackboneElement(t, "degreeOfPolymerisation", name, element, index); 23537 if (element.hasType()) { 23538 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "type", element.getType(), -1); 23539 } 23540 if (element.hasAverageElement()) { 23541 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "average", element.getAverageElement(), -1); 23542 } 23543 if (element.hasLowElement()) { 23544 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "low", element.getLowElement(), -1); 23545 } 23546 if (element.hasHighElement()) { 23547 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "high", element.getHighElement(), -1); 23548 } 23549 } 23550 23551 protected void composeSubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent element, int index) { 23552 if (element == null) 23553 return; 23554 Complex t; 23555 if (Utilities.noString(parentType)) 23556 t = parent; 23557 else { 23558 t = parent.predicate("fhir:"+parentType+'.'+name); 23559 } 23560 composeBackboneElement(t, "structuralRepresentation", name, element, index); 23561 if (element.hasType()) { 23562 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "type", element.getType(), -1); 23563 } 23564 if (element.hasRepresentationElement()) { 23565 composeString(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "representation", element.getRepresentationElement(), -1); 23566 } 23567 if (element.hasFormat()) { 23568 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "format", element.getFormat(), -1); 23569 } 23570 if (element.hasAttachment()) { 23571 composeAttachment(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "attachment", element.getAttachment(), -1); 23572 } 23573 } 23574 23575 protected void composeSubstanceProtein(Complex parent, String parentType, String name, SubstanceProtein element, int index) { 23576 if (element == null) 23577 return; 23578 Complex t; 23579 if (Utilities.noString(parentType)) 23580 t = parent; 23581 else { 23582 t = parent.predicate("fhir:"+parentType+'.'+name); 23583 } 23584 composeDomainResource(t, "SubstanceProtein", name, element, index); 23585 if (element.hasSequenceType()) { 23586 composeCodeableConcept(t, "SubstanceProtein", "sequenceType", element.getSequenceType(), -1); 23587 } 23588 if (element.hasNumberOfSubunitsElement()) { 23589 composeInteger(t, "SubstanceProtein", "numberOfSubunits", element.getNumberOfSubunitsElement(), -1); 23590 } 23591 for (int i = 0; i < element.getDisulfideLinkage().size(); i++) { 23592 composeString(t, "SubstanceProtein", "disulfideLinkage", element.getDisulfideLinkage().get(i), i); 23593 } 23594 for (int i = 0; i < element.getSubunit().size(); i++) { 23595 composeSubstanceProteinSubunitComponent(t, "SubstanceProtein", "subunit", element.getSubunit().get(i), i); 23596 } 23597 } 23598 23599 protected void composeSubstanceProteinSubunitComponent(Complex parent, String parentType, String name, SubstanceProtein.SubstanceProteinSubunitComponent element, int index) { 23600 if (element == null) 23601 return; 23602 Complex t; 23603 if (Utilities.noString(parentType)) 23604 t = parent; 23605 else { 23606 t = parent.predicate("fhir:"+parentType+'.'+name); 23607 } 23608 composeBackboneElement(t, "subunit", name, element, index); 23609 if (element.hasSubunitElement()) { 23610 composeInteger(t, "SubstanceProteinSubunitComponent", "subunit", element.getSubunitElement(), -1); 23611 } 23612 if (element.hasSequenceElement()) { 23613 composeString(t, "SubstanceProteinSubunitComponent", "sequence", element.getSequenceElement(), -1); 23614 } 23615 if (element.hasLengthElement()) { 23616 composeInteger(t, "SubstanceProteinSubunitComponent", "length", element.getLengthElement(), -1); 23617 } 23618 if (element.hasSequenceAttachment()) { 23619 composeAttachment(t, "SubstanceProteinSubunitComponent", "sequenceAttachment", element.getSequenceAttachment(), -1); 23620 } 23621 if (element.hasNTerminalModificationId()) { 23622 composeIdentifier(t, "SubstanceProteinSubunitComponent", "nTerminalModificationId", element.getNTerminalModificationId(), -1); 23623 } 23624 if (element.hasNTerminalModificationElement()) { 23625 composeString(t, "SubstanceProteinSubunitComponent", "nTerminalModification", element.getNTerminalModificationElement(), -1); 23626 } 23627 if (element.hasCTerminalModificationId()) { 23628 composeIdentifier(t, "SubstanceProteinSubunitComponent", "cTerminalModificationId", element.getCTerminalModificationId(), -1); 23629 } 23630 if (element.hasCTerminalModificationElement()) { 23631 composeString(t, "SubstanceProteinSubunitComponent", "cTerminalModification", element.getCTerminalModificationElement(), -1); 23632 } 23633 } 23634 23635 protected void composeSubstanceReferenceInformation(Complex parent, String parentType, String name, SubstanceReferenceInformation element, int index) { 23636 if (element == null) 23637 return; 23638 Complex t; 23639 if (Utilities.noString(parentType)) 23640 t = parent; 23641 else { 23642 t = parent.predicate("fhir:"+parentType+'.'+name); 23643 } 23644 composeDomainResource(t, "SubstanceReferenceInformation", name, element, index); 23645 if (element.hasCommentElement()) { 23646 composeString(t, "SubstanceReferenceInformation", "comment", element.getCommentElement(), -1); 23647 } 23648 for (int i = 0; i < element.getGene().size(); i++) { 23649 composeSubstanceReferenceInformationGeneComponent(t, "SubstanceReferenceInformation", "gene", element.getGene().get(i), i); 23650 } 23651 for (int i = 0; i < element.getGeneElement().size(); i++) { 23652 composeSubstanceReferenceInformationGeneElementComponent(t, "SubstanceReferenceInformation", "geneElement", element.getGeneElement().get(i), i); 23653 } 23654 for (int i = 0; i < element.getTarget().size(); i++) { 23655 composeSubstanceReferenceInformationTargetComponent(t, "SubstanceReferenceInformation", "target", element.getTarget().get(i), i); 23656 } 23657 } 23658 23659 protected void composeSubstanceReferenceInformationGeneComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationGeneComponent element, int index) { 23660 if (element == null) 23661 return; 23662 Complex t; 23663 if (Utilities.noString(parentType)) 23664 t = parent; 23665 else { 23666 t = parent.predicate("fhir:"+parentType+'.'+name); 23667 } 23668 composeBackboneElement(t, "gene", name, element, index); 23669 if (element.hasGeneSequenceOrigin()) { 23670 composeCodeableConcept(t, "SubstanceReferenceInformationGeneComponent", "geneSequenceOrigin", element.getGeneSequenceOrigin(), -1); 23671 } 23672 if (element.hasGene()) { 23673 composeCodeableConcept(t, "SubstanceReferenceInformationGeneComponent", "gene", element.getGene(), -1); 23674 } 23675 for (int i = 0; i < element.getSource().size(); i++) { 23676 composeReference(t, "SubstanceReferenceInformationGeneComponent", "source", element.getSource().get(i), i); 23677 } 23678 } 23679 23680 protected void composeSubstanceReferenceInformationGeneElementComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationGeneElementComponent element, int index) { 23681 if (element == null) 23682 return; 23683 Complex t; 23684 if (Utilities.noString(parentType)) 23685 t = parent; 23686 else { 23687 t = parent.predicate("fhir:"+parentType+'.'+name); 23688 } 23689 composeBackboneElement(t, "geneElement", name, element, index); 23690 if (element.hasType()) { 23691 composeCodeableConcept(t, "SubstanceReferenceInformationGeneElementComponent", "type", element.getType(), -1); 23692 } 23693 if (element.hasElement()) { 23694 composeIdentifier(t, "SubstanceReferenceInformationGeneElementComponent", "element", element.getElement(), -1); 23695 } 23696 for (int i = 0; i < element.getSource().size(); i++) { 23697 composeReference(t, "SubstanceReferenceInformationGeneElementComponent", "source", element.getSource().get(i), i); 23698 } 23699 } 23700 23701 protected void composeSubstanceReferenceInformationTargetComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationTargetComponent element, int index) { 23702 if (element == null) 23703 return; 23704 Complex t; 23705 if (Utilities.noString(parentType)) 23706 t = parent; 23707 else { 23708 t = parent.predicate("fhir:"+parentType+'.'+name); 23709 } 23710 composeBackboneElement(t, "target", name, element, index); 23711 if (element.hasTarget()) { 23712 composeIdentifier(t, "SubstanceReferenceInformationTargetComponent", "target", element.getTarget(), -1); 23713 } 23714 if (element.hasType()) { 23715 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "type", element.getType(), -1); 23716 } 23717 if (element.hasInteraction()) { 23718 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "interaction", element.getInteraction(), -1); 23719 } 23720 if (element.hasOrganism()) { 23721 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "organism", element.getOrganism(), -1); 23722 } 23723 if (element.hasOrganismType()) { 23724 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "organismType", element.getOrganismType(), -1); 23725 } 23726 if (element.hasAmount()) { 23727 composeType(t, "SubstanceReferenceInformationTargetComponent", "amount", element.getAmount(), -1); 23728 } 23729 if (element.hasAmountType()) { 23730 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "amountType", element.getAmountType(), -1); 23731 } 23732 for (int i = 0; i < element.getSource().size(); i++) { 23733 composeReference(t, "SubstanceReferenceInformationTargetComponent", "source", element.getSource().get(i), i); 23734 } 23735 } 23736 23737 protected void composeSubstanceSourceMaterial(Complex parent, String parentType, String name, SubstanceSourceMaterial element, int index) { 23738 if (element == null) 23739 return; 23740 Complex t; 23741 if (Utilities.noString(parentType)) 23742 t = parent; 23743 else { 23744 t = parent.predicate("fhir:"+parentType+'.'+name); 23745 } 23746 composeDomainResource(t, "SubstanceSourceMaterial", name, element, index); 23747 if (element.hasSourceMaterialClass()) { 23748 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialClass", element.getSourceMaterialClass(), -1); 23749 } 23750 if (element.hasSourceMaterialType()) { 23751 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialType", element.getSourceMaterialType(), -1); 23752 } 23753 if (element.hasSourceMaterialState()) { 23754 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialState", element.getSourceMaterialState(), -1); 23755 } 23756 if (element.hasOrganismId()) { 23757 composeIdentifier(t, "SubstanceSourceMaterial", "organismId", element.getOrganismId(), -1); 23758 } 23759 if (element.hasOrganismNameElement()) { 23760 composeString(t, "SubstanceSourceMaterial", "organismName", element.getOrganismNameElement(), -1); 23761 } 23762 for (int i = 0; i < element.getParentSubstanceId().size(); i++) { 23763 composeIdentifier(t, "SubstanceSourceMaterial", "parentSubstanceId", element.getParentSubstanceId().get(i), i); 23764 } 23765 for (int i = 0; i < element.getParentSubstanceName().size(); i++) { 23766 composeString(t, "SubstanceSourceMaterial", "parentSubstanceName", element.getParentSubstanceName().get(i), i); 23767 } 23768 for (int i = 0; i < element.getCountryOfOrigin().size(); i++) { 23769 composeCodeableConcept(t, "SubstanceSourceMaterial", "countryOfOrigin", element.getCountryOfOrigin().get(i), i); 23770 } 23771 for (int i = 0; i < element.getGeographicalLocation().size(); i++) { 23772 composeString(t, "SubstanceSourceMaterial", "geographicalLocation", element.getGeographicalLocation().get(i), i); 23773 } 23774 if (element.hasDevelopmentStage()) { 23775 composeCodeableConcept(t, "SubstanceSourceMaterial", "developmentStage", element.getDevelopmentStage(), -1); 23776 } 23777 for (int i = 0; i < element.getFractionDescription().size(); i++) { 23778 composeSubstanceSourceMaterialFractionDescriptionComponent(t, "SubstanceSourceMaterial", "fractionDescription", element.getFractionDescription().get(i), i); 23779 } 23780 if (element.hasOrganism()) { 23781 composeSubstanceSourceMaterialOrganismComponent(t, "SubstanceSourceMaterial", "organism", element.getOrganism(), -1); 23782 } 23783 for (int i = 0; i < element.getPartDescription().size(); i++) { 23784 composeSubstanceSourceMaterialPartDescriptionComponent(t, "SubstanceSourceMaterial", "partDescription", element.getPartDescription().get(i), i); 23785 } 23786 } 23787 23788 protected void composeSubstanceSourceMaterialFractionDescriptionComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialFractionDescriptionComponent element, int index) { 23789 if (element == null) 23790 return; 23791 Complex t; 23792 if (Utilities.noString(parentType)) 23793 t = parent; 23794 else { 23795 t = parent.predicate("fhir:"+parentType+'.'+name); 23796 } 23797 composeBackboneElement(t, "fractionDescription", name, element, index); 23798 if (element.hasFractionElement()) { 23799 composeString(t, "SubstanceSourceMaterialFractionDescriptionComponent", "fraction", element.getFractionElement(), -1); 23800 } 23801 if (element.hasMaterialType()) { 23802 composeCodeableConcept(t, "SubstanceSourceMaterialFractionDescriptionComponent", "materialType", element.getMaterialType(), -1); 23803 } 23804 } 23805 23806 protected void composeSubstanceSourceMaterialOrganismComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismComponent element, int index) { 23807 if (element == null) 23808 return; 23809 Complex t; 23810 if (Utilities.noString(parentType)) 23811 t = parent; 23812 else { 23813 t = parent.predicate("fhir:"+parentType+'.'+name); 23814 } 23815 composeBackboneElement(t, "organism", name, element, index); 23816 if (element.hasFamily()) { 23817 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "family", element.getFamily(), -1); 23818 } 23819 if (element.hasGenus()) { 23820 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "genus", element.getGenus(), -1); 23821 } 23822 if (element.hasSpecies()) { 23823 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "species", element.getSpecies(), -1); 23824 } 23825 if (element.hasIntraspecificType()) { 23826 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "intraspecificType", element.getIntraspecificType(), -1); 23827 } 23828 if (element.hasIntraspecificDescriptionElement()) { 23829 composeString(t, "SubstanceSourceMaterialOrganismComponent", "intraspecificDescription", element.getIntraspecificDescriptionElement(), -1); 23830 } 23831 for (int i = 0; i < element.getAuthor().size(); i++) { 23832 composeSubstanceSourceMaterialOrganismAuthorComponent(t, "SubstanceSourceMaterialOrganismComponent", "author", element.getAuthor().get(i), i); 23833 } 23834 if (element.hasHybrid()) { 23835 composeSubstanceSourceMaterialOrganismHybridComponent(t, "SubstanceSourceMaterialOrganismComponent", "hybrid", element.getHybrid(), -1); 23836 } 23837 if (element.hasOrganismGeneral()) { 23838 composeSubstanceSourceMaterialOrganismOrganismGeneralComponent(t, "SubstanceSourceMaterialOrganismComponent", "organismGeneral", element.getOrganismGeneral(), -1); 23839 } 23840 } 23841 23842 protected void composeSubstanceSourceMaterialOrganismAuthorComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismAuthorComponent element, int index) { 23843 if (element == null) 23844 return; 23845 Complex t; 23846 if (Utilities.noString(parentType)) 23847 t = parent; 23848 else { 23849 t = parent.predicate("fhir:"+parentType+'.'+name); 23850 } 23851 composeBackboneElement(t, "author", name, element, index); 23852 if (element.hasAuthorType()) { 23853 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismAuthorComponent", "authorType", element.getAuthorType(), -1); 23854 } 23855 if (element.hasAuthorDescriptionElement()) { 23856 composeString(t, "SubstanceSourceMaterialOrganismAuthorComponent", "authorDescription", element.getAuthorDescriptionElement(), -1); 23857 } 23858 } 23859 23860 protected void composeSubstanceSourceMaterialOrganismHybridComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismHybridComponent element, int index) { 23861 if (element == null) 23862 return; 23863 Complex t; 23864 if (Utilities.noString(parentType)) 23865 t = parent; 23866 else { 23867 t = parent.predicate("fhir:"+parentType+'.'+name); 23868 } 23869 composeBackboneElement(t, "hybrid", name, element, index); 23870 if (element.hasMaternalOrganismIdElement()) { 23871 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "maternalOrganismId", element.getMaternalOrganismIdElement(), -1); 23872 } 23873 if (element.hasMaternalOrganismNameElement()) { 23874 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "maternalOrganismName", element.getMaternalOrganismNameElement(), -1); 23875 } 23876 if (element.hasPaternalOrganismIdElement()) { 23877 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "paternalOrganismId", element.getPaternalOrganismIdElement(), -1); 23878 } 23879 if (element.hasPaternalOrganismNameElement()) { 23880 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "paternalOrganismName", element.getPaternalOrganismNameElement(), -1); 23881 } 23882 if (element.hasHybridType()) { 23883 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismHybridComponent", "hybridType", element.getHybridType(), -1); 23884 } 23885 } 23886 23887 protected void composeSubstanceSourceMaterialOrganismOrganismGeneralComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismOrganismGeneralComponent element, int index) { 23888 if (element == null) 23889 return; 23890 Complex t; 23891 if (Utilities.noString(parentType)) 23892 t = parent; 23893 else { 23894 t = parent.predicate("fhir:"+parentType+'.'+name); 23895 } 23896 composeBackboneElement(t, "organismGeneral", name, element, index); 23897 if (element.hasKingdom()) { 23898 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "kingdom", element.getKingdom(), -1); 23899 } 23900 if (element.hasPhylum()) { 23901 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "phylum", element.getPhylum(), -1); 23902 } 23903 if (element.hasClass_()) { 23904 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "class", element.getClass_(), -1); 23905 } 23906 if (element.hasOrder()) { 23907 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "order", element.getOrder(), -1); 23908 } 23909 } 23910 23911 protected void composeSubstanceSourceMaterialPartDescriptionComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialPartDescriptionComponent element, int index) { 23912 if (element == null) 23913 return; 23914 Complex t; 23915 if (Utilities.noString(parentType)) 23916 t = parent; 23917 else { 23918 t = parent.predicate("fhir:"+parentType+'.'+name); 23919 } 23920 composeBackboneElement(t, "partDescription", name, element, index); 23921 if (element.hasPart()) { 23922 composeCodeableConcept(t, "SubstanceSourceMaterialPartDescriptionComponent", "part", element.getPart(), -1); 23923 } 23924 if (element.hasPartLocation()) { 23925 composeCodeableConcept(t, "SubstanceSourceMaterialPartDescriptionComponent", "partLocation", element.getPartLocation(), -1); 23926 } 23927 } 23928 23929 protected void composeSupplyDelivery(Complex parent, String parentType, String name, SupplyDelivery element, int index) { 23930 if (element == null) 23931 return; 23932 Complex t; 23933 if (Utilities.noString(parentType)) 23934 t = parent; 23935 else { 23936 t = parent.predicate("fhir:"+parentType+'.'+name); 23937 } 23938 composeDomainResource(t, "SupplyDelivery", name, element, index); 23939 for (int i = 0; i < element.getIdentifier().size(); i++) { 23940 composeIdentifier(t, "SupplyDelivery", "identifier", element.getIdentifier().get(i), i); 23941 } 23942 for (int i = 0; i < element.getBasedOn().size(); i++) { 23943 composeReference(t, "SupplyDelivery", "basedOn", element.getBasedOn().get(i), i); 23944 } 23945 for (int i = 0; i < element.getPartOf().size(); i++) { 23946 composeReference(t, "SupplyDelivery", "partOf", element.getPartOf().get(i), i); 23947 } 23948 if (element.hasStatusElement()) { 23949 composeEnum(t, "SupplyDelivery", "status", element.getStatusElement(), -1); 23950 } 23951 if (element.hasPatient()) { 23952 composeReference(t, "SupplyDelivery", "patient", element.getPatient(), -1); 23953 } 23954 if (element.hasType()) { 23955 composeCodeableConcept(t, "SupplyDelivery", "type", element.getType(), -1); 23956 } 23957 if (element.hasSuppliedItem()) { 23958 composeSupplyDeliverySuppliedItemComponent(t, "SupplyDelivery", "suppliedItem", element.getSuppliedItem(), -1); 23959 } 23960 if (element.hasOccurrence()) { 23961 composeType(t, "SupplyDelivery", "occurrence", element.getOccurrence(), -1); 23962 } 23963 if (element.hasSupplier()) { 23964 composeReference(t, "SupplyDelivery", "supplier", element.getSupplier(), -1); 23965 } 23966 if (element.hasDestination()) { 23967 composeReference(t, "SupplyDelivery", "destination", element.getDestination(), -1); 23968 } 23969 for (int i = 0; i < element.getReceiver().size(); i++) { 23970 composeReference(t, "SupplyDelivery", "receiver", element.getReceiver().get(i), i); 23971 } 23972 } 23973 23974 protected void composeSupplyDeliverySuppliedItemComponent(Complex parent, String parentType, String name, SupplyDelivery.SupplyDeliverySuppliedItemComponent element, int index) { 23975 if (element == null) 23976 return; 23977 Complex t; 23978 if (Utilities.noString(parentType)) 23979 t = parent; 23980 else { 23981 t = parent.predicate("fhir:"+parentType+'.'+name); 23982 } 23983 composeBackboneElement(t, "suppliedItem", name, element, index); 23984 if (element.hasQuantity()) { 23985 composeQuantity(t, "SupplyDeliverySuppliedItemComponent", "quantity", element.getQuantity(), -1); 23986 } 23987 if (element.hasItem()) { 23988 composeType(t, "SupplyDeliverySuppliedItemComponent", "item", element.getItem(), -1); 23989 } 23990 } 23991 23992 protected void composeSupplyRequest(Complex parent, String parentType, String name, SupplyRequest element, int index) { 23993 if (element == null) 23994 return; 23995 Complex t; 23996 if (Utilities.noString(parentType)) 23997 t = parent; 23998 else { 23999 t = parent.predicate("fhir:"+parentType+'.'+name); 24000 } 24001 composeDomainResource(t, "SupplyRequest", name, element, index); 24002 for (int i = 0; i < element.getIdentifier().size(); i++) { 24003 composeIdentifier(t, "SupplyRequest", "identifier", element.getIdentifier().get(i), i); 24004 } 24005 if (element.hasStatusElement()) { 24006 composeEnum(t, "SupplyRequest", "status", element.getStatusElement(), -1); 24007 } 24008 for (int i = 0; i < element.getBasedOn().size(); i++) { 24009 composeReference(t, "SupplyRequest", "basedOn", element.getBasedOn().get(i), i); 24010 } 24011 if (element.hasCategory()) { 24012 composeCodeableConcept(t, "SupplyRequest", "category", element.getCategory(), -1); 24013 } 24014 if (element.hasPriorityElement()) { 24015 composeEnum(t, "SupplyRequest", "priority", element.getPriorityElement(), -1); 24016 } 24017 if (element.hasItem()) { 24018 composeCodeableReference(t, "SupplyRequest", "item", element.getItem(), -1); 24019 } 24020 if (element.hasQuantity()) { 24021 composeQuantity(t, "SupplyRequest", "quantity", element.getQuantity(), -1); 24022 } 24023 for (int i = 0; i < element.getParameter().size(); i++) { 24024 composeSupplyRequestParameterComponent(t, "SupplyRequest", "parameter", element.getParameter().get(i), i); 24025 } 24026 if (element.hasOccurrence()) { 24027 composeType(t, "SupplyRequest", "occurrence", element.getOccurrence(), -1); 24028 } 24029 if (element.hasAuthoredOnElement()) { 24030 composeDateTime(t, "SupplyRequest", "authoredOn", element.getAuthoredOnElement(), -1); 24031 } 24032 if (element.hasRequester()) { 24033 composeReference(t, "SupplyRequest", "requester", element.getRequester(), -1); 24034 } 24035 for (int i = 0; i < element.getSupplier().size(); i++) { 24036 composeReference(t, "SupplyRequest", "supplier", element.getSupplier().get(i), i); 24037 } 24038 for (int i = 0; i < element.getReason().size(); i++) { 24039 composeCodeableReference(t, "SupplyRequest", "reason", element.getReason().get(i), i); 24040 } 24041 if (element.hasDeliverFrom()) { 24042 composeReference(t, "SupplyRequest", "deliverFrom", element.getDeliverFrom(), -1); 24043 } 24044 if (element.hasDeliverTo()) { 24045 composeReference(t, "SupplyRequest", "deliverTo", element.getDeliverTo(), -1); 24046 } 24047 } 24048 24049 protected void composeSupplyRequestParameterComponent(Complex parent, String parentType, String name, SupplyRequest.SupplyRequestParameterComponent element, int index) { 24050 if (element == null) 24051 return; 24052 Complex t; 24053 if (Utilities.noString(parentType)) 24054 t = parent; 24055 else { 24056 t = parent.predicate("fhir:"+parentType+'.'+name); 24057 } 24058 composeBackboneElement(t, "parameter", name, element, index); 24059 if (element.hasCode()) { 24060 composeCodeableConcept(t, "SupplyRequestParameterComponent", "code", element.getCode(), -1); 24061 } 24062 if (element.hasValue()) { 24063 composeType(t, "SupplyRequestParameterComponent", "value", element.getValue(), -1); 24064 } 24065 } 24066 24067 protected void composeTask(Complex parent, String parentType, String name, Task element, int index) { 24068 if (element == null) 24069 return; 24070 Complex t; 24071 if (Utilities.noString(parentType)) 24072 t = parent; 24073 else { 24074 t = parent.predicate("fhir:"+parentType+'.'+name); 24075 } 24076 composeDomainResource(t, "Task", name, element, index); 24077 for (int i = 0; i < element.getIdentifier().size(); i++) { 24078 composeIdentifier(t, "Task", "identifier", element.getIdentifier().get(i), i); 24079 } 24080 if (element.hasInstantiatesCanonicalElement()) { 24081 composeCanonical(t, "Task", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 24082 } 24083 if (element.hasInstantiatesUriElement()) { 24084 composeUri(t, "Task", "instantiatesUri", element.getInstantiatesUriElement(), -1); 24085 } 24086 for (int i = 0; i < element.getBasedOn().size(); i++) { 24087 composeReference(t, "Task", "basedOn", element.getBasedOn().get(i), i); 24088 } 24089 if (element.hasGroupIdentifier()) { 24090 composeIdentifier(t, "Task", "groupIdentifier", element.getGroupIdentifier(), -1); 24091 } 24092 for (int i = 0; i < element.getPartOf().size(); i++) { 24093 composeReference(t, "Task", "partOf", element.getPartOf().get(i), i); 24094 } 24095 if (element.hasStatusElement()) { 24096 composeEnum(t, "Task", "status", element.getStatusElement(), -1); 24097 } 24098 if (element.hasStatusReason()) { 24099 composeCodeableConcept(t, "Task", "statusReason", element.getStatusReason(), -1); 24100 } 24101 if (element.hasBusinessStatus()) { 24102 composeCodeableConcept(t, "Task", "businessStatus", element.getBusinessStatus(), -1); 24103 } 24104 if (element.hasIntentElement()) { 24105 composeEnum(t, "Task", "intent", element.getIntentElement(), -1); 24106 } 24107 if (element.hasPriorityElement()) { 24108 composeEnum(t, "Task", "priority", element.getPriorityElement(), -1); 24109 } 24110 if (element.hasCode()) { 24111 composeCodeableConcept(t, "Task", "code", element.getCode(), -1); 24112 } 24113 if (element.hasDescriptionElement()) { 24114 composeString(t, "Task", "description", element.getDescriptionElement(), -1); 24115 } 24116 if (element.hasFocus()) { 24117 composeReference(t, "Task", "focus", element.getFocus(), -1); 24118 } 24119 if (element.hasFor()) { 24120 composeReference(t, "Task", "for", element.getFor(), -1); 24121 } 24122 if (element.hasEncounter()) { 24123 composeReference(t, "Task", "encounter", element.getEncounter(), -1); 24124 } 24125 if (element.hasExecutionPeriod()) { 24126 composePeriod(t, "Task", "executionPeriod", element.getExecutionPeriod(), -1); 24127 } 24128 if (element.hasAuthoredOnElement()) { 24129 composeDateTime(t, "Task", "authoredOn", element.getAuthoredOnElement(), -1); 24130 } 24131 if (element.hasLastModifiedElement()) { 24132 composeDateTime(t, "Task", "lastModified", element.getLastModifiedElement(), -1); 24133 } 24134 if (element.hasRequester()) { 24135 composeReference(t, "Task", "requester", element.getRequester(), -1); 24136 } 24137 for (int i = 0; i < element.getPerformerType().size(); i++) { 24138 composeCodeableConcept(t, "Task", "performerType", element.getPerformerType().get(i), i); 24139 } 24140 if (element.hasOwner()) { 24141 composeReference(t, "Task", "owner", element.getOwner(), -1); 24142 } 24143 if (element.hasLocation()) { 24144 composeReference(t, "Task", "location", element.getLocation(), -1); 24145 } 24146 if (element.hasReasonCode()) { 24147 composeCodeableConcept(t, "Task", "reasonCode", element.getReasonCode(), -1); 24148 } 24149 if (element.hasReasonReference()) { 24150 composeReference(t, "Task", "reasonReference", element.getReasonReference(), -1); 24151 } 24152 for (int i = 0; i < element.getInsurance().size(); i++) { 24153 composeReference(t, "Task", "insurance", element.getInsurance().get(i), i); 24154 } 24155 for (int i = 0; i < element.getNote().size(); i++) { 24156 composeAnnotation(t, "Task", "note", element.getNote().get(i), i); 24157 } 24158 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 24159 composeReference(t, "Task", "relevantHistory", element.getRelevantHistory().get(i), i); 24160 } 24161 if (element.hasRestriction()) { 24162 composeTaskRestrictionComponent(t, "Task", "restriction", element.getRestriction(), -1); 24163 } 24164 for (int i = 0; i < element.getInput().size(); i++) { 24165 composeTaskParameterComponent(t, "Task", "input", element.getInput().get(i), i); 24166 } 24167 for (int i = 0; i < element.getOutput().size(); i++) { 24168 composeTaskOutputComponent(t, "Task", "output", element.getOutput().get(i), i); 24169 } 24170 } 24171 24172 protected void composeTaskRestrictionComponent(Complex parent, String parentType, String name, Task.TaskRestrictionComponent element, int index) { 24173 if (element == null) 24174 return; 24175 Complex t; 24176 if (Utilities.noString(parentType)) 24177 t = parent; 24178 else { 24179 t = parent.predicate("fhir:"+parentType+'.'+name); 24180 } 24181 composeBackboneElement(t, "restriction", name, element, index); 24182 if (element.hasRepetitionsElement()) { 24183 composePositiveInt(t, "TaskRestrictionComponent", "repetitions", element.getRepetitionsElement(), -1); 24184 } 24185 if (element.hasPeriod()) { 24186 composePeriod(t, "TaskRestrictionComponent", "period", element.getPeriod(), -1); 24187 } 24188 for (int i = 0; i < element.getRecipient().size(); i++) { 24189 composeReference(t, "TaskRestrictionComponent", "recipient", element.getRecipient().get(i), i); 24190 } 24191 } 24192 24193 protected void composeTaskParameterComponent(Complex parent, String parentType, String name, Task.ParameterComponent element, int index) { 24194 if (element == null) 24195 return; 24196 Complex t; 24197 if (Utilities.noString(parentType)) 24198 t = parent; 24199 else { 24200 t = parent.predicate("fhir:"+parentType+'.'+name); 24201 } 24202 composeBackboneElement(t, "input", name, element, index); 24203 if (element.hasType()) { 24204 composeCodeableConcept(t, "ParameterComponent", "type", element.getType(), -1); 24205 } 24206 if (element.hasValue()) { 24207 composeType(t, "ParameterComponent", "value", element.getValue(), -1); 24208 } 24209 } 24210 24211 protected void composeTaskOutputComponent(Complex parent, String parentType, String name, Task.TaskOutputComponent element, int index) { 24212 if (element == null) 24213 return; 24214 Complex t; 24215 if (Utilities.noString(parentType)) 24216 t = parent; 24217 else { 24218 t = parent.predicate("fhir:"+parentType+'.'+name); 24219 } 24220 composeBackboneElement(t, "output", name, element, index); 24221 if (element.hasType()) { 24222 composeCodeableConcept(t, "TaskOutputComponent", "type", element.getType(), -1); 24223 } 24224 if (element.hasValue()) { 24225 composeType(t, "TaskOutputComponent", "value", element.getValue(), -1); 24226 } 24227 } 24228 24229 protected void composeTerminologyCapabilities(Complex parent, String parentType, String name, TerminologyCapabilities element, int index) { 24230 if (element == null) 24231 return; 24232 Complex t; 24233 if (Utilities.noString(parentType)) 24234 t = parent; 24235 else { 24236 t = parent.predicate("fhir:"+parentType+'.'+name); 24237 } 24238 composeCanonicalResource(t, "TerminologyCapabilities", name, element, index); 24239 if (element.hasUrlElement()) { 24240 composeUri(t, "TerminologyCapabilities", "url", element.getUrlElement(), -1); 24241 } 24242 for (int i = 0; i < element.getIdentifier().size(); i++) { 24243 composeIdentifier(t, "TerminologyCapabilities", "identifier", element.getIdentifier().get(i), i); 24244 } 24245 if (element.hasVersionElement()) { 24246 composeString(t, "TerminologyCapabilities", "version", element.getVersionElement(), -1); 24247 } 24248 if (element.hasNameElement()) { 24249 composeString(t, "TerminologyCapabilities", "name", element.getNameElement(), -1); 24250 } 24251 if (element.hasTitleElement()) { 24252 composeString(t, "TerminologyCapabilities", "title", element.getTitleElement(), -1); 24253 } 24254 if (element.hasStatusElement()) { 24255 composeEnum(t, "TerminologyCapabilities", "status", element.getStatusElement(), -1); 24256 } 24257 if (element.hasExperimentalElement()) { 24258 composeBoolean(t, "TerminologyCapabilities", "experimental", element.getExperimentalElement(), -1); 24259 } 24260 if (element.hasDateElement()) { 24261 composeDateTime(t, "TerminologyCapabilities", "date", element.getDateElement(), -1); 24262 } 24263 if (element.hasPublisherElement()) { 24264 composeString(t, "TerminologyCapabilities", "publisher", element.getPublisherElement(), -1); 24265 } 24266 for (int i = 0; i < element.getContact().size(); i++) { 24267 composeContactDetail(t, "TerminologyCapabilities", "contact", element.getContact().get(i), i); 24268 } 24269 if (element.hasDescriptionElement()) { 24270 composeMarkdown(t, "TerminologyCapabilities", "description", element.getDescriptionElement(), -1); 24271 } 24272 for (int i = 0; i < element.getUseContext().size(); i++) { 24273 composeUsageContext(t, "TerminologyCapabilities", "useContext", element.getUseContext().get(i), i); 24274 } 24275 for (int i = 0; i < element.getJurisdiction().size(); i++) { 24276 composeCodeableConcept(t, "TerminologyCapabilities", "jurisdiction", element.getJurisdiction().get(i), i); 24277 } 24278 if (element.hasPurposeElement()) { 24279 composeMarkdown(t, "TerminologyCapabilities", "purpose", element.getPurposeElement(), -1); 24280 } 24281 if (element.hasCopyrightElement()) { 24282 composeMarkdown(t, "TerminologyCapabilities", "copyright", element.getCopyrightElement(), -1); 24283 } 24284 if (element.hasKindElement()) { 24285 composeEnum(t, "TerminologyCapabilities", "kind", element.getKindElement(), -1); 24286 } 24287 if (element.hasSoftware()) { 24288 composeTerminologyCapabilitiesSoftwareComponent(t, "TerminologyCapabilities", "software", element.getSoftware(), -1); 24289 } 24290 if (element.hasImplementation()) { 24291 composeTerminologyCapabilitiesImplementationComponent(t, "TerminologyCapabilities", "implementation", element.getImplementation(), -1); 24292 } 24293 if (element.hasLockedDateElement()) { 24294 composeBoolean(t, "TerminologyCapabilities", "lockedDate", element.getLockedDateElement(), -1); 24295 } 24296 for (int i = 0; i < element.getCodeSystem().size(); i++) { 24297 composeTerminologyCapabilitiesCodeSystemComponent(t, "TerminologyCapabilities", "codeSystem", element.getCodeSystem().get(i), i); 24298 } 24299 if (element.hasExpansion()) { 24300 composeTerminologyCapabilitiesExpansionComponent(t, "TerminologyCapabilities", "expansion", element.getExpansion(), -1); 24301 } 24302 if (element.hasCodeSearchElement()) { 24303 composeEnum(t, "TerminologyCapabilities", "codeSearch", element.getCodeSearchElement(), -1); 24304 } 24305 if (element.hasValidateCode()) { 24306 composeTerminologyCapabilitiesValidateCodeComponent(t, "TerminologyCapabilities", "validateCode", element.getValidateCode(), -1); 24307 } 24308 if (element.hasTranslation()) { 24309 composeTerminologyCapabilitiesTranslationComponent(t, "TerminologyCapabilities", "translation", element.getTranslation(), -1); 24310 } 24311 if (element.hasClosure()) { 24312 composeTerminologyCapabilitiesClosureComponent(t, "TerminologyCapabilities", "closure", element.getClosure(), -1); 24313 } 24314 } 24315 24316 protected void composeTerminologyCapabilitiesSoftwareComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent element, int index) { 24317 if (element == null) 24318 return; 24319 Complex t; 24320 if (Utilities.noString(parentType)) 24321 t = parent; 24322 else { 24323 t = parent.predicate("fhir:"+parentType+'.'+name); 24324 } 24325 composeBackboneElement(t, "software", name, element, index); 24326 if (element.hasNameElement()) { 24327 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "name", element.getNameElement(), -1); 24328 } 24329 if (element.hasVersionElement()) { 24330 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "version", element.getVersionElement(), -1); 24331 } 24332 } 24333 24334 protected void composeTerminologyCapabilitiesImplementationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent element, int index) { 24335 if (element == null) 24336 return; 24337 Complex t; 24338 if (Utilities.noString(parentType)) 24339 t = parent; 24340 else { 24341 t = parent.predicate("fhir:"+parentType+'.'+name); 24342 } 24343 composeBackboneElement(t, "implementation", name, element, index); 24344 if (element.hasDescriptionElement()) { 24345 composeString(t, "TerminologyCapabilitiesImplementationComponent", "description", element.getDescriptionElement(), -1); 24346 } 24347 if (element.hasUrlElement()) { 24348 composeUrl(t, "TerminologyCapabilitiesImplementationComponent", "url", element.getUrlElement(), -1); 24349 } 24350 } 24351 24352 protected void composeTerminologyCapabilitiesCodeSystemComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent element, int index) { 24353 if (element == null) 24354 return; 24355 Complex t; 24356 if (Utilities.noString(parentType)) 24357 t = parent; 24358 else { 24359 t = parent.predicate("fhir:"+parentType+'.'+name); 24360 } 24361 composeBackboneElement(t, "codeSystem", name, element, index); 24362 if (element.hasUriElement()) { 24363 composeCanonical(t, "TerminologyCapabilitiesCodeSystemComponent", "uri", element.getUriElement(), -1); 24364 } 24365 for (int i = 0; i < element.getVersion().size(); i++) { 24366 composeTerminologyCapabilitiesCodeSystemVersionComponent(t, "TerminologyCapabilitiesCodeSystemComponent", "version", element.getVersion().get(i), i); 24367 } 24368 if (element.hasSubsumptionElement()) { 24369 composeBoolean(t, "TerminologyCapabilitiesCodeSystemComponent", "subsumption", element.getSubsumptionElement(), -1); 24370 } 24371 } 24372 24373 protected void composeTerminologyCapabilitiesCodeSystemVersionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent element, int index) { 24374 if (element == null) 24375 return; 24376 Complex t; 24377 if (Utilities.noString(parentType)) 24378 t = parent; 24379 else { 24380 t = parent.predicate("fhir:"+parentType+'.'+name); 24381 } 24382 composeBackboneElement(t, "version", name, element, index); 24383 if (element.hasCodeElement()) { 24384 composeString(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "code", element.getCodeElement(), -1); 24385 } 24386 if (element.hasIsDefaultElement()) { 24387 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "isDefault", element.getIsDefaultElement(), -1); 24388 } 24389 if (element.hasCompositionalElement()) { 24390 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "compositional", element.getCompositionalElement(), -1); 24391 } 24392 for (int i = 0; i < element.getLanguage().size(); i++) { 24393 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "language", element.getLanguage().get(i), i); 24394 } 24395 for (int i = 0; i < element.getFilter().size(); i++) { 24396 composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "filter", element.getFilter().get(i), i); 24397 } 24398 for (int i = 0; i < element.getProperty().size(); i++) { 24399 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "property", element.getProperty().get(i), i); 24400 } 24401 } 24402 24403 protected void composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent element, int index) { 24404 if (element == null) 24405 return; 24406 Complex t; 24407 if (Utilities.noString(parentType)) 24408 t = parent; 24409 else { 24410 t = parent.predicate("fhir:"+parentType+'.'+name); 24411 } 24412 composeBackboneElement(t, "filter", name, element, index); 24413 if (element.hasCodeElement()) { 24414 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "code", element.getCodeElement(), -1); 24415 } 24416 for (int i = 0; i < element.getOp().size(); i++) { 24417 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "op", element.getOp().get(i), i); 24418 } 24419 } 24420 24421 protected void composeTerminologyCapabilitiesExpansionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent element, int index) { 24422 if (element == null) 24423 return; 24424 Complex t; 24425 if (Utilities.noString(parentType)) 24426 t = parent; 24427 else { 24428 t = parent.predicate("fhir:"+parentType+'.'+name); 24429 } 24430 composeBackboneElement(t, "expansion", name, element, index); 24431 if (element.hasHierarchicalElement()) { 24432 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "hierarchical", element.getHierarchicalElement(), -1); 24433 } 24434 if (element.hasPagingElement()) { 24435 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "paging", element.getPagingElement(), -1); 24436 } 24437 if (element.hasIncompleteElement()) { 24438 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "incomplete", element.getIncompleteElement(), -1); 24439 } 24440 for (int i = 0; i < element.getParameter().size(); i++) { 24441 composeTerminologyCapabilitiesExpansionParameterComponent(t, "TerminologyCapabilitiesExpansionComponent", "parameter", element.getParameter().get(i), i); 24442 } 24443 if (element.hasTextFilterElement()) { 24444 composeMarkdown(t, "TerminologyCapabilitiesExpansionComponent", "textFilter", element.getTextFilterElement(), -1); 24445 } 24446 } 24447 24448 protected void composeTerminologyCapabilitiesExpansionParameterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent element, int index) { 24449 if (element == null) 24450 return; 24451 Complex t; 24452 if (Utilities.noString(parentType)) 24453 t = parent; 24454 else { 24455 t = parent.predicate("fhir:"+parentType+'.'+name); 24456 } 24457 composeBackboneElement(t, "parameter", name, element, index); 24458 if (element.hasNameElement()) { 24459 composeCode(t, "TerminologyCapabilitiesExpansionParameterComponent", "name", element.getNameElement(), -1); 24460 } 24461 if (element.hasDocumentationElement()) { 24462 composeString(t, "TerminologyCapabilitiesExpansionParameterComponent", "documentation", element.getDocumentationElement(), -1); 24463 } 24464 } 24465 24466 protected void composeTerminologyCapabilitiesValidateCodeComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent element, int index) { 24467 if (element == null) 24468 return; 24469 Complex t; 24470 if (Utilities.noString(parentType)) 24471 t = parent; 24472 else { 24473 t = parent.predicate("fhir:"+parentType+'.'+name); 24474 } 24475 composeBackboneElement(t, "validateCode", name, element, index); 24476 if (element.hasTranslationsElement()) { 24477 composeBoolean(t, "TerminologyCapabilitiesValidateCodeComponent", "translations", element.getTranslationsElement(), -1); 24478 } 24479 } 24480 24481 protected void composeTerminologyCapabilitiesTranslationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent element, int index) { 24482 if (element == null) 24483 return; 24484 Complex t; 24485 if (Utilities.noString(parentType)) 24486 t = parent; 24487 else { 24488 t = parent.predicate("fhir:"+parentType+'.'+name); 24489 } 24490 composeBackboneElement(t, "translation", name, element, index); 24491 if (element.hasNeedsMapElement()) { 24492 composeBoolean(t, "TerminologyCapabilitiesTranslationComponent", "needsMap", element.getNeedsMapElement(), -1); 24493 } 24494 } 24495 24496 protected void composeTerminologyCapabilitiesClosureComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesClosureComponent element, int index) { 24497 if (element == null) 24498 return; 24499 Complex t; 24500 if (Utilities.noString(parentType)) 24501 t = parent; 24502 else { 24503 t = parent.predicate("fhir:"+parentType+'.'+name); 24504 } 24505 composeBackboneElement(t, "closure", name, element, index); 24506 if (element.hasTranslationElement()) { 24507 composeBoolean(t, "TerminologyCapabilitiesClosureComponent", "translation", element.getTranslationElement(), -1); 24508 } 24509 } 24510 24511 protected void composeTestReport(Complex parent, String parentType, String name, TestReport element, int index) { 24512 if (element == null) 24513 return; 24514 Complex t; 24515 if (Utilities.noString(parentType)) 24516 t = parent; 24517 else { 24518 t = parent.predicate("fhir:"+parentType+'.'+name); 24519 } 24520 composeDomainResource(t, "TestReport", name, element, index); 24521 if (element.hasIdentifier()) { 24522 composeIdentifier(t, "TestReport", "identifier", element.getIdentifier(), -1); 24523 } 24524 if (element.hasNameElement()) { 24525 composeString(t, "TestReport", "name", element.getNameElement(), -1); 24526 } 24527 if (element.hasStatusElement()) { 24528 composeEnum(t, "TestReport", "status", element.getStatusElement(), -1); 24529 } 24530 if (element.hasTestScript()) { 24531 composeReference(t, "TestReport", "testScript", element.getTestScript(), -1); 24532 } 24533 if (element.hasResultElement()) { 24534 composeEnum(t, "TestReport", "result", element.getResultElement(), -1); 24535 } 24536 if (element.hasScoreElement()) { 24537 composeDecimal(t, "TestReport", "score", element.getScoreElement(), -1); 24538 } 24539 if (element.hasTesterElement()) { 24540 composeString(t, "TestReport", "tester", element.getTesterElement(), -1); 24541 } 24542 if (element.hasIssuedElement()) { 24543 composeDateTime(t, "TestReport", "issued", element.getIssuedElement(), -1); 24544 } 24545 for (int i = 0; i < element.getParticipant().size(); i++) { 24546 composeTestReportParticipantComponent(t, "TestReport", "participant", element.getParticipant().get(i), i); 24547 } 24548 if (element.hasSetup()) { 24549 composeTestReportSetupComponent(t, "TestReport", "setup", element.getSetup(), -1); 24550 } 24551 for (int i = 0; i < element.getTest().size(); i++) { 24552 composeTestReportTestComponent(t, "TestReport", "test", element.getTest().get(i), i); 24553 } 24554 if (element.hasTeardown()) { 24555 composeTestReportTeardownComponent(t, "TestReport", "teardown", element.getTeardown(), -1); 24556 } 24557 } 24558 24559 protected void composeTestReportParticipantComponent(Complex parent, String parentType, String name, TestReport.TestReportParticipantComponent element, int index) { 24560 if (element == null) 24561 return; 24562 Complex t; 24563 if (Utilities.noString(parentType)) 24564 t = parent; 24565 else { 24566 t = parent.predicate("fhir:"+parentType+'.'+name); 24567 } 24568 composeBackboneElement(t, "participant", name, element, index); 24569 if (element.hasTypeElement()) { 24570 composeEnum(t, "TestReportParticipantComponent", "type", element.getTypeElement(), -1); 24571 } 24572 if (element.hasUriElement()) { 24573 composeUri(t, "TestReportParticipantComponent", "uri", element.getUriElement(), -1); 24574 } 24575 if (element.hasDisplayElement()) { 24576 composeString(t, "TestReportParticipantComponent", "display", element.getDisplayElement(), -1); 24577 } 24578 } 24579 24580 protected void composeTestReportSetupComponent(Complex parent, String parentType, String name, TestReport.TestReportSetupComponent element, int index) { 24581 if (element == null) 24582 return; 24583 Complex t; 24584 if (Utilities.noString(parentType)) 24585 t = parent; 24586 else { 24587 t = parent.predicate("fhir:"+parentType+'.'+name); 24588 } 24589 composeBackboneElement(t, "setup", name, element, index); 24590 for (int i = 0; i < element.getAction().size(); i++) { 24591 composeTestReportSetupActionComponent(t, "TestReportSetupComponent", "action", element.getAction().get(i), i); 24592 } 24593 } 24594 24595 protected void composeTestReportSetupActionComponent(Complex parent, String parentType, String name, TestReport.SetupActionComponent element, int index) { 24596 if (element == null) 24597 return; 24598 Complex t; 24599 if (Utilities.noString(parentType)) 24600 t = parent; 24601 else { 24602 t = parent.predicate("fhir:"+parentType+'.'+name); 24603 } 24604 composeBackboneElement(t, "action", name, element, index); 24605 if (element.hasOperation()) { 24606 composeTestReportSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 24607 } 24608 if (element.hasAssert()) { 24609 composeTestReportSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 24610 } 24611 } 24612 24613 protected void composeTestReportSetupActionOperationComponent(Complex parent, String parentType, String name, TestReport.SetupActionOperationComponent element, int index) { 24614 if (element == null) 24615 return; 24616 Complex t; 24617 if (Utilities.noString(parentType)) 24618 t = parent; 24619 else { 24620 t = parent.predicate("fhir:"+parentType+'.'+name); 24621 } 24622 composeBackboneElement(t, "operation", name, element, index); 24623 if (element.hasResultElement()) { 24624 composeEnum(t, "SetupActionOperationComponent", "result", element.getResultElement(), -1); 24625 } 24626 if (element.hasMessageElement()) { 24627 composeMarkdown(t, "SetupActionOperationComponent", "message", element.getMessageElement(), -1); 24628 } 24629 if (element.hasDetailElement()) { 24630 composeUri(t, "SetupActionOperationComponent", "detail", element.getDetailElement(), -1); 24631 } 24632 } 24633 24634 protected void composeTestReportSetupActionAssertComponent(Complex parent, String parentType, String name, TestReport.SetupActionAssertComponent element, int index) { 24635 if (element == null) 24636 return; 24637 Complex t; 24638 if (Utilities.noString(parentType)) 24639 t = parent; 24640 else { 24641 t = parent.predicate("fhir:"+parentType+'.'+name); 24642 } 24643 composeBackboneElement(t, "assert", name, element, index); 24644 if (element.hasResultElement()) { 24645 composeEnum(t, "SetupActionAssertComponent", "result", element.getResultElement(), -1); 24646 } 24647 if (element.hasMessageElement()) { 24648 composeMarkdown(t, "SetupActionAssertComponent", "message", element.getMessageElement(), -1); 24649 } 24650 if (element.hasDetailElement()) { 24651 composeString(t, "SetupActionAssertComponent", "detail", element.getDetailElement(), -1); 24652 } 24653 } 24654 24655 protected void composeTestReportTestComponent(Complex parent, String parentType, String name, TestReport.TestReportTestComponent element, int index) { 24656 if (element == null) 24657 return; 24658 Complex t; 24659 if (Utilities.noString(parentType)) 24660 t = parent; 24661 else { 24662 t = parent.predicate("fhir:"+parentType+'.'+name); 24663 } 24664 composeBackboneElement(t, "test", name, element, index); 24665 if (element.hasNameElement()) { 24666 composeString(t, "TestReportTestComponent", "name", element.getNameElement(), -1); 24667 } 24668 if (element.hasDescriptionElement()) { 24669 composeString(t, "TestReportTestComponent", "description", element.getDescriptionElement(), -1); 24670 } 24671 for (int i = 0; i < element.getAction().size(); i++) { 24672 composeTestReportTestActionComponent(t, "TestReportTestComponent", "action", element.getAction().get(i), i); 24673 } 24674 } 24675 24676 protected void composeTestReportTestActionComponent(Complex parent, String parentType, String name, TestReport.TestActionComponent element, int index) { 24677 if (element == null) 24678 return; 24679 Complex t; 24680 if (Utilities.noString(parentType)) 24681 t = parent; 24682 else { 24683 t = parent.predicate("fhir:"+parentType+'.'+name); 24684 } 24685 composeBackboneElement(t, "action", name, element, index); 24686 if (element.hasOperation()) { 24687 composeTestReportSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 24688 } 24689 if (element.hasAssert()) { 24690 composeTestReportSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 24691 } 24692 } 24693 24694 protected void composeTestReportTeardownComponent(Complex parent, String parentType, String name, TestReport.TestReportTeardownComponent element, int index) { 24695 if (element == null) 24696 return; 24697 Complex t; 24698 if (Utilities.noString(parentType)) 24699 t = parent; 24700 else { 24701 t = parent.predicate("fhir:"+parentType+'.'+name); 24702 } 24703 composeBackboneElement(t, "teardown", name, element, index); 24704 for (int i = 0; i < element.getAction().size(); i++) { 24705 composeTestReportTeardownActionComponent(t, "TestReportTeardownComponent", "action", element.getAction().get(i), i); 24706 } 24707 } 24708 24709 protected void composeTestReportTeardownActionComponent(Complex parent, String parentType, String name, TestReport.TeardownActionComponent element, int index) { 24710 if (element == null) 24711 return; 24712 Complex t; 24713 if (Utilities.noString(parentType)) 24714 t = parent; 24715 else { 24716 t = parent.predicate("fhir:"+parentType+'.'+name); 24717 } 24718 composeBackboneElement(t, "action", name, element, index); 24719 if (element.hasOperation()) { 24720 composeTestReportSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 24721 } 24722 } 24723 24724 protected void composeTestScript(Complex parent, String parentType, String name, TestScript element, int index) { 24725 if (element == null) 24726 return; 24727 Complex t; 24728 if (Utilities.noString(parentType)) 24729 t = parent; 24730 else { 24731 t = parent.predicate("fhir:"+parentType+'.'+name); 24732 } 24733 composeCanonicalResource(t, "TestScript", name, element, index); 24734 if (element.hasUrlElement()) { 24735 composeUri(t, "TestScript", "url", element.getUrlElement(), -1); 24736 } 24737 for (int i = 0; i < element.getIdentifier().size(); i++) { 24738 composeIdentifier(t, "TestScript", "identifier", element.getIdentifier().get(i), i); 24739 } 24740 if (element.hasVersionElement()) { 24741 composeString(t, "TestScript", "version", element.getVersionElement(), -1); 24742 } 24743 if (element.hasNameElement()) { 24744 composeString(t, "TestScript", "name", element.getNameElement(), -1); 24745 } 24746 if (element.hasTitleElement()) { 24747 composeString(t, "TestScript", "title", element.getTitleElement(), -1); 24748 } 24749 if (element.hasStatusElement()) { 24750 composeEnum(t, "TestScript", "status", element.getStatusElement(), -1); 24751 } 24752 if (element.hasExperimentalElement()) { 24753 composeBoolean(t, "TestScript", "experimental", element.getExperimentalElement(), -1); 24754 } 24755 if (element.hasDateElement()) { 24756 composeDateTime(t, "TestScript", "date", element.getDateElement(), -1); 24757 } 24758 if (element.hasPublisherElement()) { 24759 composeString(t, "TestScript", "publisher", element.getPublisherElement(), -1); 24760 } 24761 for (int i = 0; i < element.getContact().size(); i++) { 24762 composeContactDetail(t, "TestScript", "contact", element.getContact().get(i), i); 24763 } 24764 if (element.hasDescriptionElement()) { 24765 composeMarkdown(t, "TestScript", "description", element.getDescriptionElement(), -1); 24766 } 24767 for (int i = 0; i < element.getUseContext().size(); i++) { 24768 composeUsageContext(t, "TestScript", "useContext", element.getUseContext().get(i), i); 24769 } 24770 for (int i = 0; i < element.getJurisdiction().size(); i++) { 24771 composeCodeableConcept(t, "TestScript", "jurisdiction", element.getJurisdiction().get(i), i); 24772 } 24773 if (element.hasPurposeElement()) { 24774 composeMarkdown(t, "TestScript", "purpose", element.getPurposeElement(), -1); 24775 } 24776 if (element.hasCopyrightElement()) { 24777 composeMarkdown(t, "TestScript", "copyright", element.getCopyrightElement(), -1); 24778 } 24779 for (int i = 0; i < element.getOrigin().size(); i++) { 24780 composeTestScriptOriginComponent(t, "TestScript", "origin", element.getOrigin().get(i), i); 24781 } 24782 for (int i = 0; i < element.getDestination().size(); i++) { 24783 composeTestScriptDestinationComponent(t, "TestScript", "destination", element.getDestination().get(i), i); 24784 } 24785 if (element.hasMetadata()) { 24786 composeTestScriptMetadataComponent(t, "TestScript", "metadata", element.getMetadata(), -1); 24787 } 24788 for (int i = 0; i < element.getScope().size(); i++) { 24789 composeTestScriptScopeComponent(t, "TestScript", "scope", element.getScope().get(i), i); 24790 } 24791 for (int i = 0; i < element.getFixture().size(); i++) { 24792 composeTestScriptFixtureComponent(t, "TestScript", "fixture", element.getFixture().get(i), i); 24793 } 24794 for (int i = 0; i < element.getProfile().size(); i++) { 24795 composeReference(t, "TestScript", "profile", element.getProfile().get(i), i); 24796 } 24797 for (int i = 0; i < element.getVariable().size(); i++) { 24798 composeTestScriptVariableComponent(t, "TestScript", "variable", element.getVariable().get(i), i); 24799 } 24800 if (element.hasSetup()) { 24801 composeTestScriptSetupComponent(t, "TestScript", "setup", element.getSetup(), -1); 24802 } 24803 for (int i = 0; i < element.getTest().size(); i++) { 24804 composeTestScriptTestComponent(t, "TestScript", "test", element.getTest().get(i), i); 24805 } 24806 if (element.hasTeardown()) { 24807 composeTestScriptTeardownComponent(t, "TestScript", "teardown", element.getTeardown(), -1); 24808 } 24809 } 24810 24811 protected void composeTestScriptOriginComponent(Complex parent, String parentType, String name, TestScript.TestScriptOriginComponent element, int index) { 24812 if (element == null) 24813 return; 24814 Complex t; 24815 if (Utilities.noString(parentType)) 24816 t = parent; 24817 else { 24818 t = parent.predicate("fhir:"+parentType+'.'+name); 24819 } 24820 composeBackboneElement(t, "origin", name, element, index); 24821 if (element.hasIndexElement()) { 24822 composeInteger(t, "TestScriptOriginComponent", "index", element.getIndexElement(), -1); 24823 } 24824 if (element.hasProfile()) { 24825 composeCoding(t, "TestScriptOriginComponent", "profile", element.getProfile(), -1); 24826 } 24827 } 24828 24829 protected void composeTestScriptDestinationComponent(Complex parent, String parentType, String name, TestScript.TestScriptDestinationComponent element, int index) { 24830 if (element == null) 24831 return; 24832 Complex t; 24833 if (Utilities.noString(parentType)) 24834 t = parent; 24835 else { 24836 t = parent.predicate("fhir:"+parentType+'.'+name); 24837 } 24838 composeBackboneElement(t, "destination", name, element, index); 24839 if (element.hasIndexElement()) { 24840 composeInteger(t, "TestScriptDestinationComponent", "index", element.getIndexElement(), -1); 24841 } 24842 if (element.hasProfile()) { 24843 composeCoding(t, "TestScriptDestinationComponent", "profile", element.getProfile(), -1); 24844 } 24845 } 24846 24847 protected void composeTestScriptMetadataComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataComponent element, int index) { 24848 if (element == null) 24849 return; 24850 Complex t; 24851 if (Utilities.noString(parentType)) 24852 t = parent; 24853 else { 24854 t = parent.predicate("fhir:"+parentType+'.'+name); 24855 } 24856 composeBackboneElement(t, "metadata", name, element, index); 24857 for (int i = 0; i < element.getLink().size(); i++) { 24858 composeTestScriptMetadataLinkComponent(t, "TestScriptMetadataComponent", "link", element.getLink().get(i), i); 24859 } 24860 for (int i = 0; i < element.getCapability().size(); i++) { 24861 composeTestScriptMetadataCapabilityComponent(t, "TestScriptMetadataComponent", "capability", element.getCapability().get(i), i); 24862 } 24863 } 24864 24865 protected void composeTestScriptMetadataLinkComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataLinkComponent element, int index) { 24866 if (element == null) 24867 return; 24868 Complex t; 24869 if (Utilities.noString(parentType)) 24870 t = parent; 24871 else { 24872 t = parent.predicate("fhir:"+parentType+'.'+name); 24873 } 24874 composeBackboneElement(t, "link", name, element, index); 24875 if (element.hasUrlElement()) { 24876 composeUri(t, "TestScriptMetadataLinkComponent", "url", element.getUrlElement(), -1); 24877 } 24878 if (element.hasDescriptionElement()) { 24879 composeString(t, "TestScriptMetadataLinkComponent", "description", element.getDescriptionElement(), -1); 24880 } 24881 } 24882 24883 protected void composeTestScriptMetadataCapabilityComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataCapabilityComponent element, int index) { 24884 if (element == null) 24885 return; 24886 Complex t; 24887 if (Utilities.noString(parentType)) 24888 t = parent; 24889 else { 24890 t = parent.predicate("fhir:"+parentType+'.'+name); 24891 } 24892 composeBackboneElement(t, "capability", name, element, index); 24893 if (element.hasRequiredElement()) { 24894 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "required", element.getRequiredElement(), -1); 24895 } 24896 if (element.hasValidatedElement()) { 24897 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "validated", element.getValidatedElement(), -1); 24898 } 24899 if (element.hasDescriptionElement()) { 24900 composeString(t, "TestScriptMetadataCapabilityComponent", "description", element.getDescriptionElement(), -1); 24901 } 24902 for (int i = 0; i < element.getOrigin().size(); i++) { 24903 composeInteger(t, "TestScriptMetadataCapabilityComponent", "origin", element.getOrigin().get(i), i); 24904 } 24905 if (element.hasDestinationElement()) { 24906 composeInteger(t, "TestScriptMetadataCapabilityComponent", "destination", element.getDestinationElement(), -1); 24907 } 24908 for (int i = 0; i < element.getLink().size(); i++) { 24909 composeUri(t, "TestScriptMetadataCapabilityComponent", "link", element.getLink().get(i), i); 24910 } 24911 if (element.hasCapabilitiesElement()) { 24912 composeCanonical(t, "TestScriptMetadataCapabilityComponent", "capabilities", element.getCapabilitiesElement(), -1); 24913 } 24914 } 24915 24916 protected void composeTestScriptScopeComponent(Complex parent, String parentType, String name, TestScript.TestScriptScopeComponent element, int index) { 24917 if (element == null) 24918 return; 24919 Complex t; 24920 if (Utilities.noString(parentType)) 24921 t = parent; 24922 else { 24923 t = parent.predicate("fhir:"+parentType+'.'+name); 24924 } 24925 composeBackboneElement(t, "scope", name, element, index); 24926 if (element.hasArtifactElement()) { 24927 composeCanonical(t, "TestScriptScopeComponent", "artifact", element.getArtifactElement(), -1); 24928 } 24929 if (element.hasConformance()) { 24930 composeCodeableConcept(t, "TestScriptScopeComponent", "conformance", element.getConformance(), -1); 24931 } 24932 if (element.hasPhase()) { 24933 composeCodeableConcept(t, "TestScriptScopeComponent", "phase", element.getPhase(), -1); 24934 } 24935 } 24936 24937 protected void composeTestScriptFixtureComponent(Complex parent, String parentType, String name, TestScript.TestScriptFixtureComponent element, int index) { 24938 if (element == null) 24939 return; 24940 Complex t; 24941 if (Utilities.noString(parentType)) 24942 t = parent; 24943 else { 24944 t = parent.predicate("fhir:"+parentType+'.'+name); 24945 } 24946 composeBackboneElement(t, "fixture", name, element, index); 24947 if (element.hasAutocreateElement()) { 24948 composeBoolean(t, "TestScriptFixtureComponent", "autocreate", element.getAutocreateElement(), -1); 24949 } 24950 if (element.hasAutodeleteElement()) { 24951 composeBoolean(t, "TestScriptFixtureComponent", "autodelete", element.getAutodeleteElement(), -1); 24952 } 24953 if (element.hasResource()) { 24954 composeReference(t, "TestScriptFixtureComponent", "resource", element.getResource(), -1); 24955 } 24956 } 24957 24958 protected void composeTestScriptVariableComponent(Complex parent, String parentType, String name, TestScript.TestScriptVariableComponent element, int index) { 24959 if (element == null) 24960 return; 24961 Complex t; 24962 if (Utilities.noString(parentType)) 24963 t = parent; 24964 else { 24965 t = parent.predicate("fhir:"+parentType+'.'+name); 24966 } 24967 composeBackboneElement(t, "variable", name, element, index); 24968 if (element.hasNameElement()) { 24969 composeString(t, "TestScriptVariableComponent", "name", element.getNameElement(), -1); 24970 } 24971 if (element.hasDefaultValueElement()) { 24972 composeString(t, "TestScriptVariableComponent", "defaultValue", element.getDefaultValueElement(), -1); 24973 } 24974 if (element.hasDescriptionElement()) { 24975 composeString(t, "TestScriptVariableComponent", "description", element.getDescriptionElement(), -1); 24976 } 24977 if (element.hasExpressionElement()) { 24978 composeString(t, "TestScriptVariableComponent", "expression", element.getExpressionElement(), -1); 24979 } 24980 if (element.hasHeaderFieldElement()) { 24981 composeString(t, "TestScriptVariableComponent", "headerField", element.getHeaderFieldElement(), -1); 24982 } 24983 if (element.hasHintElement()) { 24984 composeString(t, "TestScriptVariableComponent", "hint", element.getHintElement(), -1); 24985 } 24986 if (element.hasPathElement()) { 24987 composeString(t, "TestScriptVariableComponent", "path", element.getPathElement(), -1); 24988 } 24989 if (element.hasSourceIdElement()) { 24990 composeId(t, "TestScriptVariableComponent", "sourceId", element.getSourceIdElement(), -1); 24991 } 24992 } 24993 24994 protected void composeTestScriptSetupComponent(Complex parent, String parentType, String name, TestScript.TestScriptSetupComponent element, int index) { 24995 if (element == null) 24996 return; 24997 Complex t; 24998 if (Utilities.noString(parentType)) 24999 t = parent; 25000 else { 25001 t = parent.predicate("fhir:"+parentType+'.'+name); 25002 } 25003 composeBackboneElement(t, "setup", name, element, index); 25004 for (int i = 0; i < element.getAction().size(); i++) { 25005 composeTestScriptSetupActionComponent(t, "TestScriptSetupComponent", "action", element.getAction().get(i), i); 25006 } 25007 } 25008 25009 protected void composeTestScriptSetupActionComponent(Complex parent, String parentType, String name, TestScript.SetupActionComponent element, int index) { 25010 if (element == null) 25011 return; 25012 Complex t; 25013 if (Utilities.noString(parentType)) 25014 t = parent; 25015 else { 25016 t = parent.predicate("fhir:"+parentType+'.'+name); 25017 } 25018 composeBackboneElement(t, "action", name, element, index); 25019 if (element.hasOperation()) { 25020 composeTestScriptSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 25021 } 25022 if (element.hasAssert()) { 25023 composeTestScriptSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 25024 } 25025 } 25026 25027 protected void composeTestScriptSetupActionOperationComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationComponent element, int index) { 25028 if (element == null) 25029 return; 25030 Complex t; 25031 if (Utilities.noString(parentType)) 25032 t = parent; 25033 else { 25034 t = parent.predicate("fhir:"+parentType+'.'+name); 25035 } 25036 composeBackboneElement(t, "operation", name, element, index); 25037 if (element.hasType()) { 25038 composeCoding(t, "SetupActionOperationComponent", "type", element.getType(), -1); 25039 } 25040 if (element.hasResourceElement()) { 25041 composeEnum(t, "SetupActionOperationComponent", "resource", element.getResourceElement(), -1); 25042 } 25043 if (element.hasLabelElement()) { 25044 composeString(t, "SetupActionOperationComponent", "label", element.getLabelElement(), -1); 25045 } 25046 if (element.hasDescriptionElement()) { 25047 composeString(t, "SetupActionOperationComponent", "description", element.getDescriptionElement(), -1); 25048 } 25049 if (element.hasAcceptElement()) { 25050 composeCode(t, "SetupActionOperationComponent", "accept", element.getAcceptElement(), -1); 25051 } 25052 if (element.hasContentTypeElement()) { 25053 composeCode(t, "SetupActionOperationComponent", "contentType", element.getContentTypeElement(), -1); 25054 } 25055 if (element.hasDestinationElement()) { 25056 composeInteger(t, "SetupActionOperationComponent", "destination", element.getDestinationElement(), -1); 25057 } 25058 if (element.hasEncodeRequestUrlElement()) { 25059 composeBoolean(t, "SetupActionOperationComponent", "encodeRequestUrl", element.getEncodeRequestUrlElement(), -1); 25060 } 25061 if (element.hasMethodElement()) { 25062 composeEnum(t, "SetupActionOperationComponent", "method", element.getMethodElement(), -1); 25063 } 25064 if (element.hasOriginElement()) { 25065 composeInteger(t, "SetupActionOperationComponent", "origin", element.getOriginElement(), -1); 25066 } 25067 if (element.hasParamsElement()) { 25068 composeString(t, "SetupActionOperationComponent", "params", element.getParamsElement(), -1); 25069 } 25070 for (int i = 0; i < element.getRequestHeader().size(); i++) { 25071 composeTestScriptSetupActionOperationRequestHeaderComponent(t, "SetupActionOperationComponent", "requestHeader", element.getRequestHeader().get(i), i); 25072 } 25073 if (element.hasRequestIdElement()) { 25074 composeId(t, "SetupActionOperationComponent", "requestId", element.getRequestIdElement(), -1); 25075 } 25076 if (element.hasResponseIdElement()) { 25077 composeId(t, "SetupActionOperationComponent", "responseId", element.getResponseIdElement(), -1); 25078 } 25079 if (element.hasSourceIdElement()) { 25080 composeId(t, "SetupActionOperationComponent", "sourceId", element.getSourceIdElement(), -1); 25081 } 25082 if (element.hasTargetIdElement()) { 25083 composeId(t, "SetupActionOperationComponent", "targetId", element.getTargetIdElement(), -1); 25084 } 25085 if (element.hasUrlElement()) { 25086 composeString(t, "SetupActionOperationComponent", "url", element.getUrlElement(), -1); 25087 } 25088 } 25089 25090 protected void composeTestScriptSetupActionOperationRequestHeaderComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationRequestHeaderComponent element, int index) { 25091 if (element == null) 25092 return; 25093 Complex t; 25094 if (Utilities.noString(parentType)) 25095 t = parent; 25096 else { 25097 t = parent.predicate("fhir:"+parentType+'.'+name); 25098 } 25099 composeBackboneElement(t, "requestHeader", name, element, index); 25100 if (element.hasFieldElement()) { 25101 composeString(t, "SetupActionOperationRequestHeaderComponent", "field", element.getFieldElement(), -1); 25102 } 25103 if (element.hasValueElement()) { 25104 composeString(t, "SetupActionOperationRequestHeaderComponent", "value", element.getValueElement(), -1); 25105 } 25106 } 25107 25108 protected void composeTestScriptSetupActionAssertComponent(Complex parent, String parentType, String name, TestScript.SetupActionAssertComponent element, int index) { 25109 if (element == null) 25110 return; 25111 Complex t; 25112 if (Utilities.noString(parentType)) 25113 t = parent; 25114 else { 25115 t = parent.predicate("fhir:"+parentType+'.'+name); 25116 } 25117 composeBackboneElement(t, "assert", name, element, index); 25118 if (element.hasLabelElement()) { 25119 composeString(t, "SetupActionAssertComponent", "label", element.getLabelElement(), -1); 25120 } 25121 if (element.hasDescriptionElement()) { 25122 composeString(t, "SetupActionAssertComponent", "description", element.getDescriptionElement(), -1); 25123 } 25124 if (element.hasDirectionElement()) { 25125 composeEnum(t, "SetupActionAssertComponent", "direction", element.getDirectionElement(), -1); 25126 } 25127 if (element.hasCompareToSourceIdElement()) { 25128 composeString(t, "SetupActionAssertComponent", "compareToSourceId", element.getCompareToSourceIdElement(), -1); 25129 } 25130 if (element.hasCompareToSourceExpressionElement()) { 25131 composeString(t, "SetupActionAssertComponent", "compareToSourceExpression", element.getCompareToSourceExpressionElement(), -1); 25132 } 25133 if (element.hasCompareToSourcePathElement()) { 25134 composeString(t, "SetupActionAssertComponent", "compareToSourcePath", element.getCompareToSourcePathElement(), -1); 25135 } 25136 if (element.hasContentTypeElement()) { 25137 composeCode(t, "SetupActionAssertComponent", "contentType", element.getContentTypeElement(), -1); 25138 } 25139 if (element.hasExpressionElement()) { 25140 composeString(t, "SetupActionAssertComponent", "expression", element.getExpressionElement(), -1); 25141 } 25142 if (element.hasHeaderFieldElement()) { 25143 composeString(t, "SetupActionAssertComponent", "headerField", element.getHeaderFieldElement(), -1); 25144 } 25145 if (element.hasMinimumIdElement()) { 25146 composeString(t, "SetupActionAssertComponent", "minimumId", element.getMinimumIdElement(), -1); 25147 } 25148 if (element.hasNavigationLinksElement()) { 25149 composeBoolean(t, "SetupActionAssertComponent", "navigationLinks", element.getNavigationLinksElement(), -1); 25150 } 25151 if (element.hasOperatorElement()) { 25152 composeEnum(t, "SetupActionAssertComponent", "operator", element.getOperatorElement(), -1); 25153 } 25154 if (element.hasPathElement()) { 25155 composeString(t, "SetupActionAssertComponent", "path", element.getPathElement(), -1); 25156 } 25157 if (element.hasRequestMethodElement()) { 25158 composeEnum(t, "SetupActionAssertComponent", "requestMethod", element.getRequestMethodElement(), -1); 25159 } 25160 if (element.hasRequestURLElement()) { 25161 composeString(t, "SetupActionAssertComponent", "requestURL", element.getRequestURLElement(), -1); 25162 } 25163 if (element.hasResourceElement()) { 25164 composeEnum(t, "SetupActionAssertComponent", "resource", element.getResourceElement(), -1); 25165 } 25166 if (element.hasResponseElement()) { 25167 composeEnum(t, "SetupActionAssertComponent", "response", element.getResponseElement(), -1); 25168 } 25169 if (element.hasResponseCodeElement()) { 25170 composeString(t, "SetupActionAssertComponent", "responseCode", element.getResponseCodeElement(), -1); 25171 } 25172 if (element.hasSourceIdElement()) { 25173 composeId(t, "SetupActionAssertComponent", "sourceId", element.getSourceIdElement(), -1); 25174 } 25175 if (element.hasStopTestOnFailElement()) { 25176 composeBoolean(t, "SetupActionAssertComponent", "stopTestOnFail", element.getStopTestOnFailElement(), -1); 25177 } 25178 if (element.hasValidateProfileIdElement()) { 25179 composeId(t, "SetupActionAssertComponent", "validateProfileId", element.getValidateProfileIdElement(), -1); 25180 } 25181 if (element.hasValueElement()) { 25182 composeString(t, "SetupActionAssertComponent", "value", element.getValueElement(), -1); 25183 } 25184 if (element.hasWarningOnlyElement()) { 25185 composeBoolean(t, "SetupActionAssertComponent", "warningOnly", element.getWarningOnlyElement(), -1); 25186 } 25187 } 25188 25189 protected void composeTestScriptTestComponent(Complex parent, String parentType, String name, TestScript.TestScriptTestComponent element, int index) { 25190 if (element == null) 25191 return; 25192 Complex t; 25193 if (Utilities.noString(parentType)) 25194 t = parent; 25195 else { 25196 t = parent.predicate("fhir:"+parentType+'.'+name); 25197 } 25198 composeBackboneElement(t, "test", name, element, index); 25199 if (element.hasNameElement()) { 25200 composeString(t, "TestScriptTestComponent", "name", element.getNameElement(), -1); 25201 } 25202 if (element.hasDescriptionElement()) { 25203 composeString(t, "TestScriptTestComponent", "description", element.getDescriptionElement(), -1); 25204 } 25205 for (int i = 0; i < element.getAction().size(); i++) { 25206 composeTestScriptTestActionComponent(t, "TestScriptTestComponent", "action", element.getAction().get(i), i); 25207 } 25208 } 25209 25210 protected void composeTestScriptTestActionComponent(Complex parent, String parentType, String name, TestScript.TestActionComponent element, int index) { 25211 if (element == null) 25212 return; 25213 Complex t; 25214 if (Utilities.noString(parentType)) 25215 t = parent; 25216 else { 25217 t = parent.predicate("fhir:"+parentType+'.'+name); 25218 } 25219 composeBackboneElement(t, "action", name, element, index); 25220 if (element.hasOperation()) { 25221 composeTestScriptSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 25222 } 25223 if (element.hasAssert()) { 25224 composeTestScriptSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 25225 } 25226 } 25227 25228 protected void composeTestScriptTeardownComponent(Complex parent, String parentType, String name, TestScript.TestScriptTeardownComponent element, int index) { 25229 if (element == null) 25230 return; 25231 Complex t; 25232 if (Utilities.noString(parentType)) 25233 t = parent; 25234 else { 25235 t = parent.predicate("fhir:"+parentType+'.'+name); 25236 } 25237 composeBackboneElement(t, "teardown", name, element, index); 25238 for (int i = 0; i < element.getAction().size(); i++) { 25239 composeTestScriptTeardownActionComponent(t, "TestScriptTeardownComponent", "action", element.getAction().get(i), i); 25240 } 25241 } 25242 25243 protected void composeTestScriptTeardownActionComponent(Complex parent, String parentType, String name, TestScript.TeardownActionComponent element, int index) { 25244 if (element == null) 25245 return; 25246 Complex t; 25247 if (Utilities.noString(parentType)) 25248 t = parent; 25249 else { 25250 t = parent.predicate("fhir:"+parentType+'.'+name); 25251 } 25252 composeBackboneElement(t, "action", name, element, index); 25253 if (element.hasOperation()) { 25254 composeTestScriptSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 25255 } 25256 } 25257 25258 protected void composeValueSet(Complex parent, String parentType, String name, ValueSet element, int index) { 25259 if (element == null) 25260 return; 25261 Complex t; 25262 if (Utilities.noString(parentType)) 25263 t = parent; 25264 else { 25265 t = parent.predicate("fhir:"+parentType+'.'+name); 25266 } 25267 composeCanonicalResource(t, "ValueSet", name, element, index); 25268 if (element.hasUrlElement()) { 25269 composeUri(t, "ValueSet", "url", element.getUrlElement(), -1); 25270 } 25271 for (int i = 0; i < element.getIdentifier().size(); i++) { 25272 composeIdentifier(t, "ValueSet", "identifier", element.getIdentifier().get(i), i); 25273 } 25274 if (element.hasVersionElement()) { 25275 composeString(t, "ValueSet", "version", element.getVersionElement(), -1); 25276 } 25277 if (element.hasNameElement()) { 25278 composeString(t, "ValueSet", "name", element.getNameElement(), -1); 25279 } 25280 if (element.hasTitleElement()) { 25281 composeString(t, "ValueSet", "title", element.getTitleElement(), -1); 25282 } 25283 if (element.hasStatusElement()) { 25284 composeEnum(t, "ValueSet", "status", element.getStatusElement(), -1); 25285 } 25286 if (element.hasExperimentalElement()) { 25287 composeBoolean(t, "ValueSet", "experimental", element.getExperimentalElement(), -1); 25288 } 25289 if (element.hasDateElement()) { 25290 composeDateTime(t, "ValueSet", "date", element.getDateElement(), -1); 25291 } 25292 if (element.hasPublisherElement()) { 25293 composeString(t, "ValueSet", "publisher", element.getPublisherElement(), -1); 25294 } 25295 for (int i = 0; i < element.getContact().size(); i++) { 25296 composeContactDetail(t, "ValueSet", "contact", element.getContact().get(i), i); 25297 } 25298 if (element.hasDescriptionElement()) { 25299 composeMarkdown(t, "ValueSet", "description", element.getDescriptionElement(), -1); 25300 } 25301 for (int i = 0; i < element.getUseContext().size(); i++) { 25302 composeUsageContext(t, "ValueSet", "useContext", element.getUseContext().get(i), i); 25303 } 25304 for (int i = 0; i < element.getJurisdiction().size(); i++) { 25305 composeCodeableConcept(t, "ValueSet", "jurisdiction", element.getJurisdiction().get(i), i); 25306 } 25307 if (element.hasImmutableElement()) { 25308 composeBoolean(t, "ValueSet", "immutable", element.getImmutableElement(), -1); 25309 } 25310 if (element.hasPurposeElement()) { 25311 composeMarkdown(t, "ValueSet", "purpose", element.getPurposeElement(), -1); 25312 } 25313 if (element.hasCopyrightElement()) { 25314 composeMarkdown(t, "ValueSet", "copyright", element.getCopyrightElement(), -1); 25315 } 25316 if (element.hasCompose()) { 25317 composeValueSetComposeComponent(t, "ValueSet", "compose", element.getCompose(), -1); 25318 } 25319 if (element.hasExpansion()) { 25320 composeValueSetExpansionComponent(t, "ValueSet", "expansion", element.getExpansion(), -1); 25321 } 25322 if (element.hasScope()) { 25323 composeValueSetScopeComponent(t, "ValueSet", "scope", element.getScope(), -1); 25324 } 25325 } 25326 25327 protected void composeValueSetComposeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetComposeComponent element, int index) { 25328 if (element == null) 25329 return; 25330 Complex t; 25331 if (Utilities.noString(parentType)) 25332 t = parent; 25333 else { 25334 t = parent.predicate("fhir:"+parentType+'.'+name); 25335 } 25336 composeBackboneElement(t, "compose", name, element, index); 25337 if (element.hasLockedDateElement()) { 25338 composeDate(t, "ValueSetComposeComponent", "lockedDate", element.getLockedDateElement(), -1); 25339 } 25340 if (element.hasInactiveElement()) { 25341 composeBoolean(t, "ValueSetComposeComponent", "inactive", element.getInactiveElement(), -1); 25342 } 25343 for (int i = 0; i < element.getInclude().size(); i++) { 25344 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "include", element.getInclude().get(i), i); 25345 } 25346 for (int i = 0; i < element.getExclude().size(); i++) { 25347 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "exclude", element.getExclude().get(i), i); 25348 } 25349 for (int i = 0; i < element.getProperty().size(); i++) { 25350 composeString(t, "ValueSetComposeComponent", "property", element.getProperty().get(i), i); 25351 } 25352 } 25353 25354 protected void composeValueSetConceptSetComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetComponent element, int index) { 25355 if (element == null) 25356 return; 25357 Complex t; 25358 if (Utilities.noString(parentType)) 25359 t = parent; 25360 else { 25361 t = parent.predicate("fhir:"+parentType+'.'+name); 25362 } 25363 composeBackboneElement(t, "include", name, element, index); 25364 if (element.hasSystemElement()) { 25365 composeUri(t, "ConceptSetComponent", "system", element.getSystemElement(), -1); 25366 } 25367 if (element.hasVersionElement()) { 25368 composeString(t, "ConceptSetComponent", "version", element.getVersionElement(), -1); 25369 } 25370 for (int i = 0; i < element.getConcept().size(); i++) { 25371 composeValueSetConceptReferenceComponent(t, "ConceptSetComponent", "concept", element.getConcept().get(i), i); 25372 } 25373 for (int i = 0; i < element.getFilter().size(); i++) { 25374 composeValueSetConceptSetFilterComponent(t, "ConceptSetComponent", "filter", element.getFilter().get(i), i); 25375 } 25376 for (int i = 0; i < element.getValueSet().size(); i++) { 25377 composeCanonical(t, "ConceptSetComponent", "valueSet", element.getValueSet().get(i), i); 25378 } 25379 if (element.hasCopyrightElement()) { 25380 composeString(t, "ConceptSetComponent", "copyright", element.getCopyrightElement(), -1); 25381 } 25382 } 25383 25384 protected void composeValueSetConceptReferenceComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceComponent element, int index) { 25385 if (element == null) 25386 return; 25387 Complex t; 25388 if (Utilities.noString(parentType)) 25389 t = parent; 25390 else { 25391 t = parent.predicate("fhir:"+parentType+'.'+name); 25392 } 25393 composeBackboneElement(t, "concept", name, element, index); 25394 if (element.hasCodeElement()) { 25395 composeCode(t, "ConceptReferenceComponent", "code", element.getCodeElement(), -1); 25396 } 25397 if (element.hasDisplayElement()) { 25398 composeString(t, "ConceptReferenceComponent", "display", element.getDisplayElement(), -1); 25399 } 25400 for (int i = 0; i < element.getDesignation().size(); i++) { 25401 composeValueSetConceptReferenceDesignationComponent(t, "ConceptReferenceComponent", "designation", element.getDesignation().get(i), i); 25402 } 25403 } 25404 25405 protected void composeValueSetConceptReferenceDesignationComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceDesignationComponent element, int index) { 25406 if (element == null) 25407 return; 25408 Complex t; 25409 if (Utilities.noString(parentType)) 25410 t = parent; 25411 else { 25412 t = parent.predicate("fhir:"+parentType+'.'+name); 25413 } 25414 composeBackboneElement(t, "designation", name, element, index); 25415 if (element.hasLanguageElement()) { 25416 composeCode(t, "ConceptReferenceDesignationComponent", "language", element.getLanguageElement(), -1); 25417 } 25418 if (element.hasUse()) { 25419 composeCoding(t, "ConceptReferenceDesignationComponent", "use", element.getUse(), -1); 25420 } 25421 if (element.hasValueElement()) { 25422 composeString(t, "ConceptReferenceDesignationComponent", "value", element.getValueElement(), -1); 25423 } 25424 } 25425 25426 protected void composeValueSetConceptSetFilterComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetFilterComponent element, int index) { 25427 if (element == null) 25428 return; 25429 Complex t; 25430 if (Utilities.noString(parentType)) 25431 t = parent; 25432 else { 25433 t = parent.predicate("fhir:"+parentType+'.'+name); 25434 } 25435 composeBackboneElement(t, "filter", name, element, index); 25436 if (element.hasPropertyElement()) { 25437 composeCode(t, "ConceptSetFilterComponent", "property", element.getPropertyElement(), -1); 25438 } 25439 if (element.hasOpElement()) { 25440 composeEnum(t, "ConceptSetFilterComponent", "op", element.getOpElement(), -1); 25441 } 25442 if (element.hasValueElement()) { 25443 composeString(t, "ConceptSetFilterComponent", "value", element.getValueElement(), -1); 25444 } 25445 } 25446 25447 protected void composeValueSetExpansionComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionComponent element, int index) { 25448 if (element == null) 25449 return; 25450 Complex t; 25451 if (Utilities.noString(parentType)) 25452 t = parent; 25453 else { 25454 t = parent.predicate("fhir:"+parentType+'.'+name); 25455 } 25456 composeBackboneElement(t, "expansion", name, element, index); 25457 if (element.hasIdentifierElement()) { 25458 composeUri(t, "ValueSetExpansionComponent", "identifier", element.getIdentifierElement(), -1); 25459 } 25460 if (element.hasTimestampElement()) { 25461 composeDateTime(t, "ValueSetExpansionComponent", "timestamp", element.getTimestampElement(), -1); 25462 } 25463 if (element.hasTotalElement()) { 25464 composeInteger(t, "ValueSetExpansionComponent", "total", element.getTotalElement(), -1); 25465 } 25466 if (element.hasOffsetElement()) { 25467 composeInteger(t, "ValueSetExpansionComponent", "offset", element.getOffsetElement(), -1); 25468 } 25469 for (int i = 0; i < element.getParameter().size(); i++) { 25470 composeValueSetExpansionParameterComponent(t, "ValueSetExpansionComponent", "parameter", element.getParameter().get(i), i); 25471 } 25472 for (int i = 0; i < element.getProperty().size(); i++) { 25473 composeValueSetExpansionPropertyComponent(t, "ValueSetExpansionComponent", "property", element.getProperty().get(i), i); 25474 } 25475 for (int i = 0; i < element.getContains().size(); i++) { 25476 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionComponent", "contains", element.getContains().get(i), i); 25477 } 25478 } 25479 25480 protected void composeValueSetExpansionParameterComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionParameterComponent element, int index) { 25481 if (element == null) 25482 return; 25483 Complex t; 25484 if (Utilities.noString(parentType)) 25485 t = parent; 25486 else { 25487 t = parent.predicate("fhir:"+parentType+'.'+name); 25488 } 25489 composeBackboneElement(t, "parameter", name, element, index); 25490 if (element.hasNameElement()) { 25491 composeString(t, "ValueSetExpansionParameterComponent", "name", element.getNameElement(), -1); 25492 } 25493 if (element.hasValue()) { 25494 composeType(t, "ValueSetExpansionParameterComponent", "value", element.getValue(), -1); 25495 } 25496 } 25497 25498 protected void composeValueSetExpansionPropertyComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionPropertyComponent element, int index) { 25499 if (element == null) 25500 return; 25501 Complex t; 25502 if (Utilities.noString(parentType)) 25503 t = parent; 25504 else { 25505 t = parent.predicate("fhir:"+parentType+'.'+name); 25506 } 25507 composeBackboneElement(t, "property", name, element, index); 25508 if (element.hasCodeElement()) { 25509 composeCode(t, "ValueSetExpansionPropertyComponent", "code", element.getCodeElement(), -1); 25510 } 25511 if (element.hasUriElement()) { 25512 composeUri(t, "ValueSetExpansionPropertyComponent", "uri", element.getUriElement(), -1); 25513 } 25514 } 25515 25516 protected void composeValueSetExpansionContainsComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionContainsComponent element, int index) { 25517 if (element == null) 25518 return; 25519 Complex t; 25520 if (Utilities.noString(parentType)) 25521 t = parent; 25522 else { 25523 t = parent.predicate("fhir:"+parentType+'.'+name); 25524 } 25525 composeBackboneElement(t, "contains", name, element, index); 25526 if (element.hasSystemElement()) { 25527 composeUri(t, "ValueSetExpansionContainsComponent", "system", element.getSystemElement(), -1); 25528 } 25529 if (element.hasAbstractElement()) { 25530 composeBoolean(t, "ValueSetExpansionContainsComponent", "abstract", element.getAbstractElement(), -1); 25531 } 25532 if (element.hasInactiveElement()) { 25533 composeBoolean(t, "ValueSetExpansionContainsComponent", "inactive", element.getInactiveElement(), -1); 25534 } 25535 if (element.hasVersionElement()) { 25536 composeString(t, "ValueSetExpansionContainsComponent", "version", element.getVersionElement(), -1); 25537 } 25538 if (element.hasCodeElement()) { 25539 composeCode(t, "ValueSetExpansionContainsComponent", "code", element.getCodeElement(), -1); 25540 } 25541 if (element.hasDisplayElement()) { 25542 composeString(t, "ValueSetExpansionContainsComponent", "display", element.getDisplayElement(), -1); 25543 } 25544 for (int i = 0; i < element.getDesignation().size(); i++) { 25545 composeValueSetConceptReferenceDesignationComponent(t, "ValueSetExpansionContainsComponent", "designation", element.getDesignation().get(i), i); 25546 } 25547 for (int i = 0; i < element.getProperty().size(); i++) { 25548 composeValueSetConceptPropertyComponent(t, "ValueSetExpansionContainsComponent", "property", element.getProperty().get(i), i); 25549 } 25550 for (int i = 0; i < element.getContains().size(); i++) { 25551 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionContainsComponent", "contains", element.getContains().get(i), i); 25552 } 25553 } 25554 25555 protected void composeValueSetConceptPropertyComponent(Complex parent, String parentType, String name, ValueSet.ConceptPropertyComponent element, int index) { 25556 if (element == null) 25557 return; 25558 Complex t; 25559 if (Utilities.noString(parentType)) 25560 t = parent; 25561 else { 25562 t = parent.predicate("fhir:"+parentType+'.'+name); 25563 } 25564 composeBackboneElement(t, "property", name, element, index); 25565 if (element.hasCodeElement()) { 25566 composeCode(t, "ConceptPropertyComponent", "code", element.getCodeElement(), -1); 25567 } 25568 if (element.hasValue()) { 25569 composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); 25570 } 25571 } 25572 25573 protected void composeValueSetScopeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetScopeComponent element, int index) { 25574 if (element == null) 25575 return; 25576 Complex t; 25577 if (Utilities.noString(parentType)) 25578 t = parent; 25579 else { 25580 t = parent.predicate("fhir:"+parentType+'.'+name); 25581 } 25582 composeBackboneElement(t, "scope", name, element, index); 25583 if (element.hasFocusElement()) { 25584 composeString(t, "ValueSetScopeComponent", "focus", element.getFocusElement(), -1); 25585 } 25586 if (element.hasInclusionCriteriaElement()) { 25587 composeString(t, "ValueSetScopeComponent", "inclusionCriteria", element.getInclusionCriteriaElement(), -1); 25588 } 25589 if (element.hasExclusionCriteriaElement()) { 25590 composeString(t, "ValueSetScopeComponent", "exclusionCriteria", element.getExclusionCriteriaElement(), -1); 25591 } 25592 } 25593 25594 protected void composeVerificationResult(Complex parent, String parentType, String name, VerificationResult element, int index) { 25595 if (element == null) 25596 return; 25597 Complex t; 25598 if (Utilities.noString(parentType)) 25599 t = parent; 25600 else { 25601 t = parent.predicate("fhir:"+parentType+'.'+name); 25602 } 25603 composeDomainResource(t, "VerificationResult", name, element, index); 25604 for (int i = 0; i < element.getTarget().size(); i++) { 25605 composeReference(t, "VerificationResult", "target", element.getTarget().get(i), i); 25606 } 25607 for (int i = 0; i < element.getTargetLocation().size(); i++) { 25608 composeString(t, "VerificationResult", "targetLocation", element.getTargetLocation().get(i), i); 25609 } 25610 if (element.hasNeed()) { 25611 composeCodeableConcept(t, "VerificationResult", "need", element.getNeed(), -1); 25612 } 25613 if (element.hasStatusElement()) { 25614 composeEnum(t, "VerificationResult", "status", element.getStatusElement(), -1); 25615 } 25616 if (element.hasStatusDateElement()) { 25617 composeDateTime(t, "VerificationResult", "statusDate", element.getStatusDateElement(), -1); 25618 } 25619 if (element.hasValidationType()) { 25620 composeCodeableConcept(t, "VerificationResult", "validationType", element.getValidationType(), -1); 25621 } 25622 for (int i = 0; i < element.getValidationProcess().size(); i++) { 25623 composeCodeableConcept(t, "VerificationResult", "validationProcess", element.getValidationProcess().get(i), i); 25624 } 25625 if (element.hasFrequency()) { 25626 composeTiming(t, "VerificationResult", "frequency", element.getFrequency(), -1); 25627 } 25628 if (element.hasLastPerformedElement()) { 25629 composeDateTime(t, "VerificationResult", "lastPerformed", element.getLastPerformedElement(), -1); 25630 } 25631 if (element.hasNextScheduledElement()) { 25632 composeDate(t, "VerificationResult", "nextScheduled", element.getNextScheduledElement(), -1); 25633 } 25634 if (element.hasFailureAction()) { 25635 composeCodeableConcept(t, "VerificationResult", "failureAction", element.getFailureAction(), -1); 25636 } 25637 for (int i = 0; i < element.getPrimarySource().size(); i++) { 25638 composeVerificationResultPrimarySourceComponent(t, "VerificationResult", "primarySource", element.getPrimarySource().get(i), i); 25639 } 25640 if (element.hasAttestation()) { 25641 composeVerificationResultAttestationComponent(t, "VerificationResult", "attestation", element.getAttestation(), -1); 25642 } 25643 for (int i = 0; i < element.getValidator().size(); i++) { 25644 composeVerificationResultValidatorComponent(t, "VerificationResult", "validator", element.getValidator().get(i), i); 25645 } 25646 } 25647 25648 protected void composeVerificationResultPrimarySourceComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultPrimarySourceComponent element, int index) { 25649 if (element == null) 25650 return; 25651 Complex t; 25652 if (Utilities.noString(parentType)) 25653 t = parent; 25654 else { 25655 t = parent.predicate("fhir:"+parentType+'.'+name); 25656 } 25657 composeBackboneElement(t, "primarySource", name, element, index); 25658 if (element.hasWho()) { 25659 composeReference(t, "VerificationResultPrimarySourceComponent", "who", element.getWho(), -1); 25660 } 25661 for (int i = 0; i < element.getType().size(); i++) { 25662 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "type", element.getType().get(i), i); 25663 } 25664 for (int i = 0; i < element.getCommunicationMethod().size(); i++) { 25665 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "communicationMethod", element.getCommunicationMethod().get(i), i); 25666 } 25667 if (element.hasValidationStatus()) { 25668 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "validationStatus", element.getValidationStatus(), -1); 25669 } 25670 if (element.hasValidationDateElement()) { 25671 composeDateTime(t, "VerificationResultPrimarySourceComponent", "validationDate", element.getValidationDateElement(), -1); 25672 } 25673 if (element.hasCanPushUpdates()) { 25674 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "canPushUpdates", element.getCanPushUpdates(), -1); 25675 } 25676 for (int i = 0; i < element.getPushTypeAvailable().size(); i++) { 25677 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "pushTypeAvailable", element.getPushTypeAvailable().get(i), i); 25678 } 25679 } 25680 25681 protected void composeVerificationResultAttestationComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultAttestationComponent element, int index) { 25682 if (element == null) 25683 return; 25684 Complex t; 25685 if (Utilities.noString(parentType)) 25686 t = parent; 25687 else { 25688 t = parent.predicate("fhir:"+parentType+'.'+name); 25689 } 25690 composeBackboneElement(t, "attestation", name, element, index); 25691 if (element.hasWho()) { 25692 composeReference(t, "VerificationResultAttestationComponent", "who", element.getWho(), -1); 25693 } 25694 if (element.hasOnBehalfOf()) { 25695 composeReference(t, "VerificationResultAttestationComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 25696 } 25697 if (element.hasCommunicationMethod()) { 25698 composeCodeableConcept(t, "VerificationResultAttestationComponent", "communicationMethod", element.getCommunicationMethod(), -1); 25699 } 25700 if (element.hasDateElement()) { 25701 composeDate(t, "VerificationResultAttestationComponent", "date", element.getDateElement(), -1); 25702 } 25703 if (element.hasSourceIdentityCertificateElement()) { 25704 composeString(t, "VerificationResultAttestationComponent", "sourceIdentityCertificate", element.getSourceIdentityCertificateElement(), -1); 25705 } 25706 if (element.hasProxyIdentityCertificateElement()) { 25707 composeString(t, "VerificationResultAttestationComponent", "proxyIdentityCertificate", element.getProxyIdentityCertificateElement(), -1); 25708 } 25709 if (element.hasProxySignature()) { 25710 composeSignature(t, "VerificationResultAttestationComponent", "proxySignature", element.getProxySignature(), -1); 25711 } 25712 if (element.hasSourceSignature()) { 25713 composeSignature(t, "VerificationResultAttestationComponent", "sourceSignature", element.getSourceSignature(), -1); 25714 } 25715 } 25716 25717 protected void composeVerificationResultValidatorComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultValidatorComponent element, int index) { 25718 if (element == null) 25719 return; 25720 Complex t; 25721 if (Utilities.noString(parentType)) 25722 t = parent; 25723 else { 25724 t = parent.predicate("fhir:"+parentType+'.'+name); 25725 } 25726 composeBackboneElement(t, "validator", name, element, index); 25727 if (element.hasOrganization()) { 25728 composeReference(t, "VerificationResultValidatorComponent", "organization", element.getOrganization(), -1); 25729 } 25730 if (element.hasIdentityCertificateElement()) { 25731 composeString(t, "VerificationResultValidatorComponent", "identityCertificate", element.getIdentityCertificateElement(), -1); 25732 } 25733 if (element.hasAttestationSignature()) { 25734 composeSignature(t, "VerificationResultValidatorComponent", "attestationSignature", element.getAttestationSignature(), -1); 25735 } 25736 } 25737 25738 protected void composeVisionPrescription(Complex parent, String parentType, String name, VisionPrescription element, int index) { 25739 if (element == null) 25740 return; 25741 Complex t; 25742 if (Utilities.noString(parentType)) 25743 t = parent; 25744 else { 25745 t = parent.predicate("fhir:"+parentType+'.'+name); 25746 } 25747 composeDomainResource(t, "VisionPrescription", name, element, index); 25748 for (int i = 0; i < element.getIdentifier().size(); i++) { 25749 composeIdentifier(t, "VisionPrescription", "identifier", element.getIdentifier().get(i), i); 25750 } 25751 if (element.hasStatusElement()) { 25752 composeEnum(t, "VisionPrescription", "status", element.getStatusElement(), -1); 25753 } 25754 if (element.hasCreatedElement()) { 25755 composeDateTime(t, "VisionPrescription", "created", element.getCreatedElement(), -1); 25756 } 25757 if (element.hasPatient()) { 25758 composeReference(t, "VisionPrescription", "patient", element.getPatient(), -1); 25759 } 25760 if (element.hasEncounter()) { 25761 composeReference(t, "VisionPrescription", "encounter", element.getEncounter(), -1); 25762 } 25763 if (element.hasDateWrittenElement()) { 25764 composeDateTime(t, "VisionPrescription", "dateWritten", element.getDateWrittenElement(), -1); 25765 } 25766 if (element.hasPrescriber()) { 25767 composeReference(t, "VisionPrescription", "prescriber", element.getPrescriber(), -1); 25768 } 25769 for (int i = 0; i < element.getLensSpecification().size(); i++) { 25770 composeVisionPrescriptionLensSpecificationComponent(t, "VisionPrescription", "lensSpecification", element.getLensSpecification().get(i), i); 25771 } 25772 } 25773 25774 protected void composeVisionPrescriptionLensSpecificationComponent(Complex parent, String parentType, String name, VisionPrescription.VisionPrescriptionLensSpecificationComponent element, int index) { 25775 if (element == null) 25776 return; 25777 Complex t; 25778 if (Utilities.noString(parentType)) 25779 t = parent; 25780 else { 25781 t = parent.predicate("fhir:"+parentType+'.'+name); 25782 } 25783 composeBackboneElement(t, "lensSpecification", name, element, index); 25784 if (element.hasProduct()) { 25785 composeCodeableConcept(t, "VisionPrescriptionLensSpecificationComponent", "product", element.getProduct(), -1); 25786 } 25787 if (element.hasEyeElement()) { 25788 composeEnum(t, "VisionPrescriptionLensSpecificationComponent", "eye", element.getEyeElement(), -1); 25789 } 25790 if (element.hasSphereElement()) { 25791 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "sphere", element.getSphereElement(), -1); 25792 } 25793 if (element.hasCylinderElement()) { 25794 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "cylinder", element.getCylinderElement(), -1); 25795 } 25796 if (element.hasAxisElement()) { 25797 composeInteger(t, "VisionPrescriptionLensSpecificationComponent", "axis", element.getAxisElement(), -1); 25798 } 25799 for (int i = 0; i < element.getPrism().size(); i++) { 25800 composeVisionPrescriptionPrismComponent(t, "VisionPrescriptionLensSpecificationComponent", "prism", element.getPrism().get(i), i); 25801 } 25802 if (element.hasAddElement()) { 25803 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "add", element.getAddElement(), -1); 25804 } 25805 if (element.hasPowerElement()) { 25806 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "power", element.getPowerElement(), -1); 25807 } 25808 if (element.hasBackCurveElement()) { 25809 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "backCurve", element.getBackCurveElement(), -1); 25810 } 25811 if (element.hasDiameterElement()) { 25812 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "diameter", element.getDiameterElement(), -1); 25813 } 25814 if (element.hasDuration()) { 25815 composeQuantity(t, "VisionPrescriptionLensSpecificationComponent", "duration", element.getDuration(), -1); 25816 } 25817 if (element.hasColorElement()) { 25818 composeString(t, "VisionPrescriptionLensSpecificationComponent", "color", element.getColorElement(), -1); 25819 } 25820 if (element.hasBrandElement()) { 25821 composeString(t, "VisionPrescriptionLensSpecificationComponent", "brand", element.getBrandElement(), -1); 25822 } 25823 for (int i = 0; i < element.getNote().size(); i++) { 25824 composeAnnotation(t, "VisionPrescriptionLensSpecificationComponent", "note", element.getNote().get(i), i); 25825 } 25826 } 25827 25828 protected void composeVisionPrescriptionPrismComponent(Complex parent, String parentType, String name, VisionPrescription.PrismComponent element, int index) { 25829 if (element == null) 25830 return; 25831 Complex t; 25832 if (Utilities.noString(parentType)) 25833 t = parent; 25834 else { 25835 t = parent.predicate("fhir:"+parentType+'.'+name); 25836 } 25837 composeBackboneElement(t, "prism", name, element, index); 25838 if (element.hasAmountElement()) { 25839 composeDecimal(t, "PrismComponent", "amount", element.getAmountElement(), -1); 25840 } 25841 if (element.hasBaseElement()) { 25842 composeEnum(t, "PrismComponent", "base", element.getBaseElement(), -1); 25843 } 25844 } 25845 25846 25847 25848 25849 @Override 25850 protected void composeResource(Complex parent, Resource resource) { 25851 if (parent == null) { 25852 throw new Error("parent == null"); 25853 } else if (resource == null) { 25854 throw new Error("resource == null"); 25855 } else if (resource instanceof Account) { 25856 composeAccount(parent, null, "Account", (Account)resource, -1); 25857 } else if (resource instanceof ActivityDefinition) { 25858 composeActivityDefinition(parent, null, "ActivityDefinition", (ActivityDefinition)resource, -1); 25859 } else if (resource instanceof AdministrableProductDefinition) { 25860 composeAdministrableProductDefinition(parent, null, "AdministrableProductDefinition", (AdministrableProductDefinition)resource, -1); 25861 } else if (resource instanceof AdverseEvent) { 25862 composeAdverseEvent(parent, null, "AdverseEvent", (AdverseEvent)resource, -1); 25863 } else if (resource instanceof AllergyIntolerance) { 25864 composeAllergyIntolerance(parent, null, "AllergyIntolerance", (AllergyIntolerance)resource, -1); 25865 } else if (resource instanceof Appointment) { 25866 composeAppointment(parent, null, "Appointment", (Appointment)resource, -1); 25867 } else if (resource instanceof AppointmentResponse) { 25868 composeAppointmentResponse(parent, null, "AppointmentResponse", (AppointmentResponse)resource, -1); 25869 } else if (resource instanceof ArtifactAssessment) { 25870 composeArtifactAssessment(parent, null, "ArtifactAssessment", (ArtifactAssessment)resource, -1); 25871 } else if (resource instanceof AuditEvent) { 25872 composeAuditEvent(parent, null, "AuditEvent", (AuditEvent)resource, -1); 25873 } else if (resource instanceof Basic) { 25874 composeBasic(parent, null, "Basic", (Basic)resource, -1); 25875 } else if (resource instanceof Binary) { 25876 composeBinary(parent, null, "Binary", (Binary)resource, -1); 25877 } else if (resource instanceof BiologicallyDerivedProduct) { 25878 composeBiologicallyDerivedProduct(parent, null, "BiologicallyDerivedProduct", (BiologicallyDerivedProduct)resource, -1); 25879 } else if (resource instanceof BodyStructure) { 25880 composeBodyStructure(parent, null, "BodyStructure", (BodyStructure)resource, -1); 25881 } else if (resource instanceof Bundle) { 25882 composeBundle(parent, null, "Bundle", (Bundle)resource, -1); 25883 } else if (resource instanceof CapabilityStatement) { 25884 composeCapabilityStatement(parent, null, "CapabilityStatement", (CapabilityStatement)resource, -1); 25885 } else if (resource instanceof CapabilityStatement2) { 25886 composeCapabilityStatement2(parent, null, "CapabilityStatement2", (CapabilityStatement2)resource, -1); 25887 } else if (resource instanceof CarePlan) { 25888 composeCarePlan(parent, null, "CarePlan", (CarePlan)resource, -1); 25889 } else if (resource instanceof CareTeam) { 25890 composeCareTeam(parent, null, "CareTeam", (CareTeam)resource, -1); 25891 } else if (resource instanceof ChargeItem) { 25892 composeChargeItem(parent, null, "ChargeItem", (ChargeItem)resource, -1); 25893 } else if (resource instanceof ChargeItemDefinition) { 25894 composeChargeItemDefinition(parent, null, "ChargeItemDefinition", (ChargeItemDefinition)resource, -1); 25895 } else if (resource instanceof Citation) { 25896 composeCitation(parent, null, "Citation", (Citation)resource, -1); 25897 } else if (resource instanceof Claim) { 25898 composeClaim(parent, null, "Claim", (Claim)resource, -1); 25899 } else if (resource instanceof ClaimResponse) { 25900 composeClaimResponse(parent, null, "ClaimResponse", (ClaimResponse)resource, -1); 25901 } else if (resource instanceof ClinicalImpression) { 25902 composeClinicalImpression(parent, null, "ClinicalImpression", (ClinicalImpression)resource, -1); 25903 } else if (resource instanceof ClinicalUseDefinition) { 25904 composeClinicalUseDefinition(parent, null, "ClinicalUseDefinition", (ClinicalUseDefinition)resource, -1); 25905 } else if (resource instanceof ClinicalUseIssue) { 25906 composeClinicalUseIssue(parent, null, "ClinicalUseIssue", (ClinicalUseIssue)resource, -1); 25907 } else if (resource instanceof CodeSystem) { 25908 composeCodeSystem(parent, null, "CodeSystem", (CodeSystem)resource, -1); 25909 } else if (resource instanceof Communication) { 25910 composeCommunication(parent, null, "Communication", (Communication)resource, -1); 25911 } else if (resource instanceof CommunicationRequest) { 25912 composeCommunicationRequest(parent, null, "CommunicationRequest", (CommunicationRequest)resource, -1); 25913 } else if (resource instanceof CompartmentDefinition) { 25914 composeCompartmentDefinition(parent, null, "CompartmentDefinition", (CompartmentDefinition)resource, -1); 25915 } else if (resource instanceof Composition) { 25916 composeComposition(parent, null, "Composition", (Composition)resource, -1); 25917 } else if (resource instanceof ConceptMap) { 25918 composeConceptMap(parent, null, "ConceptMap", (ConceptMap)resource, -1); 25919 } else if (resource instanceof ConceptMap2) { 25920 composeConceptMap2(parent, null, "ConceptMap2", (ConceptMap2)resource, -1); 25921 } else if (resource instanceof Condition) { 25922 composeCondition(parent, null, "Condition", (Condition)resource, -1); 25923 } else if (resource instanceof ConditionDefinition) { 25924 composeConditionDefinition(parent, null, "ConditionDefinition", (ConditionDefinition)resource, -1); 25925 } else if (resource instanceof Consent) { 25926 composeConsent(parent, null, "Consent", (Consent)resource, -1); 25927 } else if (resource instanceof Contract) { 25928 composeContract(parent, null, "Contract", (Contract)resource, -1); 25929 } else if (resource instanceof Coverage) { 25930 composeCoverage(parent, null, "Coverage", (Coverage)resource, -1); 25931 } else if (resource instanceof CoverageEligibilityRequest) { 25932 composeCoverageEligibilityRequest(parent, null, "CoverageEligibilityRequest", (CoverageEligibilityRequest)resource, -1); 25933 } else if (resource instanceof CoverageEligibilityResponse) { 25934 composeCoverageEligibilityResponse(parent, null, "CoverageEligibilityResponse", (CoverageEligibilityResponse)resource, -1); 25935 } else if (resource instanceof DetectedIssue) { 25936 composeDetectedIssue(parent, null, "DetectedIssue", (DetectedIssue)resource, -1); 25937 } else if (resource instanceof Device) { 25938 composeDevice(parent, null, "Device", (Device)resource, -1); 25939 } else if (resource instanceof DeviceDefinition) { 25940 composeDeviceDefinition(parent, null, "DeviceDefinition", (DeviceDefinition)resource, -1); 25941 } else if (resource instanceof DeviceDispense) { 25942 composeDeviceDispense(parent, null, "DeviceDispense", (DeviceDispense)resource, -1); 25943 } else if (resource instanceof DeviceMetric) { 25944 composeDeviceMetric(parent, null, "DeviceMetric", (DeviceMetric)resource, -1); 25945 } else if (resource instanceof DeviceRequest) { 25946 composeDeviceRequest(parent, null, "DeviceRequest", (DeviceRequest)resource, -1); 25947 } else if (resource instanceof DeviceUsage) { 25948 composeDeviceUsage(parent, null, "DeviceUsage", (DeviceUsage)resource, -1); 25949 } else if (resource instanceof DiagnosticReport) { 25950 composeDiagnosticReport(parent, null, "DiagnosticReport", (DiagnosticReport)resource, -1); 25951 } else if (resource instanceof DocumentManifest) { 25952 composeDocumentManifest(parent, null, "DocumentManifest", (DocumentManifest)resource, -1); 25953 } else if (resource instanceof DocumentReference) { 25954 composeDocumentReference(parent, null, "DocumentReference", (DocumentReference)resource, -1); 25955 } else if (resource instanceof Encounter) { 25956 composeEncounter(parent, null, "Encounter", (Encounter)resource, -1); 25957 } else if (resource instanceof Endpoint) { 25958 composeEndpoint(parent, null, "Endpoint", (Endpoint)resource, -1); 25959 } else if (resource instanceof EnrollmentRequest) { 25960 composeEnrollmentRequest(parent, null, "EnrollmentRequest", (EnrollmentRequest)resource, -1); 25961 } else if (resource instanceof EnrollmentResponse) { 25962 composeEnrollmentResponse(parent, null, "EnrollmentResponse", (EnrollmentResponse)resource, -1); 25963 } else if (resource instanceof EpisodeOfCare) { 25964 composeEpisodeOfCare(parent, null, "EpisodeOfCare", (EpisodeOfCare)resource, -1); 25965 } else if (resource instanceof EventDefinition) { 25966 composeEventDefinition(parent, null, "EventDefinition", (EventDefinition)resource, -1); 25967 } else if (resource instanceof Evidence) { 25968 composeEvidence(parent, null, "Evidence", (Evidence)resource, -1); 25969 } else if (resource instanceof EvidenceReport) { 25970 composeEvidenceReport(parent, null, "EvidenceReport", (EvidenceReport)resource, -1); 25971 } else if (resource instanceof EvidenceVariable) { 25972 composeEvidenceVariable(parent, null, "EvidenceVariable", (EvidenceVariable)resource, -1); 25973 } else if (resource instanceof ExampleScenario) { 25974 composeExampleScenario(parent, null, "ExampleScenario", (ExampleScenario)resource, -1); 25975 } else if (resource instanceof ExplanationOfBenefit) { 25976 composeExplanationOfBenefit(parent, null, "ExplanationOfBenefit", (ExplanationOfBenefit)resource, -1); 25977 } else if (resource instanceof FamilyMemberHistory) { 25978 composeFamilyMemberHistory(parent, null, "FamilyMemberHistory", (FamilyMemberHistory)resource, -1); 25979 } else if (resource instanceof Flag) { 25980 composeFlag(parent, null, "Flag", (Flag)resource, -1); 25981 } else if (resource instanceof Goal) { 25982 composeGoal(parent, null, "Goal", (Goal)resource, -1); 25983 } else if (resource instanceof GraphDefinition) { 25984 composeGraphDefinition(parent, null, "GraphDefinition", (GraphDefinition)resource, -1); 25985 } else if (resource instanceof Group) { 25986 composeGroup(parent, null, "Group", (Group)resource, -1); 25987 } else if (resource instanceof GuidanceResponse) { 25988 composeGuidanceResponse(parent, null, "GuidanceResponse", (GuidanceResponse)resource, -1); 25989 } else if (resource instanceof HealthcareService) { 25990 composeHealthcareService(parent, null, "HealthcareService", (HealthcareService)resource, -1); 25991 } else if (resource instanceof ImagingSelection) { 25992 composeImagingSelection(parent, null, "ImagingSelection", (ImagingSelection)resource, -1); 25993 } else if (resource instanceof ImagingStudy) { 25994 composeImagingStudy(parent, null, "ImagingStudy", (ImagingStudy)resource, -1); 25995 } else if (resource instanceof Immunization) { 25996 composeImmunization(parent, null, "Immunization", (Immunization)resource, -1); 25997 } else if (resource instanceof ImmunizationEvaluation) { 25998 composeImmunizationEvaluation(parent, null, "ImmunizationEvaluation", (ImmunizationEvaluation)resource, -1); 25999 } else if (resource instanceof ImmunizationRecommendation) { 26000 composeImmunizationRecommendation(parent, null, "ImmunizationRecommendation", (ImmunizationRecommendation)resource, -1); 26001 } else if (resource instanceof ImplementationGuide) { 26002 composeImplementationGuide(parent, null, "ImplementationGuide", (ImplementationGuide)resource, -1); 26003 } else if (resource instanceof Ingredient) { 26004 composeIngredient(parent, null, "Ingredient", (Ingredient)resource, -1); 26005 } else if (resource instanceof InsurancePlan) { 26006 composeInsurancePlan(parent, null, "InsurancePlan", (InsurancePlan)resource, -1); 26007 } else if (resource instanceof InventoryReport) { 26008 composeInventoryReport(parent, null, "InventoryReport", (InventoryReport)resource, -1); 26009 } else if (resource instanceof Invoice) { 26010 composeInvoice(parent, null, "Invoice", (Invoice)resource, -1); 26011 } else if (resource instanceof Library) { 26012 composeLibrary(parent, null, "Library", (Library)resource, -1); 26013 } else if (resource instanceof Linkage) { 26014 composeLinkage(parent, null, "Linkage", (Linkage)resource, -1); 26015 } else if (resource instanceof ListResource) { 26016 composeListResource(parent, null, "List", (ListResource)resource, -1); 26017 } else if (resource instanceof Location) { 26018 composeLocation(parent, null, "Location", (Location)resource, -1); 26019 } else if (resource instanceof ManufacturedItemDefinition) { 26020 composeManufacturedItemDefinition(parent, null, "ManufacturedItemDefinition", (ManufacturedItemDefinition)resource, -1); 26021 } else if (resource instanceof Measure) { 26022 composeMeasure(parent, null, "Measure", (Measure)resource, -1); 26023 } else if (resource instanceof MeasureReport) { 26024 composeMeasureReport(parent, null, "MeasureReport", (MeasureReport)resource, -1); 26025 } else if (resource instanceof Medication) { 26026 composeMedication(parent, null, "Medication", (Medication)resource, -1); 26027 } else if (resource instanceof MedicationAdministration) { 26028 composeMedicationAdministration(parent, null, "MedicationAdministration", (MedicationAdministration)resource, -1); 26029 } else if (resource instanceof MedicationDispense) { 26030 composeMedicationDispense(parent, null, "MedicationDispense", (MedicationDispense)resource, -1); 26031 } else if (resource instanceof MedicationKnowledge) { 26032 composeMedicationKnowledge(parent, null, "MedicationKnowledge", (MedicationKnowledge)resource, -1); 26033 } else if (resource instanceof MedicationRequest) { 26034 composeMedicationRequest(parent, null, "MedicationRequest", (MedicationRequest)resource, -1); 26035 } else if (resource instanceof MedicationUsage) { 26036 composeMedicationUsage(parent, null, "MedicationUsage", (MedicationUsage)resource, -1); 26037 } else if (resource instanceof MedicinalProductDefinition) { 26038 composeMedicinalProductDefinition(parent, null, "MedicinalProductDefinition", (MedicinalProductDefinition)resource, -1); 26039 } else if (resource instanceof MessageDefinition) { 26040 composeMessageDefinition(parent, null, "MessageDefinition", (MessageDefinition)resource, -1); 26041 } else if (resource instanceof MessageHeader) { 26042 composeMessageHeader(parent, null, "MessageHeader", (MessageHeader)resource, -1); 26043 } else if (resource instanceof MolecularSequence) { 26044 composeMolecularSequence(parent, null, "MolecularSequence", (MolecularSequence)resource, -1); 26045 } else if (resource instanceof NamingSystem) { 26046 composeNamingSystem(parent, null, "NamingSystem", (NamingSystem)resource, -1); 26047 } else if (resource instanceof NutritionIntake) { 26048 composeNutritionIntake(parent, null, "NutritionIntake", (NutritionIntake)resource, -1); 26049 } else if (resource instanceof NutritionOrder) { 26050 composeNutritionOrder(parent, null, "NutritionOrder", (NutritionOrder)resource, -1); 26051 } else if (resource instanceof NutritionProduct) { 26052 composeNutritionProduct(parent, null, "NutritionProduct", (NutritionProduct)resource, -1); 26053 } else if (resource instanceof Observation) { 26054 composeObservation(parent, null, "Observation", (Observation)resource, -1); 26055 } else if (resource instanceof ObservationDefinition) { 26056 composeObservationDefinition(parent, null, "ObservationDefinition", (ObservationDefinition)resource, -1); 26057 } else if (resource instanceof OperationDefinition) { 26058 composeOperationDefinition(parent, null, "OperationDefinition", (OperationDefinition)resource, -1); 26059 } else if (resource instanceof OperationOutcome) { 26060 composeOperationOutcome(parent, null, "OperationOutcome", (OperationOutcome)resource, -1); 26061 } else if (resource instanceof Organization) { 26062 composeOrganization(parent, null, "Organization", (Organization)resource, -1); 26063 } else if (resource instanceof OrganizationAffiliation) { 26064 composeOrganizationAffiliation(parent, null, "OrganizationAffiliation", (OrganizationAffiliation)resource, -1); 26065 } else if (resource instanceof PackagedProductDefinition) { 26066 composePackagedProductDefinition(parent, null, "PackagedProductDefinition", (PackagedProductDefinition)resource, -1); 26067 } else if (resource instanceof Parameters) { 26068 composeParameters(parent, null, "Parameters", (Parameters)resource, -1); 26069 } else if (resource instanceof Patient) { 26070 composePatient(parent, null, "Patient", (Patient)resource, -1); 26071 } else if (resource instanceof PaymentNotice) { 26072 composePaymentNotice(parent, null, "PaymentNotice", (PaymentNotice)resource, -1); 26073 } else if (resource instanceof PaymentReconciliation) { 26074 composePaymentReconciliation(parent, null, "PaymentReconciliation", (PaymentReconciliation)resource, -1); 26075 } else if (resource instanceof Permission) { 26076 composePermission(parent, null, "Permission", (Permission)resource, -1); 26077 } else if (resource instanceof Person) { 26078 composePerson(parent, null, "Person", (Person)resource, -1); 26079 } else if (resource instanceof PlanDefinition) { 26080 composePlanDefinition(parent, null, "PlanDefinition", (PlanDefinition)resource, -1); 26081 } else if (resource instanceof Practitioner) { 26082 composePractitioner(parent, null, "Practitioner", (Practitioner)resource, -1); 26083 } else if (resource instanceof PractitionerRole) { 26084 composePractitionerRole(parent, null, "PractitionerRole", (PractitionerRole)resource, -1); 26085 } else if (resource instanceof Procedure) { 26086 composeProcedure(parent, null, "Procedure", (Procedure)resource, -1); 26087 } else if (resource instanceof Provenance) { 26088 composeProvenance(parent, null, "Provenance", (Provenance)resource, -1); 26089 } else if (resource instanceof Questionnaire) { 26090 composeQuestionnaire(parent, null, "Questionnaire", (Questionnaire)resource, -1); 26091 } else if (resource instanceof QuestionnaireResponse) { 26092 composeQuestionnaireResponse(parent, null, "QuestionnaireResponse", (QuestionnaireResponse)resource, -1); 26093 } else if (resource instanceof RegulatedAuthorization) { 26094 composeRegulatedAuthorization(parent, null, "RegulatedAuthorization", (RegulatedAuthorization)resource, -1); 26095 } else if (resource instanceof RelatedPerson) { 26096 composeRelatedPerson(parent, null, "RelatedPerson", (RelatedPerson)resource, -1); 26097 } else if (resource instanceof RequestGroup) { 26098 composeRequestGroup(parent, null, "RequestGroup", (RequestGroup)resource, -1); 26099 } else if (resource instanceof ResearchStudy) { 26100 composeResearchStudy(parent, null, "ResearchStudy", (ResearchStudy)resource, -1); 26101 } else if (resource instanceof ResearchSubject) { 26102 composeResearchSubject(parent, null, "ResearchSubject", (ResearchSubject)resource, -1); 26103 } else if (resource instanceof RiskAssessment) { 26104 composeRiskAssessment(parent, null, "RiskAssessment", (RiskAssessment)resource, -1); 26105 } else if (resource instanceof Schedule) { 26106 composeSchedule(parent, null, "Schedule", (Schedule)resource, -1); 26107 } else if (resource instanceof SearchParameter) { 26108 composeSearchParameter(parent, null, "SearchParameter", (SearchParameter)resource, -1); 26109 } else if (resource instanceof ServiceRequest) { 26110 composeServiceRequest(parent, null, "ServiceRequest", (ServiceRequest)resource, -1); 26111 } else if (resource instanceof Slot) { 26112 composeSlot(parent, null, "Slot", (Slot)resource, -1); 26113 } else if (resource instanceof Specimen) { 26114 composeSpecimen(parent, null, "Specimen", (Specimen)resource, -1); 26115 } else if (resource instanceof SpecimenDefinition) { 26116 composeSpecimenDefinition(parent, null, "SpecimenDefinition", (SpecimenDefinition)resource, -1); 26117 } else if (resource instanceof StructureDefinition) { 26118 composeStructureDefinition(parent, null, "StructureDefinition", (StructureDefinition)resource, -1); 26119 } else if (resource instanceof StructureMap) { 26120 composeStructureMap(parent, null, "StructureMap", (StructureMap)resource, -1); 26121 } else if (resource instanceof Subscription) { 26122 composeSubscription(parent, null, "Subscription", (Subscription)resource, -1); 26123 } else if (resource instanceof SubscriptionStatus) { 26124 composeSubscriptionStatus(parent, null, "SubscriptionStatus", (SubscriptionStatus)resource, -1); 26125 } else if (resource instanceof SubscriptionTopic) { 26126 composeSubscriptionTopic(parent, null, "SubscriptionTopic", (SubscriptionTopic)resource, -1); 26127 } else if (resource instanceof Substance) { 26128 composeSubstance(parent, null, "Substance", (Substance)resource, -1); 26129 } else if (resource instanceof SubstanceDefinition) { 26130 composeSubstanceDefinition(parent, null, "SubstanceDefinition", (SubstanceDefinition)resource, -1); 26131 } else if (resource instanceof SubstanceNucleicAcid) { 26132 composeSubstanceNucleicAcid(parent, null, "SubstanceNucleicAcid", (SubstanceNucleicAcid)resource, -1); 26133 } else if (resource instanceof SubstancePolymer) { 26134 composeSubstancePolymer(parent, null, "SubstancePolymer", (SubstancePolymer)resource, -1); 26135 } else if (resource instanceof SubstanceProtein) { 26136 composeSubstanceProtein(parent, null, "SubstanceProtein", (SubstanceProtein)resource, -1); 26137 } else if (resource instanceof SubstanceReferenceInformation) { 26138 composeSubstanceReferenceInformation(parent, null, "SubstanceReferenceInformation", (SubstanceReferenceInformation)resource, -1); 26139 } else if (resource instanceof SubstanceSourceMaterial) { 26140 composeSubstanceSourceMaterial(parent, null, "SubstanceSourceMaterial", (SubstanceSourceMaterial)resource, -1); 26141 } else if (resource instanceof SupplyDelivery) { 26142 composeSupplyDelivery(parent, null, "SupplyDelivery", (SupplyDelivery)resource, -1); 26143 } else if (resource instanceof SupplyRequest) { 26144 composeSupplyRequest(parent, null, "SupplyRequest", (SupplyRequest)resource, -1); 26145 } else if (resource instanceof Task) { 26146 composeTask(parent, null, "Task", (Task)resource, -1); 26147 } else if (resource instanceof TerminologyCapabilities) { 26148 composeTerminologyCapabilities(parent, null, "TerminologyCapabilities", (TerminologyCapabilities)resource, -1); 26149 } else if (resource instanceof TestReport) { 26150 composeTestReport(parent, null, "TestReport", (TestReport)resource, -1); 26151 } else if (resource instanceof TestScript) { 26152 composeTestScript(parent, null, "TestScript", (TestScript)resource, -1); 26153 } else if (resource instanceof ValueSet) { 26154 composeValueSet(parent, null, "ValueSet", (ValueSet)resource, -1); 26155 } else if (resource instanceof VerificationResult) { 26156 composeVerificationResult(parent, null, "VerificationResult", (VerificationResult)resource, -1); 26157 } else if (resource instanceof VisionPrescription) { 26158 composeVisionPrescription(parent, null, "VisionPrescription", (VisionPrescription)resource, -1); 26159 26160 } else { 26161 throw new Error("Unhandled resource type "+resource.getClass().getName()); 26162 } 26163 } 26164 26165 protected void composeType(Complex parent, String parentType, String name, DataType value, int index) { 26166 if (parent == null) { 26167 throw new Error("parent == null"); 26168 } else if (parentType == null) { 26169 throw new Error("parentType == null"); 26170 } else if (name == null) { 26171 throw new Error("name == null"); 26172 } else if (value == null) { 26173 throw new Error("value == null"); 26174 } else if (value instanceof DateType) { 26175 composeDate(parent, parentType, name, (DateType)value, index); 26176 } else if (value instanceof DateTimeType) { 26177 composeDateTime(parent, parentType, name, (DateTimeType)value, index); 26178 } else if (value instanceof CodeType) { 26179 composeCode(parent, parentType, name, (CodeType)value, index); 26180 } else if (value instanceof StringType) { 26181 composeString(parent, parentType, name, (StringType)value, index); 26182 } else if (value instanceof IntegerType) { 26183 composeInteger(parent, parentType, name, (IntegerType)value, index); 26184 } else if (value instanceof Integer64Type) { 26185 composeInteger64(parent, parentType, name, (Integer64Type)value, index); 26186 } else if (value instanceof OidType) { 26187 composeOid(parent, parentType, name, (OidType)value, index); 26188 } else if (value instanceof CanonicalType) { 26189 composeCanonical(parent, parentType, name, (CanonicalType)value, index); 26190 } else if (value instanceof UriType) { 26191 composeUri(parent, parentType, name, (UriType)value, index); 26192 } else if (value instanceof UuidType) { 26193 composeUuid(parent, parentType, name, (UuidType)value, index); 26194 } else if (value instanceof UrlType) { 26195 composeUrl(parent, parentType, name, (UrlType)value, index); 26196 } else if (value instanceof InstantType) { 26197 composeInstant(parent, parentType, name, (InstantType)value, index); 26198 } else if (value instanceof BooleanType) { 26199 composeBoolean(parent, parentType, name, (BooleanType)value, index); 26200 } else if (value instanceof Base64BinaryType) { 26201 composeBase64Binary(parent, parentType, name, (Base64BinaryType)value, index); 26202 } else if (value instanceof UnsignedIntType) { 26203 composeUnsignedInt(parent, parentType, name, (UnsignedIntType)value, index); 26204 } else if (value instanceof MarkdownType) { 26205 composeMarkdown(parent, parentType, name, (MarkdownType)value, index); 26206 } else if (value instanceof TimeType) { 26207 composeTime(parent, parentType, name, (TimeType)value, index); 26208 } else if (value instanceof IdType) { 26209 composeId(parent, parentType, name, (IdType)value, index); 26210 } else if (value instanceof PositiveIntType) { 26211 composePositiveInt(parent, parentType, name, (PositiveIntType)value, index); 26212 } else if (value instanceof DecimalType) { 26213 composeDecimal(parent, parentType, name, (DecimalType)value, index); 26214 } else if (value instanceof Address) { 26215 composeAddress(parent, parentType, name, (Address)value, index); 26216 } else if (value instanceof Age) { 26217 composeAge(parent, parentType, name, (Age)value, index); 26218 } else if (value instanceof Annotation) { 26219 composeAnnotation(parent, parentType, name, (Annotation)value, index); 26220 } else if (value instanceof Attachment) { 26221 composeAttachment(parent, parentType, name, (Attachment)value, index); 26222 } else if (value instanceof CodeableConcept) { 26223 composeCodeableConcept(parent, parentType, name, (CodeableConcept)value, index); 26224 } else if (value instanceof CodeableReference) { 26225 composeCodeableReference(parent, parentType, name, (CodeableReference)value, index); 26226 } else if (value instanceof Coding) { 26227 composeCoding(parent, parentType, name, (Coding)value, index); 26228 } else if (value instanceof ContactDetail) { 26229 composeContactDetail(parent, parentType, name, (ContactDetail)value, index); 26230 } else if (value instanceof ContactPoint) { 26231 composeContactPoint(parent, parentType, name, (ContactPoint)value, index); 26232 } else if (value instanceof Contributor) { 26233 composeContributor(parent, parentType, name, (Contributor)value, index); 26234 } else if (value instanceof Count) { 26235 composeCount(parent, parentType, name, (Count)value, index); 26236 } else if (value instanceof DataRequirement) { 26237 composeDataRequirement(parent, parentType, name, (DataRequirement)value, index); 26238 } else if (value instanceof Distance) { 26239 composeDistance(parent, parentType, name, (Distance)value, index); 26240 } else if (value instanceof Dosage) { 26241 composeDosage(parent, parentType, name, (Dosage)value, index); 26242 } else if (value instanceof Duration) { 26243 composeDuration(parent, parentType, name, (Duration)value, index); 26244 } else if (value instanceof ElementDefinition) { 26245 composeElementDefinition(parent, parentType, name, (ElementDefinition)value, index); 26246 } else if (value instanceof Expression) { 26247 composeExpression(parent, parentType, name, (Expression)value, index); 26248 } else if (value instanceof Extension) { 26249 composeExtension(parent, parentType, name, (Extension)value, index); 26250 } else if (value instanceof HumanName) { 26251 composeHumanName(parent, parentType, name, (HumanName)value, index); 26252 } else if (value instanceof Identifier) { 26253 composeIdentifier(parent, parentType, name, (Identifier)value, index); 26254 } else if (value instanceof MarketingStatus) { 26255 composeMarketingStatus(parent, parentType, name, (MarketingStatus)value, index); 26256 } else if (value instanceof Meta) { 26257 composeMeta(parent, parentType, name, (Meta)value, index); 26258 } else if (value instanceof Money) { 26259 composeMoney(parent, parentType, name, (Money)value, index); 26260 } else if (value instanceof Narrative) { 26261 composeNarrative(parent, parentType, name, (Narrative)value, index); 26262 } else if (value instanceof ParameterDefinition) { 26263 composeParameterDefinition(parent, parentType, name, (ParameterDefinition)value, index); 26264 } else if (value instanceof Period) { 26265 composePeriod(parent, parentType, name, (Period)value, index); 26266 } else if (value instanceof Population) { 26267 composePopulation(parent, parentType, name, (Population)value, index); 26268 } else if (value instanceof ProdCharacteristic) { 26269 composeProdCharacteristic(parent, parentType, name, (ProdCharacteristic)value, index); 26270 } else if (value instanceof ProductShelfLife) { 26271 composeProductShelfLife(parent, parentType, name, (ProductShelfLife)value, index); 26272 } else if (value instanceof Quantity) { 26273 composeQuantity(parent, parentType, name, (Quantity)value, index); 26274 } else if (value instanceof Range) { 26275 composeRange(parent, parentType, name, (Range)value, index); 26276 } else if (value instanceof Ratio) { 26277 composeRatio(parent, parentType, name, (Ratio)value, index); 26278 } else if (value instanceof RatioRange) { 26279 composeRatioRange(parent, parentType, name, (RatioRange)value, index); 26280 } else if (value instanceof Reference) { 26281 composeReference(parent, parentType, name, (Reference)value, index); 26282 } else if (value instanceof RelatedArtifact) { 26283 composeRelatedArtifact(parent, parentType, name, (RelatedArtifact)value, index); 26284 } else if (value instanceof SampledData) { 26285 composeSampledData(parent, parentType, name, (SampledData)value, index); 26286 } else if (value instanceof Signature) { 26287 composeSignature(parent, parentType, name, (Signature)value, index); 26288 } else if (value instanceof Timing) { 26289 composeTiming(parent, parentType, name, (Timing)value, index); 26290 } else if (value instanceof TriggerDefinition) { 26291 composeTriggerDefinition(parent, parentType, name, (TriggerDefinition)value, index); 26292 } else if (value instanceof UsageContext) { 26293 composeUsageContext(parent, parentType, name, (UsageContext)value, index); 26294 26295 } else { 26296 throw new Error("Unhandled type"); 26297 } 26298 } 26299 26300}