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 13, 2022 17:53+1100 for FHIR vcurrent 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 composeAvailability(Complex parent, String parentType, String name, Availability 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, "Availability", name, element, index); 392 for (int i = 0; i < element.getAvailableTime().size(); i++) { 393 composeAvailabilityAvailableTimeComponent(t, "Availability", "availableTime", element.getAvailableTime().get(i), i); 394 } 395 for (int i = 0; i < element.getNotAvailableTime().size(); i++) { 396 composeAvailabilityNotAvailableTimeComponent(t, "Availability", "notAvailableTime", element.getNotAvailableTime().get(i), i); 397 } 398 } 399 400 protected void composeAvailabilityAvailableTimeComponent(Complex parent, String parentType, String name, Availability.AvailabilityAvailableTimeComponent element, int index) { 401 if (element == null) 402 return; 403 Complex t; 404 if (Utilities.noString(parentType)) 405 t = parent; 406 else { 407 t = parent.predicate("fhir:"+parentType+'.'+name); 408 } 409 composeElement(t, "availableTime", name, element, index); 410 for (int i = 0; i < element.getDaysOfWeek().size(); i++) { 411 composeEnum(t, "AvailabilityAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); 412 } 413 if (element.hasAllDayElement()) { 414 composeBoolean(t, "AvailabilityAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); 415 } 416 if (element.hasAvailableStartTimeElement()) { 417 composeTime(t, "AvailabilityAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); 418 } 419 if (element.hasAvailableEndTimeElement()) { 420 composeTime(t, "AvailabilityAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); 421 } 422 } 423 424 protected void composeAvailabilityNotAvailableTimeComponent(Complex parent, String parentType, String name, Availability.AvailabilityNotAvailableTimeComponent element, int index) { 425 if (element == null) 426 return; 427 Complex t; 428 if (Utilities.noString(parentType)) 429 t = parent; 430 else { 431 t = parent.predicate("fhir:"+parentType+'.'+name); 432 } 433 composeElement(t, "notAvailableTime", name, element, index); 434 if (element.hasDescriptionElement()) { 435 composeString(t, "AvailabilityNotAvailableTimeComponent", "description", element.getDescriptionElement(), -1); 436 } 437 if (element.hasDuring()) { 438 composePeriod(t, "AvailabilityNotAvailableTimeComponent", "during", element.getDuring(), -1); 439 } 440 } 441 442 protected void composeCodeableConcept(Complex parent, String parentType, String name, CodeableConcept element, int index) { 443 if (element == null) 444 return; 445 Complex t; 446 if (Utilities.noString(parentType)) 447 t = parent; 448 else { 449 t = parent.predicate("fhir:"+parentType+'.'+name); 450 } 451 composeDataType(t, "CodeableConcept", name, element, index); 452 decorateCodeableConcept(t, element); 453 for (int i = 0; i < element.getCoding().size(); i++) { 454 composeCoding(t, "CodeableConcept", "coding", element.getCoding().get(i), i); 455 } 456 if (element.hasTextElement()) { 457 composeString(t, "CodeableConcept", "text", element.getTextElement(), -1); 458 } 459 } 460 461 protected void composeCodeableReference(Complex parent, String parentType, String name, CodeableReference element, int index) { 462 if (element == null) 463 return; 464 Complex t; 465 if (Utilities.noString(parentType)) 466 t = parent; 467 else { 468 t = parent.predicate("fhir:"+parentType+'.'+name); 469 } 470 composeDataType(t, "CodeableReference", name, element, index); 471 if (element.hasConcept()) { 472 composeCodeableConcept(t, "CodeableReference", "concept", element.getConcept(), -1); 473 } 474 if (element.hasReference()) { 475 composeReference(t, "CodeableReference", "reference", element.getReference(), -1); 476 } 477 } 478 479 protected void composeCoding(Complex parent, String parentType, String name, Coding element, int index) { 480 if (element == null) 481 return; 482 Complex t; 483 if (Utilities.noString(parentType)) 484 t = parent; 485 else { 486 t = parent.predicate("fhir:"+parentType+'.'+name); 487 } 488 composeDataType(t, "Coding", name, element, index); 489 decorateCoding(t, element); 490 if (element.hasSystemElement()) { 491 composeUri(t, "Coding", "system", element.getSystemElement(), -1); 492 } 493 if (element.hasVersionElement()) { 494 composeString(t, "Coding", "version", element.getVersionElement(), -1); 495 } 496 if (element.hasCodeElement()) { 497 composeCode(t, "Coding", "code", element.getCodeElement(), -1); 498 } 499 if (element.hasDisplayElement()) { 500 composeString(t, "Coding", "display", element.getDisplayElement(), -1); 501 } 502 if (element.hasUserSelectedElement()) { 503 composeBoolean(t, "Coding", "userSelected", element.getUserSelectedElement(), -1); 504 } 505 } 506 507 protected void composeContactDetail(Complex parent, String parentType, String name, ContactDetail element, int index) { 508 if (element == null) 509 return; 510 Complex t; 511 if (Utilities.noString(parentType)) 512 t = parent; 513 else { 514 t = parent.predicate("fhir:"+parentType+'.'+name); 515 } 516 composeDataType(t, "ContactDetail", name, element, index); 517 if (element.hasNameElement()) { 518 composeString(t, "ContactDetail", "name", element.getNameElement(), -1); 519 } 520 for (int i = 0; i < element.getTelecom().size(); i++) { 521 composeContactPoint(t, "ContactDetail", "telecom", element.getTelecom().get(i), i); 522 } 523 } 524 525 protected void composeContactPoint(Complex parent, String parentType, String name, ContactPoint 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, "ContactPoint", name, element, index); 535 if (element.hasSystemElement()) { 536 composeEnum(t, "ContactPoint", "system", element.getSystemElement(), -1); 537 } 538 if (element.hasValueElement()) { 539 composeString(t, "ContactPoint", "value", element.getValueElement(), -1); 540 } 541 if (element.hasUseElement()) { 542 composeEnum(t, "ContactPoint", "use", element.getUseElement(), -1); 543 } 544 if (element.hasRankElement()) { 545 composePositiveInt(t, "ContactPoint", "rank", element.getRankElement(), -1); 546 } 547 if (element.hasPeriod()) { 548 composePeriod(t, "ContactPoint", "period", element.getPeriod(), -1); 549 } 550 } 551 552 protected void composeContributor(Complex parent, String parentType, String name, Contributor element, int index) { 553 if (element == null) 554 return; 555 Complex t; 556 if (Utilities.noString(parentType)) 557 t = parent; 558 else { 559 t = parent.predicate("fhir:"+parentType+'.'+name); 560 } 561 composeDataType(t, "Contributor", name, element, index); 562 if (element.hasTypeElement()) { 563 composeEnum(t, "Contributor", "type", element.getTypeElement(), -1); 564 } 565 if (element.hasNameElement()) { 566 composeString(t, "Contributor", "name", element.getNameElement(), -1); 567 } 568 for (int i = 0; i < element.getContact().size(); i++) { 569 composeContactDetail(t, "Contributor", "contact", element.getContact().get(i), i); 570 } 571 } 572 573 protected void composeCount(Complex parent, String parentType, String name, Count element, int index) { 574 if (element == null) 575 return; 576 Complex t; 577 if (Utilities.noString(parentType)) 578 t = parent; 579 else { 580 t = parent.predicate("fhir:"+parentType+'.'+name); 581 } 582 composeQuantity(t, "Count", name, element, index); 583 } 584 585 protected void composeDataRequirement(Complex parent, String parentType, String name, DataRequirement 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 composeDataType(t, "DataRequirement", name, element, index); 595 if (element.hasTypeElement()) { 596 composeEnum(t, "DataRequirement", "type", element.getTypeElement(), -1); 597 } 598 for (int i = 0; i < element.getProfile().size(); i++) { 599 composeCanonical(t, "DataRequirement", "profile", element.getProfile().get(i), i); 600 } 601 if (element.hasSubject()) { 602 composeType(t, "DataRequirement", "subject", element.getSubject(), -1); 603 } 604 for (int i = 0; i < element.getMustSupport().size(); i++) { 605 composeString(t, "DataRequirement", "mustSupport", element.getMustSupport().get(i), i); 606 } 607 for (int i = 0; i < element.getCodeFilter().size(); i++) { 608 composeDataRequirementCodeFilterComponent(t, "DataRequirement", "codeFilter", element.getCodeFilter().get(i), i); 609 } 610 for (int i = 0; i < element.getDateFilter().size(); i++) { 611 composeDataRequirementDateFilterComponent(t, "DataRequirement", "dateFilter", element.getDateFilter().get(i), i); 612 } 613 for (int i = 0; i < element.getValueFilter().size(); i++) { 614 composeDataRequirementValueFilterComponent(t, "DataRequirement", "valueFilter", element.getValueFilter().get(i), i); 615 } 616 if (element.hasLimitElement()) { 617 composePositiveInt(t, "DataRequirement", "limit", element.getLimitElement(), -1); 618 } 619 for (int i = 0; i < element.getSort().size(); i++) { 620 composeDataRequirementSortComponent(t, "DataRequirement", "sort", element.getSort().get(i), i); 621 } 622 } 623 624 protected void composeDataRequirementCodeFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementCodeFilterComponent 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 composeElement(t, "codeFilter", name, element, index); 634 if (element.hasPathElement()) { 635 composeString(t, "DataRequirementCodeFilterComponent", "path", element.getPathElement(), -1); 636 } 637 if (element.hasSearchParamElement()) { 638 composeString(t, "DataRequirementCodeFilterComponent", "searchParam", element.getSearchParamElement(), -1); 639 } 640 if (element.hasValueSetElement()) { 641 composeCanonical(t, "DataRequirementCodeFilterComponent", "valueSet", element.getValueSetElement(), -1); 642 } 643 for (int i = 0; i < element.getCode().size(); i++) { 644 composeCoding(t, "DataRequirementCodeFilterComponent", "code", element.getCode().get(i), i); 645 } 646 } 647 648 protected void composeDataRequirementDateFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementDateFilterComponent element, int index) { 649 if (element == null) 650 return; 651 Complex t; 652 if (Utilities.noString(parentType)) 653 t = parent; 654 else { 655 t = parent.predicate("fhir:"+parentType+'.'+name); 656 } 657 composeElement(t, "dateFilter", name, element, index); 658 if (element.hasPathElement()) { 659 composeString(t, "DataRequirementDateFilterComponent", "path", element.getPathElement(), -1); 660 } 661 if (element.hasSearchParamElement()) { 662 composeString(t, "DataRequirementDateFilterComponent", "searchParam", element.getSearchParamElement(), -1); 663 } 664 if (element.hasValue()) { 665 composeType(t, "DataRequirementDateFilterComponent", "value", element.getValue(), -1); 666 } 667 } 668 669 protected void composeDataRequirementValueFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementValueFilterComponent element, int index) { 670 if (element == null) 671 return; 672 Complex t; 673 if (Utilities.noString(parentType)) 674 t = parent; 675 else { 676 t = parent.predicate("fhir:"+parentType+'.'+name); 677 } 678 composeElement(t, "valueFilter", name, element, index); 679 if (element.hasPathElement()) { 680 composeString(t, "DataRequirementValueFilterComponent", "path", element.getPathElement(), -1); 681 } 682 if (element.hasSearchParamElement()) { 683 composeString(t, "DataRequirementValueFilterComponent", "searchParam", element.getSearchParamElement(), -1); 684 } 685 if (element.hasComparatorElement()) { 686 composeEnum(t, "DataRequirementValueFilterComponent", "comparator", element.getComparatorElement(), -1); 687 } 688 if (element.hasValue()) { 689 composeType(t, "DataRequirementValueFilterComponent", "value", element.getValue(), -1); 690 } 691 } 692 693 protected void composeDataRequirementSortComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementSortComponent element, int index) { 694 if (element == null) 695 return; 696 Complex t; 697 if (Utilities.noString(parentType)) 698 t = parent; 699 else { 700 t = parent.predicate("fhir:"+parentType+'.'+name); 701 } 702 composeElement(t, "sort", name, element, index); 703 if (element.hasPathElement()) { 704 composeString(t, "DataRequirementSortComponent", "path", element.getPathElement(), -1); 705 } 706 if (element.hasDirectionElement()) { 707 composeEnum(t, "DataRequirementSortComponent", "direction", element.getDirectionElement(), -1); 708 } 709 } 710 711 protected void composeDistance(Complex parent, String parentType, String name, Distance element, int index) { 712 if (element == null) 713 return; 714 Complex t; 715 if (Utilities.noString(parentType)) 716 t = parent; 717 else { 718 t = parent.predicate("fhir:"+parentType+'.'+name); 719 } 720 composeQuantity(t, "Distance", name, element, index); 721 } 722 723 protected void composeDosage(Complex parent, String parentType, String name, Dosage element, int index) { 724 if (element == null) 725 return; 726 Complex t; 727 if (Utilities.noString(parentType)) 728 t = parent; 729 else { 730 t = parent.predicate("fhir:"+parentType+'.'+name); 731 } 732 composeBackboneType(t, "Dosage", name, element, index); 733 if (element.hasSequenceElement()) { 734 composeInteger(t, "Dosage", "sequence", element.getSequenceElement(), -1); 735 } 736 if (element.hasTextElement()) { 737 composeString(t, "Dosage", "text", element.getTextElement(), -1); 738 } 739 for (int i = 0; i < element.getAdditionalInstruction().size(); i++) { 740 composeCodeableConcept(t, "Dosage", "additionalInstruction", element.getAdditionalInstruction().get(i), i); 741 } 742 if (element.hasPatientInstructionElement()) { 743 composeString(t, "Dosage", "patientInstruction", element.getPatientInstructionElement(), -1); 744 } 745 if (element.hasTiming()) { 746 composeTiming(t, "Dosage", "timing", element.getTiming(), -1); 747 } 748 if (element.hasAsNeededElement()) { 749 composeBoolean(t, "Dosage", "asNeeded", element.getAsNeededElement(), -1); 750 } 751 for (int i = 0; i < element.getAsNeededFor().size(); i++) { 752 composeCodeableConcept(t, "Dosage", "asNeededFor", element.getAsNeededFor().get(i), i); 753 } 754 if (element.hasSite()) { 755 composeCodeableConcept(t, "Dosage", "site", element.getSite(), -1); 756 } 757 if (element.hasRoute()) { 758 composeCodeableConcept(t, "Dosage", "route", element.getRoute(), -1); 759 } 760 if (element.hasMethod()) { 761 composeCodeableConcept(t, "Dosage", "method", element.getMethod(), -1); 762 } 763 for (int i = 0; i < element.getDoseAndRate().size(); i++) { 764 composeDosageDoseAndRateComponent(t, "Dosage", "doseAndRate", element.getDoseAndRate().get(i), i); 765 } 766 for (int i = 0; i < element.getMaxDosePerPeriod().size(); i++) { 767 composeRatio(t, "Dosage", "maxDosePerPeriod", element.getMaxDosePerPeriod().get(i), i); 768 } 769 if (element.hasMaxDosePerAdministration()) { 770 composeQuantity(t, "Dosage", "maxDosePerAdministration", element.getMaxDosePerAdministration(), -1); 771 } 772 if (element.hasMaxDosePerLifetime()) { 773 composeQuantity(t, "Dosage", "maxDosePerLifetime", element.getMaxDosePerLifetime(), -1); 774 } 775 } 776 777 protected void composeDosageDoseAndRateComponent(Complex parent, String parentType, String name, Dosage.DosageDoseAndRateComponent element, int index) { 778 if (element == null) 779 return; 780 Complex t; 781 if (Utilities.noString(parentType)) 782 t = parent; 783 else { 784 t = parent.predicate("fhir:"+parentType+'.'+name); 785 } 786 composeElement(t, "doseAndRate", name, element, index); 787 if (element.hasType()) { 788 composeCodeableConcept(t, "DosageDoseAndRateComponent", "type", element.getType(), -1); 789 } 790 if (element.hasDose()) { 791 composeType(t, "DosageDoseAndRateComponent", "dose", element.getDose(), -1); 792 } 793 if (element.hasRate()) { 794 composeType(t, "DosageDoseAndRateComponent", "rate", element.getRate(), -1); 795 } 796 } 797 798 protected void composeDuration(Complex parent, String parentType, String name, Duration element, int index) { 799 if (element == null) 800 return; 801 Complex t; 802 if (Utilities.noString(parentType)) 803 t = parent; 804 else { 805 t = parent.predicate("fhir:"+parentType+'.'+name); 806 } 807 composeQuantity(t, "Duration", name, element, index); 808 } 809 810 protected void composeElementDefinition(Complex parent, String parentType, String name, ElementDefinition element, int index) { 811 if (element == null) 812 return; 813 Complex t; 814 if (Utilities.noString(parentType)) 815 t = parent; 816 else { 817 t = parent.predicate("fhir:"+parentType+'.'+name); 818 } 819 composeBackboneType(t, "ElementDefinition", name, element, index); 820 if (element.hasPathElement()) { 821 composeString(t, "ElementDefinition", "path", element.getPathElement(), -1); 822 } 823 for (int i = 0; i < element.getRepresentation().size(); i++) { 824 composeEnum(t, "ElementDefinition", "representation", element.getRepresentation().get(i), i); 825 } 826 if (element.hasSliceNameElement()) { 827 composeString(t, "ElementDefinition", "sliceName", element.getSliceNameElement(), -1); 828 } 829 if (element.hasSliceIsConstrainingElement()) { 830 composeBoolean(t, "ElementDefinition", "sliceIsConstraining", element.getSliceIsConstrainingElement(), -1); 831 } 832 if (element.hasLabelElement()) { 833 composeString(t, "ElementDefinition", "label", element.getLabelElement(), -1); 834 } 835 for (int i = 0; i < element.getCode().size(); i++) { 836 composeCoding(t, "ElementDefinition", "code", element.getCode().get(i), i); 837 } 838 if (element.hasSlicing()) { 839 composeElementDefinitionSlicingComponent(t, "ElementDefinition", "slicing", element.getSlicing(), -1); 840 } 841 if (element.hasShortElement()) { 842 composeString(t, "ElementDefinition", "short", element.getShortElement(), -1); 843 } 844 if (element.hasDefinitionElement()) { 845 composeMarkdown(t, "ElementDefinition", "definition", element.getDefinitionElement(), -1); 846 } 847 if (element.hasCommentElement()) { 848 composeMarkdown(t, "ElementDefinition", "comment", element.getCommentElement(), -1); 849 } 850 if (element.hasRequirementsElement()) { 851 composeMarkdown(t, "ElementDefinition", "requirements", element.getRequirementsElement(), -1); 852 } 853 for (int i = 0; i < element.getAlias().size(); i++) { 854 composeString(t, "ElementDefinition", "alias", element.getAlias().get(i), i); 855 } 856 if (element.hasMinElement()) { 857 composeUnsignedInt(t, "ElementDefinition", "min", element.getMinElement(), -1); 858 } 859 if (element.hasMaxElement()) { 860 composeString(t, "ElementDefinition", "max", element.getMaxElement(), -1); 861 } 862 if (element.hasBase()) { 863 composeElementDefinitionBaseComponent(t, "ElementDefinition", "base", element.getBase(), -1); 864 } 865 if (element.hasContentReferenceElement()) { 866 composeUri(t, "ElementDefinition", "contentReference", element.getContentReferenceElement(), -1); 867 } 868 for (int i = 0; i < element.getType().size(); i++) { 869 composeElementDefinitionTypeRefComponent(t, "ElementDefinition", "type", element.getType().get(i), i); 870 } 871 if (element.hasDefaultValue()) { 872 composeType(t, "ElementDefinition", "defaultValue", element.getDefaultValue(), -1); 873 } 874 if (element.hasMeaningWhenMissingElement()) { 875 composeMarkdown(t, "ElementDefinition", "meaningWhenMissing", element.getMeaningWhenMissingElement(), -1); 876 } 877 if (element.hasOrderMeaningElement()) { 878 composeString(t, "ElementDefinition", "orderMeaning", element.getOrderMeaningElement(), -1); 879 } 880 if (element.hasFixed()) { 881 composeType(t, "ElementDefinition", "fixed", element.getFixed(), -1); 882 } 883 if (element.hasPattern()) { 884 composeType(t, "ElementDefinition", "pattern", element.getPattern(), -1); 885 } 886 for (int i = 0; i < element.getExample().size(); i++) { 887 composeElementDefinitionExampleComponent(t, "ElementDefinition", "example", element.getExample().get(i), i); 888 } 889 if (element.hasMinValue()) { 890 composeType(t, "ElementDefinition", "minValue", element.getMinValue(), -1); 891 } 892 if (element.hasMaxValue()) { 893 composeType(t, "ElementDefinition", "maxValue", element.getMaxValue(), -1); 894 } 895 if (element.hasMaxLengthElement()) { 896 composeInteger(t, "ElementDefinition", "maxLength", element.getMaxLengthElement(), -1); 897 } 898 for (int i = 0; i < element.getCondition().size(); i++) { 899 composeId(t, "ElementDefinition", "condition", element.getCondition().get(i), i); 900 } 901 for (int i = 0; i < element.getConstraint().size(); i++) { 902 composeElementDefinitionConstraintComponent(t, "ElementDefinition", "constraint", element.getConstraint().get(i), i); 903 } 904 if (element.hasMustHaveValueElement()) { 905 composeBoolean(t, "ElementDefinition", "mustHaveValue", element.getMustHaveValueElement(), -1); 906 } 907 for (int i = 0; i < element.getValueAlternatives().size(); i++) { 908 composeCanonical(t, "ElementDefinition", "valueAlternatives", element.getValueAlternatives().get(i), i); 909 } 910 if (element.hasMustSupportElement()) { 911 composeBoolean(t, "ElementDefinition", "mustSupport", element.getMustSupportElement(), -1); 912 } 913 for (int i = 0; i < element.getObligation().size(); i++) { 914 composeElementDefinitionObligationComponent(t, "ElementDefinition", "obligation", element.getObligation().get(i), i); 915 } 916 if (element.hasIsModifierElement()) { 917 composeBoolean(t, "ElementDefinition", "isModifier", element.getIsModifierElement(), -1); 918 } 919 if (element.hasIsModifierReasonElement()) { 920 composeString(t, "ElementDefinition", "isModifierReason", element.getIsModifierReasonElement(), -1); 921 } 922 if (element.hasIsSummaryElement()) { 923 composeBoolean(t, "ElementDefinition", "isSummary", element.getIsSummaryElement(), -1); 924 } 925 if (element.hasBinding()) { 926 composeElementDefinitionBindingComponent(t, "ElementDefinition", "binding", element.getBinding(), -1); 927 } 928 for (int i = 0; i < element.getMapping().size(); i++) { 929 composeElementDefinitionMappingComponent(t, "ElementDefinition", "mapping", element.getMapping().get(i), i); 930 } 931 } 932 933 protected void composeElementDefinitionSlicingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingComponent element, int index) { 934 if (element == null) 935 return; 936 Complex t; 937 if (Utilities.noString(parentType)) 938 t = parent; 939 else { 940 t = parent.predicate("fhir:"+parentType+'.'+name); 941 } 942 composeElement(t, "slicing", name, element, index); 943 for (int i = 0; i < element.getDiscriminator().size(); i++) { 944 composeElementDefinitionSlicingDiscriminatorComponent(t, "ElementDefinitionSlicingComponent", "discriminator", element.getDiscriminator().get(i), i); 945 } 946 if (element.hasDescriptionElement()) { 947 composeString(t, "ElementDefinitionSlicingComponent", "description", element.getDescriptionElement(), -1); 948 } 949 if (element.hasOrderedElement()) { 950 composeBoolean(t, "ElementDefinitionSlicingComponent", "ordered", element.getOrderedElement(), -1); 951 } 952 if (element.hasRulesElement()) { 953 composeEnum(t, "ElementDefinitionSlicingComponent", "rules", element.getRulesElement(), -1); 954 } 955 } 956 957 protected void composeElementDefinitionSlicingDiscriminatorComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent element, int index) { 958 if (element == null) 959 return; 960 Complex t; 961 if (Utilities.noString(parentType)) 962 t = parent; 963 else { 964 t = parent.predicate("fhir:"+parentType+'.'+name); 965 } 966 composeElement(t, "discriminator", name, element, index); 967 if (element.hasTypeElement()) { 968 composeEnum(t, "ElementDefinitionSlicingDiscriminatorComponent", "type", element.getTypeElement(), -1); 969 } 970 if (element.hasPathElement()) { 971 composeString(t, "ElementDefinitionSlicingDiscriminatorComponent", "path", element.getPathElement(), -1); 972 } 973 } 974 975 protected void composeElementDefinitionBaseComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBaseComponent 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, "base", name, element, index); 985 if (element.hasPathElement()) { 986 composeString(t, "ElementDefinitionBaseComponent", "path", element.getPathElement(), -1); 987 } 988 if (element.hasMinElement()) { 989 composeUnsignedInt(t, "ElementDefinitionBaseComponent", "min", element.getMinElement(), -1); 990 } 991 if (element.hasMaxElement()) { 992 composeString(t, "ElementDefinitionBaseComponent", "max", element.getMaxElement(), -1); 993 } 994 } 995 996 protected void composeElementDefinitionTypeRefComponent(Complex parent, String parentType, String name, ElementDefinition.TypeRefComponent 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, "type", name, element, index); 1006 if (element.hasCodeElement()) { 1007 composeUri(t, "TypeRefComponent", "code", element.getCodeElement(), -1); 1008 } 1009 for (int i = 0; i < element.getProfile().size(); i++) { 1010 composeCanonical(t, "TypeRefComponent", "profile", element.getProfile().get(i), i); 1011 } 1012 for (int i = 0; i < element.getTargetProfile().size(); i++) { 1013 composeCanonical(t, "TypeRefComponent", "targetProfile", element.getTargetProfile().get(i), i); 1014 } 1015 for (int i = 0; i < element.getAggregation().size(); i++) { 1016 composeEnum(t, "TypeRefComponent", "aggregation", element.getAggregation().get(i), i); 1017 } 1018 if (element.hasVersioningElement()) { 1019 composeEnum(t, "TypeRefComponent", "versioning", element.getVersioningElement(), -1); 1020 } 1021 } 1022 1023 protected void composeElementDefinitionExampleComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionExampleComponent element, int index) { 1024 if (element == null) 1025 return; 1026 Complex t; 1027 if (Utilities.noString(parentType)) 1028 t = parent; 1029 else { 1030 t = parent.predicate("fhir:"+parentType+'.'+name); 1031 } 1032 composeElement(t, "example", name, element, index); 1033 if (element.hasLabelElement()) { 1034 composeString(t, "ElementDefinitionExampleComponent", "label", element.getLabelElement(), -1); 1035 } 1036 if (element.hasValue()) { 1037 composeType(t, "ElementDefinitionExampleComponent", "value", element.getValue(), -1); 1038 } 1039 } 1040 1041 protected void composeElementDefinitionConstraintComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionConstraintComponent element, int index) { 1042 if (element == null) 1043 return; 1044 Complex t; 1045 if (Utilities.noString(parentType)) 1046 t = parent; 1047 else { 1048 t = parent.predicate("fhir:"+parentType+'.'+name); 1049 } 1050 composeElement(t, "constraint", name, element, index); 1051 if (element.hasKeyElement()) { 1052 composeId(t, "ElementDefinitionConstraintComponent", "key", element.getKeyElement(), -1); 1053 } 1054 if (element.hasRequirementsElement()) { 1055 composeMarkdown(t, "ElementDefinitionConstraintComponent", "requirements", element.getRequirementsElement(), -1); 1056 } 1057 if (element.hasSeverityElement()) { 1058 composeEnum(t, "ElementDefinitionConstraintComponent", "severity", element.getSeverityElement(), -1); 1059 } 1060 if (element.hasSuppressElement()) { 1061 composeBoolean(t, "ElementDefinitionConstraintComponent", "suppress", element.getSuppressElement(), -1); 1062 } 1063 if (element.hasHumanElement()) { 1064 composeString(t, "ElementDefinitionConstraintComponent", "human", element.getHumanElement(), -1); 1065 } 1066 if (element.hasExpressionElement()) { 1067 composeString(t, "ElementDefinitionConstraintComponent", "expression", element.getExpressionElement(), -1); 1068 } 1069 if (element.hasSourceElement()) { 1070 composeCanonical(t, "ElementDefinitionConstraintComponent", "source", element.getSourceElement(), -1); 1071 } 1072 } 1073 1074 protected void composeElementDefinitionObligationComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionObligationComponent element, int index) { 1075 if (element == null) 1076 return; 1077 Complex t; 1078 if (Utilities.noString(parentType)) 1079 t = parent; 1080 else { 1081 t = parent.predicate("fhir:"+parentType+'.'+name); 1082 } 1083 composeElement(t, "obligation", name, element, index); 1084 if (element.hasCode()) { 1085 composeCoding(t, "ElementDefinitionObligationComponent", "code", element.getCode(), -1); 1086 } 1087 for (int i = 0; i < element.getActor().size(); i++) { 1088 composeCanonical(t, "ElementDefinitionObligationComponent", "actor", element.getActor().get(i), i); 1089 } 1090 if (element.hasDocumentationElement()) { 1091 composeMarkdown(t, "ElementDefinitionObligationComponent", "documentation", element.getDocumentationElement(), -1); 1092 } 1093 for (int i = 0; i < element.getUsage().size(); i++) { 1094 composeUsageContext(t, "ElementDefinitionObligationComponent", "usage", element.getUsage().get(i), i); 1095 } 1096 if (element.hasFilterElement()) { 1097 composeString(t, "ElementDefinitionObligationComponent", "filter", element.getFilterElement(), -1); 1098 } 1099 if (element.hasFilterDocumentationElement()) { 1100 composeString(t, "ElementDefinitionObligationComponent", "filterDocumentation", element.getFilterDocumentationElement(), -1); 1101 } 1102 for (int i = 0; i < element.getProcess().size(); i++) { 1103 composeUri(t, "ElementDefinitionObligationComponent", "process", element.getProcess().get(i), i); 1104 } 1105 } 1106 1107 protected void composeElementDefinitionBindingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBindingComponent element, int index) { 1108 if (element == null) 1109 return; 1110 Complex t; 1111 if (Utilities.noString(parentType)) 1112 t = parent; 1113 else { 1114 t = parent.predicate("fhir:"+parentType+'.'+name); 1115 } 1116 composeElement(t, "binding", name, element, index); 1117 if (element.hasStrengthElement()) { 1118 composeEnum(t, "ElementDefinitionBindingComponent", "strength", element.getStrengthElement(), -1); 1119 } 1120 if (element.hasDescriptionElement()) { 1121 composeMarkdown(t, "ElementDefinitionBindingComponent", "description", element.getDescriptionElement(), -1); 1122 } 1123 if (element.hasValueSetElement()) { 1124 composeCanonical(t, "ElementDefinitionBindingComponent", "valueSet", element.getValueSetElement(), -1); 1125 } 1126 for (int i = 0; i < element.getAdditional().size(); i++) { 1127 composeElementDefinitionBindingAdditionalComponent(t, "ElementDefinitionBindingComponent", "additional", element.getAdditional().get(i), i); 1128 } 1129 } 1130 1131 protected void composeElementDefinitionBindingAdditionalComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionBindingAdditionalComponent element, int index) { 1132 if (element == null) 1133 return; 1134 Complex t; 1135 if (Utilities.noString(parentType)) 1136 t = parent; 1137 else { 1138 t = parent.predicate("fhir:"+parentType+'.'+name); 1139 } 1140 composeElement(t, "additional", name, element, index); 1141 if (element.hasPurposeElement()) { 1142 composeEnum(t, "ElementDefinitionBindingAdditionalComponent", "purpose", element.getPurposeElement(), -1); 1143 } 1144 if (element.hasValueSetElement()) { 1145 composeCanonical(t, "ElementDefinitionBindingAdditionalComponent", "valueSet", element.getValueSetElement(), -1); 1146 } 1147 if (element.hasDocumentationElement()) { 1148 composeMarkdown(t, "ElementDefinitionBindingAdditionalComponent", "documentation", element.getDocumentationElement(), -1); 1149 } 1150 if (element.hasShortDocoElement()) { 1151 composeString(t, "ElementDefinitionBindingAdditionalComponent", "shortDoco", element.getShortDocoElement(), -1); 1152 } 1153 for (int i = 0; i < element.getUsage().size(); i++) { 1154 composeUsageContext(t, "ElementDefinitionBindingAdditionalComponent", "usage", element.getUsage().get(i), i); 1155 } 1156 if (element.hasAnyElement()) { 1157 composeBoolean(t, "ElementDefinitionBindingAdditionalComponent", "any", element.getAnyElement(), -1); 1158 } 1159 } 1160 1161 protected void composeElementDefinitionMappingComponent(Complex parent, String parentType, String name, ElementDefinition.ElementDefinitionMappingComponent element, int index) { 1162 if (element == null) 1163 return; 1164 Complex t; 1165 if (Utilities.noString(parentType)) 1166 t = parent; 1167 else { 1168 t = parent.predicate("fhir:"+parentType+'.'+name); 1169 } 1170 composeElement(t, "mapping", name, element, index); 1171 if (element.hasIdentityElement()) { 1172 composeId(t, "ElementDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 1173 } 1174 if (element.hasLanguageElement()) { 1175 composeCode(t, "ElementDefinitionMappingComponent", "language", element.getLanguageElement(), -1); 1176 } 1177 if (element.hasMapElement()) { 1178 composeString(t, "ElementDefinitionMappingComponent", "map", element.getMapElement(), -1); 1179 } 1180 if (element.hasCommentElement()) { 1181 composeMarkdown(t, "ElementDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 1182 } 1183 } 1184 1185 protected void composeExpression(Complex parent, String parentType, String name, Expression 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, "Expression", name, element, index); 1195 if (element.hasDescriptionElement()) { 1196 composeString(t, "Expression", "description", element.getDescriptionElement(), -1); 1197 } 1198 if (element.hasNameElement()) { 1199 composeId(t, "Expression", "name", element.getNameElement(), -1); 1200 } 1201 if (element.hasLanguageElement()) { 1202 composeCode(t, "Expression", "language", element.getLanguageElement(), -1); 1203 } 1204 if (element.hasExpressionElement()) { 1205 composeString(t, "Expression", "expression", element.getExpressionElement(), -1); 1206 } 1207 if (element.hasReferenceElement()) { 1208 composeUri(t, "Expression", "reference", element.getReferenceElement(), -1); 1209 } 1210 } 1211 1212 protected void composeExtendedContactDetail(Complex parent, String parentType, String name, ExtendedContactDetail element, int index) { 1213 if (element == null) 1214 return; 1215 Complex t; 1216 if (Utilities.noString(parentType)) 1217 t = parent; 1218 else { 1219 t = parent.predicate("fhir:"+parentType+'.'+name); 1220 } 1221 composeDataType(t, "ExtendedContactDetail", name, element, index); 1222 if (element.hasPurpose()) { 1223 composeCodeableConcept(t, "ExtendedContactDetail", "purpose", element.getPurpose(), -1); 1224 } 1225 for (int i = 0; i < element.getName().size(); i++) { 1226 composeHumanName(t, "ExtendedContactDetail", "name", element.getName().get(i), i); 1227 } 1228 for (int i = 0; i < element.getTelecom().size(); i++) { 1229 composeContactPoint(t, "ExtendedContactDetail", "telecom", element.getTelecom().get(i), i); 1230 } 1231 if (element.hasAddress()) { 1232 composeAddress(t, "ExtendedContactDetail", "address", element.getAddress(), -1); 1233 } 1234 if (element.hasOrganization()) { 1235 composeReference(t, "ExtendedContactDetail", "organization", element.getOrganization(), -1); 1236 } 1237 if (element.hasPeriod()) { 1238 composePeriod(t, "ExtendedContactDetail", "period", element.getPeriod(), -1); 1239 } 1240 } 1241 1242 protected void composeExtension(Complex parent, String parentType, String name, Extension element, int index) { 1243 if (element == null) 1244 return; 1245 Complex t; 1246 if (Utilities.noString(parentType)) 1247 t = parent; 1248 else { 1249 t = parent.predicate("fhir:"+parentType+'.'+name); 1250 } 1251 composeDataType(t, "Extension", name, element, index); 1252 if (element.hasUrlElement()) { 1253 composeUri(t, "Extension", "url", element.getUrlElement(), -1); 1254 } 1255 if (element.hasValue()) { 1256 composeType(t, "Extension", "value", element.getValue(), -1); 1257 } 1258 } 1259 1260 protected void composeHumanName(Complex parent, String parentType, String name, HumanName element, int index) { 1261 if (element == null) 1262 return; 1263 Complex t; 1264 if (Utilities.noString(parentType)) 1265 t = parent; 1266 else { 1267 t = parent.predicate("fhir:"+parentType+'.'+name); 1268 } 1269 composeDataType(t, "HumanName", name, element, index); 1270 if (element.hasUseElement()) { 1271 composeEnum(t, "HumanName", "use", element.getUseElement(), -1); 1272 } 1273 if (element.hasTextElement()) { 1274 composeString(t, "HumanName", "text", element.getTextElement(), -1); 1275 } 1276 if (element.hasFamilyElement()) { 1277 composeString(t, "HumanName", "family", element.getFamilyElement(), -1); 1278 } 1279 for (int i = 0; i < element.getGiven().size(); i++) { 1280 composeString(t, "HumanName", "given", element.getGiven().get(i), i); 1281 } 1282 for (int i = 0; i < element.getPrefix().size(); i++) { 1283 composeString(t, "HumanName", "prefix", element.getPrefix().get(i), i); 1284 } 1285 for (int i = 0; i < element.getSuffix().size(); i++) { 1286 composeString(t, "HumanName", "suffix", element.getSuffix().get(i), i); 1287 } 1288 if (element.hasPeriod()) { 1289 composePeriod(t, "HumanName", "period", element.getPeriod(), -1); 1290 } 1291 } 1292 1293 protected void composeIdentifier(Complex parent, String parentType, String name, Identifier element, int index) { 1294 if (element == null) 1295 return; 1296 Complex t; 1297 if (Utilities.noString(parentType)) 1298 t = parent; 1299 else { 1300 t = parent.predicate("fhir:"+parentType+'.'+name); 1301 } 1302 composeDataType(t, "Identifier", name, element, index); 1303 if (element.hasUseElement()) { 1304 composeEnum(t, "Identifier", "use", element.getUseElement(), -1); 1305 } 1306 if (element.hasType()) { 1307 composeCodeableConcept(t, "Identifier", "type", element.getType(), -1); 1308 } 1309 if (element.hasSystemElement()) { 1310 composeUri(t, "Identifier", "system", element.getSystemElement(), -1); 1311 } 1312 if (element.hasValueElement()) { 1313 composeString(t, "Identifier", "value", element.getValueElement(), -1); 1314 } 1315 if (element.hasPeriod()) { 1316 composePeriod(t, "Identifier", "period", element.getPeriod(), -1); 1317 } 1318 if (element.hasAssigner()) { 1319 composeReference(t, "Identifier", "assigner", element.getAssigner(), -1); 1320 } 1321 } 1322 1323 protected void composeMarketingStatus(Complex parent, String parentType, String name, MarketingStatus element, int index) { 1324 if (element == null) 1325 return; 1326 Complex t; 1327 if (Utilities.noString(parentType)) 1328 t = parent; 1329 else { 1330 t = parent.predicate("fhir:"+parentType+'.'+name); 1331 } 1332 composeBackboneType(t, "MarketingStatus", name, element, index); 1333 if (element.hasCountry()) { 1334 composeCodeableConcept(t, "MarketingStatus", "country", element.getCountry(), -1); 1335 } 1336 if (element.hasJurisdiction()) { 1337 composeCodeableConcept(t, "MarketingStatus", "jurisdiction", element.getJurisdiction(), -1); 1338 } 1339 if (element.hasStatus()) { 1340 composeCodeableConcept(t, "MarketingStatus", "status", element.getStatus(), -1); 1341 } 1342 if (element.hasDateRange()) { 1343 composePeriod(t, "MarketingStatus", "dateRange", element.getDateRange(), -1); 1344 } 1345 if (element.hasRestoreDateElement()) { 1346 composeDateTime(t, "MarketingStatus", "restoreDate", element.getRestoreDateElement(), -1); 1347 } 1348 } 1349 1350 protected void composeMeta(Complex parent, String parentType, String name, Meta element, int index) { 1351 if (element == null) 1352 return; 1353 Complex t; 1354 if (Utilities.noString(parentType)) 1355 t = parent; 1356 else { 1357 t = parent.predicate("fhir:"+parentType+'.'+name); 1358 } 1359 composeDataType(t, "Meta", name, element, index); 1360 if (element.hasVersionIdElement()) { 1361 composeId(t, "Meta", "versionId", element.getVersionIdElement(), -1); 1362 } 1363 if (element.hasLastUpdatedElement()) { 1364 composeInstant(t, "Meta", "lastUpdated", element.getLastUpdatedElement(), -1); 1365 } 1366 if (element.hasSourceElement()) { 1367 composeUri(t, "Meta", "source", element.getSourceElement(), -1); 1368 } 1369 for (int i = 0; i < element.getProfile().size(); i++) { 1370 composeCanonical(t, "Meta", "profile", element.getProfile().get(i), i); 1371 } 1372 for (int i = 0; i < element.getSecurity().size(); i++) { 1373 composeCoding(t, "Meta", "security", element.getSecurity().get(i), i); 1374 } 1375 for (int i = 0; i < element.getTag().size(); i++) { 1376 composeCoding(t, "Meta", "tag", element.getTag().get(i), i); 1377 } 1378 } 1379 1380 protected void composeMonetaryComponent(Complex parent, String parentType, String name, MonetaryComponent element, int index) { 1381 if (element == null) 1382 return; 1383 Complex t; 1384 if (Utilities.noString(parentType)) 1385 t = parent; 1386 else { 1387 t = parent.predicate("fhir:"+parentType+'.'+name); 1388 } 1389 composeDataType(t, "MonetaryComponent", name, element, index); 1390 if (element.hasTypeElement()) { 1391 composeEnum(t, "MonetaryComponent", "type", element.getTypeElement(), -1); 1392 } 1393 if (element.hasCode()) { 1394 composeCodeableConcept(t, "MonetaryComponent", "code", element.getCode(), -1); 1395 } 1396 if (element.hasFactorElement()) { 1397 composeDecimal(t, "MonetaryComponent", "factor", element.getFactorElement(), -1); 1398 } 1399 if (element.hasAmount()) { 1400 composeMoney(t, "MonetaryComponent", "amount", element.getAmount(), -1); 1401 } 1402 } 1403 1404 protected void composeMoney(Complex parent, String parentType, String name, Money element, int index) { 1405 if (element == null) 1406 return; 1407 Complex t; 1408 if (Utilities.noString(parentType)) 1409 t = parent; 1410 else { 1411 t = parent.predicate("fhir:"+parentType+'.'+name); 1412 } 1413 composeDataType(t, "Money", name, element, index); 1414 if (element.hasValueElement()) { 1415 composeDecimal(t, "Money", "value", element.getValueElement(), -1); 1416 } 1417 if (element.hasCurrencyElement()) { 1418 composeCode(t, "Money", "currency", element.getCurrencyElement(), -1); 1419 } 1420 } 1421 1422 protected void composeNarrative(Complex parent, String parentType, String name, Narrative element, int index) { 1423 if (element == null) 1424 return; 1425 Complex t; 1426 if (Utilities.noString(parentType)) 1427 t = parent; 1428 else { 1429 t = parent.predicate("fhir:"+parentType+'.'+name); 1430 } 1431 composeDataType(t, "Narrative", name, element, index); 1432 if (element.hasStatusElement()) { 1433 composeEnum(t, "Narrative", "status", element.getStatusElement(), -1); 1434 } 1435 if (element.hasDiv()) { 1436 composeXhtmlNode(t, "Narrative", "div", element.getDiv(), -1); 1437 } 1438 } 1439 1440 protected void composeParameterDefinition(Complex parent, String parentType, String name, ParameterDefinition element, int index) { 1441 if (element == null) 1442 return; 1443 Complex t; 1444 if (Utilities.noString(parentType)) 1445 t = parent; 1446 else { 1447 t = parent.predicate("fhir:"+parentType+'.'+name); 1448 } 1449 composeDataType(t, "ParameterDefinition", name, element, index); 1450 if (element.hasNameElement()) { 1451 composeCode(t, "ParameterDefinition", "name", element.getNameElement(), -1); 1452 } 1453 if (element.hasUseElement()) { 1454 composeEnum(t, "ParameterDefinition", "use", element.getUseElement(), -1); 1455 } 1456 if (element.hasMinElement()) { 1457 composeInteger(t, "ParameterDefinition", "min", element.getMinElement(), -1); 1458 } 1459 if (element.hasMaxElement()) { 1460 composeString(t, "ParameterDefinition", "max", element.getMaxElement(), -1); 1461 } 1462 if (element.hasDocumentationElement()) { 1463 composeString(t, "ParameterDefinition", "documentation", element.getDocumentationElement(), -1); 1464 } 1465 if (element.hasTypeElement()) { 1466 composeEnum(t, "ParameterDefinition", "type", element.getTypeElement(), -1); 1467 } 1468 if (element.hasProfileElement()) { 1469 composeCanonical(t, "ParameterDefinition", "profile", element.getProfileElement(), -1); 1470 } 1471 } 1472 1473 protected void composePeriod(Complex parent, String parentType, String name, Period element, int index) { 1474 if (element == null) 1475 return; 1476 Complex t; 1477 if (Utilities.noString(parentType)) 1478 t = parent; 1479 else { 1480 t = parent.predicate("fhir:"+parentType+'.'+name); 1481 } 1482 composeDataType(t, "Period", name, element, index); 1483 if (element.hasStartElement()) { 1484 composeDateTime(t, "Period", "start", element.getStartElement(), -1); 1485 } 1486 if (element.hasEndElement()) { 1487 composeDateTime(t, "Period", "end", element.getEndElement(), -1); 1488 } 1489 } 1490 1491 protected void composePopulation(Complex parent, String parentType, String name, Population element, int index) { 1492 if (element == null) 1493 return; 1494 Complex t; 1495 if (Utilities.noString(parentType)) 1496 t = parent; 1497 else { 1498 t = parent.predicate("fhir:"+parentType+'.'+name); 1499 } 1500 composeBackboneType(t, "Population", name, element, index); 1501 if (element.hasAge()) { 1502 composeType(t, "Population", "age", element.getAge(), -1); 1503 } 1504 if (element.hasGender()) { 1505 composeCodeableConcept(t, "Population", "gender", element.getGender(), -1); 1506 } 1507 if (element.hasRace()) { 1508 composeCodeableConcept(t, "Population", "race", element.getRace(), -1); 1509 } 1510 if (element.hasPhysiologicalCondition()) { 1511 composeCodeableConcept(t, "Population", "physiologicalCondition", element.getPhysiologicalCondition(), -1); 1512 } 1513 } 1514 1515 protected void composeProductShelfLife(Complex parent, String parentType, String name, ProductShelfLife element, int index) { 1516 if (element == null) 1517 return; 1518 Complex t; 1519 if (Utilities.noString(parentType)) 1520 t = parent; 1521 else { 1522 t = parent.predicate("fhir:"+parentType+'.'+name); 1523 } 1524 composeBackboneType(t, "ProductShelfLife", name, element, index); 1525 if (element.hasType()) { 1526 composeCodeableConcept(t, "ProductShelfLife", "type", element.getType(), -1); 1527 } 1528 if (element.hasPeriod()) { 1529 composeType(t, "ProductShelfLife", "period", element.getPeriod(), -1); 1530 } 1531 for (int i = 0; i < element.getSpecialPrecautionsForStorage().size(); i++) { 1532 composeCodeableConcept(t, "ProductShelfLife", "specialPrecautionsForStorage", element.getSpecialPrecautionsForStorage().get(i), i); 1533 } 1534 } 1535 1536 protected void composeQuantity(Complex parent, String parentType, String name, Quantity element, int index) { 1537 if (element == null) 1538 return; 1539 Complex t; 1540 if (Utilities.noString(parentType)) 1541 t = parent; 1542 else { 1543 t = parent.predicate("fhir:"+parentType+'.'+name); 1544 } 1545 composeDataType(t, "Quantity", name, element, index); 1546 if (element.hasValueElement()) { 1547 composeDecimal(t, "Quantity", "value", element.getValueElement(), -1); 1548 } 1549 if (element.hasComparatorElement()) { 1550 composeEnum(t, "Quantity", "comparator", element.getComparatorElement(), -1); 1551 } 1552 if (element.hasUnitElement()) { 1553 composeString(t, "Quantity", "unit", element.getUnitElement(), -1); 1554 } 1555 if (element.hasSystemElement()) { 1556 composeUri(t, "Quantity", "system", element.getSystemElement(), -1); 1557 } 1558 if (element.hasCodeElement()) { 1559 composeCode(t, "Quantity", "code", element.getCodeElement(), -1); 1560 } 1561 } 1562 1563 protected void composeRange(Complex parent, String parentType, String name, Range element, int index) { 1564 if (element == null) 1565 return; 1566 Complex t; 1567 if (Utilities.noString(parentType)) 1568 t = parent; 1569 else { 1570 t = parent.predicate("fhir:"+parentType+'.'+name); 1571 } 1572 composeDataType(t, "Range", name, element, index); 1573 if (element.hasLow()) { 1574 composeQuantity(t, "Range", "low", element.getLow(), -1); 1575 } 1576 if (element.hasHigh()) { 1577 composeQuantity(t, "Range", "high", element.getHigh(), -1); 1578 } 1579 } 1580 1581 protected void composeRatio(Complex parent, String parentType, String name, Ratio element, int index) { 1582 if (element == null) 1583 return; 1584 Complex t; 1585 if (Utilities.noString(parentType)) 1586 t = parent; 1587 else { 1588 t = parent.predicate("fhir:"+parentType+'.'+name); 1589 } 1590 composeDataType(t, "Ratio", name, element, index); 1591 if (element.hasNumerator()) { 1592 composeQuantity(t, "Ratio", "numerator", element.getNumerator(), -1); 1593 } 1594 if (element.hasDenominator()) { 1595 composeQuantity(t, "Ratio", "denominator", element.getDenominator(), -1); 1596 } 1597 } 1598 1599 protected void composeRatioRange(Complex parent, String parentType, String name, RatioRange element, int index) { 1600 if (element == null) 1601 return; 1602 Complex t; 1603 if (Utilities.noString(parentType)) 1604 t = parent; 1605 else { 1606 t = parent.predicate("fhir:"+parentType+'.'+name); 1607 } 1608 composeDataType(t, "RatioRange", name, element, index); 1609 if (element.hasLowNumerator()) { 1610 composeQuantity(t, "RatioRange", "lowNumerator", element.getLowNumerator(), -1); 1611 } 1612 if (element.hasHighNumerator()) { 1613 composeQuantity(t, "RatioRange", "highNumerator", element.getHighNumerator(), -1); 1614 } 1615 if (element.hasDenominator()) { 1616 composeQuantity(t, "RatioRange", "denominator", element.getDenominator(), -1); 1617 } 1618 } 1619 1620 protected void composeReference(Complex parent, String parentType, String name, Reference element, int index) { 1621 if (element == null) 1622 return; 1623 Complex t; 1624 if (Utilities.noString(parentType)) 1625 t = parent; 1626 else { 1627 t = parent.predicate("fhir:"+parentType+'.'+name); 1628 } 1629 composeDataType(t, "Reference", name, element, index); 1630 if (element.hasReferenceElement()) { 1631 composeString(t, "Reference", "reference", element.getReferenceElement_(), -1); 1632 } 1633 if (element.hasTypeElement()) { 1634 composeUri(t, "Reference", "type", element.getTypeElement(), -1); 1635 } 1636 if (element.hasIdentifier()) { 1637 composeIdentifier(t, "Reference", "identifier", element.getIdentifier(), -1); 1638 } 1639 if (element.hasDisplayElement()) { 1640 composeString(t, "Reference", "display", element.getDisplayElement(), -1); 1641 } 1642 } 1643 1644 protected void composeRelatedArtifact(Complex parent, String parentType, String name, RelatedArtifact element, int index) { 1645 if (element == null) 1646 return; 1647 Complex t; 1648 if (Utilities.noString(parentType)) 1649 t = parent; 1650 else { 1651 t = parent.predicate("fhir:"+parentType+'.'+name); 1652 } 1653 composeDataType(t, "RelatedArtifact", name, element, index); 1654 if (element.hasTypeElement()) { 1655 composeEnum(t, "RelatedArtifact", "type", element.getTypeElement(), -1); 1656 } 1657 for (int i = 0; i < element.getClassifier().size(); i++) { 1658 composeCodeableConcept(t, "RelatedArtifact", "classifier", element.getClassifier().get(i), i); 1659 } 1660 if (element.hasLabelElement()) { 1661 composeString(t, "RelatedArtifact", "label", element.getLabelElement(), -1); 1662 } 1663 if (element.hasDisplayElement()) { 1664 composeString(t, "RelatedArtifact", "display", element.getDisplayElement(), -1); 1665 } 1666 if (element.hasCitationElement()) { 1667 composeMarkdown(t, "RelatedArtifact", "citation", element.getCitationElement(), -1); 1668 } 1669 if (element.hasDocument()) { 1670 composeAttachment(t, "RelatedArtifact", "document", element.getDocument(), -1); 1671 } 1672 if (element.hasResourceElement()) { 1673 composeCanonical(t, "RelatedArtifact", "resource", element.getResourceElement(), -1); 1674 } 1675 if (element.hasResourceReference()) { 1676 composeReference(t, "RelatedArtifact", "resourceReference", element.getResourceReference(), -1); 1677 } 1678 if (element.hasPublicationStatusElement()) { 1679 composeEnum(t, "RelatedArtifact", "publicationStatus", element.getPublicationStatusElement(), -1); 1680 } 1681 if (element.hasPublicationDateElement()) { 1682 composeDate(t, "RelatedArtifact", "publicationDate", element.getPublicationDateElement(), -1); 1683 } 1684 } 1685 1686 protected void composeSampledData(Complex parent, String parentType, String name, SampledData element, int index) { 1687 if (element == null) 1688 return; 1689 Complex t; 1690 if (Utilities.noString(parentType)) 1691 t = parent; 1692 else { 1693 t = parent.predicate("fhir:"+parentType+'.'+name); 1694 } 1695 composeDataType(t, "SampledData", name, element, index); 1696 if (element.hasOrigin()) { 1697 composeQuantity(t, "SampledData", "origin", element.getOrigin(), -1); 1698 } 1699 if (element.hasIntervalElement()) { 1700 composeDecimal(t, "SampledData", "interval", element.getIntervalElement(), -1); 1701 } 1702 if (element.hasIntervalUnitElement()) { 1703 composeCode(t, "SampledData", "intervalUnit", element.getIntervalUnitElement(), -1); 1704 } 1705 if (element.hasFactorElement()) { 1706 composeDecimal(t, "SampledData", "factor", element.getFactorElement(), -1); 1707 } 1708 if (element.hasLowerLimitElement()) { 1709 composeDecimal(t, "SampledData", "lowerLimit", element.getLowerLimitElement(), -1); 1710 } 1711 if (element.hasUpperLimitElement()) { 1712 composeDecimal(t, "SampledData", "upperLimit", element.getUpperLimitElement(), -1); 1713 } 1714 if (element.hasDimensionsElement()) { 1715 composePositiveInt(t, "SampledData", "dimensions", element.getDimensionsElement(), -1); 1716 } 1717 if (element.hasDataElement()) { 1718 composeString(t, "SampledData", "data", element.getDataElement(), -1); 1719 } 1720 } 1721 1722 protected void composeSignature(Complex parent, String parentType, String name, Signature element, int index) { 1723 if (element == null) 1724 return; 1725 Complex t; 1726 if (Utilities.noString(parentType)) 1727 t = parent; 1728 else { 1729 t = parent.predicate("fhir:"+parentType+'.'+name); 1730 } 1731 composeDataType(t, "Signature", name, element, index); 1732 for (int i = 0; i < element.getType().size(); i++) { 1733 composeCoding(t, "Signature", "type", element.getType().get(i), i); 1734 } 1735 if (element.hasWhenElement()) { 1736 composeInstant(t, "Signature", "when", element.getWhenElement(), -1); 1737 } 1738 if (element.hasWho()) { 1739 composeReference(t, "Signature", "who", element.getWho(), -1); 1740 } 1741 if (element.hasOnBehalfOf()) { 1742 composeReference(t, "Signature", "onBehalfOf", element.getOnBehalfOf(), -1); 1743 } 1744 if (element.hasTargetFormatElement()) { 1745 composeCode(t, "Signature", "targetFormat", element.getTargetFormatElement(), -1); 1746 } 1747 if (element.hasSigFormatElement()) { 1748 composeCode(t, "Signature", "sigFormat", element.getSigFormatElement(), -1); 1749 } 1750 if (element.hasDataElement()) { 1751 composeBase64Binary(t, "Signature", "data", element.getDataElement(), -1); 1752 } 1753 } 1754 1755 protected void composeTiming(Complex parent, String parentType, String name, Timing element, int index) { 1756 if (element == null) 1757 return; 1758 Complex t; 1759 if (Utilities.noString(parentType)) 1760 t = parent; 1761 else { 1762 t = parent.predicate("fhir:"+parentType+'.'+name); 1763 } 1764 composeBackboneType(t, "Timing", name, element, index); 1765 for (int i = 0; i < element.getEvent().size(); i++) { 1766 composeDateTime(t, "Timing", "event", element.getEvent().get(i), i); 1767 } 1768 if (element.hasRepeat()) { 1769 composeTimingRepeatComponent(t, "Timing", "repeat", element.getRepeat(), -1); 1770 } 1771 if (element.hasCode()) { 1772 composeCodeableConcept(t, "Timing", "code", element.getCode(), -1); 1773 } 1774 } 1775 1776 protected void composeTimingRepeatComponent(Complex parent, String parentType, String name, Timing.TimingRepeatComponent element, int index) { 1777 if (element == null) 1778 return; 1779 Complex t; 1780 if (Utilities.noString(parentType)) 1781 t = parent; 1782 else { 1783 t = parent.predicate("fhir:"+parentType+'.'+name); 1784 } 1785 composeElement(t, "repeat", name, element, index); 1786 if (element.hasBounds()) { 1787 composeType(t, "TimingRepeatComponent", "bounds", element.getBounds(), -1); 1788 } 1789 if (element.hasCountElement()) { 1790 composePositiveInt(t, "TimingRepeatComponent", "count", element.getCountElement(), -1); 1791 } 1792 if (element.hasCountMaxElement()) { 1793 composePositiveInt(t, "TimingRepeatComponent", "countMax", element.getCountMaxElement(), -1); 1794 } 1795 if (element.hasDurationElement()) { 1796 composeDecimal(t, "TimingRepeatComponent", "duration", element.getDurationElement(), -1); 1797 } 1798 if (element.hasDurationMaxElement()) { 1799 composeDecimal(t, "TimingRepeatComponent", "durationMax", element.getDurationMaxElement(), -1); 1800 } 1801 if (element.hasDurationUnitElement()) { 1802 composeEnum(t, "TimingRepeatComponent", "durationUnit", element.getDurationUnitElement(), -1); 1803 } 1804 if (element.hasFrequencyElement()) { 1805 composePositiveInt(t, "TimingRepeatComponent", "frequency", element.getFrequencyElement(), -1); 1806 } 1807 if (element.hasFrequencyMaxElement()) { 1808 composePositiveInt(t, "TimingRepeatComponent", "frequencyMax", element.getFrequencyMaxElement(), -1); 1809 } 1810 if (element.hasPeriodElement()) { 1811 composeDecimal(t, "TimingRepeatComponent", "period", element.getPeriodElement(), -1); 1812 } 1813 if (element.hasPeriodMaxElement()) { 1814 composeDecimal(t, "TimingRepeatComponent", "periodMax", element.getPeriodMaxElement(), -1); 1815 } 1816 if (element.hasPeriodUnitElement()) { 1817 composeEnum(t, "TimingRepeatComponent", "periodUnit", element.getPeriodUnitElement(), -1); 1818 } 1819 for (int i = 0; i < element.getDayOfWeek().size(); i++) { 1820 composeEnum(t, "TimingRepeatComponent", "dayOfWeek", element.getDayOfWeek().get(i), i); 1821 } 1822 for (int i = 0; i < element.getTimeOfDay().size(); i++) { 1823 composeTime(t, "TimingRepeatComponent", "timeOfDay", element.getTimeOfDay().get(i), i); 1824 } 1825 for (int i = 0; i < element.getWhen().size(); i++) { 1826 composeEnum(t, "TimingRepeatComponent", "when", element.getWhen().get(i), i); 1827 } 1828 if (element.hasOffsetElement()) { 1829 composeUnsignedInt(t, "TimingRepeatComponent", "offset", element.getOffsetElement(), -1); 1830 } 1831 } 1832 1833 protected void composeTriggerDefinition(Complex parent, String parentType, String name, TriggerDefinition element, int index) { 1834 if (element == null) 1835 return; 1836 Complex t; 1837 if (Utilities.noString(parentType)) 1838 t = parent; 1839 else { 1840 t = parent.predicate("fhir:"+parentType+'.'+name); 1841 } 1842 composeDataType(t, "TriggerDefinition", name, element, index); 1843 if (element.hasTypeElement()) { 1844 composeEnum(t, "TriggerDefinition", "type", element.getTypeElement(), -1); 1845 } 1846 if (element.hasNameElement()) { 1847 composeString(t, "TriggerDefinition", "name", element.getNameElement(), -1); 1848 } 1849 if (element.hasCode()) { 1850 composeCodeableConcept(t, "TriggerDefinition", "code", element.getCode(), -1); 1851 } 1852 if (element.hasSubscriptionTopicElement()) { 1853 composeCanonical(t, "TriggerDefinition", "subscriptionTopic", element.getSubscriptionTopicElement(), -1); 1854 } 1855 if (element.hasTiming()) { 1856 composeType(t, "TriggerDefinition", "timing", element.getTiming(), -1); 1857 } 1858 for (int i = 0; i < element.getData().size(); i++) { 1859 composeDataRequirement(t, "TriggerDefinition", "data", element.getData().get(i), i); 1860 } 1861 if (element.hasCondition()) { 1862 composeExpression(t, "TriggerDefinition", "condition", element.getCondition(), -1); 1863 } 1864 } 1865 1866 protected void composeUsageContext(Complex parent, String parentType, String name, UsageContext element, int index) { 1867 if (element == null) 1868 return; 1869 Complex t; 1870 if (Utilities.noString(parentType)) 1871 t = parent; 1872 else { 1873 t = parent.predicate("fhir:"+parentType+'.'+name); 1874 } 1875 composeDataType(t, "UsageContext", name, element, index); 1876 if (element.hasCode()) { 1877 composeCoding(t, "UsageContext", "code", element.getCode(), -1); 1878 } 1879 if (element.hasValue()) { 1880 composeType(t, "UsageContext", "value", element.getValue(), -1); 1881 } 1882 } 1883 1884 protected void composeVirtualServiceDetail(Complex parent, String parentType, String name, VirtualServiceDetail element, int index) { 1885 if (element == null) 1886 return; 1887 Complex t; 1888 if (Utilities.noString(parentType)) 1889 t = parent; 1890 else { 1891 t = parent.predicate("fhir:"+parentType+'.'+name); 1892 } 1893 composeDataType(t, "VirtualServiceDetail", name, element, index); 1894 if (element.hasChannelType()) { 1895 composeCoding(t, "VirtualServiceDetail", "channelType", element.getChannelType(), -1); 1896 } 1897 if (element.hasAddress()) { 1898 composeType(t, "VirtualServiceDetail", "address", element.getAddress(), -1); 1899 } 1900 for (int i = 0; i < element.getAdditionalInfo().size(); i++) { 1901 composeUrl(t, "VirtualServiceDetail", "additionalInfo", element.getAdditionalInfo().get(i), i); 1902 } 1903 if (element.hasMaxParticipantsElement()) { 1904 composePositiveInt(t, "VirtualServiceDetail", "maxParticipants", element.getMaxParticipantsElement(), -1); 1905 } 1906 if (element.hasSessionKeyElement()) { 1907 composeString(t, "VirtualServiceDetail", "sessionKey", element.getSessionKeyElement(), -1); 1908 } 1909 } 1910 1911 protected void composeCanonicalResource(Complex t, String parentType, String name, CanonicalResource element, int index) { 1912 composeDomainResource(t, parentType, name, element, index); 1913 if (element.hasUrlElement()) { 1914 composeUri(t, "CanonicalResource", "url", element.getUrlElement(), -1); 1915 } 1916 for (int i = 0; i < element.getIdentifier().size(); i++) { 1917 composeIdentifier(t, "CanonicalResource", "identifier", element.getIdentifier().get(i), i); 1918 } 1919 if (element.hasVersionElement()) { 1920 composeString(t, "CanonicalResource", "version", element.getVersionElement(), -1); 1921 } 1922 if (element.hasVersionAlgorithm()) { 1923 composeType(t, "CanonicalResource", "versionAlgorithm", element.getVersionAlgorithm(), -1); 1924 } 1925 if (element.hasNameElement()) { 1926 composeString(t, "CanonicalResource", "name", element.getNameElement(), -1); 1927 } 1928 if (element.hasTitleElement()) { 1929 composeString(t, "CanonicalResource", "title", element.getTitleElement(), -1); 1930 } 1931 if (element.hasStatusElement()) { 1932 composeEnum(t, "CanonicalResource", "status", element.getStatusElement(), -1); 1933 } 1934 if (element.hasExperimentalElement()) { 1935 composeBoolean(t, "CanonicalResource", "experimental", element.getExperimentalElement(), -1); 1936 } 1937 if (element.hasDateElement()) { 1938 composeDateTime(t, "CanonicalResource", "date", element.getDateElement(), -1); 1939 } 1940 if (element.hasPublisherElement()) { 1941 composeString(t, "CanonicalResource", "publisher", element.getPublisherElement(), -1); 1942 } 1943 for (int i = 0; i < element.getContact().size(); i++) { 1944 composeContactDetail(t, "CanonicalResource", "contact", element.getContact().get(i), i); 1945 } 1946 if (element.hasDescriptionElement()) { 1947 composeMarkdown(t, "CanonicalResource", "description", element.getDescriptionElement(), -1); 1948 } 1949 for (int i = 0; i < element.getUseContext().size(); i++) { 1950 composeUsageContext(t, "CanonicalResource", "useContext", element.getUseContext().get(i), i); 1951 } 1952 for (int i = 0; i < element.getJurisdiction().size(); i++) { 1953 composeCodeableConcept(t, "CanonicalResource", "jurisdiction", element.getJurisdiction().get(i), i); 1954 } 1955 if (element.hasPurposeElement()) { 1956 composeMarkdown(t, "CanonicalResource", "purpose", element.getPurposeElement(), -1); 1957 } 1958 if (element.hasCopyrightElement()) { 1959 composeMarkdown(t, "CanonicalResource", "copyright", element.getCopyrightElement(), -1); 1960 } 1961 if (element.hasCopyrightLabelElement()) { 1962 composeString(t, "CanonicalResource", "copyrightLabel", element.getCopyrightLabelElement(), -1); 1963 } 1964 } 1965 1966 protected void composeDomainResource(Complex t, String parentType, String name, DomainResource element, int index) { 1967 composeResource(t, parentType, name, element, index); 1968 if (element.hasText()) { 1969 composeNarrative(t, "DomainResource", "text", element.getText(), -1); 1970 } 1971 for (int i = 0; i < element.getContained().size(); i++) { 1972 composeResource(t, "DomainResource", "contained", element.getContained().get(i), i); 1973 } 1974 for (int i = 0; i < element.getExtension().size(); i++) { 1975 composeExtension(t, "DomainResource", "extension", element.getExtension().get(i), i); 1976 } 1977 for (int i = 0; i < element.getModifierExtension().size(); i++) { 1978 composeExtension(t, "DomainResource", "modifierExtension", element.getModifierExtension().get(i), i); 1979 } 1980 } 1981 1982 protected void composeMetadataResource(Complex t, String parentType, String name, MetadataResource element, int index) { 1983 composeCanonicalResource(t, parentType, name, element, index); 1984 if (element.hasApprovalDateElement()) { 1985 composeDate(t, "MetadataResource", "approvalDate", element.getApprovalDateElement(), -1); 1986 } 1987 if (element.hasLastReviewDateElement()) { 1988 composeDate(t, "MetadataResource", "lastReviewDate", element.getLastReviewDateElement(), -1); 1989 } 1990 if (element.hasEffectivePeriod()) { 1991 composePeriod(t, "MetadataResource", "effectivePeriod", element.getEffectivePeriod(), -1); 1992 } 1993 for (int i = 0; i < element.getTopic().size(); i++) { 1994 composeCodeableConcept(t, "MetadataResource", "topic", element.getTopic().get(i), i); 1995 } 1996 for (int i = 0; i < element.getAuthor().size(); i++) { 1997 composeContactDetail(t, "MetadataResource", "author", element.getAuthor().get(i), i); 1998 } 1999 for (int i = 0; i < element.getEditor().size(); i++) { 2000 composeContactDetail(t, "MetadataResource", "editor", element.getEditor().get(i), i); 2001 } 2002 for (int i = 0; i < element.getReviewer().size(); i++) { 2003 composeContactDetail(t, "MetadataResource", "reviewer", element.getReviewer().get(i), i); 2004 } 2005 for (int i = 0; i < element.getEndorser().size(); i++) { 2006 composeContactDetail(t, "MetadataResource", "endorser", element.getEndorser().get(i), i); 2007 } 2008 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 2009 composeRelatedArtifact(t, "MetadataResource", "relatedArtifact", element.getRelatedArtifact().get(i), i); 2010 } 2011 } 2012 2013 protected void composeResource(Complex t, String parentType, String name, Resource element, int index) { 2014 composeBase(t, parentType, name, element, index); 2015 if (element.hasIdElement()) { 2016 composeId(t, "Resource", "id", element.getIdElement(), -1); 2017 } 2018 if (element.hasMeta()) { 2019 composeMeta(t, "Resource", "meta", element.getMeta(), -1); 2020 } 2021 if (element.hasImplicitRulesElement()) { 2022 composeUri(t, "Resource", "implicitRules", element.getImplicitRulesElement(), -1); 2023 } 2024 if (element.hasLanguageElement()) { 2025 composeCode(t, "Resource", "language", element.getLanguageElement(), -1); 2026 } 2027 } 2028 2029 protected void composeAccount(Complex parent, String parentType, String name, Account element, int index) { 2030 if (element == null) 2031 return; 2032 Complex t; 2033 if (Utilities.noString(parentType)) 2034 t = parent; 2035 else { 2036 t = parent.predicate("fhir:"+parentType+'.'+name); 2037 } 2038 composeDomainResource(t, "Account", name, element, index); 2039 for (int i = 0; i < element.getIdentifier().size(); i++) { 2040 composeIdentifier(t, "Account", "identifier", element.getIdentifier().get(i), i); 2041 } 2042 if (element.hasStatusElement()) { 2043 composeEnum(t, "Account", "status", element.getStatusElement(), -1); 2044 } 2045 if (element.hasBillingStatus()) { 2046 composeCodeableConcept(t, "Account", "billingStatus", element.getBillingStatus(), -1); 2047 } 2048 if (element.hasType()) { 2049 composeCodeableConcept(t, "Account", "type", element.getType(), -1); 2050 } 2051 if (element.hasNameElement()) { 2052 composeString(t, "Account", "name", element.getNameElement(), -1); 2053 } 2054 for (int i = 0; i < element.getSubject().size(); i++) { 2055 composeReference(t, "Account", "subject", element.getSubject().get(i), i); 2056 } 2057 if (element.hasServicePeriod()) { 2058 composePeriod(t, "Account", "servicePeriod", element.getServicePeriod(), -1); 2059 } 2060 for (int i = 0; i < element.getCoverage().size(); i++) { 2061 composeAccountCoverageComponent(t, "Account", "coverage", element.getCoverage().get(i), i); 2062 } 2063 if (element.hasOwner()) { 2064 composeReference(t, "Account", "owner", element.getOwner(), -1); 2065 } 2066 if (element.hasDescriptionElement()) { 2067 composeString(t, "Account", "description", element.getDescriptionElement(), -1); 2068 } 2069 for (int i = 0; i < element.getGuarantor().size(); i++) { 2070 composeAccountGuarantorComponent(t, "Account", "guarantor", element.getGuarantor().get(i), i); 2071 } 2072 for (int i = 0; i < element.getRelatedAccount().size(); i++) { 2073 composeAccountRelatedAccountComponent(t, "Account", "relatedAccount", element.getRelatedAccount().get(i), i); 2074 } 2075 if (element.hasCurrency()) { 2076 composeCodeableConcept(t, "Account", "currency", element.getCurrency(), -1); 2077 } 2078 for (int i = 0; i < element.getBalance().size(); i++) { 2079 composeAccountBalanceComponent(t, "Account", "balance", element.getBalance().get(i), i); 2080 } 2081 if (element.hasCalculatedAtElement()) { 2082 composeInstant(t, "Account", "calculatedAt", element.getCalculatedAtElement(), -1); 2083 } 2084 } 2085 2086 protected void composeAccountCoverageComponent(Complex parent, String parentType, String name, Account.CoverageComponent 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 composeBackboneElement(t, "coverage", name, element, index); 2096 if (element.hasCoverage()) { 2097 composeReference(t, "CoverageComponent", "coverage", element.getCoverage(), -1); 2098 } 2099 if (element.hasPriorityElement()) { 2100 composePositiveInt(t, "CoverageComponent", "priority", element.getPriorityElement(), -1); 2101 } 2102 } 2103 2104 protected void composeAccountGuarantorComponent(Complex parent, String parentType, String name, Account.GuarantorComponent element, int index) { 2105 if (element == null) 2106 return; 2107 Complex t; 2108 if (Utilities.noString(parentType)) 2109 t = parent; 2110 else { 2111 t = parent.predicate("fhir:"+parentType+'.'+name); 2112 } 2113 composeBackboneElement(t, "guarantor", name, element, index); 2114 if (element.hasParty()) { 2115 composeReference(t, "GuarantorComponent", "party", element.getParty(), -1); 2116 } 2117 if (element.hasOnHoldElement()) { 2118 composeBoolean(t, "GuarantorComponent", "onHold", element.getOnHoldElement(), -1); 2119 } 2120 if (element.hasPeriod()) { 2121 composePeriod(t, "GuarantorComponent", "period", element.getPeriod(), -1); 2122 } 2123 } 2124 2125 protected void composeAccountRelatedAccountComponent(Complex parent, String parentType, String name, Account.AccountRelatedAccountComponent element, int index) { 2126 if (element == null) 2127 return; 2128 Complex t; 2129 if (Utilities.noString(parentType)) 2130 t = parent; 2131 else { 2132 t = parent.predicate("fhir:"+parentType+'.'+name); 2133 } 2134 composeBackboneElement(t, "relatedAccount", name, element, index); 2135 if (element.hasRelationship()) { 2136 composeCodeableConcept(t, "AccountRelatedAccountComponent", "relationship", element.getRelationship(), -1); 2137 } 2138 if (element.hasAccount()) { 2139 composeReference(t, "AccountRelatedAccountComponent", "account", element.getAccount(), -1); 2140 } 2141 } 2142 2143 protected void composeAccountBalanceComponent(Complex parent, String parentType, String name, Account.AccountBalanceComponent element, int index) { 2144 if (element == null) 2145 return; 2146 Complex t; 2147 if (Utilities.noString(parentType)) 2148 t = parent; 2149 else { 2150 t = parent.predicate("fhir:"+parentType+'.'+name); 2151 } 2152 composeBackboneElement(t, "balance", name, element, index); 2153 if (element.hasAggregate()) { 2154 composeCodeableConcept(t, "AccountBalanceComponent", "aggregate", element.getAggregate(), -1); 2155 } 2156 if (element.hasTerm()) { 2157 composeCodeableConcept(t, "AccountBalanceComponent", "term", element.getTerm(), -1); 2158 } 2159 if (element.hasEstimateElement()) { 2160 composeBoolean(t, "AccountBalanceComponent", "estimate", element.getEstimateElement(), -1); 2161 } 2162 if (element.hasAmount()) { 2163 composeMoney(t, "AccountBalanceComponent", "amount", element.getAmount(), -1); 2164 } 2165 } 2166 2167 protected void composeActivityDefinition(Complex parent, String parentType, String name, ActivityDefinition element, int index) { 2168 if (element == null) 2169 return; 2170 Complex t; 2171 if (Utilities.noString(parentType)) 2172 t = parent; 2173 else { 2174 t = parent.predicate("fhir:"+parentType+'.'+name); 2175 } 2176 composeMetadataResource(t, "ActivityDefinition", name, element, index); 2177 if (element.hasUrlElement()) { 2178 composeUri(t, "ActivityDefinition", "url", element.getUrlElement(), -1); 2179 } 2180 for (int i = 0; i < element.getIdentifier().size(); i++) { 2181 composeIdentifier(t, "ActivityDefinition", "identifier", element.getIdentifier().get(i), i); 2182 } 2183 if (element.hasVersionElement()) { 2184 composeString(t, "ActivityDefinition", "version", element.getVersionElement(), -1); 2185 } 2186 if (element.hasNameElement()) { 2187 composeString(t, "ActivityDefinition", "name", element.getNameElement(), -1); 2188 } 2189 if (element.hasTitleElement()) { 2190 composeString(t, "ActivityDefinition", "title", element.getTitleElement(), -1); 2191 } 2192 if (element.hasSubtitleElement()) { 2193 composeString(t, "ActivityDefinition", "subtitle", element.getSubtitleElement(), -1); 2194 } 2195 if (element.hasStatusElement()) { 2196 composeEnum(t, "ActivityDefinition", "status", element.getStatusElement(), -1); 2197 } 2198 if (element.hasExperimentalElement()) { 2199 composeBoolean(t, "ActivityDefinition", "experimental", element.getExperimentalElement(), -1); 2200 } 2201 if (element.hasSubject()) { 2202 composeType(t, "ActivityDefinition", "subject", element.getSubject(), -1); 2203 } 2204 if (element.hasDateElement()) { 2205 composeDateTime(t, "ActivityDefinition", "date", element.getDateElement(), -1); 2206 } 2207 if (element.hasPublisherElement()) { 2208 composeString(t, "ActivityDefinition", "publisher", element.getPublisherElement(), -1); 2209 } 2210 for (int i = 0; i < element.getContact().size(); i++) { 2211 composeContactDetail(t, "ActivityDefinition", "contact", element.getContact().get(i), i); 2212 } 2213 if (element.hasDescriptionElement()) { 2214 composeMarkdown(t, "ActivityDefinition", "description", element.getDescriptionElement(), -1); 2215 } 2216 for (int i = 0; i < element.getUseContext().size(); i++) { 2217 composeUsageContext(t, "ActivityDefinition", "useContext", element.getUseContext().get(i), i); 2218 } 2219 for (int i = 0; i < element.getJurisdiction().size(); i++) { 2220 composeCodeableConcept(t, "ActivityDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 2221 } 2222 if (element.hasPurposeElement()) { 2223 composeMarkdown(t, "ActivityDefinition", "purpose", element.getPurposeElement(), -1); 2224 } 2225 if (element.hasUsageElement()) { 2226 composeString(t, "ActivityDefinition", "usage", element.getUsageElement(), -1); 2227 } 2228 if (element.hasCopyrightElement()) { 2229 composeMarkdown(t, "ActivityDefinition", "copyright", element.getCopyrightElement(), -1); 2230 } 2231 if (element.hasApprovalDateElement()) { 2232 composeDate(t, "ActivityDefinition", "approvalDate", element.getApprovalDateElement(), -1); 2233 } 2234 if (element.hasLastReviewDateElement()) { 2235 composeDate(t, "ActivityDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 2236 } 2237 if (element.hasEffectivePeriod()) { 2238 composePeriod(t, "ActivityDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 2239 } 2240 for (int i = 0; i < element.getTopic().size(); i++) { 2241 composeCodeableConcept(t, "ActivityDefinition", "topic", element.getTopic().get(i), i); 2242 } 2243 for (int i = 0; i < element.getAuthor().size(); i++) { 2244 composeContactDetail(t, "ActivityDefinition", "author", element.getAuthor().get(i), i); 2245 } 2246 for (int i = 0; i < element.getEditor().size(); i++) { 2247 composeContactDetail(t, "ActivityDefinition", "editor", element.getEditor().get(i), i); 2248 } 2249 for (int i = 0; i < element.getReviewer().size(); i++) { 2250 composeContactDetail(t, "ActivityDefinition", "reviewer", element.getReviewer().get(i), i); 2251 } 2252 for (int i = 0; i < element.getEndorser().size(); i++) { 2253 composeContactDetail(t, "ActivityDefinition", "endorser", element.getEndorser().get(i), i); 2254 } 2255 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 2256 composeRelatedArtifact(t, "ActivityDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 2257 } 2258 for (int i = 0; i < element.getLibrary().size(); i++) { 2259 composeCanonical(t, "ActivityDefinition", "library", element.getLibrary().get(i), i); 2260 } 2261 if (element.hasKindElement()) { 2262 composeEnum(t, "ActivityDefinition", "kind", element.getKindElement(), -1); 2263 } 2264 if (element.hasProfileElement()) { 2265 composeCanonical(t, "ActivityDefinition", "profile", element.getProfileElement(), -1); 2266 } 2267 if (element.hasCode()) { 2268 composeCodeableConcept(t, "ActivityDefinition", "code", element.getCode(), -1); 2269 } 2270 if (element.hasIntentElement()) { 2271 composeEnum(t, "ActivityDefinition", "intent", element.getIntentElement(), -1); 2272 } 2273 if (element.hasPriorityElement()) { 2274 composeEnum(t, "ActivityDefinition", "priority", element.getPriorityElement(), -1); 2275 } 2276 if (element.hasDoNotPerformElement()) { 2277 composeBoolean(t, "ActivityDefinition", "doNotPerform", element.getDoNotPerformElement(), -1); 2278 } 2279 if (element.hasTiming()) { 2280 composeType(t, "ActivityDefinition", "timing", element.getTiming(), -1); 2281 } 2282 if (element.hasAsNeeded()) { 2283 composeType(t, "ActivityDefinition", "asNeeded", element.getAsNeeded(), -1); 2284 } 2285 if (element.hasLocation()) { 2286 composeCodeableReference(t, "ActivityDefinition", "location", element.getLocation(), -1); 2287 } 2288 for (int i = 0; i < element.getParticipant().size(); i++) { 2289 composeActivityDefinitionParticipantComponent(t, "ActivityDefinition", "participant", element.getParticipant().get(i), i); 2290 } 2291 if (element.hasProduct()) { 2292 composeType(t, "ActivityDefinition", "product", element.getProduct(), -1); 2293 } 2294 if (element.hasQuantity()) { 2295 composeQuantity(t, "ActivityDefinition", "quantity", element.getQuantity(), -1); 2296 } 2297 for (int i = 0; i < element.getDosage().size(); i++) { 2298 composeDosage(t, "ActivityDefinition", "dosage", element.getDosage().get(i), i); 2299 } 2300 for (int i = 0; i < element.getBodySite().size(); i++) { 2301 composeCodeableConcept(t, "ActivityDefinition", "bodySite", element.getBodySite().get(i), i); 2302 } 2303 for (int i = 0; i < element.getSpecimenRequirement().size(); i++) { 2304 composeCanonical(t, "ActivityDefinition", "specimenRequirement", element.getSpecimenRequirement().get(i), i); 2305 } 2306 for (int i = 0; i < element.getObservationRequirement().size(); i++) { 2307 composeCanonical(t, "ActivityDefinition", "observationRequirement", element.getObservationRequirement().get(i), i); 2308 } 2309 for (int i = 0; i < element.getObservationResultRequirement().size(); i++) { 2310 composeCanonical(t, "ActivityDefinition", "observationResultRequirement", element.getObservationResultRequirement().get(i), i); 2311 } 2312 if (element.hasTransformElement()) { 2313 composeCanonical(t, "ActivityDefinition", "transform", element.getTransformElement(), -1); 2314 } 2315 for (int i = 0; i < element.getDynamicValue().size(); i++) { 2316 composeActivityDefinitionDynamicValueComponent(t, "ActivityDefinition", "dynamicValue", element.getDynamicValue().get(i), i); 2317 } 2318 } 2319 2320 protected void composeActivityDefinitionParticipantComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionParticipantComponent element, int index) { 2321 if (element == null) 2322 return; 2323 Complex t; 2324 if (Utilities.noString(parentType)) 2325 t = parent; 2326 else { 2327 t = parent.predicate("fhir:"+parentType+'.'+name); 2328 } 2329 composeBackboneElement(t, "participant", name, element, index); 2330 if (element.hasTypeElement()) { 2331 composeEnum(t, "ActivityDefinitionParticipantComponent", "type", element.getTypeElement(), -1); 2332 } 2333 if (element.hasTypeCanonicalElement()) { 2334 composeCanonical(t, "ActivityDefinitionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); 2335 } 2336 if (element.hasTypeReference()) { 2337 composeReference(t, "ActivityDefinitionParticipantComponent", "typeReference", element.getTypeReference(), -1); 2338 } 2339 if (element.hasRole()) { 2340 composeCodeableConcept(t, "ActivityDefinitionParticipantComponent", "role", element.getRole(), -1); 2341 } 2342 if (element.hasFunction()) { 2343 composeCodeableConcept(t, "ActivityDefinitionParticipantComponent", "function", element.getFunction(), -1); 2344 } 2345 } 2346 2347 protected void composeActivityDefinitionDynamicValueComponent(Complex parent, String parentType, String name, ActivityDefinition.ActivityDefinitionDynamicValueComponent element, int index) { 2348 if (element == null) 2349 return; 2350 Complex t; 2351 if (Utilities.noString(parentType)) 2352 t = parent; 2353 else { 2354 t = parent.predicate("fhir:"+parentType+'.'+name); 2355 } 2356 composeBackboneElement(t, "dynamicValue", name, element, index); 2357 if (element.hasPathElement()) { 2358 composeString(t, "ActivityDefinitionDynamicValueComponent", "path", element.getPathElement(), -1); 2359 } 2360 if (element.hasExpression()) { 2361 composeExpression(t, "ActivityDefinitionDynamicValueComponent", "expression", element.getExpression(), -1); 2362 } 2363 } 2364 2365 protected void composeActorDefinition(Complex parent, String parentType, String name, ActorDefinition element, int index) { 2366 if (element == null) 2367 return; 2368 Complex t; 2369 if (Utilities.noString(parentType)) 2370 t = parent; 2371 else { 2372 t = parent.predicate("fhir:"+parentType+'.'+name); 2373 } 2374 composeCanonicalResource(t, "ActorDefinition", name, element, index); 2375 if (element.hasUrlElement()) { 2376 composeUri(t, "ActorDefinition", "url", element.getUrlElement(), -1); 2377 } 2378 for (int i = 0; i < element.getIdentifier().size(); i++) { 2379 composeIdentifier(t, "ActorDefinition", "identifier", element.getIdentifier().get(i), i); 2380 } 2381 if (element.hasVersionElement()) { 2382 composeString(t, "ActorDefinition", "version", element.getVersionElement(), -1); 2383 } 2384 if (element.hasNameElement()) { 2385 composeString(t, "ActorDefinition", "name", element.getNameElement(), -1); 2386 } 2387 if (element.hasTitleElement()) { 2388 composeString(t, "ActorDefinition", "title", element.getTitleElement(), -1); 2389 } 2390 if (element.hasStatusElement()) { 2391 composeEnum(t, "ActorDefinition", "status", element.getStatusElement(), -1); 2392 } 2393 if (element.hasExperimentalElement()) { 2394 composeBoolean(t, "ActorDefinition", "experimental", element.getExperimentalElement(), -1); 2395 } 2396 if (element.hasDateElement()) { 2397 composeDateTime(t, "ActorDefinition", "date", element.getDateElement(), -1); 2398 } 2399 if (element.hasPublisherElement()) { 2400 composeString(t, "ActorDefinition", "publisher", element.getPublisherElement(), -1); 2401 } 2402 for (int i = 0; i < element.getContact().size(); i++) { 2403 composeContactDetail(t, "ActorDefinition", "contact", element.getContact().get(i), i); 2404 } 2405 if (element.hasDescriptionElement()) { 2406 composeMarkdown(t, "ActorDefinition", "description", element.getDescriptionElement(), -1); 2407 } 2408 for (int i = 0; i < element.getUseContext().size(); i++) { 2409 composeUsageContext(t, "ActorDefinition", "useContext", element.getUseContext().get(i), i); 2410 } 2411 for (int i = 0; i < element.getJurisdiction().size(); i++) { 2412 composeCodeableConcept(t, "ActorDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 2413 } 2414 if (element.hasPurposeElement()) { 2415 composeMarkdown(t, "ActorDefinition", "purpose", element.getPurposeElement(), -1); 2416 } 2417 if (element.hasCopyrightElement()) { 2418 composeMarkdown(t, "ActorDefinition", "copyright", element.getCopyrightElement(), -1); 2419 } 2420 if (element.hasCopyrightLabelElement()) { 2421 composeString(t, "ActorDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); 2422 } 2423 if (element.hasTypeElement()) { 2424 composeEnum(t, "ActorDefinition", "type", element.getTypeElement(), -1); 2425 } 2426 if (element.hasDocumentationElement()) { 2427 composeMarkdown(t, "ActorDefinition", "documentation", element.getDocumentationElement(), -1); 2428 } 2429 for (int i = 0; i < element.getReference().size(); i++) { 2430 composeUrl(t, "ActorDefinition", "reference", element.getReference().get(i), i); 2431 } 2432 if (element.hasCapabilitiesElement()) { 2433 composeCanonical(t, "ActorDefinition", "capabilities", element.getCapabilitiesElement(), -1); 2434 } 2435 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 2436 composeCanonical(t, "ActorDefinition", "derivedFrom", element.getDerivedFrom().get(i), i); 2437 } 2438 } 2439 2440 protected void composeAdministrableProductDefinition(Complex parent, String parentType, String name, AdministrableProductDefinition element, int index) { 2441 if (element == null) 2442 return; 2443 Complex t; 2444 if (Utilities.noString(parentType)) 2445 t = parent; 2446 else { 2447 t = parent.predicate("fhir:"+parentType+'.'+name); 2448 } 2449 composeDomainResource(t, "AdministrableProductDefinition", name, element, index); 2450 for (int i = 0; i < element.getIdentifier().size(); i++) { 2451 composeIdentifier(t, "AdministrableProductDefinition", "identifier", element.getIdentifier().get(i), i); 2452 } 2453 if (element.hasStatusElement()) { 2454 composeEnum(t, "AdministrableProductDefinition", "status", element.getStatusElement(), -1); 2455 } 2456 for (int i = 0; i < element.getFormOf().size(); i++) { 2457 composeReference(t, "AdministrableProductDefinition", "formOf", element.getFormOf().get(i), i); 2458 } 2459 if (element.hasAdministrableDoseForm()) { 2460 composeCodeableConcept(t, "AdministrableProductDefinition", "administrableDoseForm", element.getAdministrableDoseForm(), -1); 2461 } 2462 if (element.hasUnitOfPresentation()) { 2463 composeCodeableConcept(t, "AdministrableProductDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 2464 } 2465 for (int i = 0; i < element.getProducedFrom().size(); i++) { 2466 composeReference(t, "AdministrableProductDefinition", "producedFrom", element.getProducedFrom().get(i), i); 2467 } 2468 for (int i = 0; i < element.getIngredient().size(); i++) { 2469 composeCodeableConcept(t, "AdministrableProductDefinition", "ingredient", element.getIngredient().get(i), i); 2470 } 2471 if (element.hasDevice()) { 2472 composeReference(t, "AdministrableProductDefinition", "device", element.getDevice(), -1); 2473 } 2474 for (int i = 0; i < element.getProperty().size(); i++) { 2475 composeAdministrableProductDefinitionPropertyComponent(t, "AdministrableProductDefinition", "property", element.getProperty().get(i), i); 2476 } 2477 for (int i = 0; i < element.getRouteOfAdministration().size(); i++) { 2478 composeAdministrableProductDefinitionRouteOfAdministrationComponent(t, "AdministrableProductDefinition", "routeOfAdministration", element.getRouteOfAdministration().get(i), i); 2479 } 2480 } 2481 2482 protected void composeAdministrableProductDefinitionPropertyComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent element, int index) { 2483 if (element == null) 2484 return; 2485 Complex t; 2486 if (Utilities.noString(parentType)) 2487 t = parent; 2488 else { 2489 t = parent.predicate("fhir:"+parentType+'.'+name); 2490 } 2491 composeBackboneElement(t, "property", name, element, index); 2492 if (element.hasType()) { 2493 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "type", element.getType(), -1); 2494 } 2495 if (element.hasValue()) { 2496 composeType(t, "AdministrableProductDefinitionPropertyComponent", "value", element.getValue(), -1); 2497 } 2498 if (element.hasStatus()) { 2499 composeCodeableConcept(t, "AdministrableProductDefinitionPropertyComponent", "status", element.getStatus(), -1); 2500 } 2501 } 2502 2503 protected void composeAdministrableProductDefinitionRouteOfAdministrationComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent element, int index) { 2504 if (element == null) 2505 return; 2506 Complex t; 2507 if (Utilities.noString(parentType)) 2508 t = parent; 2509 else { 2510 t = parent.predicate("fhir:"+parentType+'.'+name); 2511 } 2512 composeBackboneElement(t, "routeOfAdministration", name, element, index); 2513 if (element.hasCode()) { 2514 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "code", element.getCode(), -1); 2515 } 2516 if (element.hasFirstDose()) { 2517 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "firstDose", element.getFirstDose(), -1); 2518 } 2519 if (element.hasMaxSingleDose()) { 2520 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxSingleDose", element.getMaxSingleDose(), -1); 2521 } 2522 if (element.hasMaxDosePerDay()) { 2523 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerDay", element.getMaxDosePerDay(), -1); 2524 } 2525 if (element.hasMaxDosePerTreatmentPeriod()) { 2526 composeRatio(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxDosePerTreatmentPeriod", element.getMaxDosePerTreatmentPeriod(), -1); 2527 } 2528 if (element.hasMaxTreatmentPeriod()) { 2529 composeDuration(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "maxTreatmentPeriod", element.getMaxTreatmentPeriod(), -1); 2530 } 2531 for (int i = 0; i < element.getTargetSpecies().size(); i++) { 2532 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(t, "AdministrableProductDefinitionRouteOfAdministrationComponent", "targetSpecies", element.getTargetSpecies().get(i), i); 2533 } 2534 } 2535 2536 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent element, int index) { 2537 if (element == null) 2538 return; 2539 Complex t; 2540 if (Utilities.noString(parentType)) 2541 t = parent; 2542 else { 2543 t = parent.predicate("fhir:"+parentType+'.'+name); 2544 } 2545 composeBackboneElement(t, "targetSpecies", name, element, index); 2546 if (element.hasCode()) { 2547 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "code", element.getCode(), -1); 2548 } 2549 for (int i = 0; i < element.getWithdrawalPeriod().size(); i++) { 2550 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent", "withdrawalPeriod", element.getWithdrawalPeriod().get(i), i); 2551 } 2552 } 2553 2554 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(Complex parent, String parentType, String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent element, int index) { 2555 if (element == null) 2556 return; 2557 Complex t; 2558 if (Utilities.noString(parentType)) 2559 t = parent; 2560 else { 2561 t = parent.predicate("fhir:"+parentType+'.'+name); 2562 } 2563 composeBackboneElement(t, "withdrawalPeriod", name, element, index); 2564 if (element.hasTissue()) { 2565 composeCodeableConcept(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "tissue", element.getTissue(), -1); 2566 } 2567 if (element.hasValue()) { 2568 composeQuantity(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "value", element.getValue(), -1); 2569 } 2570 if (element.hasSupportingInformationElement()) { 2571 composeString(t, "AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent", "supportingInformation", element.getSupportingInformationElement(), -1); 2572 } 2573 } 2574 2575 protected void composeAdverseEvent(Complex parent, String parentType, String name, AdverseEvent element, int index) { 2576 if (element == null) 2577 return; 2578 Complex t; 2579 if (Utilities.noString(parentType)) 2580 t = parent; 2581 else { 2582 t = parent.predicate("fhir:"+parentType+'.'+name); 2583 } 2584 composeDomainResource(t, "AdverseEvent", name, element, index); 2585 for (int i = 0; i < element.getIdentifier().size(); i++) { 2586 composeIdentifier(t, "AdverseEvent", "identifier", element.getIdentifier().get(i), i); 2587 } 2588 if (element.hasStatusElement()) { 2589 composeEnum(t, "AdverseEvent", "status", element.getStatusElement(), -1); 2590 } 2591 if (element.hasActualityElement()) { 2592 composeEnum(t, "AdverseEvent", "actuality", element.getActualityElement(), -1); 2593 } 2594 for (int i = 0; i < element.getCategory().size(); i++) { 2595 composeCodeableConcept(t, "AdverseEvent", "category", element.getCategory().get(i), i); 2596 } 2597 if (element.hasCode()) { 2598 composeCodeableConcept(t, "AdverseEvent", "code", element.getCode(), -1); 2599 } 2600 if (element.hasSubject()) { 2601 composeReference(t, "AdverseEvent", "subject", element.getSubject(), -1); 2602 } 2603 if (element.hasEncounter()) { 2604 composeReference(t, "AdverseEvent", "encounter", element.getEncounter(), -1); 2605 } 2606 if (element.hasOccurrence()) { 2607 composeType(t, "AdverseEvent", "occurrence", element.getOccurrence(), -1); 2608 } 2609 if (element.hasDetectedElement()) { 2610 composeDateTime(t, "AdverseEvent", "detected", element.getDetectedElement(), -1); 2611 } 2612 if (element.hasRecordedDateElement()) { 2613 composeDateTime(t, "AdverseEvent", "recordedDate", element.getRecordedDateElement(), -1); 2614 } 2615 for (int i = 0; i < element.getResultingEffect().size(); i++) { 2616 composeReference(t, "AdverseEvent", "resultingEffect", element.getResultingEffect().get(i), i); 2617 } 2618 if (element.hasLocation()) { 2619 composeReference(t, "AdverseEvent", "location", element.getLocation(), -1); 2620 } 2621 if (element.hasSeriousness()) { 2622 composeCodeableConcept(t, "AdverseEvent", "seriousness", element.getSeriousness(), -1); 2623 } 2624 for (int i = 0; i < element.getOutcome().size(); i++) { 2625 composeCodeableConcept(t, "AdverseEvent", "outcome", element.getOutcome().get(i), i); 2626 } 2627 if (element.hasRecorder()) { 2628 composeReference(t, "AdverseEvent", "recorder", element.getRecorder(), -1); 2629 } 2630 for (int i = 0; i < element.getParticipant().size(); i++) { 2631 composeAdverseEventParticipantComponent(t, "AdverseEvent", "participant", element.getParticipant().get(i), i); 2632 } 2633 for (int i = 0; i < element.getStudy().size(); i++) { 2634 composeReference(t, "AdverseEvent", "study", element.getStudy().get(i), i); 2635 } 2636 if (element.hasExpectedInResearchStudyElement()) { 2637 composeBoolean(t, "AdverseEvent", "expectedInResearchStudy", element.getExpectedInResearchStudyElement(), -1); 2638 } 2639 for (int i = 0; i < element.getSuspectEntity().size(); i++) { 2640 composeAdverseEventSuspectEntityComponent(t, "AdverseEvent", "suspectEntity", element.getSuspectEntity().get(i), i); 2641 } 2642 for (int i = 0; i < element.getContributingFactor().size(); i++) { 2643 composeAdverseEventContributingFactorComponent(t, "AdverseEvent", "contributingFactor", element.getContributingFactor().get(i), i); 2644 } 2645 for (int i = 0; i < element.getPreventiveAction().size(); i++) { 2646 composeAdverseEventPreventiveActionComponent(t, "AdverseEvent", "preventiveAction", element.getPreventiveAction().get(i), i); 2647 } 2648 for (int i = 0; i < element.getMitigatingAction().size(); i++) { 2649 composeAdverseEventMitigatingActionComponent(t, "AdverseEvent", "mitigatingAction", element.getMitigatingAction().get(i), i); 2650 } 2651 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 2652 composeAdverseEventSupportingInfoComponent(t, "AdverseEvent", "supportingInfo", element.getSupportingInfo().get(i), i); 2653 } 2654 for (int i = 0; i < element.getNote().size(); i++) { 2655 composeAnnotation(t, "AdverseEvent", "note", element.getNote().get(i), i); 2656 } 2657 } 2658 2659 protected void composeAdverseEventParticipantComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventParticipantComponent element, int index) { 2660 if (element == null) 2661 return; 2662 Complex t; 2663 if (Utilities.noString(parentType)) 2664 t = parent; 2665 else { 2666 t = parent.predicate("fhir:"+parentType+'.'+name); 2667 } 2668 composeBackboneElement(t, "participant", name, element, index); 2669 if (element.hasFunction()) { 2670 composeCodeableConcept(t, "AdverseEventParticipantComponent", "function", element.getFunction(), -1); 2671 } 2672 if (element.hasActor()) { 2673 composeReference(t, "AdverseEventParticipantComponent", "actor", element.getActor(), -1); 2674 } 2675 } 2676 2677 protected void composeAdverseEventSuspectEntityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityComponent element, int index) { 2678 if (element == null) 2679 return; 2680 Complex t; 2681 if (Utilities.noString(parentType)) 2682 t = parent; 2683 else { 2684 t = parent.predicate("fhir:"+parentType+'.'+name); 2685 } 2686 composeBackboneElement(t, "suspectEntity", name, element, index); 2687 if (element.hasInstance()) { 2688 composeType(t, "AdverseEventSuspectEntityComponent", "instance", element.getInstance(), -1); 2689 } 2690 if (element.hasCausality()) { 2691 composeAdverseEventSuspectEntityCausalityComponent(t, "AdverseEventSuspectEntityComponent", "causality", element.getCausality(), -1); 2692 } 2693 } 2694 2695 protected void composeAdverseEventSuspectEntityCausalityComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSuspectEntityCausalityComponent element, int index) { 2696 if (element == null) 2697 return; 2698 Complex t; 2699 if (Utilities.noString(parentType)) 2700 t = parent; 2701 else { 2702 t = parent.predicate("fhir:"+parentType+'.'+name); 2703 } 2704 composeBackboneElement(t, "causality", name, element, index); 2705 if (element.hasAssessmentMethod()) { 2706 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "assessmentMethod", element.getAssessmentMethod(), -1); 2707 } 2708 if (element.hasEntityRelatedness()) { 2709 composeCodeableConcept(t, "AdverseEventSuspectEntityCausalityComponent", "entityRelatedness", element.getEntityRelatedness(), -1); 2710 } 2711 if (element.hasAuthor()) { 2712 composeReference(t, "AdverseEventSuspectEntityCausalityComponent", "author", element.getAuthor(), -1); 2713 } 2714 } 2715 2716 protected void composeAdverseEventContributingFactorComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventContributingFactorComponent element, int index) { 2717 if (element == null) 2718 return; 2719 Complex t; 2720 if (Utilities.noString(parentType)) 2721 t = parent; 2722 else { 2723 t = parent.predicate("fhir:"+parentType+'.'+name); 2724 } 2725 composeBackboneElement(t, "contributingFactor", name, element, index); 2726 if (element.hasItem()) { 2727 composeType(t, "AdverseEventContributingFactorComponent", "item", element.getItem(), -1); 2728 } 2729 } 2730 2731 protected void composeAdverseEventPreventiveActionComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventPreventiveActionComponent element, int index) { 2732 if (element == null) 2733 return; 2734 Complex t; 2735 if (Utilities.noString(parentType)) 2736 t = parent; 2737 else { 2738 t = parent.predicate("fhir:"+parentType+'.'+name); 2739 } 2740 composeBackboneElement(t, "preventiveAction", name, element, index); 2741 if (element.hasItem()) { 2742 composeType(t, "AdverseEventPreventiveActionComponent", "item", element.getItem(), -1); 2743 } 2744 } 2745 2746 protected void composeAdverseEventMitigatingActionComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventMitigatingActionComponent element, int index) { 2747 if (element == null) 2748 return; 2749 Complex t; 2750 if (Utilities.noString(parentType)) 2751 t = parent; 2752 else { 2753 t = parent.predicate("fhir:"+parentType+'.'+name); 2754 } 2755 composeBackboneElement(t, "mitigatingAction", name, element, index); 2756 if (element.hasItem()) { 2757 composeType(t, "AdverseEventMitigatingActionComponent", "item", element.getItem(), -1); 2758 } 2759 } 2760 2761 protected void composeAdverseEventSupportingInfoComponent(Complex parent, String parentType, String name, AdverseEvent.AdverseEventSupportingInfoComponent element, int index) { 2762 if (element == null) 2763 return; 2764 Complex t; 2765 if (Utilities.noString(parentType)) 2766 t = parent; 2767 else { 2768 t = parent.predicate("fhir:"+parentType+'.'+name); 2769 } 2770 composeBackboneElement(t, "supportingInfo", name, element, index); 2771 if (element.hasItem()) { 2772 composeType(t, "AdverseEventSupportingInfoComponent", "item", element.getItem(), -1); 2773 } 2774 } 2775 2776 protected void composeAllergyIntolerance(Complex parent, String parentType, String name, AllergyIntolerance element, int index) { 2777 if (element == null) 2778 return; 2779 Complex t; 2780 if (Utilities.noString(parentType)) 2781 t = parent; 2782 else { 2783 t = parent.predicate("fhir:"+parentType+'.'+name); 2784 } 2785 composeDomainResource(t, "AllergyIntolerance", name, element, index); 2786 for (int i = 0; i < element.getIdentifier().size(); i++) { 2787 composeIdentifier(t, "AllergyIntolerance", "identifier", element.getIdentifier().get(i), i); 2788 } 2789 if (element.hasClinicalStatus()) { 2790 composeCodeableConcept(t, "AllergyIntolerance", "clinicalStatus", element.getClinicalStatus(), -1); 2791 } 2792 if (element.hasVerificationStatus()) { 2793 composeCodeableConcept(t, "AllergyIntolerance", "verificationStatus", element.getVerificationStatus(), -1); 2794 } 2795 if (element.hasType()) { 2796 composeCodeableConcept(t, "AllergyIntolerance", "type", element.getType(), -1); 2797 } 2798 for (int i = 0; i < element.getCategory().size(); i++) { 2799 composeEnum(t, "AllergyIntolerance", "category", element.getCategory().get(i), i); 2800 } 2801 if (element.hasCriticalityElement()) { 2802 composeEnum(t, "AllergyIntolerance", "criticality", element.getCriticalityElement(), -1); 2803 } 2804 if (element.hasCode()) { 2805 composeCodeableConcept(t, "AllergyIntolerance", "code", element.getCode(), -1); 2806 } 2807 if (element.hasPatient()) { 2808 composeReference(t, "AllergyIntolerance", "patient", element.getPatient(), -1); 2809 } 2810 if (element.hasEncounter()) { 2811 composeReference(t, "AllergyIntolerance", "encounter", element.getEncounter(), -1); 2812 } 2813 if (element.hasOnset()) { 2814 composeType(t, "AllergyIntolerance", "onset", element.getOnset(), -1); 2815 } 2816 if (element.hasRecordedDateElement()) { 2817 composeDateTime(t, "AllergyIntolerance", "recordedDate", element.getRecordedDateElement(), -1); 2818 } 2819 for (int i = 0; i < element.getParticipant().size(); i++) { 2820 composeAllergyIntoleranceParticipantComponent(t, "AllergyIntolerance", "participant", element.getParticipant().get(i), i); 2821 } 2822 if (element.hasLastOccurrenceElement()) { 2823 composeDateTime(t, "AllergyIntolerance", "lastOccurrence", element.getLastOccurrenceElement(), -1); 2824 } 2825 for (int i = 0; i < element.getNote().size(); i++) { 2826 composeAnnotation(t, "AllergyIntolerance", "note", element.getNote().get(i), i); 2827 } 2828 for (int i = 0; i < element.getReaction().size(); i++) { 2829 composeAllergyIntoleranceReactionComponent(t, "AllergyIntolerance", "reaction", element.getReaction().get(i), i); 2830 } 2831 } 2832 2833 protected void composeAllergyIntoleranceParticipantComponent(Complex parent, String parentType, String name, AllergyIntolerance.AllergyIntoleranceParticipantComponent element, int index) { 2834 if (element == null) 2835 return; 2836 Complex t; 2837 if (Utilities.noString(parentType)) 2838 t = parent; 2839 else { 2840 t = parent.predicate("fhir:"+parentType+'.'+name); 2841 } 2842 composeBackboneElement(t, "participant", name, element, index); 2843 if (element.hasFunction()) { 2844 composeCodeableConcept(t, "AllergyIntoleranceParticipantComponent", "function", element.getFunction(), -1); 2845 } 2846 if (element.hasActor()) { 2847 composeReference(t, "AllergyIntoleranceParticipantComponent", "actor", element.getActor(), -1); 2848 } 2849 } 2850 2851 protected void composeAllergyIntoleranceReactionComponent(Complex parent, String parentType, String name, AllergyIntolerance.AllergyIntoleranceReactionComponent element, int index) { 2852 if (element == null) 2853 return; 2854 Complex t; 2855 if (Utilities.noString(parentType)) 2856 t = parent; 2857 else { 2858 t = parent.predicate("fhir:"+parentType+'.'+name); 2859 } 2860 composeBackboneElement(t, "reaction", name, element, index); 2861 if (element.hasSubstance()) { 2862 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "substance", element.getSubstance(), -1); 2863 } 2864 for (int i = 0; i < element.getManifestation().size(); i++) { 2865 composeCodeableReference(t, "AllergyIntoleranceReactionComponent", "manifestation", element.getManifestation().get(i), i); 2866 } 2867 if (element.hasDescriptionElement()) { 2868 composeString(t, "AllergyIntoleranceReactionComponent", "description", element.getDescriptionElement(), -1); 2869 } 2870 if (element.hasOnsetElement()) { 2871 composeDateTime(t, "AllergyIntoleranceReactionComponent", "onset", element.getOnsetElement(), -1); 2872 } 2873 if (element.hasSeverityElement()) { 2874 composeEnum(t, "AllergyIntoleranceReactionComponent", "severity", element.getSeverityElement(), -1); 2875 } 2876 if (element.hasExposureRoute()) { 2877 composeCodeableConcept(t, "AllergyIntoleranceReactionComponent", "exposureRoute", element.getExposureRoute(), -1); 2878 } 2879 for (int i = 0; i < element.getNote().size(); i++) { 2880 composeAnnotation(t, "AllergyIntoleranceReactionComponent", "note", element.getNote().get(i), i); 2881 } 2882 } 2883 2884 protected void composeAppointment(Complex parent, String parentType, String name, Appointment element, int index) { 2885 if (element == null) 2886 return; 2887 Complex t; 2888 if (Utilities.noString(parentType)) 2889 t = parent; 2890 else { 2891 t = parent.predicate("fhir:"+parentType+'.'+name); 2892 } 2893 composeDomainResource(t, "Appointment", name, element, index); 2894 for (int i = 0; i < element.getIdentifier().size(); i++) { 2895 composeIdentifier(t, "Appointment", "identifier", element.getIdentifier().get(i), i); 2896 } 2897 if (element.hasStatusElement()) { 2898 composeEnum(t, "Appointment", "status", element.getStatusElement(), -1); 2899 } 2900 if (element.hasCancellationReason()) { 2901 composeCodeableConcept(t, "Appointment", "cancellationReason", element.getCancellationReason(), -1); 2902 } 2903 for (int i = 0; i < element.getClass_().size(); i++) { 2904 composeCodeableConcept(t, "Appointment", "class", element.getClass_().get(i), i); 2905 } 2906 for (int i = 0; i < element.getServiceCategory().size(); i++) { 2907 composeCodeableConcept(t, "Appointment", "serviceCategory", element.getServiceCategory().get(i), i); 2908 } 2909 for (int i = 0; i < element.getServiceType().size(); i++) { 2910 composeCodeableReference(t, "Appointment", "serviceType", element.getServiceType().get(i), i); 2911 } 2912 for (int i = 0; i < element.getSpecialty().size(); i++) { 2913 composeCodeableConcept(t, "Appointment", "specialty", element.getSpecialty().get(i), i); 2914 } 2915 if (element.hasAppointmentType()) { 2916 composeCodeableConcept(t, "Appointment", "appointmentType", element.getAppointmentType(), -1); 2917 } 2918 for (int i = 0; i < element.getReason().size(); i++) { 2919 composeCodeableReference(t, "Appointment", "reason", element.getReason().get(i), i); 2920 } 2921 if (element.hasPriority()) { 2922 composeCodeableConcept(t, "Appointment", "priority", element.getPriority(), -1); 2923 } 2924 if (element.hasDescriptionElement()) { 2925 composeString(t, "Appointment", "description", element.getDescriptionElement(), -1); 2926 } 2927 for (int i = 0; i < element.getReplaces().size(); i++) { 2928 composeReference(t, "Appointment", "replaces", element.getReplaces().get(i), i); 2929 } 2930 for (int i = 0; i < element.getVirtualService().size(); i++) { 2931 composeVirtualServiceDetail(t, "Appointment", "virtualService", element.getVirtualService().get(i), i); 2932 } 2933 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 2934 composeReference(t, "Appointment", "supportingInformation", element.getSupportingInformation().get(i), i); 2935 } 2936 if (element.hasPreviousAppointment()) { 2937 composeReference(t, "Appointment", "previousAppointment", element.getPreviousAppointment(), -1); 2938 } 2939 if (element.hasOriginatingAppointment()) { 2940 composeReference(t, "Appointment", "originatingAppointment", element.getOriginatingAppointment(), -1); 2941 } 2942 if (element.hasStartElement()) { 2943 composeInstant(t, "Appointment", "start", element.getStartElement(), -1); 2944 } 2945 if (element.hasEndElement()) { 2946 composeInstant(t, "Appointment", "end", element.getEndElement(), -1); 2947 } 2948 if (element.hasMinutesDurationElement()) { 2949 composePositiveInt(t, "Appointment", "minutesDuration", element.getMinutesDurationElement(), -1); 2950 } 2951 for (int i = 0; i < element.getSlot().size(); i++) { 2952 composeReference(t, "Appointment", "slot", element.getSlot().get(i), i); 2953 } 2954 for (int i = 0; i < element.getAccount().size(); i++) { 2955 composeReference(t, "Appointment", "account", element.getAccount().get(i), i); 2956 } 2957 if (element.hasCreatedElement()) { 2958 composeDateTime(t, "Appointment", "created", element.getCreatedElement(), -1); 2959 } 2960 for (int i = 0; i < element.getNote().size(); i++) { 2961 composeAnnotation(t, "Appointment", "note", element.getNote().get(i), i); 2962 } 2963 for (int i = 0; i < element.getPatientInstruction().size(); i++) { 2964 composeCodeableReference(t, "Appointment", "patientInstruction", element.getPatientInstruction().get(i), i); 2965 } 2966 for (int i = 0; i < element.getBasedOn().size(); i++) { 2967 composeReference(t, "Appointment", "basedOn", element.getBasedOn().get(i), i); 2968 } 2969 if (element.hasSubject()) { 2970 composeReference(t, "Appointment", "subject", element.getSubject(), -1); 2971 } 2972 for (int i = 0; i < element.getParticipant().size(); i++) { 2973 composeAppointmentParticipantComponent(t, "Appointment", "participant", element.getParticipant().get(i), i); 2974 } 2975 for (int i = 0; i < element.getRequestedPeriod().size(); i++) { 2976 composePeriod(t, "Appointment", "requestedPeriod", element.getRequestedPeriod().get(i), i); 2977 } 2978 if (element.hasRecurrenceIdElement()) { 2979 composePositiveInt(t, "Appointment", "recurrenceId", element.getRecurrenceIdElement(), -1); 2980 } 2981 if (element.hasOccurrenceChangedElement()) { 2982 composeBoolean(t, "Appointment", "occurrenceChanged", element.getOccurrenceChangedElement(), -1); 2983 } 2984 for (int i = 0; i < element.getRecurrenceTemplate().size(); i++) { 2985 composeAppointmentRecurrenceTemplateComponent(t, "Appointment", "recurrenceTemplate", element.getRecurrenceTemplate().get(i), i); 2986 } 2987 } 2988 2989 protected void composeAppointmentParticipantComponent(Complex parent, String parentType, String name, Appointment.AppointmentParticipantComponent element, int index) { 2990 if (element == null) 2991 return; 2992 Complex t; 2993 if (Utilities.noString(parentType)) 2994 t = parent; 2995 else { 2996 t = parent.predicate("fhir:"+parentType+'.'+name); 2997 } 2998 composeBackboneElement(t, "participant", name, element, index); 2999 for (int i = 0; i < element.getType().size(); i++) { 3000 composeCodeableConcept(t, "AppointmentParticipantComponent", "type", element.getType().get(i), i); 3001 } 3002 if (element.hasPeriod()) { 3003 composePeriod(t, "AppointmentParticipantComponent", "period", element.getPeriod(), -1); 3004 } 3005 if (element.hasActor()) { 3006 composeReference(t, "AppointmentParticipantComponent", "actor", element.getActor(), -1); 3007 } 3008 if (element.hasRequiredElement()) { 3009 composeBoolean(t, "AppointmentParticipantComponent", "required", element.getRequiredElement(), -1); 3010 } 3011 if (element.hasStatusElement()) { 3012 composeEnum(t, "AppointmentParticipantComponent", "status", element.getStatusElement(), -1); 3013 } 3014 } 3015 3016 protected void composeAppointmentRecurrenceTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateComponent element, int index) { 3017 if (element == null) 3018 return; 3019 Complex t; 3020 if (Utilities.noString(parentType)) 3021 t = parent; 3022 else { 3023 t = parent.predicate("fhir:"+parentType+'.'+name); 3024 } 3025 composeBackboneElement(t, "recurrenceTemplate", name, element, index); 3026 if (element.hasTimezone()) { 3027 composeCodeableConcept(t, "AppointmentRecurrenceTemplateComponent", "timezone", element.getTimezone(), -1); 3028 } 3029 if (element.hasRecurrenceType()) { 3030 composeCodeableConcept(t, "AppointmentRecurrenceTemplateComponent", "recurrenceType", element.getRecurrenceType(), -1); 3031 } 3032 if (element.hasLastOccurrenceDateElement()) { 3033 composeDate(t, "AppointmentRecurrenceTemplateComponent", "lastOccurrenceDate", element.getLastOccurrenceDateElement(), -1); 3034 } 3035 if (element.hasOccurrenceCountElement()) { 3036 composePositiveInt(t, "AppointmentRecurrenceTemplateComponent", "occurrenceCount", element.getOccurrenceCountElement(), -1); 3037 } 3038 for (int i = 0; i < element.getOccurrenceDate().size(); i++) { 3039 composeDate(t, "AppointmentRecurrenceTemplateComponent", "occurrenceDate", element.getOccurrenceDate().get(i), i); 3040 } 3041 if (element.hasWeeklyTemplate()) { 3042 composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "weeklyTemplate", element.getWeeklyTemplate(), -1); 3043 } 3044 if (element.hasMonthlyTemplate()) { 3045 composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "monthlyTemplate", element.getMonthlyTemplate(), -1); 3046 } 3047 if (element.hasYearlyTemplate()) { 3048 composeAppointmentRecurrenceTemplateYearlyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "yearlyTemplate", element.getYearlyTemplate(), -1); 3049 } 3050 for (int i = 0; i < element.getExcludingDate().size(); i++) { 3051 composeDate(t, "AppointmentRecurrenceTemplateComponent", "excludingDate", element.getExcludingDate().get(i), i); 3052 } 3053 for (int i = 0; i < element.getExcludingRecurrenceId().size(); i++) { 3054 composePositiveInt(t, "AppointmentRecurrenceTemplateComponent", "excludingRecurrenceId", element.getExcludingRecurrenceId().get(i), i); 3055 } 3056 } 3057 3058 protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element, int index) { 3059 if (element == null) 3060 return; 3061 Complex t; 3062 if (Utilities.noString(parentType)) 3063 t = parent; 3064 else { 3065 t = parent.predicate("fhir:"+parentType+'.'+name); 3066 } 3067 composeBackboneElement(t, "weeklyTemplate", name, element, index); 3068 if (element.hasMondayElement()) { 3069 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "monday", element.getMondayElement(), -1); 3070 } 3071 if (element.hasTuesdayElement()) { 3072 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "tuesday", element.getTuesdayElement(), -1); 3073 } 3074 if (element.hasWednesdayElement()) { 3075 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "wednesday", element.getWednesdayElement(), -1); 3076 } 3077 if (element.hasThursdayElement()) { 3078 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "thursday", element.getThursdayElement(), -1); 3079 } 3080 if (element.hasFridayElement()) { 3081 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "friday", element.getFridayElement(), -1); 3082 } 3083 if (element.hasSaturdayElement()) { 3084 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "saturday", element.getSaturdayElement(), -1); 3085 } 3086 if (element.hasSundayElement()) { 3087 composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "sunday", element.getSundayElement(), -1); 3088 } 3089 if (element.hasWeekIntervalElement()) { 3090 composePositiveInt(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "weekInterval", element.getWeekIntervalElement(), -1); 3091 } 3092 } 3093 3094 protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element, int index) { 3095 if (element == null) 3096 return; 3097 Complex t; 3098 if (Utilities.noString(parentType)) 3099 t = parent; 3100 else { 3101 t = parent.predicate("fhir:"+parentType+'.'+name); 3102 } 3103 composeBackboneElement(t, "monthlyTemplate", name, element, index); 3104 if (element.hasDayOfMonthElement()) { 3105 composePositiveInt(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "dayOfMonth", element.getDayOfMonthElement(), -1); 3106 } 3107 if (element.hasNthWeekOfMonth()) { 3108 composeCoding(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "nthWeekOfMonth", element.getNthWeekOfMonth(), -1); 3109 } 3110 if (element.hasDayOfWeek()) { 3111 composeCoding(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "dayOfWeek", element.getDayOfWeek(), -1); 3112 } 3113 if (element.hasMonthIntervalElement()) { 3114 composePositiveInt(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "monthInterval", element.getMonthIntervalElement(), -1); 3115 } 3116 } 3117 3118 protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element, int index) { 3119 if (element == null) 3120 return; 3121 Complex t; 3122 if (Utilities.noString(parentType)) 3123 t = parent; 3124 else { 3125 t = parent.predicate("fhir:"+parentType+'.'+name); 3126 } 3127 composeBackboneElement(t, "yearlyTemplate", name, element, index); 3128 if (element.hasYearIntervalElement()) { 3129 composePositiveInt(t, "AppointmentRecurrenceTemplateYearlyTemplateComponent", "yearInterval", element.getYearIntervalElement(), -1); 3130 } 3131 } 3132 3133 protected void composeAppointmentResponse(Complex parent, String parentType, String name, AppointmentResponse element, int index) { 3134 if (element == null) 3135 return; 3136 Complex t; 3137 if (Utilities.noString(parentType)) 3138 t = parent; 3139 else { 3140 t = parent.predicate("fhir:"+parentType+'.'+name); 3141 } 3142 composeDomainResource(t, "AppointmentResponse", name, element, index); 3143 for (int i = 0; i < element.getIdentifier().size(); i++) { 3144 composeIdentifier(t, "AppointmentResponse", "identifier", element.getIdentifier().get(i), i); 3145 } 3146 if (element.hasAppointment()) { 3147 composeReference(t, "AppointmentResponse", "appointment", element.getAppointment(), -1); 3148 } 3149 if (element.hasProposedNewTimeElement()) { 3150 composeBoolean(t, "AppointmentResponse", "proposedNewTime", element.getProposedNewTimeElement(), -1); 3151 } 3152 if (element.hasStartElement()) { 3153 composeInstant(t, "AppointmentResponse", "start", element.getStartElement(), -1); 3154 } 3155 if (element.hasEndElement()) { 3156 composeInstant(t, "AppointmentResponse", "end", element.getEndElement(), -1); 3157 } 3158 for (int i = 0; i < element.getParticipantType().size(); i++) { 3159 composeCodeableConcept(t, "AppointmentResponse", "participantType", element.getParticipantType().get(i), i); 3160 } 3161 if (element.hasActor()) { 3162 composeReference(t, "AppointmentResponse", "actor", element.getActor(), -1); 3163 } 3164 if (element.hasParticipantStatusElement()) { 3165 composeEnum(t, "AppointmentResponse", "participantStatus", element.getParticipantStatusElement(), -1); 3166 } 3167 if (element.hasCommentElement()) { 3168 composeString(t, "AppointmentResponse", "comment", element.getCommentElement(), -1); 3169 } 3170 if (element.hasRecurringElement()) { 3171 composeBoolean(t, "AppointmentResponse", "recurring", element.getRecurringElement(), -1); 3172 } 3173 if (element.hasOccurrenceDateElement()) { 3174 composeDate(t, "AppointmentResponse", "occurrenceDate", element.getOccurrenceDateElement(), -1); 3175 } 3176 if (element.hasRecurrenceIdElement()) { 3177 composePositiveInt(t, "AppointmentResponse", "recurrenceId", element.getRecurrenceIdElement(), -1); 3178 } 3179 } 3180 3181 protected void composeArtifactAssessment(Complex parent, String parentType, String name, ArtifactAssessment 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 composeDomainResource(t, "ArtifactAssessment", name, element, index); 3191 for (int i = 0; i < element.getIdentifier().size(); i++) { 3192 composeIdentifier(t, "ArtifactAssessment", "identifier", element.getIdentifier().get(i), i); 3193 } 3194 if (element.hasCiteAs()) { 3195 composeType(t, "ArtifactAssessment", "citeAs", element.getCiteAs(), -1); 3196 } 3197 if (element.hasDateElement()) { 3198 composeDateTime(t, "ArtifactAssessment", "date", element.getDateElement(), -1); 3199 } 3200 if (element.hasCopyrightElement()) { 3201 composeMarkdown(t, "ArtifactAssessment", "copyright", element.getCopyrightElement(), -1); 3202 } 3203 if (element.hasApprovalDateElement()) { 3204 composeDate(t, "ArtifactAssessment", "approvalDate", element.getApprovalDateElement(), -1); 3205 } 3206 if (element.hasLastReviewDateElement()) { 3207 composeDate(t, "ArtifactAssessment", "lastReviewDate", element.getLastReviewDateElement(), -1); 3208 } 3209 if (element.hasArtifact()) { 3210 composeType(t, "ArtifactAssessment", "artifact", element.getArtifact(), -1); 3211 } 3212 for (int i = 0; i < element.getContent().size(); i++) { 3213 composeArtifactAssessmentContentComponent(t, "ArtifactAssessment", "content", element.getContent().get(i), i); 3214 } 3215 if (element.hasWorkflowStatusElement()) { 3216 composeEnum(t, "ArtifactAssessment", "workflowStatus", element.getWorkflowStatusElement(), -1); 3217 } 3218 if (element.hasDispositionElement()) { 3219 composeEnum(t, "ArtifactAssessment", "disposition", element.getDispositionElement(), -1); 3220 } 3221 } 3222 3223 protected void composeArtifactAssessmentContentComponent(Complex parent, String parentType, String name, ArtifactAssessment.ArtifactAssessmentContentComponent element, int index) { 3224 if (element == null) 3225 return; 3226 Complex t; 3227 if (Utilities.noString(parentType)) 3228 t = parent; 3229 else { 3230 t = parent.predicate("fhir:"+parentType+'.'+name); 3231 } 3232 composeBackboneElement(t, "content", name, element, index); 3233 if (element.hasInformationTypeElement()) { 3234 composeEnum(t, "ArtifactAssessmentContentComponent", "informationType", element.getInformationTypeElement(), -1); 3235 } 3236 if (element.hasSummaryElement()) { 3237 composeMarkdown(t, "ArtifactAssessmentContentComponent", "summary", element.getSummaryElement(), -1); 3238 } 3239 if (element.hasType()) { 3240 composeCodeableConcept(t, "ArtifactAssessmentContentComponent", "type", element.getType(), -1); 3241 } 3242 for (int i = 0; i < element.getClassifier().size(); i++) { 3243 composeCodeableConcept(t, "ArtifactAssessmentContentComponent", "classifier", element.getClassifier().get(i), i); 3244 } 3245 if (element.hasAuthor()) { 3246 composeReference(t, "ArtifactAssessmentContentComponent", "author", element.getAuthor(), -1); 3247 } 3248 for (int i = 0; i < element.getPath().size(); i++) { 3249 composeUri(t, "ArtifactAssessmentContentComponent", "path", element.getPath().get(i), i); 3250 } 3251 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 3252 composeRelatedArtifact(t, "ArtifactAssessmentContentComponent", "relatedArtifact", element.getRelatedArtifact().get(i), i); 3253 } 3254 if (element.hasFreeToShareElement()) { 3255 composeBoolean(t, "ArtifactAssessmentContentComponent", "freeToShare", element.getFreeToShareElement(), -1); 3256 } 3257 for (int i = 0; i < element.getComponent().size(); i++) { 3258 composeArtifactAssessmentContentComponent(t, "ArtifactAssessmentContentComponent", "component", element.getComponent().get(i), i); 3259 } 3260 } 3261 3262 protected void composeAuditEvent(Complex parent, String parentType, String name, AuditEvent element, int index) { 3263 if (element == null) 3264 return; 3265 Complex t; 3266 if (Utilities.noString(parentType)) 3267 t = parent; 3268 else { 3269 t = parent.predicate("fhir:"+parentType+'.'+name); 3270 } 3271 composeDomainResource(t, "AuditEvent", name, element, index); 3272 for (int i = 0; i < element.getCategory().size(); i++) { 3273 composeCodeableConcept(t, "AuditEvent", "category", element.getCategory().get(i), i); 3274 } 3275 if (element.hasCode()) { 3276 composeCodeableConcept(t, "AuditEvent", "code", element.getCode(), -1); 3277 } 3278 if (element.hasActionElement()) { 3279 composeEnum(t, "AuditEvent", "action", element.getActionElement(), -1); 3280 } 3281 if (element.hasSeverityElement()) { 3282 composeEnum(t, "AuditEvent", "severity", element.getSeverityElement(), -1); 3283 } 3284 if (element.hasOccurred()) { 3285 composeType(t, "AuditEvent", "occurred", element.getOccurred(), -1); 3286 } 3287 if (element.hasRecordedElement()) { 3288 composeInstant(t, "AuditEvent", "recorded", element.getRecordedElement(), -1); 3289 } 3290 if (element.hasOutcome()) { 3291 composeAuditEventOutcomeComponent(t, "AuditEvent", "outcome", element.getOutcome(), -1); 3292 } 3293 for (int i = 0; i < element.getAuthorization().size(); i++) { 3294 composeCodeableConcept(t, "AuditEvent", "authorization", element.getAuthorization().get(i), i); 3295 } 3296 for (int i = 0; i < element.getBasedOn().size(); i++) { 3297 composeReference(t, "AuditEvent", "basedOn", element.getBasedOn().get(i), i); 3298 } 3299 if (element.hasPatient()) { 3300 composeReference(t, "AuditEvent", "patient", element.getPatient(), -1); 3301 } 3302 if (element.hasEncounter()) { 3303 composeReference(t, "AuditEvent", "encounter", element.getEncounter(), -1); 3304 } 3305 for (int i = 0; i < element.getAgent().size(); i++) { 3306 composeAuditEventAgentComponent(t, "AuditEvent", "agent", element.getAgent().get(i), i); 3307 } 3308 if (element.hasSource()) { 3309 composeAuditEventSourceComponent(t, "AuditEvent", "source", element.getSource(), -1); 3310 } 3311 for (int i = 0; i < element.getEntity().size(); i++) { 3312 composeAuditEventEntityComponent(t, "AuditEvent", "entity", element.getEntity().get(i), i); 3313 } 3314 } 3315 3316 protected void composeAuditEventOutcomeComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventOutcomeComponent element, int index) { 3317 if (element == null) 3318 return; 3319 Complex t; 3320 if (Utilities.noString(parentType)) 3321 t = parent; 3322 else { 3323 t = parent.predicate("fhir:"+parentType+'.'+name); 3324 } 3325 composeBackboneElement(t, "outcome", name, element, index); 3326 if (element.hasCode()) { 3327 composeCoding(t, "AuditEventOutcomeComponent", "code", element.getCode(), -1); 3328 } 3329 for (int i = 0; i < element.getDetail().size(); i++) { 3330 composeCodeableConcept(t, "AuditEventOutcomeComponent", "detail", element.getDetail().get(i), i); 3331 } 3332 } 3333 3334 protected void composeAuditEventAgentComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventAgentComponent element, int index) { 3335 if (element == null) 3336 return; 3337 Complex t; 3338 if (Utilities.noString(parentType)) 3339 t = parent; 3340 else { 3341 t = parent.predicate("fhir:"+parentType+'.'+name); 3342 } 3343 composeBackboneElement(t, "agent", name, element, index); 3344 if (element.hasType()) { 3345 composeCodeableConcept(t, "AuditEventAgentComponent", "type", element.getType(), -1); 3346 } 3347 for (int i = 0; i < element.getRole().size(); i++) { 3348 composeCodeableConcept(t, "AuditEventAgentComponent", "role", element.getRole().get(i), i); 3349 } 3350 if (element.hasWho()) { 3351 composeReference(t, "AuditEventAgentComponent", "who", element.getWho(), -1); 3352 } 3353 if (element.hasRequestorElement()) { 3354 composeBoolean(t, "AuditEventAgentComponent", "requestor", element.getRequestorElement(), -1); 3355 } 3356 if (element.hasLocation()) { 3357 composeReference(t, "AuditEventAgentComponent", "location", element.getLocation(), -1); 3358 } 3359 for (int i = 0; i < element.getPolicy().size(); i++) { 3360 composeUri(t, "AuditEventAgentComponent", "policy", element.getPolicy().get(i), i); 3361 } 3362 if (element.hasNetwork()) { 3363 composeType(t, "AuditEventAgentComponent", "network", element.getNetwork(), -1); 3364 } 3365 for (int i = 0; i < element.getAuthorization().size(); i++) { 3366 composeCodeableConcept(t, "AuditEventAgentComponent", "authorization", element.getAuthorization().get(i), i); 3367 } 3368 } 3369 3370 protected void composeAuditEventSourceComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventSourceComponent element, int index) { 3371 if (element == null) 3372 return; 3373 Complex t; 3374 if (Utilities.noString(parentType)) 3375 t = parent; 3376 else { 3377 t = parent.predicate("fhir:"+parentType+'.'+name); 3378 } 3379 composeBackboneElement(t, "source", name, element, index); 3380 if (element.hasSite()) { 3381 composeReference(t, "AuditEventSourceComponent", "site", element.getSite(), -1); 3382 } 3383 if (element.hasObserver()) { 3384 composeReference(t, "AuditEventSourceComponent", "observer", element.getObserver(), -1); 3385 } 3386 for (int i = 0; i < element.getType().size(); i++) { 3387 composeCodeableConcept(t, "AuditEventSourceComponent", "type", element.getType().get(i), i); 3388 } 3389 } 3390 3391 protected void composeAuditEventEntityComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityComponent element, int index) { 3392 if (element == null) 3393 return; 3394 Complex t; 3395 if (Utilities.noString(parentType)) 3396 t = parent; 3397 else { 3398 t = parent.predicate("fhir:"+parentType+'.'+name); 3399 } 3400 composeBackboneElement(t, "entity", name, element, index); 3401 if (element.hasWhat()) { 3402 composeReference(t, "AuditEventEntityComponent", "what", element.getWhat(), -1); 3403 } 3404 if (element.hasRole()) { 3405 composeCodeableConcept(t, "AuditEventEntityComponent", "role", element.getRole(), -1); 3406 } 3407 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 3408 composeCodeableConcept(t, "AuditEventEntityComponent", "securityLabel", element.getSecurityLabel().get(i), i); 3409 } 3410 if (element.hasQueryElement()) { 3411 composeBase64Binary(t, "AuditEventEntityComponent", "query", element.getQueryElement(), -1); 3412 } 3413 for (int i = 0; i < element.getDetail().size(); i++) { 3414 composeAuditEventEntityDetailComponent(t, "AuditEventEntityComponent", "detail", element.getDetail().get(i), i); 3415 } 3416 for (int i = 0; i < element.getAgent().size(); i++) { 3417 composeAuditEventAgentComponent(t, "AuditEventEntityComponent", "agent", element.getAgent().get(i), i); 3418 } 3419 } 3420 3421 protected void composeAuditEventEntityDetailComponent(Complex parent, String parentType, String name, AuditEvent.AuditEventEntityDetailComponent element, int index) { 3422 if (element == null) 3423 return; 3424 Complex t; 3425 if (Utilities.noString(parentType)) 3426 t = parent; 3427 else { 3428 t = parent.predicate("fhir:"+parentType+'.'+name); 3429 } 3430 composeBackboneElement(t, "detail", name, element, index); 3431 if (element.hasType()) { 3432 composeCodeableConcept(t, "AuditEventEntityDetailComponent", "type", element.getType(), -1); 3433 } 3434 if (element.hasValue()) { 3435 composeType(t, "AuditEventEntityDetailComponent", "value", element.getValue(), -1); 3436 } 3437 } 3438 3439 protected void composeBasic(Complex parent, String parentType, String name, Basic element, int index) { 3440 if (element == null) 3441 return; 3442 Complex t; 3443 if (Utilities.noString(parentType)) 3444 t = parent; 3445 else { 3446 t = parent.predicate("fhir:"+parentType+'.'+name); 3447 } 3448 composeDomainResource(t, "Basic", name, element, index); 3449 for (int i = 0; i < element.getIdentifier().size(); i++) { 3450 composeIdentifier(t, "Basic", "identifier", element.getIdentifier().get(i), i); 3451 } 3452 if (element.hasCode()) { 3453 composeCodeableConcept(t, "Basic", "code", element.getCode(), -1); 3454 } 3455 if (element.hasSubject()) { 3456 composeReference(t, "Basic", "subject", element.getSubject(), -1); 3457 } 3458 if (element.hasCreatedElement()) { 3459 composeDateTime(t, "Basic", "created", element.getCreatedElement(), -1); 3460 } 3461 if (element.hasAuthor()) { 3462 composeReference(t, "Basic", "author", element.getAuthor(), -1); 3463 } 3464 } 3465 3466 protected void composeBinary(Complex parent, String parentType, String name, Binary element, int index) { 3467 if (element == null) 3468 return; 3469 Complex t; 3470 if (Utilities.noString(parentType)) 3471 t = parent; 3472 else { 3473 t = parent.predicate("fhir:"+parentType+'.'+name); 3474 } 3475 composeResource(t, "Binary", name, element, index); 3476 if (element.hasContentTypeElement()) { 3477 composeCode(t, "Binary", "contentType", element.getContentTypeElement(), -1); 3478 } 3479 if (element.hasSecurityContext()) { 3480 composeReference(t, "Binary", "securityContext", element.getSecurityContext(), -1); 3481 } 3482 if (element.hasDataElement()) { 3483 composeBase64Binary(t, "Binary", "data", element.getDataElement(), -1); 3484 } 3485 } 3486 3487 protected void composeBiologicallyDerivedProduct(Complex parent, String parentType, String name, BiologicallyDerivedProduct element, int index) { 3488 if (element == null) 3489 return; 3490 Complex t; 3491 if (Utilities.noString(parentType)) 3492 t = parent; 3493 else { 3494 t = parent.predicate("fhir:"+parentType+'.'+name); 3495 } 3496 composeDomainResource(t, "BiologicallyDerivedProduct", name, element, index); 3497 if (element.hasProductCategory()) { 3498 composeCoding(t, "BiologicallyDerivedProduct", "productCategory", element.getProductCategory(), -1); 3499 } 3500 if (element.hasProductCode()) { 3501 composeCodeableConcept(t, "BiologicallyDerivedProduct", "productCode", element.getProductCode(), -1); 3502 } 3503 for (int i = 0; i < element.getParent().size(); i++) { 3504 composeReference(t, "BiologicallyDerivedProduct", "parent", element.getParent().get(i), i); 3505 } 3506 for (int i = 0; i < element.getRequest().size(); i++) { 3507 composeReference(t, "BiologicallyDerivedProduct", "request", element.getRequest().get(i), i); 3508 } 3509 for (int i = 0; i < element.getIdentifier().size(); i++) { 3510 composeIdentifier(t, "BiologicallyDerivedProduct", "identifier", element.getIdentifier().get(i), i); 3511 } 3512 if (element.hasBiologicalSourceEvent()) { 3513 composeIdentifier(t, "BiologicallyDerivedProduct", "biologicalSourceEvent", element.getBiologicalSourceEvent(), -1); 3514 } 3515 for (int i = 0; i < element.getProcessingFacility().size(); i++) { 3516 composeReference(t, "BiologicallyDerivedProduct", "processingFacility", element.getProcessingFacility().get(i), i); 3517 } 3518 if (element.hasDivisionElement()) { 3519 composeString(t, "BiologicallyDerivedProduct", "division", element.getDivisionElement(), -1); 3520 } 3521 if (element.hasProductStatus()) { 3522 composeCoding(t, "BiologicallyDerivedProduct", "productStatus", element.getProductStatus(), -1); 3523 } 3524 if (element.hasExpirationDateElement()) { 3525 composeDateTime(t, "BiologicallyDerivedProduct", "expirationDate", element.getExpirationDateElement(), -1); 3526 } 3527 if (element.hasCollection()) { 3528 composeBiologicallyDerivedProductCollectionComponent(t, "BiologicallyDerivedProduct", "collection", element.getCollection(), -1); 3529 } 3530 if (element.hasStorageTempRequirements()) { 3531 composeRange(t, "BiologicallyDerivedProduct", "storageTempRequirements", element.getStorageTempRequirements(), -1); 3532 } 3533 for (int i = 0; i < element.getProperty().size(); i++) { 3534 composeBiologicallyDerivedProductPropertyComponent(t, "BiologicallyDerivedProduct", "property", element.getProperty().get(i), i); 3535 } 3536 } 3537 3538 protected void composeBiologicallyDerivedProductCollectionComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent 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, "collection", name, element, index); 3548 if (element.hasCollector()) { 3549 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "collector", element.getCollector(), -1); 3550 } 3551 if (element.hasSource()) { 3552 composeReference(t, "BiologicallyDerivedProductCollectionComponent", "source", element.getSource(), -1); 3553 } 3554 if (element.hasCollected()) { 3555 composeType(t, "BiologicallyDerivedProductCollectionComponent", "collected", element.getCollected(), -1); 3556 } 3557 } 3558 3559 protected void composeBiologicallyDerivedProductPropertyComponent(Complex parent, String parentType, String name, BiologicallyDerivedProduct.BiologicallyDerivedProductPropertyComponent element, int index) { 3560 if (element == null) 3561 return; 3562 Complex t; 3563 if (Utilities.noString(parentType)) 3564 t = parent; 3565 else { 3566 t = parent.predicate("fhir:"+parentType+'.'+name); 3567 } 3568 composeBackboneElement(t, "property", name, element, index); 3569 if (element.hasType()) { 3570 composeCoding(t, "BiologicallyDerivedProductPropertyComponent", "type", element.getType(), -1); 3571 } 3572 if (element.hasValue()) { 3573 composeType(t, "BiologicallyDerivedProductPropertyComponent", "value", element.getValue(), -1); 3574 } 3575 } 3576 3577 protected void composeBodyStructure(Complex parent, String parentType, String name, BodyStructure element, int index) { 3578 if (element == null) 3579 return; 3580 Complex t; 3581 if (Utilities.noString(parentType)) 3582 t = parent; 3583 else { 3584 t = parent.predicate("fhir:"+parentType+'.'+name); 3585 } 3586 composeDomainResource(t, "BodyStructure", name, element, index); 3587 for (int i = 0; i < element.getIdentifier().size(); i++) { 3588 composeIdentifier(t, "BodyStructure", "identifier", element.getIdentifier().get(i), i); 3589 } 3590 if (element.hasActiveElement()) { 3591 composeBoolean(t, "BodyStructure", "active", element.getActiveElement(), -1); 3592 } 3593 if (element.hasMorphology()) { 3594 composeCodeableConcept(t, "BodyStructure", "morphology", element.getMorphology(), -1); 3595 } 3596 for (int i = 0; i < element.getIncludedStructure().size(); i++) { 3597 composeBodyStructureIncludedStructureComponent(t, "BodyStructure", "includedStructure", element.getIncludedStructure().get(i), i); 3598 } 3599 for (int i = 0; i < element.getExcludedStructure().size(); i++) { 3600 composeBodyStructureExcludedStructureComponent(t, "BodyStructure", "excludedStructure", element.getExcludedStructure().get(i), i); 3601 } 3602 if (element.hasDescriptionElement()) { 3603 composeString(t, "BodyStructure", "description", element.getDescriptionElement(), -1); 3604 } 3605 for (int i = 0; i < element.getImage().size(); i++) { 3606 composeAttachment(t, "BodyStructure", "image", element.getImage().get(i), i); 3607 } 3608 if (element.hasPatient()) { 3609 composeReference(t, "BodyStructure", "patient", element.getPatient(), -1); 3610 } 3611 } 3612 3613 protected void composeBodyStructureIncludedStructureComponent(Complex parent, String parentType, String name, BodyStructure.BodyStructureIncludedStructureComponent element, int index) { 3614 if (element == null) 3615 return; 3616 Complex t; 3617 if (Utilities.noString(parentType)) 3618 t = parent; 3619 else { 3620 t = parent.predicate("fhir:"+parentType+'.'+name); 3621 } 3622 composeBackboneElement(t, "includedStructure", name, element, index); 3623 if (element.hasStructure()) { 3624 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "structure", element.getStructure(), -1); 3625 } 3626 if (element.hasLaterality()) { 3627 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "laterality", element.getLaterality(), -1); 3628 } 3629 for (int i = 0; i < element.getQualifier().size(); i++) { 3630 composeCodeableConcept(t, "BodyStructureIncludedStructureComponent", "qualifier", element.getQualifier().get(i), i); 3631 } 3632 } 3633 3634 protected void composeBodyStructureExcludedStructureComponent(Complex parent, String parentType, String name, BodyStructure.BodyStructureExcludedStructureComponent element, int index) { 3635 if (element == null) 3636 return; 3637 Complex t; 3638 if (Utilities.noString(parentType)) 3639 t = parent; 3640 else { 3641 t = parent.predicate("fhir:"+parentType+'.'+name); 3642 } 3643 composeBackboneElement(t, "excludedStructure", name, element, index); 3644 if (element.hasStructure()) { 3645 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "structure", element.getStructure(), -1); 3646 } 3647 if (element.hasLaterality()) { 3648 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "laterality", element.getLaterality(), -1); 3649 } 3650 for (int i = 0; i < element.getQualifier().size(); i++) { 3651 composeCodeableConcept(t, "BodyStructureExcludedStructureComponent", "qualifier", element.getQualifier().get(i), i); 3652 } 3653 } 3654 3655 protected void composeBundle(Complex parent, String parentType, String name, Bundle element, int index) { 3656 if (element == null) 3657 return; 3658 Complex t; 3659 if (Utilities.noString(parentType)) 3660 t = parent; 3661 else { 3662 t = parent.predicate("fhir:"+parentType+'.'+name); 3663 } 3664 composeResource(t, "Bundle", name, element, index); 3665 if (element.hasIdentifier()) { 3666 composeIdentifier(t, "Bundle", "identifier", element.getIdentifier(), -1); 3667 } 3668 if (element.hasTypeElement()) { 3669 composeEnum(t, "Bundle", "type", element.getTypeElement(), -1); 3670 } 3671 if (element.hasTimestampElement()) { 3672 composeInstant(t, "Bundle", "timestamp", element.getTimestampElement(), -1); 3673 } 3674 if (element.hasTotalElement()) { 3675 composeUnsignedInt(t, "Bundle", "total", element.getTotalElement(), -1); 3676 } 3677 for (int i = 0; i < element.getLink().size(); i++) { 3678 composeBundleLinkComponent(t, "Bundle", "link", element.getLink().get(i), i); 3679 } 3680 for (int i = 0; i < element.getEntry().size(); i++) { 3681 composeBundleEntryComponent(t, "Bundle", "entry", element.getEntry().get(i), i); 3682 } 3683 if (element.hasSignature()) { 3684 composeSignature(t, "Bundle", "signature", element.getSignature(), -1); 3685 } 3686 if (element.hasIssues()) { 3687 composeResource(t, "Bundle", "issues", element.getIssues(), -1); 3688 } 3689 } 3690 3691 protected void composeBundleLinkComponent(Complex parent, String parentType, String name, Bundle.BundleLinkComponent element, int index) { 3692 if (element == null) 3693 return; 3694 Complex t; 3695 if (Utilities.noString(parentType)) 3696 t = parent; 3697 else { 3698 t = parent.predicate("fhir:"+parentType+'.'+name); 3699 } 3700 composeBackboneElement(t, "link", name, element, index); 3701 if (element.hasRelationElement()) { 3702 composeEnum(t, "BundleLinkComponent", "relation", element.getRelationElement(), -1); 3703 } 3704 if (element.hasUrlElement()) { 3705 composeUri(t, "BundleLinkComponent", "url", element.getUrlElement(), -1); 3706 } 3707 } 3708 3709 protected void composeBundleEntryComponent(Complex parent, String parentType, String name, Bundle.BundleEntryComponent element, int index) { 3710 if (element == null) 3711 return; 3712 Complex t; 3713 if (Utilities.noString(parentType)) 3714 t = parent; 3715 else { 3716 t = parent.predicate("fhir:"+parentType+'.'+name); 3717 } 3718 composeBackboneElement(t, "entry", name, element, index); 3719 for (int i = 0; i < element.getLink().size(); i++) { 3720 composeBundleLinkComponent(t, "BundleEntryComponent", "link", element.getLink().get(i), i); 3721 } 3722 if (element.hasFullUrlElement()) { 3723 composeUri(t, "BundleEntryComponent", "fullUrl", element.getFullUrlElement(), -1); 3724 } 3725 if (element.hasResource()) { 3726 composeResource(t, "BundleEntryComponent", "resource", element.getResource(), -1); 3727 } 3728 if (element.hasSearch()) { 3729 composeBundleEntrySearchComponent(t, "BundleEntryComponent", "search", element.getSearch(), -1); 3730 } 3731 if (element.hasRequest()) { 3732 composeBundleEntryRequestComponent(t, "BundleEntryComponent", "request", element.getRequest(), -1); 3733 } 3734 if (element.hasResponse()) { 3735 composeBundleEntryResponseComponent(t, "BundleEntryComponent", "response", element.getResponse(), -1); 3736 } 3737 } 3738 3739 protected void composeBundleEntrySearchComponent(Complex parent, String parentType, String name, Bundle.BundleEntrySearchComponent element, int index) { 3740 if (element == null) 3741 return; 3742 Complex t; 3743 if (Utilities.noString(parentType)) 3744 t = parent; 3745 else { 3746 t = parent.predicate("fhir:"+parentType+'.'+name); 3747 } 3748 composeBackboneElement(t, "search", name, element, index); 3749 if (element.hasModeElement()) { 3750 composeEnum(t, "BundleEntrySearchComponent", "mode", element.getModeElement(), -1); 3751 } 3752 if (element.hasScoreElement()) { 3753 composeDecimal(t, "BundleEntrySearchComponent", "score", element.getScoreElement(), -1); 3754 } 3755 } 3756 3757 protected void composeBundleEntryRequestComponent(Complex parent, String parentType, String name, Bundle.BundleEntryRequestComponent element, int index) { 3758 if (element == null) 3759 return; 3760 Complex t; 3761 if (Utilities.noString(parentType)) 3762 t = parent; 3763 else { 3764 t = parent.predicate("fhir:"+parentType+'.'+name); 3765 } 3766 composeBackboneElement(t, "request", name, element, index); 3767 if (element.hasMethodElement()) { 3768 composeEnum(t, "BundleEntryRequestComponent", "method", element.getMethodElement(), -1); 3769 } 3770 if (element.hasUrlElement()) { 3771 composeUri(t, "BundleEntryRequestComponent", "url", element.getUrlElement(), -1); 3772 } 3773 if (element.hasIfNoneMatchElement()) { 3774 composeString(t, "BundleEntryRequestComponent", "ifNoneMatch", element.getIfNoneMatchElement(), -1); 3775 } 3776 if (element.hasIfModifiedSinceElement()) { 3777 composeInstant(t, "BundleEntryRequestComponent", "ifModifiedSince", element.getIfModifiedSinceElement(), -1); 3778 } 3779 if (element.hasIfMatchElement()) { 3780 composeString(t, "BundleEntryRequestComponent", "ifMatch", element.getIfMatchElement(), -1); 3781 } 3782 if (element.hasIfNoneExistElement()) { 3783 composeString(t, "BundleEntryRequestComponent", "ifNoneExist", element.getIfNoneExistElement(), -1); 3784 } 3785 } 3786 3787 protected void composeBundleEntryResponseComponent(Complex parent, String parentType, String name, Bundle.BundleEntryResponseComponent element, int index) { 3788 if (element == null) 3789 return; 3790 Complex t; 3791 if (Utilities.noString(parentType)) 3792 t = parent; 3793 else { 3794 t = parent.predicate("fhir:"+parentType+'.'+name); 3795 } 3796 composeBackboneElement(t, "response", name, element, index); 3797 if (element.hasStatusElement()) { 3798 composeString(t, "BundleEntryResponseComponent", "status", element.getStatusElement(), -1); 3799 } 3800 if (element.hasLocationElement()) { 3801 composeUri(t, "BundleEntryResponseComponent", "location", element.getLocationElement(), -1); 3802 } 3803 if (element.hasEtagElement()) { 3804 composeString(t, "BundleEntryResponseComponent", "etag", element.getEtagElement(), -1); 3805 } 3806 if (element.hasLastModifiedElement()) { 3807 composeInstant(t, "BundleEntryResponseComponent", "lastModified", element.getLastModifiedElement(), -1); 3808 } 3809 if (element.hasOutcome()) { 3810 composeResource(t, "BundleEntryResponseComponent", "outcome", element.getOutcome(), -1); 3811 } 3812 } 3813 3814 protected void composeCapabilityStatement(Complex parent, String parentType, String name, CapabilityStatement element, int index) { 3815 if (element == null) 3816 return; 3817 Complex t; 3818 if (Utilities.noString(parentType)) 3819 t = parent; 3820 else { 3821 t = parent.predicate("fhir:"+parentType+'.'+name); 3822 } 3823 composeCanonicalResource(t, "CapabilityStatement", name, element, index); 3824 if (element.hasUrlElement()) { 3825 composeUri(t, "CapabilityStatement", "url", element.getUrlElement(), -1); 3826 } 3827 if (element.hasVersionElement()) { 3828 composeString(t, "CapabilityStatement", "version", element.getVersionElement(), -1); 3829 } 3830 if (element.hasVersionAlgorithm()) { 3831 composeType(t, "CapabilityStatement", "versionAlgorithm", element.getVersionAlgorithm(), -1); 3832 } 3833 if (element.hasNameElement()) { 3834 composeString(t, "CapabilityStatement", "name", element.getNameElement(), -1); 3835 } 3836 if (element.hasTitleElement()) { 3837 composeString(t, "CapabilityStatement", "title", element.getTitleElement(), -1); 3838 } 3839 if (element.hasStatusElement()) { 3840 composeEnum(t, "CapabilityStatement", "status", element.getStatusElement(), -1); 3841 } 3842 if (element.hasExperimentalElement()) { 3843 composeBoolean(t, "CapabilityStatement", "experimental", element.getExperimentalElement(), -1); 3844 } 3845 if (element.hasDateElement()) { 3846 composeDateTime(t, "CapabilityStatement", "date", element.getDateElement(), -1); 3847 } 3848 if (element.hasPublisherElement()) { 3849 composeString(t, "CapabilityStatement", "publisher", element.getPublisherElement(), -1); 3850 } 3851 for (int i = 0; i < element.getContact().size(); i++) { 3852 composeContactDetail(t, "CapabilityStatement", "contact", element.getContact().get(i), i); 3853 } 3854 if (element.hasDescriptionElement()) { 3855 composeMarkdown(t, "CapabilityStatement", "description", element.getDescriptionElement(), -1); 3856 } 3857 for (int i = 0; i < element.getUseContext().size(); i++) { 3858 composeUsageContext(t, "CapabilityStatement", "useContext", element.getUseContext().get(i), i); 3859 } 3860 for (int i = 0; i < element.getJurisdiction().size(); i++) { 3861 composeCodeableConcept(t, "CapabilityStatement", "jurisdiction", element.getJurisdiction().get(i), i); 3862 } 3863 if (element.hasPurposeElement()) { 3864 composeMarkdown(t, "CapabilityStatement", "purpose", element.getPurposeElement(), -1); 3865 } 3866 if (element.hasCopyrightElement()) { 3867 composeMarkdown(t, "CapabilityStatement", "copyright", element.getCopyrightElement(), -1); 3868 } 3869 if (element.hasCopyrightLabelElement()) { 3870 composeString(t, "CapabilityStatement", "copyrightLabel", element.getCopyrightLabelElement(), -1); 3871 } 3872 if (element.hasKindElement()) { 3873 composeEnum(t, "CapabilityStatement", "kind", element.getKindElement(), -1); 3874 } 3875 for (int i = 0; i < element.getInstantiates().size(); i++) { 3876 composeCanonical(t, "CapabilityStatement", "instantiates", element.getInstantiates().get(i), i); 3877 } 3878 for (int i = 0; i < element.getImports().size(); i++) { 3879 composeCanonical(t, "CapabilityStatement", "imports", element.getImports().get(i), i); 3880 } 3881 if (element.hasSoftware()) { 3882 composeCapabilityStatementSoftwareComponent(t, "CapabilityStatement", "software", element.getSoftware(), -1); 3883 } 3884 if (element.hasImplementation()) { 3885 composeCapabilityStatementImplementationComponent(t, "CapabilityStatement", "implementation", element.getImplementation(), -1); 3886 } 3887 if (element.hasFhirVersionElement()) { 3888 composeEnum(t, "CapabilityStatement", "fhirVersion", element.getFhirVersionElement(), -1); 3889 } 3890 for (int i = 0; i < element.getFormat().size(); i++) { 3891 composeCode(t, "CapabilityStatement", "format", element.getFormat().get(i), i); 3892 } 3893 for (int i = 0; i < element.getPatchFormat().size(); i++) { 3894 composeCode(t, "CapabilityStatement", "patchFormat", element.getPatchFormat().get(i), i); 3895 } 3896 for (int i = 0; i < element.getAcceptLanguage().size(); i++) { 3897 composeCode(t, "CapabilityStatement", "acceptLanguage", element.getAcceptLanguage().get(i), i); 3898 } 3899 for (int i = 0; i < element.getImplementationGuide().size(); i++) { 3900 composeCanonical(t, "CapabilityStatement", "implementationGuide", element.getImplementationGuide().get(i), i); 3901 } 3902 for (int i = 0; i < element.getRest().size(); i++) { 3903 composeCapabilityStatementRestComponent(t, "CapabilityStatement", "rest", element.getRest().get(i), i); 3904 } 3905 for (int i = 0; i < element.getMessaging().size(); i++) { 3906 composeCapabilityStatementMessagingComponent(t, "CapabilityStatement", "messaging", element.getMessaging().get(i), i); 3907 } 3908 for (int i = 0; i < element.getDocument().size(); i++) { 3909 composeCapabilityStatementDocumentComponent(t, "CapabilityStatement", "document", element.getDocument().get(i), i); 3910 } 3911 } 3912 3913 protected void composeCapabilityStatementSoftwareComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementSoftwareComponent element, int index) { 3914 if (element == null) 3915 return; 3916 Complex t; 3917 if (Utilities.noString(parentType)) 3918 t = parent; 3919 else { 3920 t = parent.predicate("fhir:"+parentType+'.'+name); 3921 } 3922 composeBackboneElement(t, "software", name, element, index); 3923 if (element.hasNameElement()) { 3924 composeString(t, "CapabilityStatementSoftwareComponent", "name", element.getNameElement(), -1); 3925 } 3926 if (element.hasVersionElement()) { 3927 composeString(t, "CapabilityStatementSoftwareComponent", "version", element.getVersionElement(), -1); 3928 } 3929 if (element.hasReleaseDateElement()) { 3930 composeDateTime(t, "CapabilityStatementSoftwareComponent", "releaseDate", element.getReleaseDateElement(), -1); 3931 } 3932 } 3933 3934 protected void composeCapabilityStatementImplementationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementImplementationComponent element, int index) { 3935 if (element == null) 3936 return; 3937 Complex t; 3938 if (Utilities.noString(parentType)) 3939 t = parent; 3940 else { 3941 t = parent.predicate("fhir:"+parentType+'.'+name); 3942 } 3943 composeBackboneElement(t, "implementation", name, element, index); 3944 if (element.hasDescriptionElement()) { 3945 composeString(t, "CapabilityStatementImplementationComponent", "description", element.getDescriptionElement(), -1); 3946 } 3947 if (element.hasUrlElement()) { 3948 composeUrl(t, "CapabilityStatementImplementationComponent", "url", element.getUrlElement(), -1); 3949 } 3950 if (element.hasCustodian()) { 3951 composeReference(t, "CapabilityStatementImplementationComponent", "custodian", element.getCustodian(), -1); 3952 } 3953 } 3954 3955 protected void composeCapabilityStatementRestComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestComponent element, int index) { 3956 if (element == null) 3957 return; 3958 Complex t; 3959 if (Utilities.noString(parentType)) 3960 t = parent; 3961 else { 3962 t = parent.predicate("fhir:"+parentType+'.'+name); 3963 } 3964 composeBackboneElement(t, "rest", name, element, index); 3965 if (element.hasModeElement()) { 3966 composeEnum(t, "CapabilityStatementRestComponent", "mode", element.getModeElement(), -1); 3967 } 3968 if (element.hasDocumentationElement()) { 3969 composeMarkdown(t, "CapabilityStatementRestComponent", "documentation", element.getDocumentationElement(), -1); 3970 } 3971 if (element.hasSecurity()) { 3972 composeCapabilityStatementRestSecurityComponent(t, "CapabilityStatementRestComponent", "security", element.getSecurity(), -1); 3973 } 3974 for (int i = 0; i < element.getResource().size(); i++) { 3975 composeCapabilityStatementRestResourceComponent(t, "CapabilityStatementRestComponent", "resource", element.getResource().get(i), i); 3976 } 3977 for (int i = 0; i < element.getInteraction().size(); i++) { 3978 composeCapabilityStatementSystemInteractionComponent(t, "CapabilityStatementRestComponent", "interaction", element.getInteraction().get(i), i); 3979 } 3980 for (int i = 0; i < element.getSearchParam().size(); i++) { 3981 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestComponent", "searchParam", element.getSearchParam().get(i), i); 3982 } 3983 for (int i = 0; i < element.getOperation().size(); i++) { 3984 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestComponent", "operation", element.getOperation().get(i), i); 3985 } 3986 for (int i = 0; i < element.getCompartment().size(); i++) { 3987 composeCanonical(t, "CapabilityStatementRestComponent", "compartment", element.getCompartment().get(i), i); 3988 } 3989 } 3990 3991 protected void composeCapabilityStatementRestSecurityComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestSecurityComponent element, int index) { 3992 if (element == null) 3993 return; 3994 Complex t; 3995 if (Utilities.noString(parentType)) 3996 t = parent; 3997 else { 3998 t = parent.predicate("fhir:"+parentType+'.'+name); 3999 } 4000 composeBackboneElement(t, "security", name, element, index); 4001 if (element.hasCorsElement()) { 4002 composeBoolean(t, "CapabilityStatementRestSecurityComponent", "cors", element.getCorsElement(), -1); 4003 } 4004 for (int i = 0; i < element.getService().size(); i++) { 4005 composeCodeableConcept(t, "CapabilityStatementRestSecurityComponent", "service", element.getService().get(i), i); 4006 } 4007 if (element.hasDescriptionElement()) { 4008 composeMarkdown(t, "CapabilityStatementRestSecurityComponent", "description", element.getDescriptionElement(), -1); 4009 } 4010 } 4011 4012 protected void composeCapabilityStatementRestResourceComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceComponent element, int index) { 4013 if (element == null) 4014 return; 4015 Complex t; 4016 if (Utilities.noString(parentType)) 4017 t = parent; 4018 else { 4019 t = parent.predicate("fhir:"+parentType+'.'+name); 4020 } 4021 composeBackboneElement(t, "resource", name, element, index); 4022 if (element.hasTypeElement()) { 4023 composeCode(t, "CapabilityStatementRestResourceComponent", "type", element.getTypeElement(), -1); 4024 } 4025 if (element.hasProfileElement()) { 4026 composeCanonical(t, "CapabilityStatementRestResourceComponent", "profile", element.getProfileElement(), -1); 4027 } 4028 for (int i = 0; i < element.getSupportedProfile().size(); i++) { 4029 composeCanonical(t, "CapabilityStatementRestResourceComponent", "supportedProfile", element.getSupportedProfile().get(i), i); 4030 } 4031 if (element.hasDocumentationElement()) { 4032 composeMarkdown(t, "CapabilityStatementRestResourceComponent", "documentation", element.getDocumentationElement(), -1); 4033 } 4034 for (int i = 0; i < element.getInteraction().size(); i++) { 4035 composeCapabilityStatementResourceInteractionComponent(t, "CapabilityStatementRestResourceComponent", "interaction", element.getInteraction().get(i), i); 4036 } 4037 if (element.hasVersioningElement()) { 4038 composeEnum(t, "CapabilityStatementRestResourceComponent", "versioning", element.getVersioningElement(), -1); 4039 } 4040 if (element.hasReadHistoryElement()) { 4041 composeBoolean(t, "CapabilityStatementRestResourceComponent", "readHistory", element.getReadHistoryElement(), -1); 4042 } 4043 if (element.hasUpdateCreateElement()) { 4044 composeBoolean(t, "CapabilityStatementRestResourceComponent", "updateCreate", element.getUpdateCreateElement(), -1); 4045 } 4046 if (element.hasConditionalCreateElement()) { 4047 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalCreate", element.getConditionalCreateElement(), -1); 4048 } 4049 if (element.hasConditionalReadElement()) { 4050 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalRead", element.getConditionalReadElement(), -1); 4051 } 4052 if (element.hasConditionalUpdateElement()) { 4053 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalUpdate", element.getConditionalUpdateElement(), -1); 4054 } 4055 if (element.hasConditionalPatchElement()) { 4056 composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalPatch", element.getConditionalPatchElement(), -1); 4057 } 4058 if (element.hasConditionalDeleteElement()) { 4059 composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalDelete", element.getConditionalDeleteElement(), -1); 4060 } 4061 for (int i = 0; i < element.getReferencePolicy().size(); i++) { 4062 composeEnum(t, "CapabilityStatementRestResourceComponent", "referencePolicy", element.getReferencePolicy().get(i), i); 4063 } 4064 for (int i = 0; i < element.getSearchInclude().size(); i++) { 4065 composeString(t, "CapabilityStatementRestResourceComponent", "searchInclude", element.getSearchInclude().get(i), i); 4066 } 4067 for (int i = 0; i < element.getSearchRevInclude().size(); i++) { 4068 composeString(t, "CapabilityStatementRestResourceComponent", "searchRevInclude", element.getSearchRevInclude().get(i), i); 4069 } 4070 for (int i = 0; i < element.getSearchParam().size(); i++) { 4071 composeCapabilityStatementRestResourceSearchParamComponent(t, "CapabilityStatementRestResourceComponent", "searchParam", element.getSearchParam().get(i), i); 4072 } 4073 for (int i = 0; i < element.getOperation().size(); i++) { 4074 composeCapabilityStatementRestResourceOperationComponent(t, "CapabilityStatementRestResourceComponent", "operation", element.getOperation().get(i), i); 4075 } 4076 } 4077 4078 protected void composeCapabilityStatementResourceInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.ResourceInteractionComponent element, int index) { 4079 if (element == null) 4080 return; 4081 Complex t; 4082 if (Utilities.noString(parentType)) 4083 t = parent; 4084 else { 4085 t = parent.predicate("fhir:"+parentType+'.'+name); 4086 } 4087 composeBackboneElement(t, "interaction", name, element, index); 4088 if (element.hasCodeElement()) { 4089 composeEnum(t, "ResourceInteractionComponent", "code", element.getCodeElement(), -1); 4090 } 4091 if (element.hasDocumentationElement()) { 4092 composeMarkdown(t, "ResourceInteractionComponent", "documentation", element.getDocumentationElement(), -1); 4093 } 4094 } 4095 4096 protected void composeCapabilityStatementRestResourceSearchParamComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent element, int index) { 4097 if (element == null) 4098 return; 4099 Complex t; 4100 if (Utilities.noString(parentType)) 4101 t = parent; 4102 else { 4103 t = parent.predicate("fhir:"+parentType+'.'+name); 4104 } 4105 composeBackboneElement(t, "searchParam", name, element, index); 4106 if (element.hasNameElement()) { 4107 composeString(t, "CapabilityStatementRestResourceSearchParamComponent", "name", element.getNameElement(), -1); 4108 } 4109 if (element.hasDefinitionElement()) { 4110 composeCanonical(t, "CapabilityStatementRestResourceSearchParamComponent", "definition", element.getDefinitionElement(), -1); 4111 } 4112 if (element.hasTypeElement()) { 4113 composeEnum(t, "CapabilityStatementRestResourceSearchParamComponent", "type", element.getTypeElement(), -1); 4114 } 4115 if (element.hasDocumentationElement()) { 4116 composeMarkdown(t, "CapabilityStatementRestResourceSearchParamComponent", "documentation", element.getDocumentationElement(), -1); 4117 } 4118 } 4119 4120 protected void composeCapabilityStatementRestResourceOperationComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementRestResourceOperationComponent element, int index) { 4121 if (element == null) 4122 return; 4123 Complex t; 4124 if (Utilities.noString(parentType)) 4125 t = parent; 4126 else { 4127 t = parent.predicate("fhir:"+parentType+'.'+name); 4128 } 4129 composeBackboneElement(t, "operation", name, element, index); 4130 if (element.hasNameElement()) { 4131 composeString(t, "CapabilityStatementRestResourceOperationComponent", "name", element.getNameElement(), -1); 4132 } 4133 if (element.hasDefinitionElement()) { 4134 composeCanonical(t, "CapabilityStatementRestResourceOperationComponent", "definition", element.getDefinitionElement(), -1); 4135 } 4136 if (element.hasDocumentationElement()) { 4137 composeMarkdown(t, "CapabilityStatementRestResourceOperationComponent", "documentation", element.getDocumentationElement(), -1); 4138 } 4139 } 4140 4141 protected void composeCapabilityStatementSystemInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement.SystemInteractionComponent element, int index) { 4142 if (element == null) 4143 return; 4144 Complex t; 4145 if (Utilities.noString(parentType)) 4146 t = parent; 4147 else { 4148 t = parent.predicate("fhir:"+parentType+'.'+name); 4149 } 4150 composeBackboneElement(t, "interaction", name, element, index); 4151 if (element.hasCodeElement()) { 4152 composeEnum(t, "SystemInteractionComponent", "code", element.getCodeElement(), -1); 4153 } 4154 if (element.hasDocumentationElement()) { 4155 composeMarkdown(t, "SystemInteractionComponent", "documentation", element.getDocumentationElement(), -1); 4156 } 4157 } 4158 4159 protected void composeCapabilityStatementMessagingComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingComponent element, int index) { 4160 if (element == null) 4161 return; 4162 Complex t; 4163 if (Utilities.noString(parentType)) 4164 t = parent; 4165 else { 4166 t = parent.predicate("fhir:"+parentType+'.'+name); 4167 } 4168 composeBackboneElement(t, "messaging", name, element, index); 4169 for (int i = 0; i < element.getEndpoint().size(); i++) { 4170 composeCapabilityStatementMessagingEndpointComponent(t, "CapabilityStatementMessagingComponent", "endpoint", element.getEndpoint().get(i), i); 4171 } 4172 if (element.hasReliableCacheElement()) { 4173 composeUnsignedInt(t, "CapabilityStatementMessagingComponent", "reliableCache", element.getReliableCacheElement(), -1); 4174 } 4175 if (element.hasDocumentationElement()) { 4176 composeMarkdown(t, "CapabilityStatementMessagingComponent", "documentation", element.getDocumentationElement(), -1); 4177 } 4178 for (int i = 0; i < element.getSupportedMessage().size(); i++) { 4179 composeCapabilityStatementMessagingSupportedMessageComponent(t, "CapabilityStatementMessagingComponent", "supportedMessage", element.getSupportedMessage().get(i), i); 4180 } 4181 } 4182 4183 protected void composeCapabilityStatementMessagingEndpointComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingEndpointComponent element, int index) { 4184 if (element == null) 4185 return; 4186 Complex t; 4187 if (Utilities.noString(parentType)) 4188 t = parent; 4189 else { 4190 t = parent.predicate("fhir:"+parentType+'.'+name); 4191 } 4192 composeBackboneElement(t, "endpoint", name, element, index); 4193 if (element.hasProtocol()) { 4194 composeCoding(t, "CapabilityStatementMessagingEndpointComponent", "protocol", element.getProtocol(), -1); 4195 } 4196 if (element.hasAddressElement()) { 4197 composeUrl(t, "CapabilityStatementMessagingEndpointComponent", "address", element.getAddressElement(), -1); 4198 } 4199 } 4200 4201 protected void composeCapabilityStatementMessagingSupportedMessageComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent element, int index) { 4202 if (element == null) 4203 return; 4204 Complex t; 4205 if (Utilities.noString(parentType)) 4206 t = parent; 4207 else { 4208 t = parent.predicate("fhir:"+parentType+'.'+name); 4209 } 4210 composeBackboneElement(t, "supportedMessage", name, element, index); 4211 if (element.hasModeElement()) { 4212 composeEnum(t, "CapabilityStatementMessagingSupportedMessageComponent", "mode", element.getModeElement(), -1); 4213 } 4214 if (element.hasDefinitionElement()) { 4215 composeCanonical(t, "CapabilityStatementMessagingSupportedMessageComponent", "definition", element.getDefinitionElement(), -1); 4216 } 4217 } 4218 4219 protected void composeCapabilityStatementDocumentComponent(Complex parent, String parentType, String name, CapabilityStatement.CapabilityStatementDocumentComponent element, int index) { 4220 if (element == null) 4221 return; 4222 Complex t; 4223 if (Utilities.noString(parentType)) 4224 t = parent; 4225 else { 4226 t = parent.predicate("fhir:"+parentType+'.'+name); 4227 } 4228 composeBackboneElement(t, "document", name, element, index); 4229 if (element.hasModeElement()) { 4230 composeEnum(t, "CapabilityStatementDocumentComponent", "mode", element.getModeElement(), -1); 4231 } 4232 if (element.hasDocumentationElement()) { 4233 composeMarkdown(t, "CapabilityStatementDocumentComponent", "documentation", element.getDocumentationElement(), -1); 4234 } 4235 if (element.hasProfileElement()) { 4236 composeCanonical(t, "CapabilityStatementDocumentComponent", "profile", element.getProfileElement(), -1); 4237 } 4238 } 4239 4240 protected void composeCarePlan(Complex parent, String parentType, String name, CarePlan element, int index) { 4241 if (element == null) 4242 return; 4243 Complex t; 4244 if (Utilities.noString(parentType)) 4245 t = parent; 4246 else { 4247 t = parent.predicate("fhir:"+parentType+'.'+name); 4248 } 4249 composeDomainResource(t, "CarePlan", name, element, index); 4250 for (int i = 0; i < element.getIdentifier().size(); i++) { 4251 composeIdentifier(t, "CarePlan", "identifier", element.getIdentifier().get(i), i); 4252 } 4253 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 4254 composeCanonical(t, "CarePlan", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 4255 } 4256 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 4257 composeUri(t, "CarePlan", "instantiatesUri", element.getInstantiatesUri().get(i), i); 4258 } 4259 for (int i = 0; i < element.getBasedOn().size(); i++) { 4260 composeReference(t, "CarePlan", "basedOn", element.getBasedOn().get(i), i); 4261 } 4262 for (int i = 0; i < element.getReplaces().size(); i++) { 4263 composeReference(t, "CarePlan", "replaces", element.getReplaces().get(i), i); 4264 } 4265 for (int i = 0; i < element.getPartOf().size(); i++) { 4266 composeReference(t, "CarePlan", "partOf", element.getPartOf().get(i), i); 4267 } 4268 if (element.hasStatusElement()) { 4269 composeEnum(t, "CarePlan", "status", element.getStatusElement(), -1); 4270 } 4271 if (element.hasIntentElement()) { 4272 composeEnum(t, "CarePlan", "intent", element.getIntentElement(), -1); 4273 } 4274 for (int i = 0; i < element.getCategory().size(); i++) { 4275 composeCodeableConcept(t, "CarePlan", "category", element.getCategory().get(i), i); 4276 } 4277 if (element.hasTitleElement()) { 4278 composeString(t, "CarePlan", "title", element.getTitleElement(), -1); 4279 } 4280 if (element.hasDescriptionElement()) { 4281 composeString(t, "CarePlan", "description", element.getDescriptionElement(), -1); 4282 } 4283 if (element.hasSubject()) { 4284 composeReference(t, "CarePlan", "subject", element.getSubject(), -1); 4285 } 4286 if (element.hasEncounter()) { 4287 composeReference(t, "CarePlan", "encounter", element.getEncounter(), -1); 4288 } 4289 if (element.hasPeriod()) { 4290 composePeriod(t, "CarePlan", "period", element.getPeriod(), -1); 4291 } 4292 if (element.hasCreatedElement()) { 4293 composeDateTime(t, "CarePlan", "created", element.getCreatedElement(), -1); 4294 } 4295 if (element.hasCustodian()) { 4296 composeReference(t, "CarePlan", "custodian", element.getCustodian(), -1); 4297 } 4298 for (int i = 0; i < element.getContributor().size(); i++) { 4299 composeReference(t, "CarePlan", "contributor", element.getContributor().get(i), i); 4300 } 4301 for (int i = 0; i < element.getCareTeam().size(); i++) { 4302 composeReference(t, "CarePlan", "careTeam", element.getCareTeam().get(i), i); 4303 } 4304 for (int i = 0; i < element.getAddresses().size(); i++) { 4305 composeCodeableReference(t, "CarePlan", "addresses", element.getAddresses().get(i), i); 4306 } 4307 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 4308 composeReference(t, "CarePlan", "supportingInfo", element.getSupportingInfo().get(i), i); 4309 } 4310 for (int i = 0; i < element.getGoal().size(); i++) { 4311 composeReference(t, "CarePlan", "goal", element.getGoal().get(i), i); 4312 } 4313 for (int i = 0; i < element.getActivity().size(); i++) { 4314 composeCarePlanActivityComponent(t, "CarePlan", "activity", element.getActivity().get(i), i); 4315 } 4316 for (int i = 0; i < element.getNote().size(); i++) { 4317 composeAnnotation(t, "CarePlan", "note", element.getNote().get(i), i); 4318 } 4319 } 4320 4321 protected void composeCarePlanActivityComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityComponent element, int index) { 4322 if (element == null) 4323 return; 4324 Complex t; 4325 if (Utilities.noString(parentType)) 4326 t = parent; 4327 else { 4328 t = parent.predicate("fhir:"+parentType+'.'+name); 4329 } 4330 composeBackboneElement(t, "activity", name, element, index); 4331 for (int i = 0; i < element.getPerformedActivity().size(); i++) { 4332 composeCodeableReference(t, "CarePlanActivityComponent", "performedActivity", element.getPerformedActivity().get(i), i); 4333 } 4334 for (int i = 0; i < element.getProgress().size(); i++) { 4335 composeAnnotation(t, "CarePlanActivityComponent", "progress", element.getProgress().get(i), i); 4336 } 4337 if (element.hasPlannedActivityReference()) { 4338 composeReference(t, "CarePlanActivityComponent", "plannedActivityReference", element.getPlannedActivityReference(), -1); 4339 } 4340 if (element.hasPlannedActivityDetail()) { 4341 composeCarePlanActivityPlannedActivityDetailComponent(t, "CarePlanActivityComponent", "plannedActivityDetail", element.getPlannedActivityDetail(), -1); 4342 } 4343 } 4344 4345 protected void composeCarePlanActivityPlannedActivityDetailComponent(Complex parent, String parentType, String name, CarePlan.CarePlanActivityPlannedActivityDetailComponent element, int index) { 4346 if (element == null) 4347 return; 4348 Complex t; 4349 if (Utilities.noString(parentType)) 4350 t = parent; 4351 else { 4352 t = parent.predicate("fhir:"+parentType+'.'+name); 4353 } 4354 composeBackboneElement(t, "plannedActivityDetail", name, element, index); 4355 if (element.hasKindElement()) { 4356 composeEnum(t, "CarePlanActivityPlannedActivityDetailComponent", "kind", element.getKindElement(), -1); 4357 } 4358 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 4359 composeCanonical(t, "CarePlanActivityPlannedActivityDetailComponent", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 4360 } 4361 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 4362 composeUri(t, "CarePlanActivityPlannedActivityDetailComponent", "instantiatesUri", element.getInstantiatesUri().get(i), i); 4363 } 4364 if (element.hasCode()) { 4365 composeCodeableConcept(t, "CarePlanActivityPlannedActivityDetailComponent", "code", element.getCode(), -1); 4366 } 4367 for (int i = 0; i < element.getReason().size(); i++) { 4368 composeCodeableReference(t, "CarePlanActivityPlannedActivityDetailComponent", "reason", element.getReason().get(i), i); 4369 } 4370 for (int i = 0; i < element.getGoal().size(); i++) { 4371 composeReference(t, "CarePlanActivityPlannedActivityDetailComponent", "goal", element.getGoal().get(i), i); 4372 } 4373 if (element.hasStatusElement()) { 4374 composeEnum(t, "CarePlanActivityPlannedActivityDetailComponent", "status", element.getStatusElement(), -1); 4375 } 4376 if (element.hasStatusReason()) { 4377 composeCodeableConcept(t, "CarePlanActivityPlannedActivityDetailComponent", "statusReason", element.getStatusReason(), -1); 4378 } 4379 if (element.hasDoNotPerformElement()) { 4380 composeBoolean(t, "CarePlanActivityPlannedActivityDetailComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 4381 } 4382 if (element.hasScheduled()) { 4383 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "scheduled", element.getScheduled(), -1); 4384 } 4385 if (element.hasLocation()) { 4386 composeCodeableReference(t, "CarePlanActivityPlannedActivityDetailComponent", "location", element.getLocation(), -1); 4387 } 4388 if (element.hasReported()) { 4389 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "reported", element.getReported(), -1); 4390 } 4391 for (int i = 0; i < element.getPerformer().size(); i++) { 4392 composeReference(t, "CarePlanActivityPlannedActivityDetailComponent", "performer", element.getPerformer().get(i), i); 4393 } 4394 if (element.hasProduct()) { 4395 composeType(t, "CarePlanActivityPlannedActivityDetailComponent", "product", element.getProduct(), -1); 4396 } 4397 if (element.hasDailyAmount()) { 4398 composeQuantity(t, "CarePlanActivityPlannedActivityDetailComponent", "dailyAmount", element.getDailyAmount(), -1); 4399 } 4400 if (element.hasQuantity()) { 4401 composeQuantity(t, "CarePlanActivityPlannedActivityDetailComponent", "quantity", element.getQuantity(), -1); 4402 } 4403 if (element.hasDescriptionElement()) { 4404 composeString(t, "CarePlanActivityPlannedActivityDetailComponent", "description", element.getDescriptionElement(), -1); 4405 } 4406 } 4407 4408 protected void composeCareTeam(Complex parent, String parentType, String name, CareTeam element, int index) { 4409 if (element == null) 4410 return; 4411 Complex t; 4412 if (Utilities.noString(parentType)) 4413 t = parent; 4414 else { 4415 t = parent.predicate("fhir:"+parentType+'.'+name); 4416 } 4417 composeDomainResource(t, "CareTeam", name, element, index); 4418 for (int i = 0; i < element.getIdentifier().size(); i++) { 4419 composeIdentifier(t, "CareTeam", "identifier", element.getIdentifier().get(i), i); 4420 } 4421 if (element.hasStatusElement()) { 4422 composeEnum(t, "CareTeam", "status", element.getStatusElement(), -1); 4423 } 4424 for (int i = 0; i < element.getCategory().size(); i++) { 4425 composeCodeableConcept(t, "CareTeam", "category", element.getCategory().get(i), i); 4426 } 4427 if (element.hasNameElement()) { 4428 composeString(t, "CareTeam", "name", element.getNameElement(), -1); 4429 } 4430 if (element.hasSubject()) { 4431 composeReference(t, "CareTeam", "subject", element.getSubject(), -1); 4432 } 4433 if (element.hasPeriod()) { 4434 composePeriod(t, "CareTeam", "period", element.getPeriod(), -1); 4435 } 4436 for (int i = 0; i < element.getParticipant().size(); i++) { 4437 composeCareTeamParticipantComponent(t, "CareTeam", "participant", element.getParticipant().get(i), i); 4438 } 4439 for (int i = 0; i < element.getReason().size(); i++) { 4440 composeCodeableReference(t, "CareTeam", "reason", element.getReason().get(i), i); 4441 } 4442 for (int i = 0; i < element.getManagingOrganization().size(); i++) { 4443 composeReference(t, "CareTeam", "managingOrganization", element.getManagingOrganization().get(i), i); 4444 } 4445 for (int i = 0; i < element.getTelecom().size(); i++) { 4446 composeContactPoint(t, "CareTeam", "telecom", element.getTelecom().get(i), i); 4447 } 4448 for (int i = 0; i < element.getNote().size(); i++) { 4449 composeAnnotation(t, "CareTeam", "note", element.getNote().get(i), i); 4450 } 4451 } 4452 4453 protected void composeCareTeamParticipantComponent(Complex parent, String parentType, String name, CareTeam.CareTeamParticipantComponent element, int index) { 4454 if (element == null) 4455 return; 4456 Complex t; 4457 if (Utilities.noString(parentType)) 4458 t = parent; 4459 else { 4460 t = parent.predicate("fhir:"+parentType+'.'+name); 4461 } 4462 composeBackboneElement(t, "participant", name, element, index); 4463 if (element.hasRole()) { 4464 composeCodeableConcept(t, "CareTeamParticipantComponent", "role", element.getRole(), -1); 4465 } 4466 if (element.hasMember()) { 4467 composeReference(t, "CareTeamParticipantComponent", "member", element.getMember(), -1); 4468 } 4469 if (element.hasOnBehalfOf()) { 4470 composeReference(t, "CareTeamParticipantComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 4471 } 4472 if (element.hasCoverage()) { 4473 composeType(t, "CareTeamParticipantComponent", "coverage", element.getCoverage(), -1); 4474 } 4475 } 4476 4477 protected void composeChargeItem(Complex parent, String parentType, String name, ChargeItem element, int index) { 4478 if (element == null) 4479 return; 4480 Complex t; 4481 if (Utilities.noString(parentType)) 4482 t = parent; 4483 else { 4484 t = parent.predicate("fhir:"+parentType+'.'+name); 4485 } 4486 composeDomainResource(t, "ChargeItem", name, element, index); 4487 for (int i = 0; i < element.getIdentifier().size(); i++) { 4488 composeIdentifier(t, "ChargeItem", "identifier", element.getIdentifier().get(i), i); 4489 } 4490 for (int i = 0; i < element.getDefinitionUri().size(); i++) { 4491 composeUri(t, "ChargeItem", "definitionUri", element.getDefinitionUri().get(i), i); 4492 } 4493 for (int i = 0; i < element.getDefinitionCanonical().size(); i++) { 4494 composeCanonical(t, "ChargeItem", "definitionCanonical", element.getDefinitionCanonical().get(i), i); 4495 } 4496 if (element.hasStatusElement()) { 4497 composeEnum(t, "ChargeItem", "status", element.getStatusElement(), -1); 4498 } 4499 for (int i = 0; i < element.getPartOf().size(); i++) { 4500 composeReference(t, "ChargeItem", "partOf", element.getPartOf().get(i), i); 4501 } 4502 if (element.hasCode()) { 4503 composeCodeableConcept(t, "ChargeItem", "code", element.getCode(), -1); 4504 } 4505 if (element.hasSubject()) { 4506 composeReference(t, "ChargeItem", "subject", element.getSubject(), -1); 4507 } 4508 if (element.hasEncounter()) { 4509 composeReference(t, "ChargeItem", "encounter", element.getEncounter(), -1); 4510 } 4511 if (element.hasOccurrence()) { 4512 composeType(t, "ChargeItem", "occurrence", element.getOccurrence(), -1); 4513 } 4514 for (int i = 0; i < element.getPerformer().size(); i++) { 4515 composeChargeItemPerformerComponent(t, "ChargeItem", "performer", element.getPerformer().get(i), i); 4516 } 4517 if (element.hasPerformingOrganization()) { 4518 composeReference(t, "ChargeItem", "performingOrganization", element.getPerformingOrganization(), -1); 4519 } 4520 if (element.hasRequestingOrganization()) { 4521 composeReference(t, "ChargeItem", "requestingOrganization", element.getRequestingOrganization(), -1); 4522 } 4523 if (element.hasCostCenter()) { 4524 composeReference(t, "ChargeItem", "costCenter", element.getCostCenter(), -1); 4525 } 4526 if (element.hasQuantity()) { 4527 composeQuantity(t, "ChargeItem", "quantity", element.getQuantity(), -1); 4528 } 4529 for (int i = 0; i < element.getBodysite().size(); i++) { 4530 composeCodeableConcept(t, "ChargeItem", "bodysite", element.getBodysite().get(i), i); 4531 } 4532 if (element.hasUnitPriceComponent()) { 4533 composeMonetaryComponent(t, "ChargeItem", "unitPriceComponent", element.getUnitPriceComponent(), -1); 4534 } 4535 if (element.hasTotalPriceComponent()) { 4536 composeMonetaryComponent(t, "ChargeItem", "totalPriceComponent", element.getTotalPriceComponent(), -1); 4537 } 4538 if (element.hasOverrideReason()) { 4539 composeCodeableConcept(t, "ChargeItem", "overrideReason", element.getOverrideReason(), -1); 4540 } 4541 if (element.hasEnterer()) { 4542 composeReference(t, "ChargeItem", "enterer", element.getEnterer(), -1); 4543 } 4544 if (element.hasEnteredDateElement()) { 4545 composeDateTime(t, "ChargeItem", "enteredDate", element.getEnteredDateElement(), -1); 4546 } 4547 for (int i = 0; i < element.getReason().size(); i++) { 4548 composeCodeableConcept(t, "ChargeItem", "reason", element.getReason().get(i), i); 4549 } 4550 for (int i = 0; i < element.getService().size(); i++) { 4551 composeCodeableReference(t, "ChargeItem", "service", element.getService().get(i), i); 4552 } 4553 for (int i = 0; i < element.getProduct().size(); i++) { 4554 composeCodeableReference(t, "ChargeItem", "product", element.getProduct().get(i), i); 4555 } 4556 for (int i = 0; i < element.getAccount().size(); i++) { 4557 composeReference(t, "ChargeItem", "account", element.getAccount().get(i), i); 4558 } 4559 for (int i = 0; i < element.getNote().size(); i++) { 4560 composeAnnotation(t, "ChargeItem", "note", element.getNote().get(i), i); 4561 } 4562 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 4563 composeReference(t, "ChargeItem", "supportingInformation", element.getSupportingInformation().get(i), i); 4564 } 4565 } 4566 4567 protected void composeChargeItemPerformerComponent(Complex parent, String parentType, String name, ChargeItem.ChargeItemPerformerComponent element, int index) { 4568 if (element == null) 4569 return; 4570 Complex t; 4571 if (Utilities.noString(parentType)) 4572 t = parent; 4573 else { 4574 t = parent.predicate("fhir:"+parentType+'.'+name); 4575 } 4576 composeBackboneElement(t, "performer", name, element, index); 4577 if (element.hasFunction()) { 4578 composeCodeableConcept(t, "ChargeItemPerformerComponent", "function", element.getFunction(), -1); 4579 } 4580 if (element.hasActor()) { 4581 composeReference(t, "ChargeItemPerformerComponent", "actor", element.getActor(), -1); 4582 } 4583 } 4584 4585 protected void composeChargeItemDefinition(Complex parent, String parentType, String name, ChargeItemDefinition element, int index) { 4586 if (element == null) 4587 return; 4588 Complex t; 4589 if (Utilities.noString(parentType)) 4590 t = parent; 4591 else { 4592 t = parent.predicate("fhir:"+parentType+'.'+name); 4593 } 4594 composeMetadataResource(t, "ChargeItemDefinition", name, element, index); 4595 if (element.hasUrlElement()) { 4596 composeUri(t, "ChargeItemDefinition", "url", element.getUrlElement(), -1); 4597 } 4598 for (int i = 0; i < element.getIdentifier().size(); i++) { 4599 composeIdentifier(t, "ChargeItemDefinition", "identifier", element.getIdentifier().get(i), i); 4600 } 4601 if (element.hasVersionElement()) { 4602 composeString(t, "ChargeItemDefinition", "version", element.getVersionElement(), -1); 4603 } 4604 if (element.hasNameElement()) { 4605 composeString(t, "ChargeItemDefinition", "name", element.getNameElement(), -1); 4606 } 4607 if (element.hasTitleElement()) { 4608 composeString(t, "ChargeItemDefinition", "title", element.getTitleElement(), -1); 4609 } 4610 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 4611 composeUri(t, "ChargeItemDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 4612 } 4613 for (int i = 0; i < element.getPartOf().size(); i++) { 4614 composeCanonical(t, "ChargeItemDefinition", "partOf", element.getPartOf().get(i), i); 4615 } 4616 for (int i = 0; i < element.getReplaces().size(); i++) { 4617 composeCanonical(t, "ChargeItemDefinition", "replaces", element.getReplaces().get(i), i); 4618 } 4619 if (element.hasStatusElement()) { 4620 composeEnum(t, "ChargeItemDefinition", "status", element.getStatusElement(), -1); 4621 } 4622 if (element.hasExperimentalElement()) { 4623 composeBoolean(t, "ChargeItemDefinition", "experimental", element.getExperimentalElement(), -1); 4624 } 4625 if (element.hasDateElement()) { 4626 composeDateTime(t, "ChargeItemDefinition", "date", element.getDateElement(), -1); 4627 } 4628 if (element.hasPublisherElement()) { 4629 composeString(t, "ChargeItemDefinition", "publisher", element.getPublisherElement(), -1); 4630 } 4631 for (int i = 0; i < element.getContact().size(); i++) { 4632 composeContactDetail(t, "ChargeItemDefinition", "contact", element.getContact().get(i), i); 4633 } 4634 if (element.hasDescriptionElement()) { 4635 composeMarkdown(t, "ChargeItemDefinition", "description", element.getDescriptionElement(), -1); 4636 } 4637 for (int i = 0; i < element.getUseContext().size(); i++) { 4638 composeUsageContext(t, "ChargeItemDefinition", "useContext", element.getUseContext().get(i), i); 4639 } 4640 for (int i = 0; i < element.getJurisdiction().size(); i++) { 4641 composeCodeableConcept(t, "ChargeItemDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 4642 } 4643 if (element.hasPurposeElement()) { 4644 composeMarkdown(t, "ChargeItemDefinition", "purpose", element.getPurposeElement(), -1); 4645 } 4646 if (element.hasCopyrightElement()) { 4647 composeMarkdown(t, "ChargeItemDefinition", "copyright", element.getCopyrightElement(), -1); 4648 } 4649 if (element.hasApprovalDateElement()) { 4650 composeDate(t, "ChargeItemDefinition", "approvalDate", element.getApprovalDateElement(), -1); 4651 } 4652 if (element.hasLastReviewDateElement()) { 4653 composeDate(t, "ChargeItemDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 4654 } 4655 if (element.hasCode()) { 4656 composeCodeableConcept(t, "ChargeItemDefinition", "code", element.getCode(), -1); 4657 } 4658 for (int i = 0; i < element.getInstance().size(); i++) { 4659 composeReference(t, "ChargeItemDefinition", "instance", element.getInstance().get(i), i); 4660 } 4661 for (int i = 0; i < element.getApplicability().size(); i++) { 4662 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinition", "applicability", element.getApplicability().get(i), i); 4663 } 4664 for (int i = 0; i < element.getPropertyGroup().size(); i++) { 4665 composeChargeItemDefinitionPropertyGroupComponent(t, "ChargeItemDefinition", "propertyGroup", element.getPropertyGroup().get(i), i); 4666 } 4667 } 4668 4669 protected void composeChargeItemDefinitionApplicabilityComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element, int index) { 4670 if (element == null) 4671 return; 4672 Complex t; 4673 if (Utilities.noString(parentType)) 4674 t = parent; 4675 else { 4676 t = parent.predicate("fhir:"+parentType+'.'+name); 4677 } 4678 composeBackboneElement(t, "applicability", name, element, index); 4679 if (element.hasCondition()) { 4680 composeExpression(t, "ChargeItemDefinitionApplicabilityComponent", "condition", element.getCondition(), -1); 4681 } 4682 if (element.hasEffectivePeriod()) { 4683 composePeriod(t, "ChargeItemDefinitionApplicabilityComponent", "effectivePeriod", element.getEffectivePeriod(), -1); 4684 } 4685 if (element.hasRelatedArtifact()) { 4686 composeRelatedArtifact(t, "ChargeItemDefinitionApplicabilityComponent", "relatedArtifact", element.getRelatedArtifact(), -1); 4687 } 4688 } 4689 4690 protected void composeChargeItemDefinitionPropertyGroupComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent element, int index) { 4691 if (element == null) 4692 return; 4693 Complex t; 4694 if (Utilities.noString(parentType)) 4695 t = parent; 4696 else { 4697 t = parent.predicate("fhir:"+parentType+'.'+name); 4698 } 4699 composeBackboneElement(t, "propertyGroup", name, element, index); 4700 for (int i = 0; i < element.getApplicability().size(); i++) { 4701 composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "applicability", element.getApplicability().get(i), i); 4702 } 4703 for (int i = 0; i < element.getPriceComponent().size(); i++) { 4704 composeMonetaryComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "priceComponent", element.getPriceComponent().get(i), i); 4705 } 4706 } 4707 4708 protected void composeCitation(Complex parent, String parentType, String name, Citation element, int index) { 4709 if (element == null) 4710 return; 4711 Complex t; 4712 if (Utilities.noString(parentType)) 4713 t = parent; 4714 else { 4715 t = parent.predicate("fhir:"+parentType+'.'+name); 4716 } 4717 composeMetadataResource(t, "Citation", name, element, index); 4718 if (element.hasUrlElement()) { 4719 composeUri(t, "Citation", "url", element.getUrlElement(), -1); 4720 } 4721 for (int i = 0; i < element.getIdentifier().size(); i++) { 4722 composeIdentifier(t, "Citation", "identifier", element.getIdentifier().get(i), i); 4723 } 4724 if (element.hasVersionElement()) { 4725 composeString(t, "Citation", "version", element.getVersionElement(), -1); 4726 } 4727 if (element.hasNameElement()) { 4728 composeString(t, "Citation", "name", element.getNameElement(), -1); 4729 } 4730 if (element.hasTitleElement()) { 4731 composeString(t, "Citation", "title", element.getTitleElement(), -1); 4732 } 4733 if (element.hasStatusElement()) { 4734 composeEnum(t, "Citation", "status", element.getStatusElement(), -1); 4735 } 4736 if (element.hasExperimentalElement()) { 4737 composeBoolean(t, "Citation", "experimental", element.getExperimentalElement(), -1); 4738 } 4739 if (element.hasDateElement()) { 4740 composeDateTime(t, "Citation", "date", element.getDateElement(), -1); 4741 } 4742 if (element.hasPublisherElement()) { 4743 composeString(t, "Citation", "publisher", element.getPublisherElement(), -1); 4744 } 4745 for (int i = 0; i < element.getContact().size(); i++) { 4746 composeContactDetail(t, "Citation", "contact", element.getContact().get(i), i); 4747 } 4748 if (element.hasDescriptionElement()) { 4749 composeMarkdown(t, "Citation", "description", element.getDescriptionElement(), -1); 4750 } 4751 for (int i = 0; i < element.getUseContext().size(); i++) { 4752 composeUsageContext(t, "Citation", "useContext", element.getUseContext().get(i), i); 4753 } 4754 for (int i = 0; i < element.getJurisdiction().size(); i++) { 4755 composeCodeableConcept(t, "Citation", "jurisdiction", element.getJurisdiction().get(i), i); 4756 } 4757 if (element.hasPurposeElement()) { 4758 composeMarkdown(t, "Citation", "purpose", element.getPurposeElement(), -1); 4759 } 4760 if (element.hasCopyrightElement()) { 4761 composeMarkdown(t, "Citation", "copyright", element.getCopyrightElement(), -1); 4762 } 4763 if (element.hasApprovalDateElement()) { 4764 composeDate(t, "Citation", "approvalDate", element.getApprovalDateElement(), -1); 4765 } 4766 if (element.hasLastReviewDateElement()) { 4767 composeDate(t, "Citation", "lastReviewDate", element.getLastReviewDateElement(), -1); 4768 } 4769 if (element.hasEffectivePeriod()) { 4770 composePeriod(t, "Citation", "effectivePeriod", element.getEffectivePeriod(), -1); 4771 } 4772 for (int i = 0; i < element.getAuthor().size(); i++) { 4773 composeContactDetail(t, "Citation", "author", element.getAuthor().get(i), i); 4774 } 4775 for (int i = 0; i < element.getEditor().size(); i++) { 4776 composeContactDetail(t, "Citation", "editor", element.getEditor().get(i), i); 4777 } 4778 for (int i = 0; i < element.getReviewer().size(); i++) { 4779 composeContactDetail(t, "Citation", "reviewer", element.getReviewer().get(i), i); 4780 } 4781 for (int i = 0; i < element.getEndorser().size(); i++) { 4782 composeContactDetail(t, "Citation", "endorser", element.getEndorser().get(i), i); 4783 } 4784 for (int i = 0; i < element.getSummary().size(); i++) { 4785 composeCitationSummaryComponent(t, "Citation", "summary", element.getSummary().get(i), i); 4786 } 4787 for (int i = 0; i < element.getClassification().size(); i++) { 4788 composeCitationClassificationComponent(t, "Citation", "classification", element.getClassification().get(i), i); 4789 } 4790 for (int i = 0; i < element.getNote().size(); i++) { 4791 composeAnnotation(t, "Citation", "note", element.getNote().get(i), i); 4792 } 4793 for (int i = 0; i < element.getCurrentState().size(); i++) { 4794 composeCodeableConcept(t, "Citation", "currentState", element.getCurrentState().get(i), i); 4795 } 4796 for (int i = 0; i < element.getStatusDate().size(); i++) { 4797 composeCitationStatusDateComponent(t, "Citation", "statusDate", element.getStatusDate().get(i), i); 4798 } 4799 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 4800 composeRelatedArtifact(t, "Citation", "relatedArtifact", element.getRelatedArtifact().get(i), i); 4801 } 4802 if (element.hasCitedArtifact()) { 4803 composeCitationCitedArtifactComponent(t, "Citation", "citedArtifact", element.getCitedArtifact(), -1); 4804 } 4805 } 4806 4807 protected void composeCitationSummaryComponent(Complex parent, String parentType, String name, Citation.CitationSummaryComponent element, int index) { 4808 if (element == null) 4809 return; 4810 Complex t; 4811 if (Utilities.noString(parentType)) 4812 t = parent; 4813 else { 4814 t = parent.predicate("fhir:"+parentType+'.'+name); 4815 } 4816 composeBackboneElement(t, "summary", name, element, index); 4817 if (element.hasStyle()) { 4818 composeCodeableConcept(t, "CitationSummaryComponent", "style", element.getStyle(), -1); 4819 } 4820 if (element.hasTextElement()) { 4821 composeMarkdown(t, "CitationSummaryComponent", "text", element.getTextElement(), -1); 4822 } 4823 } 4824 4825 protected void composeCitationClassificationComponent(Complex parent, String parentType, String name, Citation.CitationClassificationComponent element, int index) { 4826 if (element == null) 4827 return; 4828 Complex t; 4829 if (Utilities.noString(parentType)) 4830 t = parent; 4831 else { 4832 t = parent.predicate("fhir:"+parentType+'.'+name); 4833 } 4834 composeBackboneElement(t, "classification", name, element, index); 4835 if (element.hasType()) { 4836 composeCodeableConcept(t, "CitationClassificationComponent", "type", element.getType(), -1); 4837 } 4838 for (int i = 0; i < element.getClassifier().size(); i++) { 4839 composeCodeableConcept(t, "CitationClassificationComponent", "classifier", element.getClassifier().get(i), i); 4840 } 4841 } 4842 4843 protected void composeCitationStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationStatusDateComponent element, int index) { 4844 if (element == null) 4845 return; 4846 Complex t; 4847 if (Utilities.noString(parentType)) 4848 t = parent; 4849 else { 4850 t = parent.predicate("fhir:"+parentType+'.'+name); 4851 } 4852 composeBackboneElement(t, "statusDate", name, element, index); 4853 if (element.hasActivity()) { 4854 composeCodeableConcept(t, "CitationStatusDateComponent", "activity", element.getActivity(), -1); 4855 } 4856 if (element.hasActualElement()) { 4857 composeBoolean(t, "CitationStatusDateComponent", "actual", element.getActualElement(), -1); 4858 } 4859 if (element.hasPeriod()) { 4860 composePeriod(t, "CitationStatusDateComponent", "period", element.getPeriod(), -1); 4861 } 4862 } 4863 4864 protected void composeCitationCitedArtifactComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactComponent element, int index) { 4865 if (element == null) 4866 return; 4867 Complex t; 4868 if (Utilities.noString(parentType)) 4869 t = parent; 4870 else { 4871 t = parent.predicate("fhir:"+parentType+'.'+name); 4872 } 4873 composeBackboneElement(t, "citedArtifact", name, element, index); 4874 for (int i = 0; i < element.getIdentifier().size(); i++) { 4875 composeIdentifier(t, "CitationCitedArtifactComponent", "identifier", element.getIdentifier().get(i), i); 4876 } 4877 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 4878 composeIdentifier(t, "CitationCitedArtifactComponent", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 4879 } 4880 if (element.hasDateAccessedElement()) { 4881 composeDateTime(t, "CitationCitedArtifactComponent", "dateAccessed", element.getDateAccessedElement(), -1); 4882 } 4883 if (element.hasVersion()) { 4884 composeCitationCitedArtifactVersionComponent(t, "CitationCitedArtifactComponent", "version", element.getVersion(), -1); 4885 } 4886 for (int i = 0; i < element.getCurrentState().size(); i++) { 4887 composeCodeableConcept(t, "CitationCitedArtifactComponent", "currentState", element.getCurrentState().get(i), i); 4888 } 4889 for (int i = 0; i < element.getStatusDate().size(); i++) { 4890 composeCitationCitedArtifactStatusDateComponent(t, "CitationCitedArtifactComponent", "statusDate", element.getStatusDate().get(i), i); 4891 } 4892 for (int i = 0; i < element.getTitle().size(); i++) { 4893 composeCitationCitedArtifactTitleComponent(t, "CitationCitedArtifactComponent", "title", element.getTitle().get(i), i); 4894 } 4895 for (int i = 0; i < element.getAbstract().size(); i++) { 4896 composeCitationCitedArtifactAbstractComponent(t, "CitationCitedArtifactComponent", "abstract", element.getAbstract().get(i), i); 4897 } 4898 if (element.hasPart()) { 4899 composeCitationCitedArtifactPartComponent(t, "CitationCitedArtifactComponent", "part", element.getPart(), -1); 4900 } 4901 for (int i = 0; i < element.getRelatesTo().size(); i++) { 4902 composeCitationCitedArtifactRelatesToComponent(t, "CitationCitedArtifactComponent", "relatesTo", element.getRelatesTo().get(i), i); 4903 } 4904 for (int i = 0; i < element.getPublicationForm().size(); i++) { 4905 composeCitationCitedArtifactPublicationFormComponent(t, "CitationCitedArtifactComponent", "publicationForm", element.getPublicationForm().get(i), i); 4906 } 4907 for (int i = 0; i < element.getWebLocation().size(); i++) { 4908 composeCitationCitedArtifactWebLocationComponent(t, "CitationCitedArtifactComponent", "webLocation", element.getWebLocation().get(i), i); 4909 } 4910 for (int i = 0; i < element.getClassification().size(); i++) { 4911 composeCitationCitedArtifactClassificationComponent(t, "CitationCitedArtifactComponent", "classification", element.getClassification().get(i), i); 4912 } 4913 if (element.hasContributorship()) { 4914 composeCitationCitedArtifactContributorshipComponent(t, "CitationCitedArtifactComponent", "contributorship", element.getContributorship(), -1); 4915 } 4916 for (int i = 0; i < element.getNote().size(); i++) { 4917 composeAnnotation(t, "CitationCitedArtifactComponent", "note", element.getNote().get(i), i); 4918 } 4919 } 4920 4921 protected void composeCitationCitedArtifactVersionComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactVersionComponent element, int index) { 4922 if (element == null) 4923 return; 4924 Complex t; 4925 if (Utilities.noString(parentType)) 4926 t = parent; 4927 else { 4928 t = parent.predicate("fhir:"+parentType+'.'+name); 4929 } 4930 composeBackboneElement(t, "version", name, element, index); 4931 if (element.hasValueElement()) { 4932 composeString(t, "CitationCitedArtifactVersionComponent", "value", element.getValueElement(), -1); 4933 } 4934 if (element.hasBaseCitation()) { 4935 composeReference(t, "CitationCitedArtifactVersionComponent", "baseCitation", element.getBaseCitation(), -1); 4936 } 4937 } 4938 4939 protected void composeCitationCitedArtifactStatusDateComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactStatusDateComponent element, int index) { 4940 if (element == null) 4941 return; 4942 Complex t; 4943 if (Utilities.noString(parentType)) 4944 t = parent; 4945 else { 4946 t = parent.predicate("fhir:"+parentType+'.'+name); 4947 } 4948 composeBackboneElement(t, "statusDate", name, element, index); 4949 if (element.hasActivity()) { 4950 composeCodeableConcept(t, "CitationCitedArtifactStatusDateComponent", "activity", element.getActivity(), -1); 4951 } 4952 if (element.hasActualElement()) { 4953 composeBoolean(t, "CitationCitedArtifactStatusDateComponent", "actual", element.getActualElement(), -1); 4954 } 4955 if (element.hasPeriod()) { 4956 composePeriod(t, "CitationCitedArtifactStatusDateComponent", "period", element.getPeriod(), -1); 4957 } 4958 } 4959 4960 protected void composeCitationCitedArtifactTitleComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactTitleComponent 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, "title", name, element, index); 4970 for (int i = 0; i < element.getType().size(); i++) { 4971 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "type", element.getType().get(i), i); 4972 } 4973 if (element.hasLanguage()) { 4974 composeCodeableConcept(t, "CitationCitedArtifactTitleComponent", "language", element.getLanguage(), -1); 4975 } 4976 if (element.hasTextElement()) { 4977 composeMarkdown(t, "CitationCitedArtifactTitleComponent", "text", element.getTextElement(), -1); 4978 } 4979 } 4980 4981 protected void composeCitationCitedArtifactAbstractComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactAbstractComponent 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, "abstract", name, element, index); 4991 if (element.hasType()) { 4992 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "type", element.getType(), -1); 4993 } 4994 if (element.hasLanguage()) { 4995 composeCodeableConcept(t, "CitationCitedArtifactAbstractComponent", "language", element.getLanguage(), -1); 4996 } 4997 if (element.hasTextElement()) { 4998 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "text", element.getTextElement(), -1); 4999 } 5000 if (element.hasCopyrightElement()) { 5001 composeMarkdown(t, "CitationCitedArtifactAbstractComponent", "copyright", element.getCopyrightElement(), -1); 5002 } 5003 } 5004 5005 protected void composeCitationCitedArtifactPartComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPartComponent element, int index) { 5006 if (element == null) 5007 return; 5008 Complex t; 5009 if (Utilities.noString(parentType)) 5010 t = parent; 5011 else { 5012 t = parent.predicate("fhir:"+parentType+'.'+name); 5013 } 5014 composeBackboneElement(t, "part", name, element, index); 5015 if (element.hasType()) { 5016 composeCodeableConcept(t, "CitationCitedArtifactPartComponent", "type", element.getType(), -1); 5017 } 5018 if (element.hasValueElement()) { 5019 composeString(t, "CitationCitedArtifactPartComponent", "value", element.getValueElement(), -1); 5020 } 5021 if (element.hasBaseCitation()) { 5022 composeReference(t, "CitationCitedArtifactPartComponent", "baseCitation", element.getBaseCitation(), -1); 5023 } 5024 } 5025 5026 protected void composeCitationCitedArtifactRelatesToComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactRelatesToComponent element, int index) { 5027 if (element == null) 5028 return; 5029 Complex t; 5030 if (Utilities.noString(parentType)) 5031 t = parent; 5032 else { 5033 t = parent.predicate("fhir:"+parentType+'.'+name); 5034 } 5035 composeBackboneElement(t, "relatesTo", name, element, index); 5036 if (element.hasTypeElement()) { 5037 composeEnum(t, "CitationCitedArtifactRelatesToComponent", "type", element.getTypeElement(), -1); 5038 } 5039 for (int i = 0; i < element.getClassifier().size(); i++) { 5040 composeCodeableConcept(t, "CitationCitedArtifactRelatesToComponent", "classifier", element.getClassifier().get(i), i); 5041 } 5042 if (element.hasLabelElement()) { 5043 composeString(t, "CitationCitedArtifactRelatesToComponent", "label", element.getLabelElement(), -1); 5044 } 5045 if (element.hasDisplayElement()) { 5046 composeString(t, "CitationCitedArtifactRelatesToComponent", "display", element.getDisplayElement(), -1); 5047 } 5048 if (element.hasCitationElement()) { 5049 composeMarkdown(t, "CitationCitedArtifactRelatesToComponent", "citation", element.getCitationElement(), -1); 5050 } 5051 if (element.hasDocument()) { 5052 composeAttachment(t, "CitationCitedArtifactRelatesToComponent", "document", element.getDocument(), -1); 5053 } 5054 if (element.hasResourceElement()) { 5055 composeCanonical(t, "CitationCitedArtifactRelatesToComponent", "resource", element.getResourceElement(), -1); 5056 } 5057 if (element.hasResourceReference()) { 5058 composeReference(t, "CitationCitedArtifactRelatesToComponent", "resourceReference", element.getResourceReference(), -1); 5059 } 5060 } 5061 5062 protected void composeCitationCitedArtifactPublicationFormComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormComponent element, int index) { 5063 if (element == null) 5064 return; 5065 Complex t; 5066 if (Utilities.noString(parentType)) 5067 t = parent; 5068 else { 5069 t = parent.predicate("fhir:"+parentType+'.'+name); 5070 } 5071 composeBackboneElement(t, "publicationForm", name, element, index); 5072 if (element.hasPublishedIn()) { 5073 composeCitationCitedArtifactPublicationFormPublishedInComponent(t, "CitationCitedArtifactPublicationFormComponent", "publishedIn", element.getPublishedIn(), -1); 5074 } 5075 if (element.hasCitedMedium()) { 5076 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormComponent", "citedMedium", element.getCitedMedium(), -1); 5077 } 5078 if (element.hasVolumeElement()) { 5079 composeString(t, "CitationCitedArtifactPublicationFormComponent", "volume", element.getVolumeElement(), -1); 5080 } 5081 if (element.hasIssueElement()) { 5082 composeString(t, "CitationCitedArtifactPublicationFormComponent", "issue", element.getIssueElement(), -1); 5083 } 5084 if (element.hasPublicationDateYearElement()) { 5085 composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateYear", element.getPublicationDateYearElement(), -1); 5086 } 5087 if (element.hasPublicationDateMonthElement()) { 5088 composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateMonth", element.getPublicationDateMonthElement(), -1); 5089 } 5090 if (element.hasPublicationDateDayElement()) { 5091 composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateDay", element.getPublicationDateDayElement(), -1); 5092 } 5093 if (element.hasPublicationDateSeasonElement()) { 5094 composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateSeason", element.getPublicationDateSeasonElement(), -1); 5095 } 5096 if (element.hasPublicationDateTextElement()) { 5097 composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateText", element.getPublicationDateTextElement(), -1); 5098 } 5099 if (element.hasArticleDateElement()) { 5100 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "articleDate", element.getArticleDateElement(), -1); 5101 } 5102 if (element.hasLastRevisionDateElement()) { 5103 composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "lastRevisionDate", element.getLastRevisionDateElement(), -1); 5104 } 5105 for (int i = 0; i < element.getLanguage().size(); i++) { 5106 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormComponent", "language", element.getLanguage().get(i), i); 5107 } 5108 if (element.hasAccessionNumberElement()) { 5109 composeString(t, "CitationCitedArtifactPublicationFormComponent", "accessionNumber", element.getAccessionNumberElement(), -1); 5110 } 5111 if (element.hasPageStringElement()) { 5112 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageString", element.getPageStringElement(), -1); 5113 } 5114 if (element.hasFirstPageElement()) { 5115 composeString(t, "CitationCitedArtifactPublicationFormComponent", "firstPage", element.getFirstPageElement(), -1); 5116 } 5117 if (element.hasLastPageElement()) { 5118 composeString(t, "CitationCitedArtifactPublicationFormComponent", "lastPage", element.getLastPageElement(), -1); 5119 } 5120 if (element.hasPageCountElement()) { 5121 composeString(t, "CitationCitedArtifactPublicationFormComponent", "pageCount", element.getPageCountElement(), -1); 5122 } 5123 if (element.hasCopyrightElement()) { 5124 composeMarkdown(t, "CitationCitedArtifactPublicationFormComponent", "copyright", element.getCopyrightElement(), -1); 5125 } 5126 } 5127 5128 protected void composeCitationCitedArtifactPublicationFormPublishedInComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPublishedInComponent element, int index) { 5129 if (element == null) 5130 return; 5131 Complex t; 5132 if (Utilities.noString(parentType)) 5133 t = parent; 5134 else { 5135 t = parent.predicate("fhir:"+parentType+'.'+name); 5136 } 5137 composeBackboneElement(t, "publishedIn", name, element, index); 5138 if (element.hasType()) { 5139 composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "type", element.getType(), -1); 5140 } 5141 for (int i = 0; i < element.getIdentifier().size(); i++) { 5142 composeIdentifier(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "identifier", element.getIdentifier().get(i), i); 5143 } 5144 if (element.hasTitleElement()) { 5145 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "title", element.getTitleElement(), -1); 5146 } 5147 if (element.hasPublisher()) { 5148 composeReference(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisher", element.getPublisher(), -1); 5149 } 5150 if (element.hasPublisherLocationElement()) { 5151 composeString(t, "CitationCitedArtifactPublicationFormPublishedInComponent", "publisherLocation", element.getPublisherLocationElement(), -1); 5152 } 5153 } 5154 5155 protected void composeCitationCitedArtifactWebLocationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactWebLocationComponent element, int index) { 5156 if (element == null) 5157 return; 5158 Complex t; 5159 if (Utilities.noString(parentType)) 5160 t = parent; 5161 else { 5162 t = parent.predicate("fhir:"+parentType+'.'+name); 5163 } 5164 composeBackboneElement(t, "webLocation", name, element, index); 5165 for (int i = 0; i < element.getClassifier().size(); i++) { 5166 composeCodeableConcept(t, "CitationCitedArtifactWebLocationComponent", "classifier", element.getClassifier().get(i), i); 5167 } 5168 if (element.hasUrlElement()) { 5169 composeUri(t, "CitationCitedArtifactWebLocationComponent", "url", element.getUrlElement(), -1); 5170 } 5171 } 5172 5173 protected void composeCitationCitedArtifactClassificationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactClassificationComponent element, int index) { 5174 if (element == null) 5175 return; 5176 Complex t; 5177 if (Utilities.noString(parentType)) 5178 t = parent; 5179 else { 5180 t = parent.predicate("fhir:"+parentType+'.'+name); 5181 } 5182 composeBackboneElement(t, "classification", name, element, index); 5183 if (element.hasType()) { 5184 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "type", element.getType(), -1); 5185 } 5186 for (int i = 0; i < element.getClassifier().size(); i++) { 5187 composeCodeableConcept(t, "CitationCitedArtifactClassificationComponent", "classifier", element.getClassifier().get(i), i); 5188 } 5189 for (int i = 0; i < element.getArtifactAssessment().size(); i++) { 5190 composeReference(t, "CitationCitedArtifactClassificationComponent", "artifactAssessment", element.getArtifactAssessment().get(i), i); 5191 } 5192 } 5193 5194 protected void composeCitationCitedArtifactContributorshipComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipComponent element, int index) { 5195 if (element == null) 5196 return; 5197 Complex t; 5198 if (Utilities.noString(parentType)) 5199 t = parent; 5200 else { 5201 t = parent.predicate("fhir:"+parentType+'.'+name); 5202 } 5203 composeBackboneElement(t, "contributorship", name, element, index); 5204 if (element.hasCompleteElement()) { 5205 composeBoolean(t, "CitationCitedArtifactContributorshipComponent", "complete", element.getCompleteElement(), -1); 5206 } 5207 for (int i = 0; i < element.getEntry().size(); i++) { 5208 composeCitationCitedArtifactContributorshipEntryComponent(t, "CitationCitedArtifactContributorshipComponent", "entry", element.getEntry().get(i), i); 5209 } 5210 for (int i = 0; i < element.getSummary().size(); i++) { 5211 composeCitationContributorshipSummaryComponent(t, "CitationCitedArtifactContributorshipComponent", "summary", element.getSummary().get(i), i); 5212 } 5213 } 5214 5215 protected void composeCitationCitedArtifactContributorshipEntryComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryComponent element, int index) { 5216 if (element == null) 5217 return; 5218 Complex t; 5219 if (Utilities.noString(parentType)) 5220 t = parent; 5221 else { 5222 t = parent.predicate("fhir:"+parentType+'.'+name); 5223 } 5224 composeBackboneElement(t, "entry", name, element, index); 5225 if (element.hasContributor()) { 5226 composeReference(t, "CitationCitedArtifactContributorshipEntryComponent", "contributor", element.getContributor(), -1); 5227 } 5228 if (element.hasForenameInitialsElement()) { 5229 composeString(t, "CitationCitedArtifactContributorshipEntryComponent", "forenameInitials", element.getForenameInitialsElement(), -1); 5230 } 5231 for (int i = 0; i < element.getAffiliation().size(); i++) { 5232 composeReference(t, "CitationCitedArtifactContributorshipEntryComponent", "affiliation", element.getAffiliation().get(i), i); 5233 } 5234 for (int i = 0; i < element.getContributionType().size(); i++) { 5235 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionType", element.getContributionType().get(i), i); 5236 } 5237 if (element.hasRole()) { 5238 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryComponent", "role", element.getRole(), -1); 5239 } 5240 for (int i = 0; i < element.getContributionInstance().size(); i++) { 5241 composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(t, "CitationCitedArtifactContributorshipEntryComponent", "contributionInstance", element.getContributionInstance().get(i), i); 5242 } 5243 if (element.hasCorrespondingContactElement()) { 5244 composeBoolean(t, "CitationCitedArtifactContributorshipEntryComponent", "correspondingContact", element.getCorrespondingContactElement(), -1); 5245 } 5246 if (element.hasRankingOrderElement()) { 5247 composePositiveInt(t, "CitationCitedArtifactContributorshipEntryComponent", "rankingOrder", element.getRankingOrderElement(), -1); 5248 } 5249 } 5250 5251 protected void composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent element, int index) { 5252 if (element == null) 5253 return; 5254 Complex t; 5255 if (Utilities.noString(parentType)) 5256 t = parent; 5257 else { 5258 t = parent.predicate("fhir:"+parentType+'.'+name); 5259 } 5260 composeBackboneElement(t, "contributionInstance", name, element, index); 5261 if (element.hasType()) { 5262 composeCodeableConcept(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "type", element.getType(), -1); 5263 } 5264 if (element.hasTimeElement()) { 5265 composeDateTime(t, "CitationCitedArtifactContributorshipEntryContributionInstanceComponent", "time", element.getTimeElement(), -1); 5266 } 5267 } 5268 5269 protected void composeCitationContributorshipSummaryComponent(Complex parent, String parentType, String name, Citation.ContributorshipSummaryComponent element, int index) { 5270 if (element == null) 5271 return; 5272 Complex t; 5273 if (Utilities.noString(parentType)) 5274 t = parent; 5275 else { 5276 t = parent.predicate("fhir:"+parentType+'.'+name); 5277 } 5278 composeBackboneElement(t, "summary", name, element, index); 5279 if (element.hasType()) { 5280 composeCodeableConcept(t, "ContributorshipSummaryComponent", "type", element.getType(), -1); 5281 } 5282 if (element.hasStyle()) { 5283 composeCodeableConcept(t, "ContributorshipSummaryComponent", "style", element.getStyle(), -1); 5284 } 5285 if (element.hasSource()) { 5286 composeCodeableConcept(t, "ContributorshipSummaryComponent", "source", element.getSource(), -1); 5287 } 5288 if (element.hasValueElement()) { 5289 composeMarkdown(t, "ContributorshipSummaryComponent", "value", element.getValueElement(), -1); 5290 } 5291 } 5292 5293 protected void composeClaim(Complex parent, String parentType, String name, Claim element, int index) { 5294 if (element == null) 5295 return; 5296 Complex t; 5297 if (Utilities.noString(parentType)) 5298 t = parent; 5299 else { 5300 t = parent.predicate("fhir:"+parentType+'.'+name); 5301 } 5302 composeDomainResource(t, "Claim", name, element, index); 5303 for (int i = 0; i < element.getIdentifier().size(); i++) { 5304 composeIdentifier(t, "Claim", "identifier", element.getIdentifier().get(i), i); 5305 } 5306 if (element.hasStatusElement()) { 5307 composeEnum(t, "Claim", "status", element.getStatusElement(), -1); 5308 } 5309 if (element.hasType()) { 5310 composeCodeableConcept(t, "Claim", "type", element.getType(), -1); 5311 } 5312 if (element.hasSubType()) { 5313 composeCodeableConcept(t, "Claim", "subType", element.getSubType(), -1); 5314 } 5315 if (element.hasUseElement()) { 5316 composeEnum(t, "Claim", "use", element.getUseElement(), -1); 5317 } 5318 if (element.hasPatient()) { 5319 composeReference(t, "Claim", "patient", element.getPatient(), -1); 5320 } 5321 if (element.hasBillablePeriod()) { 5322 composePeriod(t, "Claim", "billablePeriod", element.getBillablePeriod(), -1); 5323 } 5324 if (element.hasCreatedElement()) { 5325 composeDateTime(t, "Claim", "created", element.getCreatedElement(), -1); 5326 } 5327 if (element.hasEnterer()) { 5328 composeReference(t, "Claim", "enterer", element.getEnterer(), -1); 5329 } 5330 if (element.hasInsurer()) { 5331 composeReference(t, "Claim", "insurer", element.getInsurer(), -1); 5332 } 5333 if (element.hasProvider()) { 5334 composeReference(t, "Claim", "provider", element.getProvider(), -1); 5335 } 5336 if (element.hasPriority()) { 5337 composeCodeableConcept(t, "Claim", "priority", element.getPriority(), -1); 5338 } 5339 if (element.hasFundsReserve()) { 5340 composeCodeableConcept(t, "Claim", "fundsReserve", element.getFundsReserve(), -1); 5341 } 5342 for (int i = 0; i < element.getRelated().size(); i++) { 5343 composeClaimRelatedClaimComponent(t, "Claim", "related", element.getRelated().get(i), i); 5344 } 5345 if (element.hasPrescription()) { 5346 composeReference(t, "Claim", "prescription", element.getPrescription(), -1); 5347 } 5348 if (element.hasOriginalPrescription()) { 5349 composeReference(t, "Claim", "originalPrescription", element.getOriginalPrescription(), -1); 5350 } 5351 if (element.hasPayee()) { 5352 composeClaimPayeeComponent(t, "Claim", "payee", element.getPayee(), -1); 5353 } 5354 if (element.hasReferral()) { 5355 composeReference(t, "Claim", "referral", element.getReferral(), -1); 5356 } 5357 for (int i = 0; i < element.getEncounter().size(); i++) { 5358 composeReference(t, "Claim", "encounter", element.getEncounter().get(i), i); 5359 } 5360 if (element.hasFacility()) { 5361 composeReference(t, "Claim", "facility", element.getFacility(), -1); 5362 } 5363 if (element.hasDiagnosisRelatedGroup()) { 5364 composeCodeableConcept(t, "Claim", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); 5365 } 5366 for (int i = 0; i < element.getCareTeam().size(); i++) { 5367 composeClaimCareTeamComponent(t, "Claim", "careTeam", element.getCareTeam().get(i), i); 5368 } 5369 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 5370 composeClaimSupportingInformationComponent(t, "Claim", "supportingInfo", element.getSupportingInfo().get(i), i); 5371 } 5372 for (int i = 0; i < element.getDiagnosis().size(); i++) { 5373 composeClaimDiagnosisComponent(t, "Claim", "diagnosis", element.getDiagnosis().get(i), i); 5374 } 5375 for (int i = 0; i < element.getProcedure().size(); i++) { 5376 composeClaimProcedureComponent(t, "Claim", "procedure", element.getProcedure().get(i), i); 5377 } 5378 for (int i = 0; i < element.getInsurance().size(); i++) { 5379 composeClaimInsuranceComponent(t, "Claim", "insurance", element.getInsurance().get(i), i); 5380 } 5381 if (element.hasAccident()) { 5382 composeClaimAccidentComponent(t, "Claim", "accident", element.getAccident(), -1); 5383 } 5384 if (element.hasPatientPaid()) { 5385 composeMoney(t, "Claim", "patientPaid", element.getPatientPaid(), -1); 5386 } 5387 for (int i = 0; i < element.getItem().size(); i++) { 5388 composeClaimItemComponent(t, "Claim", "item", element.getItem().get(i), i); 5389 } 5390 if (element.hasTotal()) { 5391 composeMoney(t, "Claim", "total", element.getTotal(), -1); 5392 } 5393 } 5394 5395 protected void composeClaimRelatedClaimComponent(Complex parent, String parentType, String name, Claim.RelatedClaimComponent element, int index) { 5396 if (element == null) 5397 return; 5398 Complex t; 5399 if (Utilities.noString(parentType)) 5400 t = parent; 5401 else { 5402 t = parent.predicate("fhir:"+parentType+'.'+name); 5403 } 5404 composeBackboneElement(t, "related", name, element, index); 5405 if (element.hasClaim()) { 5406 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 5407 } 5408 if (element.hasRelationship()) { 5409 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 5410 } 5411 if (element.hasReference()) { 5412 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 5413 } 5414 } 5415 5416 protected void composeClaimPayeeComponent(Complex parent, String parentType, String name, Claim.PayeeComponent 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, "payee", name, element, index); 5426 if (element.hasType()) { 5427 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 5428 } 5429 if (element.hasParty()) { 5430 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 5431 } 5432 } 5433 5434 protected void composeClaimCareTeamComponent(Complex parent, String parentType, String name, Claim.CareTeamComponent element, int index) { 5435 if (element == null) 5436 return; 5437 Complex t; 5438 if (Utilities.noString(parentType)) 5439 t = parent; 5440 else { 5441 t = parent.predicate("fhir:"+parentType+'.'+name); 5442 } 5443 composeBackboneElement(t, "careTeam", name, element, index); 5444 if (element.hasSequenceElement()) { 5445 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 5446 } 5447 if (element.hasProvider()) { 5448 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 5449 } 5450 if (element.hasResponsibleElement()) { 5451 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 5452 } 5453 if (element.hasRole()) { 5454 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 5455 } 5456 if (element.hasSpecialty()) { 5457 composeCodeableConcept(t, "CareTeamComponent", "specialty", element.getSpecialty(), -1); 5458 } 5459 } 5460 5461 protected void composeClaimSupportingInformationComponent(Complex parent, String parentType, String name, Claim.SupportingInformationComponent element, int index) { 5462 if (element == null) 5463 return; 5464 Complex t; 5465 if (Utilities.noString(parentType)) 5466 t = parent; 5467 else { 5468 t = parent.predicate("fhir:"+parentType+'.'+name); 5469 } 5470 composeBackboneElement(t, "supportingInfo", name, element, index); 5471 if (element.hasSequenceElement()) { 5472 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 5473 } 5474 if (element.hasCategory()) { 5475 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 5476 } 5477 if (element.hasCode()) { 5478 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 5479 } 5480 if (element.hasTiming()) { 5481 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 5482 } 5483 if (element.hasValue()) { 5484 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 5485 } 5486 if (element.hasReason()) { 5487 composeCodeableConcept(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 5488 } 5489 } 5490 5491 protected void composeClaimDiagnosisComponent(Complex parent, String parentType, String name, Claim.DiagnosisComponent element, int index) { 5492 if (element == null) 5493 return; 5494 Complex t; 5495 if (Utilities.noString(parentType)) 5496 t = parent; 5497 else { 5498 t = parent.predicate("fhir:"+parentType+'.'+name); 5499 } 5500 composeBackboneElement(t, "diagnosis", name, element, index); 5501 if (element.hasSequenceElement()) { 5502 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 5503 } 5504 if (element.hasDiagnosis()) { 5505 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 5506 } 5507 for (int i = 0; i < element.getType().size(); i++) { 5508 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 5509 } 5510 if (element.hasOnAdmission()) { 5511 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 5512 } 5513 } 5514 5515 protected void composeClaimProcedureComponent(Complex parent, String parentType, String name, Claim.ProcedureComponent element, int index) { 5516 if (element == null) 5517 return; 5518 Complex t; 5519 if (Utilities.noString(parentType)) 5520 t = parent; 5521 else { 5522 t = parent.predicate("fhir:"+parentType+'.'+name); 5523 } 5524 composeBackboneElement(t, "procedure", name, element, index); 5525 if (element.hasSequenceElement()) { 5526 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 5527 } 5528 for (int i = 0; i < element.getType().size(); i++) { 5529 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 5530 } 5531 if (element.hasDateElement()) { 5532 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 5533 } 5534 if (element.hasProcedure()) { 5535 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 5536 } 5537 for (int i = 0; i < element.getUdi().size(); i++) { 5538 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 5539 } 5540 } 5541 5542 protected void composeClaimInsuranceComponent(Complex parent, String parentType, String name, Claim.InsuranceComponent element, int index) { 5543 if (element == null) 5544 return; 5545 Complex t; 5546 if (Utilities.noString(parentType)) 5547 t = parent; 5548 else { 5549 t = parent.predicate("fhir:"+parentType+'.'+name); 5550 } 5551 composeBackboneElement(t, "insurance", name, element, index); 5552 if (element.hasSequenceElement()) { 5553 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 5554 } 5555 if (element.hasFocalElement()) { 5556 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 5557 } 5558 if (element.hasIdentifier()) { 5559 composeIdentifier(t, "InsuranceComponent", "identifier", element.getIdentifier(), -1); 5560 } 5561 if (element.hasCoverage()) { 5562 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 5563 } 5564 if (element.hasBusinessArrangementElement()) { 5565 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 5566 } 5567 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 5568 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 5569 } 5570 if (element.hasClaimResponse()) { 5571 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 5572 } 5573 } 5574 5575 protected void composeClaimAccidentComponent(Complex parent, String parentType, String name, Claim.AccidentComponent element, int index) { 5576 if (element == null) 5577 return; 5578 Complex t; 5579 if (Utilities.noString(parentType)) 5580 t = parent; 5581 else { 5582 t = parent.predicate("fhir:"+parentType+'.'+name); 5583 } 5584 composeBackboneElement(t, "accident", name, element, index); 5585 if (element.hasDateElement()) { 5586 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 5587 } 5588 if (element.hasType()) { 5589 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 5590 } 5591 if (element.hasLocation()) { 5592 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 5593 } 5594 } 5595 5596 protected void composeClaimItemComponent(Complex parent, String parentType, String name, Claim.ItemComponent element, int index) { 5597 if (element == null) 5598 return; 5599 Complex t; 5600 if (Utilities.noString(parentType)) 5601 t = parent; 5602 else { 5603 t = parent.predicate("fhir:"+parentType+'.'+name); 5604 } 5605 composeBackboneElement(t, "item", name, element, index); 5606 if (element.hasSequenceElement()) { 5607 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 5608 } 5609 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 5610 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 5611 } 5612 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 5613 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 5614 } 5615 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 5616 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 5617 } 5618 for (int i = 0; i < element.getInformationSequence().size(); i++) { 5619 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 5620 } 5621 if (element.hasRevenue()) { 5622 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 5623 } 5624 if (element.hasCategory()) { 5625 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 5626 } 5627 if (element.hasProductOrService()) { 5628 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 5629 } 5630 if (element.hasProductOrServiceEnd()) { 5631 composeCodeableConcept(t, "ItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 5632 } 5633 for (int i = 0; i < element.getModifier().size(); i++) { 5634 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 5635 } 5636 for (int i = 0; i < element.getProgramCode().size(); i++) { 5637 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 5638 } 5639 if (element.hasServiced()) { 5640 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 5641 } 5642 if (element.hasLocation()) { 5643 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 5644 } 5645 if (element.hasPatientPaid()) { 5646 composeMoney(t, "ItemComponent", "patientPaid", element.getPatientPaid(), -1); 5647 } 5648 if (element.hasQuantity()) { 5649 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 5650 } 5651 if (element.hasUnitPrice()) { 5652 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 5653 } 5654 if (element.hasFactorElement()) { 5655 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 5656 } 5657 if (element.hasTax()) { 5658 composeMoney(t, "ItemComponent", "tax", element.getTax(), -1); 5659 } 5660 if (element.hasNet()) { 5661 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 5662 } 5663 for (int i = 0; i < element.getUdi().size(); i++) { 5664 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 5665 } 5666 for (int i = 0; i < element.getBodySite().size(); i++) { 5667 composeClaimBodySiteComponent(t, "ItemComponent", "bodySite", element.getBodySite().get(i), i); 5668 } 5669 for (int i = 0; i < element.getEncounter().size(); i++) { 5670 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 5671 } 5672 for (int i = 0; i < element.getDetail().size(); i++) { 5673 composeClaimDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5674 } 5675 } 5676 5677 protected void composeClaimBodySiteComponent(Complex parent, String parentType, String name, Claim.BodySiteComponent element, int index) { 5678 if (element == null) 5679 return; 5680 Complex t; 5681 if (Utilities.noString(parentType)) 5682 t = parent; 5683 else { 5684 t = parent.predicate("fhir:"+parentType+'.'+name); 5685 } 5686 composeBackboneElement(t, "bodySite", name, element, index); 5687 for (int i = 0; i < element.getSite().size(); i++) { 5688 composeCodeableReference(t, "BodySiteComponent", "site", element.getSite().get(i), i); 5689 } 5690 for (int i = 0; i < element.getSubSite().size(); i++) { 5691 composeCodeableConcept(t, "BodySiteComponent", "subSite", element.getSubSite().get(i), i); 5692 } 5693 } 5694 5695 protected void composeClaimDetailComponent(Complex parent, String parentType, String name, Claim.DetailComponent element, int index) { 5696 if (element == null) 5697 return; 5698 Complex t; 5699 if (Utilities.noString(parentType)) 5700 t = parent; 5701 else { 5702 t = parent.predicate("fhir:"+parentType+'.'+name); 5703 } 5704 composeBackboneElement(t, "detail", name, element, index); 5705 if (element.hasSequenceElement()) { 5706 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 5707 } 5708 if (element.hasRevenue()) { 5709 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 5710 } 5711 if (element.hasCategory()) { 5712 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 5713 } 5714 if (element.hasProductOrService()) { 5715 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 5716 } 5717 if (element.hasProductOrServiceEnd()) { 5718 composeCodeableConcept(t, "DetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 5719 } 5720 for (int i = 0; i < element.getModifier().size(); i++) { 5721 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 5722 } 5723 for (int i = 0; i < element.getProgramCode().size(); i++) { 5724 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 5725 } 5726 if (element.hasPatientPaid()) { 5727 composeMoney(t, "DetailComponent", "patientPaid", element.getPatientPaid(), -1); 5728 } 5729 if (element.hasQuantity()) { 5730 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 5731 } 5732 if (element.hasUnitPrice()) { 5733 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 5734 } 5735 if (element.hasFactorElement()) { 5736 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 5737 } 5738 if (element.hasTax()) { 5739 composeMoney(t, "DetailComponent", "tax", element.getTax(), -1); 5740 } 5741 if (element.hasNet()) { 5742 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 5743 } 5744 for (int i = 0; i < element.getUdi().size(); i++) { 5745 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 5746 } 5747 for (int i = 0; i < element.getSubDetail().size(); i++) { 5748 composeClaimSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 5749 } 5750 } 5751 5752 protected void composeClaimSubDetailComponent(Complex parent, String parentType, String name, Claim.SubDetailComponent element, int index) { 5753 if (element == null) 5754 return; 5755 Complex t; 5756 if (Utilities.noString(parentType)) 5757 t = parent; 5758 else { 5759 t = parent.predicate("fhir:"+parentType+'.'+name); 5760 } 5761 composeBackboneElement(t, "subDetail", name, element, index); 5762 if (element.hasSequenceElement()) { 5763 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 5764 } 5765 if (element.hasRevenue()) { 5766 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 5767 } 5768 if (element.hasCategory()) { 5769 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 5770 } 5771 if (element.hasProductOrService()) { 5772 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 5773 } 5774 if (element.hasProductOrServiceEnd()) { 5775 composeCodeableConcept(t, "SubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 5776 } 5777 for (int i = 0; i < element.getModifier().size(); i++) { 5778 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 5779 } 5780 for (int i = 0; i < element.getProgramCode().size(); i++) { 5781 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 5782 } 5783 if (element.hasPatientPaid()) { 5784 composeMoney(t, "SubDetailComponent", "patientPaid", element.getPatientPaid(), -1); 5785 } 5786 if (element.hasQuantity()) { 5787 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 5788 } 5789 if (element.hasUnitPrice()) { 5790 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 5791 } 5792 if (element.hasFactorElement()) { 5793 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 5794 } 5795 if (element.hasTax()) { 5796 composeMoney(t, "SubDetailComponent", "tax", element.getTax(), -1); 5797 } 5798 if (element.hasNet()) { 5799 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 5800 } 5801 for (int i = 0; i < element.getUdi().size(); i++) { 5802 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 5803 } 5804 } 5805 5806 protected void composeClaimResponse(Complex parent, String parentType, String name, ClaimResponse element, int index) { 5807 if (element == null) 5808 return; 5809 Complex t; 5810 if (Utilities.noString(parentType)) 5811 t = parent; 5812 else { 5813 t = parent.predicate("fhir:"+parentType+'.'+name); 5814 } 5815 composeDomainResource(t, "ClaimResponse", name, element, index); 5816 for (int i = 0; i < element.getIdentifier().size(); i++) { 5817 composeIdentifier(t, "ClaimResponse", "identifier", element.getIdentifier().get(i), i); 5818 } 5819 if (element.hasStatusElement()) { 5820 composeEnum(t, "ClaimResponse", "status", element.getStatusElement(), -1); 5821 } 5822 if (element.hasType()) { 5823 composeCodeableConcept(t, "ClaimResponse", "type", element.getType(), -1); 5824 } 5825 if (element.hasSubType()) { 5826 composeCodeableConcept(t, "ClaimResponse", "subType", element.getSubType(), -1); 5827 } 5828 if (element.hasUseElement()) { 5829 composeEnum(t, "ClaimResponse", "use", element.getUseElement(), -1); 5830 } 5831 if (element.hasPatient()) { 5832 composeReference(t, "ClaimResponse", "patient", element.getPatient(), -1); 5833 } 5834 if (element.hasCreatedElement()) { 5835 composeDateTime(t, "ClaimResponse", "created", element.getCreatedElement(), -1); 5836 } 5837 if (element.hasInsurer()) { 5838 composeReference(t, "ClaimResponse", "insurer", element.getInsurer(), -1); 5839 } 5840 if (element.hasRequestor()) { 5841 composeReference(t, "ClaimResponse", "requestor", element.getRequestor(), -1); 5842 } 5843 if (element.hasRequest()) { 5844 composeReference(t, "ClaimResponse", "request", element.getRequest(), -1); 5845 } 5846 if (element.hasOutcomeElement()) { 5847 composeEnum(t, "ClaimResponse", "outcome", element.getOutcomeElement(), -1); 5848 } 5849 if (element.hasDecision()) { 5850 composeCodeableConcept(t, "ClaimResponse", "decision", element.getDecision(), -1); 5851 } 5852 if (element.hasDispositionElement()) { 5853 composeString(t, "ClaimResponse", "disposition", element.getDispositionElement(), -1); 5854 } 5855 if (element.hasPreAuthRefElement()) { 5856 composeString(t, "ClaimResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 5857 } 5858 if (element.hasPreAuthPeriod()) { 5859 composePeriod(t, "ClaimResponse", "preAuthPeriod", element.getPreAuthPeriod(), -1); 5860 } 5861 if (element.hasPayeeType()) { 5862 composeCodeableConcept(t, "ClaimResponse", "payeeType", element.getPayeeType(), -1); 5863 } 5864 for (int i = 0; i < element.getEncounter().size(); i++) { 5865 composeReference(t, "ClaimResponse", "encounter", element.getEncounter().get(i), i); 5866 } 5867 if (element.hasDiagnosisRelatedGroup()) { 5868 composeCodeableConcept(t, "ClaimResponse", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); 5869 } 5870 for (int i = 0; i < element.getItem().size(); i++) { 5871 composeClaimResponseItemComponent(t, "ClaimResponse", "item", element.getItem().get(i), i); 5872 } 5873 for (int i = 0; i < element.getAddItem().size(); i++) { 5874 composeClaimResponseAddedItemComponent(t, "ClaimResponse", "addItem", element.getAddItem().get(i), i); 5875 } 5876 for (int i = 0; i < element.getAdjudication().size(); i++) { 5877 composeClaimResponseAdjudicationComponent(t, "ClaimResponse", "adjudication", element.getAdjudication().get(i), i); 5878 } 5879 for (int i = 0; i < element.getTotal().size(); i++) { 5880 composeClaimResponseTotalComponent(t, "ClaimResponse", "total", element.getTotal().get(i), i); 5881 } 5882 if (element.hasPayment()) { 5883 composeClaimResponsePaymentComponent(t, "ClaimResponse", "payment", element.getPayment(), -1); 5884 } 5885 if (element.hasFundsReserve()) { 5886 composeCodeableConcept(t, "ClaimResponse", "fundsReserve", element.getFundsReserve(), -1); 5887 } 5888 if (element.hasFormCode()) { 5889 composeCodeableConcept(t, "ClaimResponse", "formCode", element.getFormCode(), -1); 5890 } 5891 if (element.hasForm()) { 5892 composeAttachment(t, "ClaimResponse", "form", element.getForm(), -1); 5893 } 5894 for (int i = 0; i < element.getProcessNote().size(); i++) { 5895 composeClaimResponseNoteComponent(t, "ClaimResponse", "processNote", element.getProcessNote().get(i), i); 5896 } 5897 for (int i = 0; i < element.getCommunicationRequest().size(); i++) { 5898 composeReference(t, "ClaimResponse", "communicationRequest", element.getCommunicationRequest().get(i), i); 5899 } 5900 for (int i = 0; i < element.getInsurance().size(); i++) { 5901 composeClaimResponseInsuranceComponent(t, "ClaimResponse", "insurance", element.getInsurance().get(i), i); 5902 } 5903 for (int i = 0; i < element.getError().size(); i++) { 5904 composeClaimResponseErrorComponent(t, "ClaimResponse", "error", element.getError().get(i), i); 5905 } 5906 } 5907 5908 protected void composeClaimResponseItemComponent(Complex parent, String parentType, String name, ClaimResponse.ItemComponent element, int index) { 5909 if (element == null) 5910 return; 5911 Complex t; 5912 if (Utilities.noString(parentType)) 5913 t = parent; 5914 else { 5915 t = parent.predicate("fhir:"+parentType+'.'+name); 5916 } 5917 composeBackboneElement(t, "item", name, element, index); 5918 if (element.hasItemSequenceElement()) { 5919 composePositiveInt(t, "ItemComponent", "itemSequence", element.getItemSequenceElement(), -1); 5920 } 5921 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5922 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 5923 } 5924 if (element.hasDecision()) { 5925 composeCodeableConcept(t, "ItemComponent", "decision", element.getDecision(), -1); 5926 } 5927 for (int i = 0; i < element.getAdjudication().size(); i++) { 5928 composeClaimResponseAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 5929 } 5930 for (int i = 0; i < element.getDetail().size(); i++) { 5931 composeClaimResponseItemDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 5932 } 5933 } 5934 5935 protected void composeClaimResponseAdjudicationComponent(Complex parent, String parentType, String name, ClaimResponse.AdjudicationComponent element, int index) { 5936 if (element == null) 5937 return; 5938 Complex t; 5939 if (Utilities.noString(parentType)) 5940 t = parent; 5941 else { 5942 t = parent.predicate("fhir:"+parentType+'.'+name); 5943 } 5944 composeBackboneElement(t, "adjudication", name, element, index); 5945 if (element.hasCategory()) { 5946 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 5947 } 5948 if (element.hasReason()) { 5949 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 5950 } 5951 if (element.hasAmount()) { 5952 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 5953 } 5954 if (element.hasValueElement()) { 5955 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 5956 } 5957 } 5958 5959 protected void composeClaimResponseItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.ItemDetailComponent element, int index) { 5960 if (element == null) 5961 return; 5962 Complex t; 5963 if (Utilities.noString(parentType)) 5964 t = parent; 5965 else { 5966 t = parent.predicate("fhir:"+parentType+'.'+name); 5967 } 5968 composeBackboneElement(t, "detail", name, element, index); 5969 if (element.hasDetailSequenceElement()) { 5970 composePositiveInt(t, "ItemDetailComponent", "detailSequence", element.getDetailSequenceElement(), -1); 5971 } 5972 for (int i = 0; i < element.getNoteNumber().size(); i++) { 5973 composePositiveInt(t, "ItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 5974 } 5975 if (element.hasDecision()) { 5976 composeCodeableConcept(t, "ItemDetailComponent", "decision", element.getDecision(), -1); 5977 } 5978 for (int i = 0; i < element.getAdjudication().size(); i++) { 5979 composeClaimResponseAdjudicationComponent(t, "ItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 5980 } 5981 for (int i = 0; i < element.getSubDetail().size(); i++) { 5982 composeClaimResponseSubDetailComponent(t, "ItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 5983 } 5984 } 5985 5986 protected void composeClaimResponseSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.SubDetailComponent element, int index) { 5987 if (element == null) 5988 return; 5989 Complex t; 5990 if (Utilities.noString(parentType)) 5991 t = parent; 5992 else { 5993 t = parent.predicate("fhir:"+parentType+'.'+name); 5994 } 5995 composeBackboneElement(t, "subDetail", name, element, index); 5996 if (element.hasSubDetailSequenceElement()) { 5997 composePositiveInt(t, "SubDetailComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 5998 } 5999 for (int i = 0; i < element.getNoteNumber().size(); i++) { 6000 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 6001 } 6002 if (element.hasDecision()) { 6003 composeCodeableConcept(t, "SubDetailComponent", "decision", element.getDecision(), -1); 6004 } 6005 for (int i = 0; i < element.getAdjudication().size(); i++) { 6006 composeClaimResponseAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 6007 } 6008 } 6009 6010 protected void composeClaimResponseAddedItemComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemComponent element, int index) { 6011 if (element == null) 6012 return; 6013 Complex t; 6014 if (Utilities.noString(parentType)) 6015 t = parent; 6016 else { 6017 t = parent.predicate("fhir:"+parentType+'.'+name); 6018 } 6019 composeBackboneElement(t, "addItem", name, element, index); 6020 for (int i = 0; i < element.getItemSequence().size(); i++) { 6021 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 6022 } 6023 for (int i = 0; i < element.getDetailSequence().size(); i++) { 6024 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 6025 } 6026 for (int i = 0; i < element.getSubdetailSequence().size(); i++) { 6027 composePositiveInt(t, "AddedItemComponent", "subdetailSequence", element.getSubdetailSequence().get(i), i); 6028 } 6029 for (int i = 0; i < element.getProvider().size(); i++) { 6030 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 6031 } 6032 if (element.hasRevenue()) { 6033 composeCodeableConcept(t, "AddedItemComponent", "revenue", element.getRevenue(), -1); 6034 } 6035 if (element.hasProductOrService()) { 6036 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 6037 } 6038 if (element.hasProductOrServiceEnd()) { 6039 composeCodeableConcept(t, "AddedItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 6040 } 6041 for (int i = 0; i < element.getModifier().size(); i++) { 6042 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 6043 } 6044 for (int i = 0; i < element.getProgramCode().size(); i++) { 6045 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 6046 } 6047 if (element.hasServiced()) { 6048 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 6049 } 6050 if (element.hasLocation()) { 6051 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 6052 } 6053 if (element.hasQuantity()) { 6054 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 6055 } 6056 if (element.hasUnitPrice()) { 6057 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 6058 } 6059 if (element.hasFactorElement()) { 6060 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 6061 } 6062 if (element.hasTax()) { 6063 composeMoney(t, "AddedItemComponent", "tax", element.getTax(), -1); 6064 } 6065 if (element.hasNet()) { 6066 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 6067 } 6068 for (int i = 0; i < element.getBodySite().size(); i++) { 6069 composeClaimResponseBodySiteComponent(t, "AddedItemComponent", "bodySite", element.getBodySite().get(i), i); 6070 } 6071 for (int i = 0; i < element.getNoteNumber().size(); i++) { 6072 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 6073 } 6074 if (element.hasDecision()) { 6075 composeCodeableConcept(t, "AddedItemComponent", "decision", element.getDecision(), -1); 6076 } 6077 for (int i = 0; i < element.getAdjudication().size(); i++) { 6078 composeClaimResponseAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 6079 } 6080 for (int i = 0; i < element.getDetail().size(); i++) { 6081 composeClaimResponseAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 6082 } 6083 } 6084 6085 protected void composeClaimResponseBodySiteComponent(Complex parent, String parentType, String name, ClaimResponse.BodySiteComponent element, int index) { 6086 if (element == null) 6087 return; 6088 Complex t; 6089 if (Utilities.noString(parentType)) 6090 t = parent; 6091 else { 6092 t = parent.predicate("fhir:"+parentType+'.'+name); 6093 } 6094 composeBackboneElement(t, "bodySite", name, element, index); 6095 for (int i = 0; i < element.getSite().size(); i++) { 6096 composeCodeableReference(t, "BodySiteComponent", "site", element.getSite().get(i), i); 6097 } 6098 for (int i = 0; i < element.getSubSite().size(); i++) { 6099 composeCodeableConcept(t, "BodySiteComponent", "subSite", element.getSubSite().get(i), i); 6100 } 6101 } 6102 6103 protected void composeClaimResponseAddedItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemDetailComponent element, int index) { 6104 if (element == null) 6105 return; 6106 Complex t; 6107 if (Utilities.noString(parentType)) 6108 t = parent; 6109 else { 6110 t = parent.predicate("fhir:"+parentType+'.'+name); 6111 } 6112 composeBackboneElement(t, "detail", name, element, index); 6113 if (element.hasRevenue()) { 6114 composeCodeableConcept(t, "AddedItemDetailComponent", "revenue", element.getRevenue(), -1); 6115 } 6116 if (element.hasProductOrService()) { 6117 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 6118 } 6119 if (element.hasProductOrServiceEnd()) { 6120 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 6121 } 6122 for (int i = 0; i < element.getModifier().size(); i++) { 6123 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 6124 } 6125 if (element.hasQuantity()) { 6126 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 6127 } 6128 if (element.hasUnitPrice()) { 6129 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 6130 } 6131 if (element.hasFactorElement()) { 6132 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 6133 } 6134 if (element.hasTax()) { 6135 composeMoney(t, "AddedItemDetailComponent", "tax", element.getTax(), -1); 6136 } 6137 if (element.hasNet()) { 6138 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 6139 } 6140 for (int i = 0; i < element.getNoteNumber().size(); i++) { 6141 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 6142 } 6143 if (element.hasDecision()) { 6144 composeCodeableConcept(t, "AddedItemDetailComponent", "decision", element.getDecision(), -1); 6145 } 6146 for (int i = 0; i < element.getAdjudication().size(); i++) { 6147 composeClaimResponseAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 6148 } 6149 for (int i = 0; i < element.getSubDetail().size(); i++) { 6150 composeClaimResponseAddedItemSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 6151 } 6152 } 6153 6154 protected void composeClaimResponseAddedItemSubDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemSubDetailComponent element, int index) { 6155 if (element == null) 6156 return; 6157 Complex t; 6158 if (Utilities.noString(parentType)) 6159 t = parent; 6160 else { 6161 t = parent.predicate("fhir:"+parentType+'.'+name); 6162 } 6163 composeBackboneElement(t, "subDetail", name, element, index); 6164 if (element.hasRevenue()) { 6165 composeCodeableConcept(t, "AddedItemSubDetailComponent", "revenue", element.getRevenue(), -1); 6166 } 6167 if (element.hasProductOrService()) { 6168 composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrService", element.getProductOrService(), -1); 6169 } 6170 if (element.hasProductOrServiceEnd()) { 6171 composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 6172 } 6173 for (int i = 0; i < element.getModifier().size(); i++) { 6174 composeCodeableConcept(t, "AddedItemSubDetailComponent", "modifier", element.getModifier().get(i), i); 6175 } 6176 if (element.hasQuantity()) { 6177 composeQuantity(t, "AddedItemSubDetailComponent", "quantity", element.getQuantity(), -1); 6178 } 6179 if (element.hasUnitPrice()) { 6180 composeMoney(t, "AddedItemSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 6181 } 6182 if (element.hasFactorElement()) { 6183 composeDecimal(t, "AddedItemSubDetailComponent", "factor", element.getFactorElement(), -1); 6184 } 6185 if (element.hasTax()) { 6186 composeMoney(t, "AddedItemSubDetailComponent", "tax", element.getTax(), -1); 6187 } 6188 if (element.hasNet()) { 6189 composeMoney(t, "AddedItemSubDetailComponent", "net", element.getNet(), -1); 6190 } 6191 for (int i = 0; i < element.getNoteNumber().size(); i++) { 6192 composePositiveInt(t, "AddedItemSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 6193 } 6194 if (element.hasDecision()) { 6195 composeCodeableConcept(t, "AddedItemSubDetailComponent", "decision", element.getDecision(), -1); 6196 } 6197 for (int i = 0; i < element.getAdjudication().size(); i++) { 6198 composeClaimResponseAdjudicationComponent(t, "AddedItemSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 6199 } 6200 } 6201 6202 protected void composeClaimResponseTotalComponent(Complex parent, String parentType, String name, ClaimResponse.TotalComponent element, int index) { 6203 if (element == null) 6204 return; 6205 Complex t; 6206 if (Utilities.noString(parentType)) 6207 t = parent; 6208 else { 6209 t = parent.predicate("fhir:"+parentType+'.'+name); 6210 } 6211 composeBackboneElement(t, "total", name, element, index); 6212 if (element.hasCategory()) { 6213 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 6214 } 6215 if (element.hasAmount()) { 6216 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 6217 } 6218 } 6219 6220 protected void composeClaimResponsePaymentComponent(Complex parent, String parentType, String name, ClaimResponse.PaymentComponent element, int index) { 6221 if (element == null) 6222 return; 6223 Complex t; 6224 if (Utilities.noString(parentType)) 6225 t = parent; 6226 else { 6227 t = parent.predicate("fhir:"+parentType+'.'+name); 6228 } 6229 composeBackboneElement(t, "payment", name, element, index); 6230 if (element.hasType()) { 6231 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 6232 } 6233 if (element.hasAdjustment()) { 6234 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 6235 } 6236 if (element.hasAdjustmentReason()) { 6237 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 6238 } 6239 if (element.hasDateElement()) { 6240 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 6241 } 6242 if (element.hasAmount()) { 6243 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 6244 } 6245 if (element.hasIdentifier()) { 6246 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 6247 } 6248 } 6249 6250 protected void composeClaimResponseNoteComponent(Complex parent, String parentType, String name, ClaimResponse.NoteComponent element, int index) { 6251 if (element == null) 6252 return; 6253 Complex t; 6254 if (Utilities.noString(parentType)) 6255 t = parent; 6256 else { 6257 t = parent.predicate("fhir:"+parentType+'.'+name); 6258 } 6259 composeBackboneElement(t, "processNote", name, element, index); 6260 if (element.hasNumberElement()) { 6261 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 6262 } 6263 if (element.hasTypeElement()) { 6264 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 6265 } 6266 if (element.hasTextElement()) { 6267 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 6268 } 6269 if (element.hasLanguage()) { 6270 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 6271 } 6272 } 6273 6274 protected void composeClaimResponseInsuranceComponent(Complex parent, String parentType, String name, ClaimResponse.InsuranceComponent element, int index) { 6275 if (element == null) 6276 return; 6277 Complex t; 6278 if (Utilities.noString(parentType)) 6279 t = parent; 6280 else { 6281 t = parent.predicate("fhir:"+parentType+'.'+name); 6282 } 6283 composeBackboneElement(t, "insurance", name, element, index); 6284 if (element.hasSequenceElement()) { 6285 composePositiveInt(t, "InsuranceComponent", "sequence", element.getSequenceElement(), -1); 6286 } 6287 if (element.hasFocalElement()) { 6288 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 6289 } 6290 if (element.hasCoverage()) { 6291 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 6292 } 6293 if (element.hasBusinessArrangementElement()) { 6294 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 6295 } 6296 if (element.hasClaimResponse()) { 6297 composeReference(t, "InsuranceComponent", "claimResponse", element.getClaimResponse(), -1); 6298 } 6299 } 6300 6301 protected void composeClaimResponseErrorComponent(Complex parent, String parentType, String name, ClaimResponse.ErrorComponent element, int index) { 6302 if (element == null) 6303 return; 6304 Complex t; 6305 if (Utilities.noString(parentType)) 6306 t = parent; 6307 else { 6308 t = parent.predicate("fhir:"+parentType+'.'+name); 6309 } 6310 composeBackboneElement(t, "error", name, element, index); 6311 if (element.hasItemSequenceElement()) { 6312 composePositiveInt(t, "ErrorComponent", "itemSequence", element.getItemSequenceElement(), -1); 6313 } 6314 if (element.hasDetailSequenceElement()) { 6315 composePositiveInt(t, "ErrorComponent", "detailSequence", element.getDetailSequenceElement(), -1); 6316 } 6317 if (element.hasSubDetailSequenceElement()) { 6318 composePositiveInt(t, "ErrorComponent", "subDetailSequence", element.getSubDetailSequenceElement(), -1); 6319 } 6320 if (element.hasCode()) { 6321 composeCodeableConcept(t, "ErrorComponent", "code", element.getCode(), -1); 6322 } 6323 } 6324 6325 protected void composeClinicalImpression(Complex parent, String parentType, String name, ClinicalImpression 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 composeDomainResource(t, "ClinicalImpression", name, element, index); 6335 for (int i = 0; i < element.getIdentifier().size(); i++) { 6336 composeIdentifier(t, "ClinicalImpression", "identifier", element.getIdentifier().get(i), i); 6337 } 6338 if (element.hasStatusElement()) { 6339 composeEnum(t, "ClinicalImpression", "status", element.getStatusElement(), -1); 6340 } 6341 if (element.hasStatusReason()) { 6342 composeCodeableConcept(t, "ClinicalImpression", "statusReason", element.getStatusReason(), -1); 6343 } 6344 if (element.hasDescriptionElement()) { 6345 composeString(t, "ClinicalImpression", "description", element.getDescriptionElement(), -1); 6346 } 6347 if (element.hasSubject()) { 6348 composeReference(t, "ClinicalImpression", "subject", element.getSubject(), -1); 6349 } 6350 if (element.hasEncounter()) { 6351 composeReference(t, "ClinicalImpression", "encounter", element.getEncounter(), -1); 6352 } 6353 if (element.hasEffective()) { 6354 composeType(t, "ClinicalImpression", "effective", element.getEffective(), -1); 6355 } 6356 if (element.hasDateElement()) { 6357 composeDateTime(t, "ClinicalImpression", "date", element.getDateElement(), -1); 6358 } 6359 if (element.hasPerformer()) { 6360 composeReference(t, "ClinicalImpression", "performer", element.getPerformer(), -1); 6361 } 6362 if (element.hasPrevious()) { 6363 composeReference(t, "ClinicalImpression", "previous", element.getPrevious(), -1); 6364 } 6365 for (int i = 0; i < element.getProblem().size(); i++) { 6366 composeReference(t, "ClinicalImpression", "problem", element.getProblem().get(i), i); 6367 } 6368 if (element.hasChangePattern()) { 6369 composeCodeableConcept(t, "ClinicalImpression", "changePattern", element.getChangePattern(), -1); 6370 } 6371 for (int i = 0; i < element.getProtocol().size(); i++) { 6372 composeUri(t, "ClinicalImpression", "protocol", element.getProtocol().get(i), i); 6373 } 6374 if (element.hasSummaryElement()) { 6375 composeString(t, "ClinicalImpression", "summary", element.getSummaryElement(), -1); 6376 } 6377 for (int i = 0; i < element.getFinding().size(); i++) { 6378 composeClinicalImpressionFindingComponent(t, "ClinicalImpression", "finding", element.getFinding().get(i), i); 6379 } 6380 for (int i = 0; i < element.getPrognosisCodeableConcept().size(); i++) { 6381 composeCodeableConcept(t, "ClinicalImpression", "prognosisCodeableConcept", element.getPrognosisCodeableConcept().get(i), i); 6382 } 6383 for (int i = 0; i < element.getPrognosisReference().size(); i++) { 6384 composeReference(t, "ClinicalImpression", "prognosisReference", element.getPrognosisReference().get(i), i); 6385 } 6386 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 6387 composeReference(t, "ClinicalImpression", "supportingInfo", element.getSupportingInfo().get(i), i); 6388 } 6389 for (int i = 0; i < element.getNote().size(); i++) { 6390 composeAnnotation(t, "ClinicalImpression", "note", element.getNote().get(i), i); 6391 } 6392 } 6393 6394 protected void composeClinicalImpressionFindingComponent(Complex parent, String parentType, String name, ClinicalImpression.ClinicalImpressionFindingComponent element, int index) { 6395 if (element == null) 6396 return; 6397 Complex t; 6398 if (Utilities.noString(parentType)) 6399 t = parent; 6400 else { 6401 t = parent.predicate("fhir:"+parentType+'.'+name); 6402 } 6403 composeBackboneElement(t, "finding", name, element, index); 6404 if (element.hasItem()) { 6405 composeCodeableReference(t, "ClinicalImpressionFindingComponent", "item", element.getItem(), -1); 6406 } 6407 if (element.hasBasisElement()) { 6408 composeString(t, "ClinicalImpressionFindingComponent", "basis", element.getBasisElement(), -1); 6409 } 6410 } 6411 6412 protected void composeClinicalUseDefinition(Complex parent, String parentType, String name, ClinicalUseDefinition element, int index) { 6413 if (element == null) 6414 return; 6415 Complex t; 6416 if (Utilities.noString(parentType)) 6417 t = parent; 6418 else { 6419 t = parent.predicate("fhir:"+parentType+'.'+name); 6420 } 6421 composeDomainResource(t, "ClinicalUseDefinition", name, element, index); 6422 for (int i = 0; i < element.getIdentifier().size(); i++) { 6423 composeIdentifier(t, "ClinicalUseDefinition", "identifier", element.getIdentifier().get(i), i); 6424 } 6425 if (element.hasTypeElement()) { 6426 composeEnum(t, "ClinicalUseDefinition", "type", element.getTypeElement(), -1); 6427 } 6428 for (int i = 0; i < element.getCategory().size(); i++) { 6429 composeCodeableConcept(t, "ClinicalUseDefinition", "category", element.getCategory().get(i), i); 6430 } 6431 for (int i = 0; i < element.getSubject().size(); i++) { 6432 composeReference(t, "ClinicalUseDefinition", "subject", element.getSubject().get(i), i); 6433 } 6434 if (element.hasStatus()) { 6435 composeCodeableConcept(t, "ClinicalUseDefinition", "status", element.getStatus(), -1); 6436 } 6437 if (element.hasContraindication()) { 6438 composeClinicalUseDefinitionContraindicationComponent(t, "ClinicalUseDefinition", "contraindication", element.getContraindication(), -1); 6439 } 6440 if (element.hasIndication()) { 6441 composeClinicalUseDefinitionIndicationComponent(t, "ClinicalUseDefinition", "indication", element.getIndication(), -1); 6442 } 6443 if (element.hasInteraction()) { 6444 composeClinicalUseDefinitionInteractionComponent(t, "ClinicalUseDefinition", "interaction", element.getInteraction(), -1); 6445 } 6446 for (int i = 0; i < element.getPopulation().size(); i++) { 6447 composeReference(t, "ClinicalUseDefinition", "population", element.getPopulation().get(i), i); 6448 } 6449 for (int i = 0; i < element.getLibrary().size(); i++) { 6450 composeCanonical(t, "ClinicalUseDefinition", "library", element.getLibrary().get(i), i); 6451 } 6452 if (element.hasUndesirableEffect()) { 6453 composeClinicalUseDefinitionUndesirableEffectComponent(t, "ClinicalUseDefinition", "undesirableEffect", element.getUndesirableEffect(), -1); 6454 } 6455 if (element.hasWarning()) { 6456 composeClinicalUseDefinitionWarningComponent(t, "ClinicalUseDefinition", "warning", element.getWarning(), -1); 6457 } 6458 } 6459 6460 protected void composeClinicalUseDefinitionContraindicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent element, int index) { 6461 if (element == null) 6462 return; 6463 Complex t; 6464 if (Utilities.noString(parentType)) 6465 t = parent; 6466 else { 6467 t = parent.predicate("fhir:"+parentType+'.'+name); 6468 } 6469 composeBackboneElement(t, "contraindication", name, element, index); 6470 if (element.hasDiseaseSymptomProcedure()) { 6471 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6472 } 6473 if (element.hasDiseaseStatus()) { 6474 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6475 } 6476 for (int i = 0; i < element.getComorbidity().size(); i++) { 6477 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6478 } 6479 for (int i = 0; i < element.getIndication().size(); i++) { 6480 composeReference(t, "ClinicalUseDefinitionContraindicationComponent", "indication", element.getIndication().get(i), i); 6481 } 6482 if (element.hasApplicability()) { 6483 composeExpression(t, "ClinicalUseDefinitionContraindicationComponent", "applicability", element.getApplicability(), -1); 6484 } 6485 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6486 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionContraindicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6487 } 6488 } 6489 6490 protected void composeClinicalUseDefinitionContraindicationOtherTherapyComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent element, int index) { 6491 if (element == null) 6492 return; 6493 Complex t; 6494 if (Utilities.noString(parentType)) 6495 t = parent; 6496 else { 6497 t = parent.predicate("fhir:"+parentType+'.'+name); 6498 } 6499 composeBackboneElement(t, "otherTherapy", name, element, index); 6500 if (element.hasRelationshipType()) { 6501 composeCodeableConcept(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "relationshipType", element.getRelationshipType(), -1); 6502 } 6503 if (element.hasTreatment()) { 6504 composeCodeableReference(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "treatment", element.getTreatment(), -1); 6505 } 6506 } 6507 6508 protected void composeClinicalUseDefinitionIndicationComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent 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, "indication", name, element, index); 6518 if (element.hasDiseaseSymptomProcedure()) { 6519 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseSymptomProcedure", element.getDiseaseSymptomProcedure(), -1); 6520 } 6521 if (element.hasDiseaseStatus()) { 6522 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "diseaseStatus", element.getDiseaseStatus(), -1); 6523 } 6524 for (int i = 0; i < element.getComorbidity().size(); i++) { 6525 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "comorbidity", element.getComorbidity().get(i), i); 6526 } 6527 if (element.hasIntendedEffect()) { 6528 composeCodeableReference(t, "ClinicalUseDefinitionIndicationComponent", "intendedEffect", element.getIntendedEffect(), -1); 6529 } 6530 if (element.hasDuration()) { 6531 composeType(t, "ClinicalUseDefinitionIndicationComponent", "duration", element.getDuration(), -1); 6532 } 6533 for (int i = 0; i < element.getUndesirableEffect().size(); i++) { 6534 composeReference(t, "ClinicalUseDefinitionIndicationComponent", "undesirableEffect", element.getUndesirableEffect().get(i), i); 6535 } 6536 if (element.hasApplicability()) { 6537 composeExpression(t, "ClinicalUseDefinitionIndicationComponent", "applicability", element.getApplicability(), -1); 6538 } 6539 for (int i = 0; i < element.getOtherTherapy().size(); i++) { 6540 composeClinicalUseDefinitionContraindicationOtherTherapyComponent(t, "ClinicalUseDefinitionIndicationComponent", "otherTherapy", element.getOtherTherapy().get(i), i); 6541 } 6542 } 6543 6544 protected void composeClinicalUseDefinitionInteractionComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent element, int index) { 6545 if (element == null) 6546 return; 6547 Complex t; 6548 if (Utilities.noString(parentType)) 6549 t = parent; 6550 else { 6551 t = parent.predicate("fhir:"+parentType+'.'+name); 6552 } 6553 composeBackboneElement(t, "interaction", name, element, index); 6554 for (int i = 0; i < element.getInteractant().size(); i++) { 6555 composeClinicalUseDefinitionInteractionInteractantComponent(t, "ClinicalUseDefinitionInteractionComponent", "interactant", element.getInteractant().get(i), i); 6556 } 6557 if (element.hasType()) { 6558 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "type", element.getType(), -1); 6559 } 6560 if (element.hasEffect()) { 6561 composeCodeableReference(t, "ClinicalUseDefinitionInteractionComponent", "effect", element.getEffect(), -1); 6562 } 6563 if (element.hasIncidence()) { 6564 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "incidence", element.getIncidence(), -1); 6565 } 6566 for (int i = 0; i < element.getManagement().size(); i++) { 6567 composeCodeableConcept(t, "ClinicalUseDefinitionInteractionComponent", "management", element.getManagement().get(i), i); 6568 } 6569 } 6570 6571 protected void composeClinicalUseDefinitionInteractionInteractantComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent element, int index) { 6572 if (element == null) 6573 return; 6574 Complex t; 6575 if (Utilities.noString(parentType)) 6576 t = parent; 6577 else { 6578 t = parent.predicate("fhir:"+parentType+'.'+name); 6579 } 6580 composeBackboneElement(t, "interactant", name, element, index); 6581 if (element.hasItem()) { 6582 composeType(t, "ClinicalUseDefinitionInteractionInteractantComponent", "item", element.getItem(), -1); 6583 } 6584 } 6585 6586 protected void composeClinicalUseDefinitionUndesirableEffectComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent element, int index) { 6587 if (element == null) 6588 return; 6589 Complex t; 6590 if (Utilities.noString(parentType)) 6591 t = parent; 6592 else { 6593 t = parent.predicate("fhir:"+parentType+'.'+name); 6594 } 6595 composeBackboneElement(t, "undesirableEffect", name, element, index); 6596 if (element.hasSymptomConditionEffect()) { 6597 composeCodeableReference(t, "ClinicalUseDefinitionUndesirableEffectComponent", "symptomConditionEffect", element.getSymptomConditionEffect(), -1); 6598 } 6599 if (element.hasClassification()) { 6600 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "classification", element.getClassification(), -1); 6601 } 6602 if (element.hasFrequencyOfOccurrence()) { 6603 composeCodeableConcept(t, "ClinicalUseDefinitionUndesirableEffectComponent", "frequencyOfOccurrence", element.getFrequencyOfOccurrence(), -1); 6604 } 6605 } 6606 6607 protected void composeClinicalUseDefinitionWarningComponent(Complex parent, String parentType, String name, ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent element, int index) { 6608 if (element == null) 6609 return; 6610 Complex t; 6611 if (Utilities.noString(parentType)) 6612 t = parent; 6613 else { 6614 t = parent.predicate("fhir:"+parentType+'.'+name); 6615 } 6616 composeBackboneElement(t, "warning", name, element, index); 6617 if (element.hasDescriptionElement()) { 6618 composeMarkdown(t, "ClinicalUseDefinitionWarningComponent", "description", element.getDescriptionElement(), -1); 6619 } 6620 if (element.hasCode()) { 6621 composeCodeableConcept(t, "ClinicalUseDefinitionWarningComponent", "code", element.getCode(), -1); 6622 } 6623 } 6624 6625 protected void composeCodeSystem(Complex parent, String parentType, String name, CodeSystem element, int index) { 6626 if (element == null) 6627 return; 6628 Complex t; 6629 if (Utilities.noString(parentType)) 6630 t = parent; 6631 else { 6632 t = parent.predicate("fhir:"+parentType+'.'+name); 6633 } 6634 composeMetadataResource(t, "CodeSystem", name, element, index); 6635 if (element.hasUrlElement()) { 6636 composeUri(t, "CodeSystem", "url", element.getUrlElement(), -1); 6637 } 6638 for (int i = 0; i < element.getIdentifier().size(); i++) { 6639 composeIdentifier(t, "CodeSystem", "identifier", element.getIdentifier().get(i), i); 6640 } 6641 if (element.hasVersionElement()) { 6642 composeString(t, "CodeSystem", "version", element.getVersionElement(), -1); 6643 } 6644 if (element.hasNameElement()) { 6645 composeString(t, "CodeSystem", "name", element.getNameElement(), -1); 6646 } 6647 if (element.hasTitleElement()) { 6648 composeString(t, "CodeSystem", "title", element.getTitleElement(), -1); 6649 } 6650 if (element.hasStatusElement()) { 6651 composeEnum(t, "CodeSystem", "status", element.getStatusElement(), -1); 6652 } 6653 if (element.hasExperimentalElement()) { 6654 composeBoolean(t, "CodeSystem", "experimental", element.getExperimentalElement(), -1); 6655 } 6656 if (element.hasDateElement()) { 6657 composeDateTime(t, "CodeSystem", "date", element.getDateElement(), -1); 6658 } 6659 if (element.hasPublisherElement()) { 6660 composeString(t, "CodeSystem", "publisher", element.getPublisherElement(), -1); 6661 } 6662 for (int i = 0; i < element.getContact().size(); i++) { 6663 composeContactDetail(t, "CodeSystem", "contact", element.getContact().get(i), i); 6664 } 6665 if (element.hasDescriptionElement()) { 6666 composeMarkdown(t, "CodeSystem", "description", element.getDescriptionElement(), -1); 6667 } 6668 for (int i = 0; i < element.getUseContext().size(); i++) { 6669 composeUsageContext(t, "CodeSystem", "useContext", element.getUseContext().get(i), i); 6670 } 6671 for (int i = 0; i < element.getJurisdiction().size(); i++) { 6672 composeCodeableConcept(t, "CodeSystem", "jurisdiction", element.getJurisdiction().get(i), i); 6673 } 6674 if (element.hasPurposeElement()) { 6675 composeMarkdown(t, "CodeSystem", "purpose", element.getPurposeElement(), -1); 6676 } 6677 if (element.hasCopyrightElement()) { 6678 composeMarkdown(t, "CodeSystem", "copyright", element.getCopyrightElement(), -1); 6679 } 6680 if (element.hasApprovalDateElement()) { 6681 composeDate(t, "CodeSystem", "approvalDate", element.getApprovalDateElement(), -1); 6682 } 6683 if (element.hasLastReviewDateElement()) { 6684 composeDate(t, "CodeSystem", "lastReviewDate", element.getLastReviewDateElement(), -1); 6685 } 6686 if (element.hasEffectivePeriod()) { 6687 composePeriod(t, "CodeSystem", "effectivePeriod", element.getEffectivePeriod(), -1); 6688 } 6689 for (int i = 0; i < element.getTopic().size(); i++) { 6690 composeCodeableConcept(t, "CodeSystem", "topic", element.getTopic().get(i), i); 6691 } 6692 for (int i = 0; i < element.getAuthor().size(); i++) { 6693 composeContactDetail(t, "CodeSystem", "author", element.getAuthor().get(i), i); 6694 } 6695 for (int i = 0; i < element.getEditor().size(); i++) { 6696 composeContactDetail(t, "CodeSystem", "editor", element.getEditor().get(i), i); 6697 } 6698 for (int i = 0; i < element.getReviewer().size(); i++) { 6699 composeContactDetail(t, "CodeSystem", "reviewer", element.getReviewer().get(i), i); 6700 } 6701 for (int i = 0; i < element.getEndorser().size(); i++) { 6702 composeContactDetail(t, "CodeSystem", "endorser", element.getEndorser().get(i), i); 6703 } 6704 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 6705 composeRelatedArtifact(t, "CodeSystem", "relatedArtifact", element.getRelatedArtifact().get(i), i); 6706 } 6707 if (element.hasCaseSensitiveElement()) { 6708 composeBoolean(t, "CodeSystem", "caseSensitive", element.getCaseSensitiveElement(), -1); 6709 } 6710 if (element.hasValueSetElement()) { 6711 composeCanonical(t, "CodeSystem", "valueSet", element.getValueSetElement(), -1); 6712 } 6713 if (element.hasHierarchyMeaningElement()) { 6714 composeEnum(t, "CodeSystem", "hierarchyMeaning", element.getHierarchyMeaningElement(), -1); 6715 } 6716 if (element.hasCompositionalElement()) { 6717 composeBoolean(t, "CodeSystem", "compositional", element.getCompositionalElement(), -1); 6718 } 6719 if (element.hasVersionNeededElement()) { 6720 composeBoolean(t, "CodeSystem", "versionNeeded", element.getVersionNeededElement(), -1); 6721 } 6722 if (element.hasContentElement()) { 6723 composeEnum(t, "CodeSystem", "content", element.getContentElement(), -1); 6724 } 6725 if (element.hasSupplementsElement()) { 6726 composeCanonical(t, "CodeSystem", "supplements", element.getSupplementsElement(), -1); 6727 } 6728 if (element.hasCountElement()) { 6729 composeUnsignedInt(t, "CodeSystem", "count", element.getCountElement(), -1); 6730 } 6731 for (int i = 0; i < element.getFilter().size(); i++) { 6732 composeCodeSystemFilterComponent(t, "CodeSystem", "filter", element.getFilter().get(i), i); 6733 } 6734 for (int i = 0; i < element.getProperty().size(); i++) { 6735 composeCodeSystemPropertyComponent(t, "CodeSystem", "property", element.getProperty().get(i), i); 6736 } 6737 for (int i = 0; i < element.getConcept().size(); i++) { 6738 composeCodeSystemConceptDefinitionComponent(t, "CodeSystem", "concept", element.getConcept().get(i), i); 6739 } 6740 } 6741 6742 protected void composeCodeSystemFilterComponent(Complex parent, String parentType, String name, CodeSystem.CodeSystemFilterComponent element, int index) { 6743 if (element == null) 6744 return; 6745 Complex t; 6746 if (Utilities.noString(parentType)) 6747 t = parent; 6748 else { 6749 t = parent.predicate("fhir:"+parentType+'.'+name); 6750 } 6751 composeBackboneElement(t, "filter", name, element, index); 6752 if (element.hasCodeElement()) { 6753 composeCode(t, "CodeSystemFilterComponent", "code", element.getCodeElement(), -1); 6754 } 6755 if (element.hasDescriptionElement()) { 6756 composeString(t, "CodeSystemFilterComponent", "description", element.getDescriptionElement(), -1); 6757 } 6758 for (int i = 0; i < element.getOperator().size(); i++) { 6759 composeEnum(t, "CodeSystemFilterComponent", "operator", element.getOperator().get(i), i); 6760 } 6761 if (element.hasValueElement()) { 6762 composeString(t, "CodeSystemFilterComponent", "value", element.getValueElement(), -1); 6763 } 6764 } 6765 6766 protected void composeCodeSystemPropertyComponent(Complex parent, String parentType, String name, CodeSystem.PropertyComponent element, int index) { 6767 if (element == null) 6768 return; 6769 Complex t; 6770 if (Utilities.noString(parentType)) 6771 t = parent; 6772 else { 6773 t = parent.predicate("fhir:"+parentType+'.'+name); 6774 } 6775 composeBackboneElement(t, "property", name, element, index); 6776 if (element.hasCodeElement()) { 6777 composeCode(t, "PropertyComponent", "code", element.getCodeElement(), -1); 6778 } 6779 if (element.hasUriElement()) { 6780 composeUri(t, "PropertyComponent", "uri", element.getUriElement(), -1); 6781 } 6782 if (element.hasDescriptionElement()) { 6783 composeString(t, "PropertyComponent", "description", element.getDescriptionElement(), -1); 6784 } 6785 if (element.hasTypeElement()) { 6786 composeEnum(t, "PropertyComponent", "type", element.getTypeElement(), -1); 6787 } 6788 } 6789 6790 protected void composeCodeSystemConceptDefinitionComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionComponent element, int index) { 6791 if (element == null) 6792 return; 6793 Complex t; 6794 if (Utilities.noString(parentType)) 6795 t = parent; 6796 else { 6797 t = parent.predicate("fhir:"+parentType+'.'+name); 6798 } 6799 composeBackboneElement(t, "concept", name, element, index); 6800 if (element.hasCodeElement()) { 6801 composeCode(t, "ConceptDefinitionComponent", "code", element.getCodeElement(), -1); 6802 } 6803 if (element.hasDisplayElement()) { 6804 composeString(t, "ConceptDefinitionComponent", "display", element.getDisplayElement(), -1); 6805 } 6806 if (element.hasDefinitionElement()) { 6807 composeString(t, "ConceptDefinitionComponent", "definition", element.getDefinitionElement(), -1); 6808 } 6809 for (int i = 0; i < element.getDesignation().size(); i++) { 6810 composeCodeSystemConceptDefinitionDesignationComponent(t, "ConceptDefinitionComponent", "designation", element.getDesignation().get(i), i); 6811 } 6812 for (int i = 0; i < element.getProperty().size(); i++) { 6813 composeCodeSystemConceptPropertyComponent(t, "ConceptDefinitionComponent", "property", element.getProperty().get(i), i); 6814 } 6815 for (int i = 0; i < element.getConcept().size(); i++) { 6816 composeCodeSystemConceptDefinitionComponent(t, "ConceptDefinitionComponent", "concept", element.getConcept().get(i), i); 6817 } 6818 } 6819 6820 protected void composeCodeSystemConceptDefinitionDesignationComponent(Complex parent, String parentType, String name, CodeSystem.ConceptDefinitionDesignationComponent element, int index) { 6821 if (element == null) 6822 return; 6823 Complex t; 6824 if (Utilities.noString(parentType)) 6825 t = parent; 6826 else { 6827 t = parent.predicate("fhir:"+parentType+'.'+name); 6828 } 6829 composeBackboneElement(t, "designation", name, element, index); 6830 if (element.hasLanguageElement()) { 6831 composeCode(t, "ConceptDefinitionDesignationComponent", "language", element.getLanguageElement(), -1); 6832 } 6833 if (element.hasUse()) { 6834 composeCoding(t, "ConceptDefinitionDesignationComponent", "use", element.getUse(), -1); 6835 } 6836 for (int i = 0; i < element.getAdditionalUse().size(); i++) { 6837 composeCoding(t, "ConceptDefinitionDesignationComponent", "additionalUse", element.getAdditionalUse().get(i), i); 6838 } 6839 if (element.hasValueElement()) { 6840 composeString(t, "ConceptDefinitionDesignationComponent", "value", element.getValueElement(), -1); 6841 } 6842 } 6843 6844 protected void composeCodeSystemConceptPropertyComponent(Complex parent, String parentType, String name, CodeSystem.ConceptPropertyComponent element, int index) { 6845 if (element == null) 6846 return; 6847 Complex t; 6848 if (Utilities.noString(parentType)) 6849 t = parent; 6850 else { 6851 t = parent.predicate("fhir:"+parentType+'.'+name); 6852 } 6853 composeBackboneElement(t, "property", name, element, index); 6854 if (element.hasCodeElement()) { 6855 composeCode(t, "ConceptPropertyComponent", "code", element.getCodeElement(), -1); 6856 } 6857 if (element.hasValue()) { 6858 composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); 6859 } 6860 } 6861 6862 protected void composeCommunication(Complex parent, String parentType, String name, Communication element, int index) { 6863 if (element == null) 6864 return; 6865 Complex t; 6866 if (Utilities.noString(parentType)) 6867 t = parent; 6868 else { 6869 t = parent.predicate("fhir:"+parentType+'.'+name); 6870 } 6871 composeDomainResource(t, "Communication", name, element, index); 6872 for (int i = 0; i < element.getIdentifier().size(); i++) { 6873 composeIdentifier(t, "Communication", "identifier", element.getIdentifier().get(i), i); 6874 } 6875 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 6876 composeCanonical(t, "Communication", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 6877 } 6878 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 6879 composeUri(t, "Communication", "instantiatesUri", element.getInstantiatesUri().get(i), i); 6880 } 6881 for (int i = 0; i < element.getBasedOn().size(); i++) { 6882 composeReference(t, "Communication", "basedOn", element.getBasedOn().get(i), i); 6883 } 6884 for (int i = 0; i < element.getPartOf().size(); i++) { 6885 composeReference(t, "Communication", "partOf", element.getPartOf().get(i), i); 6886 } 6887 for (int i = 0; i < element.getInResponseTo().size(); i++) { 6888 composeReference(t, "Communication", "inResponseTo", element.getInResponseTo().get(i), i); 6889 } 6890 if (element.hasStatusElement()) { 6891 composeEnum(t, "Communication", "status", element.getStatusElement(), -1); 6892 } 6893 if (element.hasStatusReason()) { 6894 composeCodeableConcept(t, "Communication", "statusReason", element.getStatusReason(), -1); 6895 } 6896 for (int i = 0; i < element.getCategory().size(); i++) { 6897 composeCodeableConcept(t, "Communication", "category", element.getCategory().get(i), i); 6898 } 6899 if (element.hasPriorityElement()) { 6900 composeEnum(t, "Communication", "priority", element.getPriorityElement(), -1); 6901 } 6902 for (int i = 0; i < element.getMedium().size(); i++) { 6903 composeCodeableConcept(t, "Communication", "medium", element.getMedium().get(i), i); 6904 } 6905 if (element.hasSubject()) { 6906 composeReference(t, "Communication", "subject", element.getSubject(), -1); 6907 } 6908 if (element.hasTopic()) { 6909 composeCodeableConcept(t, "Communication", "topic", element.getTopic(), -1); 6910 } 6911 for (int i = 0; i < element.getAbout().size(); i++) { 6912 composeReference(t, "Communication", "about", element.getAbout().get(i), i); 6913 } 6914 if (element.hasEncounter()) { 6915 composeReference(t, "Communication", "encounter", element.getEncounter(), -1); 6916 } 6917 if (element.hasSentElement()) { 6918 composeDateTime(t, "Communication", "sent", element.getSentElement(), -1); 6919 } 6920 if (element.hasReceivedElement()) { 6921 composeDateTime(t, "Communication", "received", element.getReceivedElement(), -1); 6922 } 6923 for (int i = 0; i < element.getRecipient().size(); i++) { 6924 composeReference(t, "Communication", "recipient", element.getRecipient().get(i), i); 6925 } 6926 if (element.hasSender()) { 6927 composeReference(t, "Communication", "sender", element.getSender(), -1); 6928 } 6929 for (int i = 0; i < element.getReason().size(); i++) { 6930 composeCodeableReference(t, "Communication", "reason", element.getReason().get(i), i); 6931 } 6932 for (int i = 0; i < element.getPayload().size(); i++) { 6933 composeCommunicationPayloadComponent(t, "Communication", "payload", element.getPayload().get(i), i); 6934 } 6935 for (int i = 0; i < element.getNote().size(); i++) { 6936 composeAnnotation(t, "Communication", "note", element.getNote().get(i), i); 6937 } 6938 } 6939 6940 protected void composeCommunicationPayloadComponent(Complex parent, String parentType, String name, Communication.CommunicationPayloadComponent element, int index) { 6941 if (element == null) 6942 return; 6943 Complex t; 6944 if (Utilities.noString(parentType)) 6945 t = parent; 6946 else { 6947 t = parent.predicate("fhir:"+parentType+'.'+name); 6948 } 6949 composeBackboneElement(t, "payload", name, element, index); 6950 if (element.hasContent()) { 6951 composeType(t, "CommunicationPayloadComponent", "content", element.getContent(), -1); 6952 } 6953 } 6954 6955 protected void composeCommunicationRequest(Complex parent, String parentType, String name, CommunicationRequest element, int index) { 6956 if (element == null) 6957 return; 6958 Complex t; 6959 if (Utilities.noString(parentType)) 6960 t = parent; 6961 else { 6962 t = parent.predicate("fhir:"+parentType+'.'+name); 6963 } 6964 composeDomainResource(t, "CommunicationRequest", name, element, index); 6965 for (int i = 0; i < element.getIdentifier().size(); i++) { 6966 composeIdentifier(t, "CommunicationRequest", "identifier", element.getIdentifier().get(i), i); 6967 } 6968 for (int i = 0; i < element.getBasedOn().size(); i++) { 6969 composeReference(t, "CommunicationRequest", "basedOn", element.getBasedOn().get(i), i); 6970 } 6971 for (int i = 0; i < element.getReplaces().size(); i++) { 6972 composeReference(t, "CommunicationRequest", "replaces", element.getReplaces().get(i), i); 6973 } 6974 if (element.hasGroupIdentifier()) { 6975 composeIdentifier(t, "CommunicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 6976 } 6977 if (element.hasStatusElement()) { 6978 composeEnum(t, "CommunicationRequest", "status", element.getStatusElement(), -1); 6979 } 6980 if (element.hasStatusReason()) { 6981 composeCodeableConcept(t, "CommunicationRequest", "statusReason", element.getStatusReason(), -1); 6982 } 6983 if (element.hasIntentElement()) { 6984 composeEnum(t, "CommunicationRequest", "intent", element.getIntentElement(), -1); 6985 } 6986 for (int i = 0; i < element.getCategory().size(); i++) { 6987 composeCodeableConcept(t, "CommunicationRequest", "category", element.getCategory().get(i), i); 6988 } 6989 if (element.hasPriorityElement()) { 6990 composeEnum(t, "CommunicationRequest", "priority", element.getPriorityElement(), -1); 6991 } 6992 if (element.hasDoNotPerformElement()) { 6993 composeBoolean(t, "CommunicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 6994 } 6995 for (int i = 0; i < element.getMedium().size(); i++) { 6996 composeCodeableConcept(t, "CommunicationRequest", "medium", element.getMedium().get(i), i); 6997 } 6998 if (element.hasSubject()) { 6999 composeReference(t, "CommunicationRequest", "subject", element.getSubject(), -1); 7000 } 7001 for (int i = 0; i < element.getAbout().size(); i++) { 7002 composeReference(t, "CommunicationRequest", "about", element.getAbout().get(i), i); 7003 } 7004 if (element.hasEncounter()) { 7005 composeReference(t, "CommunicationRequest", "encounter", element.getEncounter(), -1); 7006 } 7007 for (int i = 0; i < element.getPayload().size(); i++) { 7008 composeCommunicationRequestPayloadComponent(t, "CommunicationRequest", "payload", element.getPayload().get(i), i); 7009 } 7010 if (element.hasOccurrence()) { 7011 composeType(t, "CommunicationRequest", "occurrence", element.getOccurrence(), -1); 7012 } 7013 if (element.hasAuthoredOnElement()) { 7014 composeDateTime(t, "CommunicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 7015 } 7016 if (element.hasRequester()) { 7017 composeReference(t, "CommunicationRequest", "requester", element.getRequester(), -1); 7018 } 7019 for (int i = 0; i < element.getRecipient().size(); i++) { 7020 composeReference(t, "CommunicationRequest", "recipient", element.getRecipient().get(i), i); 7021 } 7022 for (int i = 0; i < element.getInformationProvider().size(); i++) { 7023 composeReference(t, "CommunicationRequest", "informationProvider", element.getInformationProvider().get(i), i); 7024 } 7025 for (int i = 0; i < element.getReason().size(); i++) { 7026 composeCodeableReference(t, "CommunicationRequest", "reason", element.getReason().get(i), i); 7027 } 7028 for (int i = 0; i < element.getNote().size(); i++) { 7029 composeAnnotation(t, "CommunicationRequest", "note", element.getNote().get(i), i); 7030 } 7031 } 7032 7033 protected void composeCommunicationRequestPayloadComponent(Complex parent, String parentType, String name, CommunicationRequest.CommunicationRequestPayloadComponent element, int index) { 7034 if (element == null) 7035 return; 7036 Complex t; 7037 if (Utilities.noString(parentType)) 7038 t = parent; 7039 else { 7040 t = parent.predicate("fhir:"+parentType+'.'+name); 7041 } 7042 composeBackboneElement(t, "payload", name, element, index); 7043 if (element.hasContent()) { 7044 composeType(t, "CommunicationRequestPayloadComponent", "content", element.getContent(), -1); 7045 } 7046 } 7047 7048 protected void composeCompartmentDefinition(Complex parent, String parentType, String name, CompartmentDefinition element, int index) { 7049 if (element == null) 7050 return; 7051 Complex t; 7052 if (Utilities.noString(parentType)) 7053 t = parent; 7054 else { 7055 t = parent.predicate("fhir:"+parentType+'.'+name); 7056 } 7057 composeCanonicalResource(t, "CompartmentDefinition", name, element, index); 7058 if (element.hasUrlElement()) { 7059 composeUri(t, "CompartmentDefinition", "url", element.getUrlElement(), -1); 7060 } 7061 if (element.hasVersionElement()) { 7062 composeString(t, "CompartmentDefinition", "version", element.getVersionElement(), -1); 7063 } 7064 if (element.hasVersionAlgorithm()) { 7065 composeType(t, "CompartmentDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); 7066 } 7067 if (element.hasNameElement()) { 7068 composeString(t, "CompartmentDefinition", "name", element.getNameElement(), -1); 7069 } 7070 if (element.hasTitleElement()) { 7071 composeString(t, "CompartmentDefinition", "title", element.getTitleElement(), -1); 7072 } 7073 if (element.hasStatusElement()) { 7074 composeEnum(t, "CompartmentDefinition", "status", element.getStatusElement(), -1); 7075 } 7076 if (element.hasExperimentalElement()) { 7077 composeBoolean(t, "CompartmentDefinition", "experimental", element.getExperimentalElement(), -1); 7078 } 7079 if (element.hasDateElement()) { 7080 composeDateTime(t, "CompartmentDefinition", "date", element.getDateElement(), -1); 7081 } 7082 if (element.hasPublisherElement()) { 7083 composeString(t, "CompartmentDefinition", "publisher", element.getPublisherElement(), -1); 7084 } 7085 for (int i = 0; i < element.getContact().size(); i++) { 7086 composeContactDetail(t, "CompartmentDefinition", "contact", element.getContact().get(i), i); 7087 } 7088 if (element.hasDescriptionElement()) { 7089 composeMarkdown(t, "CompartmentDefinition", "description", element.getDescriptionElement(), -1); 7090 } 7091 for (int i = 0; i < element.getUseContext().size(); i++) { 7092 composeUsageContext(t, "CompartmentDefinition", "useContext", element.getUseContext().get(i), i); 7093 } 7094 if (element.hasPurposeElement()) { 7095 composeMarkdown(t, "CompartmentDefinition", "purpose", element.getPurposeElement(), -1); 7096 } 7097 if (element.hasCodeElement()) { 7098 composeEnum(t, "CompartmentDefinition", "code", element.getCodeElement(), -1); 7099 } 7100 if (element.hasSearchElement()) { 7101 composeBoolean(t, "CompartmentDefinition", "search", element.getSearchElement(), -1); 7102 } 7103 for (int i = 0; i < element.getResource().size(); i++) { 7104 composeCompartmentDefinitionResourceComponent(t, "CompartmentDefinition", "resource", element.getResource().get(i), i); 7105 } 7106 } 7107 7108 protected void composeCompartmentDefinitionResourceComponent(Complex parent, String parentType, String name, CompartmentDefinition.CompartmentDefinitionResourceComponent element, int index) { 7109 if (element == null) 7110 return; 7111 Complex t; 7112 if (Utilities.noString(parentType)) 7113 t = parent; 7114 else { 7115 t = parent.predicate("fhir:"+parentType+'.'+name); 7116 } 7117 composeBackboneElement(t, "resource", name, element, index); 7118 if (element.hasCodeElement()) { 7119 composeCode(t, "CompartmentDefinitionResourceComponent", "code", element.getCodeElement(), -1); 7120 } 7121 for (int i = 0; i < element.getParam().size(); i++) { 7122 composeString(t, "CompartmentDefinitionResourceComponent", "param", element.getParam().get(i), i); 7123 } 7124 if (element.hasDocumentationElement()) { 7125 composeString(t, "CompartmentDefinitionResourceComponent", "documentation", element.getDocumentationElement(), -1); 7126 } 7127 if (element.hasStartParamElement()) { 7128 composeUri(t, "CompartmentDefinitionResourceComponent", "startParam", element.getStartParamElement(), -1); 7129 } 7130 if (element.hasEndParamElement()) { 7131 composeUri(t, "CompartmentDefinitionResourceComponent", "endParam", element.getEndParamElement(), -1); 7132 } 7133 } 7134 7135 protected void composeComposition(Complex parent, String parentType, String name, Composition element, int index) { 7136 if (element == null) 7137 return; 7138 Complex t; 7139 if (Utilities.noString(parentType)) 7140 t = parent; 7141 else { 7142 t = parent.predicate("fhir:"+parentType+'.'+name); 7143 } 7144 composeDomainResource(t, "Composition", name, element, index); 7145 if (element.hasUrlElement()) { 7146 composeUri(t, "Composition", "url", element.getUrlElement(), -1); 7147 } 7148 for (int i = 0; i < element.getIdentifier().size(); i++) { 7149 composeIdentifier(t, "Composition", "identifier", element.getIdentifier().get(i), i); 7150 } 7151 if (element.hasVersionElement()) { 7152 composeString(t, "Composition", "version", element.getVersionElement(), -1); 7153 } 7154 if (element.hasStatusElement()) { 7155 composeEnum(t, "Composition", "status", element.getStatusElement(), -1); 7156 } 7157 if (element.hasType()) { 7158 composeCodeableConcept(t, "Composition", "type", element.getType(), -1); 7159 } 7160 for (int i = 0; i < element.getCategory().size(); i++) { 7161 composeCodeableConcept(t, "Composition", "category", element.getCategory().get(i), i); 7162 } 7163 for (int i = 0; i < element.getSubject().size(); i++) { 7164 composeReference(t, "Composition", "subject", element.getSubject().get(i), i); 7165 } 7166 if (element.hasEncounter()) { 7167 composeReference(t, "Composition", "encounter", element.getEncounter(), -1); 7168 } 7169 if (element.hasDateElement()) { 7170 composeDateTime(t, "Composition", "date", element.getDateElement(), -1); 7171 } 7172 for (int i = 0; i < element.getUseContext().size(); i++) { 7173 composeUsageContext(t, "Composition", "useContext", element.getUseContext().get(i), i); 7174 } 7175 for (int i = 0; i < element.getAuthor().size(); i++) { 7176 composeReference(t, "Composition", "author", element.getAuthor().get(i), i); 7177 } 7178 if (element.hasNameElement()) { 7179 composeString(t, "Composition", "name", element.getNameElement(), -1); 7180 } 7181 if (element.hasTitleElement()) { 7182 composeString(t, "Composition", "title", element.getTitleElement(), -1); 7183 } 7184 for (int i = 0; i < element.getNote().size(); i++) { 7185 composeAnnotation(t, "Composition", "note", element.getNote().get(i), i); 7186 } 7187 for (int i = 0; i < element.getAttester().size(); i++) { 7188 composeCompositionAttesterComponent(t, "Composition", "attester", element.getAttester().get(i), i); 7189 } 7190 if (element.hasCustodian()) { 7191 composeReference(t, "Composition", "custodian", element.getCustodian(), -1); 7192 } 7193 for (int i = 0; i < element.getRelatesTo().size(); i++) { 7194 composeRelatedArtifact(t, "Composition", "relatesTo", element.getRelatesTo().get(i), i); 7195 } 7196 for (int i = 0; i < element.getEvent().size(); i++) { 7197 composeCompositionEventComponent(t, "Composition", "event", element.getEvent().get(i), i); 7198 } 7199 for (int i = 0; i < element.getSection().size(); i++) { 7200 composeCompositionSectionComponent(t, "Composition", "section", element.getSection().get(i), i); 7201 } 7202 } 7203 7204 protected void composeCompositionAttesterComponent(Complex parent, String parentType, String name, Composition.CompositionAttesterComponent 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, "attester", name, element, index); 7214 if (element.hasMode()) { 7215 composeCodeableConcept(t, "CompositionAttesterComponent", "mode", element.getMode(), -1); 7216 } 7217 if (element.hasTimeElement()) { 7218 composeDateTime(t, "CompositionAttesterComponent", "time", element.getTimeElement(), -1); 7219 } 7220 if (element.hasParty()) { 7221 composeReference(t, "CompositionAttesterComponent", "party", element.getParty(), -1); 7222 } 7223 } 7224 7225 protected void composeCompositionEventComponent(Complex parent, String parentType, String name, Composition.CompositionEventComponent element, int index) { 7226 if (element == null) 7227 return; 7228 Complex t; 7229 if (Utilities.noString(parentType)) 7230 t = parent; 7231 else { 7232 t = parent.predicate("fhir:"+parentType+'.'+name); 7233 } 7234 composeBackboneElement(t, "event", name, element, index); 7235 for (int i = 0; i < element.getCode().size(); i++) { 7236 composeCodeableConcept(t, "CompositionEventComponent", "code", element.getCode().get(i), i); 7237 } 7238 if (element.hasPeriod()) { 7239 composePeriod(t, "CompositionEventComponent", "period", element.getPeriod(), -1); 7240 } 7241 for (int i = 0; i < element.getDetail().size(); i++) { 7242 composeReference(t, "CompositionEventComponent", "detail", element.getDetail().get(i), i); 7243 } 7244 } 7245 7246 protected void composeCompositionSectionComponent(Complex parent, String parentType, String name, Composition.SectionComponent element, int index) { 7247 if (element == null) 7248 return; 7249 Complex t; 7250 if (Utilities.noString(parentType)) 7251 t = parent; 7252 else { 7253 t = parent.predicate("fhir:"+parentType+'.'+name); 7254 } 7255 composeBackboneElement(t, "section", name, element, index); 7256 if (element.hasTitleElement()) { 7257 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 7258 } 7259 if (element.hasCode()) { 7260 composeCodeableConcept(t, "SectionComponent", "code", element.getCode(), -1); 7261 } 7262 for (int i = 0; i < element.getAuthor().size(); i++) { 7263 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 7264 } 7265 if (element.hasFocus()) { 7266 composeReference(t, "SectionComponent", "focus", element.getFocus(), -1); 7267 } 7268 if (element.hasText()) { 7269 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 7270 } 7271 if (element.hasModeElement()) { 7272 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 7273 } 7274 if (element.hasOrderedBy()) { 7275 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 7276 } 7277 for (int i = 0; i < element.getEntry().size(); i++) { 7278 composeReference(t, "SectionComponent", "entry", element.getEntry().get(i), i); 7279 } 7280 if (element.hasEmptyReason()) { 7281 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 7282 } 7283 for (int i = 0; i < element.getSection().size(); i++) { 7284 composeCompositionSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 7285 } 7286 } 7287 7288 protected void composeConceptMap(Complex parent, String parentType, String name, ConceptMap element, int index) { 7289 if (element == null) 7290 return; 7291 Complex t; 7292 if (Utilities.noString(parentType)) 7293 t = parent; 7294 else { 7295 t = parent.predicate("fhir:"+parentType+'.'+name); 7296 } 7297 composeMetadataResource(t, "ConceptMap", name, element, index); 7298 if (element.hasUrlElement()) { 7299 composeUri(t, "ConceptMap", "url", element.getUrlElement(), -1); 7300 } 7301 for (int i = 0; i < element.getIdentifier().size(); i++) { 7302 composeIdentifier(t, "ConceptMap", "identifier", element.getIdentifier().get(i), i); 7303 } 7304 if (element.hasVersionElement()) { 7305 composeString(t, "ConceptMap", "version", element.getVersionElement(), -1); 7306 } 7307 if (element.hasNameElement()) { 7308 composeString(t, "ConceptMap", "name", element.getNameElement(), -1); 7309 } 7310 if (element.hasTitleElement()) { 7311 composeString(t, "ConceptMap", "title", element.getTitleElement(), -1); 7312 } 7313 if (element.hasStatusElement()) { 7314 composeEnum(t, "ConceptMap", "status", element.getStatusElement(), -1); 7315 } 7316 if (element.hasExperimentalElement()) { 7317 composeBoolean(t, "ConceptMap", "experimental", element.getExperimentalElement(), -1); 7318 } 7319 if (element.hasDateElement()) { 7320 composeDateTime(t, "ConceptMap", "date", element.getDateElement(), -1); 7321 } 7322 if (element.hasPublisherElement()) { 7323 composeString(t, "ConceptMap", "publisher", element.getPublisherElement(), -1); 7324 } 7325 for (int i = 0; i < element.getContact().size(); i++) { 7326 composeContactDetail(t, "ConceptMap", "contact", element.getContact().get(i), i); 7327 } 7328 if (element.hasDescriptionElement()) { 7329 composeMarkdown(t, "ConceptMap", "description", element.getDescriptionElement(), -1); 7330 } 7331 for (int i = 0; i < element.getUseContext().size(); i++) { 7332 composeUsageContext(t, "ConceptMap", "useContext", element.getUseContext().get(i), i); 7333 } 7334 for (int i = 0; i < element.getJurisdiction().size(); i++) { 7335 composeCodeableConcept(t, "ConceptMap", "jurisdiction", element.getJurisdiction().get(i), i); 7336 } 7337 if (element.hasPurposeElement()) { 7338 composeMarkdown(t, "ConceptMap", "purpose", element.getPurposeElement(), -1); 7339 } 7340 if (element.hasCopyrightElement()) { 7341 composeMarkdown(t, "ConceptMap", "copyright", element.getCopyrightElement(), -1); 7342 } 7343 if (element.hasApprovalDateElement()) { 7344 composeDate(t, "ConceptMap", "approvalDate", element.getApprovalDateElement(), -1); 7345 } 7346 if (element.hasLastReviewDateElement()) { 7347 composeDate(t, "ConceptMap", "lastReviewDate", element.getLastReviewDateElement(), -1); 7348 } 7349 if (element.hasEffectivePeriod()) { 7350 composePeriod(t, "ConceptMap", "effectivePeriod", element.getEffectivePeriod(), -1); 7351 } 7352 for (int i = 0; i < element.getTopic().size(); i++) { 7353 composeCodeableConcept(t, "ConceptMap", "topic", element.getTopic().get(i), i); 7354 } 7355 for (int i = 0; i < element.getAuthor().size(); i++) { 7356 composeContactDetail(t, "ConceptMap", "author", element.getAuthor().get(i), i); 7357 } 7358 for (int i = 0; i < element.getEditor().size(); i++) { 7359 composeContactDetail(t, "ConceptMap", "editor", element.getEditor().get(i), i); 7360 } 7361 for (int i = 0; i < element.getReviewer().size(); i++) { 7362 composeContactDetail(t, "ConceptMap", "reviewer", element.getReviewer().get(i), i); 7363 } 7364 for (int i = 0; i < element.getEndorser().size(); i++) { 7365 composeContactDetail(t, "ConceptMap", "endorser", element.getEndorser().get(i), i); 7366 } 7367 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 7368 composeRelatedArtifact(t, "ConceptMap", "relatedArtifact", element.getRelatedArtifact().get(i), i); 7369 } 7370 if (element.hasSourceScope()) { 7371 composeType(t, "ConceptMap", "sourceScope", element.getSourceScope(), -1); 7372 } 7373 if (element.hasTargetScope()) { 7374 composeType(t, "ConceptMap", "targetScope", element.getTargetScope(), -1); 7375 } 7376 for (int i = 0; i < element.getGroup().size(); i++) { 7377 composeConceptMapGroupComponent(t, "ConceptMap", "group", element.getGroup().get(i), i); 7378 } 7379 } 7380 7381 protected void composeConceptMapGroupComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupComponent element, int index) { 7382 if (element == null) 7383 return; 7384 Complex t; 7385 if (Utilities.noString(parentType)) 7386 t = parent; 7387 else { 7388 t = parent.predicate("fhir:"+parentType+'.'+name); 7389 } 7390 composeBackboneElement(t, "group", name, element, index); 7391 if (element.hasSourceElement()) { 7392 composeCanonical(t, "ConceptMapGroupComponent", "source", element.getSourceElement(), -1); 7393 } 7394 if (element.hasTargetElement()) { 7395 composeCanonical(t, "ConceptMapGroupComponent", "target", element.getTargetElement(), -1); 7396 } 7397 for (int i = 0; i < element.getElement().size(); i++) { 7398 composeConceptMapSourceElementComponent(t, "ConceptMapGroupComponent", "element", element.getElement().get(i), i); 7399 } 7400 if (element.hasUnmapped()) { 7401 composeConceptMapGroupUnmappedComponent(t, "ConceptMapGroupComponent", "unmapped", element.getUnmapped(), -1); 7402 } 7403 } 7404 7405 protected void composeConceptMapSourceElementComponent(Complex parent, String parentType, String name, ConceptMap.SourceElementComponent element, int index) { 7406 if (element == null) 7407 return; 7408 Complex t; 7409 if (Utilities.noString(parentType)) 7410 t = parent; 7411 else { 7412 t = parent.predicate("fhir:"+parentType+'.'+name); 7413 } 7414 composeBackboneElement(t, "element", name, element, index); 7415 if (element.hasCodeElement()) { 7416 composeCode(t, "SourceElementComponent", "code", element.getCodeElement(), -1); 7417 } 7418 if (element.hasDisplayElement()) { 7419 composeString(t, "SourceElementComponent", "display", element.getDisplayElement(), -1); 7420 } 7421 if (element.hasValueSetElement()) { 7422 composeCanonical(t, "SourceElementComponent", "valueSet", element.getValueSetElement(), -1); 7423 } 7424 if (element.hasNoMapElement()) { 7425 composeBoolean(t, "SourceElementComponent", "noMap", element.getNoMapElement(), -1); 7426 } 7427 for (int i = 0; i < element.getTarget().size(); i++) { 7428 composeConceptMapTargetElementComponent(t, "SourceElementComponent", "target", element.getTarget().get(i), i); 7429 } 7430 } 7431 7432 protected void composeConceptMapTargetElementComponent(Complex parent, String parentType, String name, ConceptMap.TargetElementComponent element, int index) { 7433 if (element == null) 7434 return; 7435 Complex t; 7436 if (Utilities.noString(parentType)) 7437 t = parent; 7438 else { 7439 t = parent.predicate("fhir:"+parentType+'.'+name); 7440 } 7441 composeBackboneElement(t, "target", name, element, index); 7442 if (element.hasCodeElement()) { 7443 composeCode(t, "TargetElementComponent", "code", element.getCodeElement(), -1); 7444 } 7445 if (element.hasDisplayElement()) { 7446 composeString(t, "TargetElementComponent", "display", element.getDisplayElement(), -1); 7447 } 7448 if (element.hasValueSetElement()) { 7449 composeCanonical(t, "TargetElementComponent", "valueSet", element.getValueSetElement(), -1); 7450 } 7451 if (element.hasRelationshipElement()) { 7452 composeEnum(t, "TargetElementComponent", "relationship", element.getRelationshipElement(), -1); 7453 } 7454 if (element.hasCommentElement()) { 7455 composeString(t, "TargetElementComponent", "comment", element.getCommentElement(), -1); 7456 } 7457 for (int i = 0; i < element.getDependsOn().size(); i++) { 7458 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "dependsOn", element.getDependsOn().get(i), i); 7459 } 7460 for (int i = 0; i < element.getProduct().size(); i++) { 7461 composeConceptMapOtherElementComponent(t, "TargetElementComponent", "product", element.getProduct().get(i), i); 7462 } 7463 } 7464 7465 protected void composeConceptMapOtherElementComponent(Complex parent, String parentType, String name, ConceptMap.OtherElementComponent element, int index) { 7466 if (element == null) 7467 return; 7468 Complex t; 7469 if (Utilities.noString(parentType)) 7470 t = parent; 7471 else { 7472 t = parent.predicate("fhir:"+parentType+'.'+name); 7473 } 7474 composeBackboneElement(t, "dependsOn", name, element, index); 7475 if (element.hasPropertyElement()) { 7476 composeUri(t, "OtherElementComponent", "property", element.getPropertyElement(), -1); 7477 } 7478 if (element.hasValue()) { 7479 composeType(t, "OtherElementComponent", "value", element.getValue(), -1); 7480 } 7481 if (element.hasValueSetElement()) { 7482 composeCanonical(t, "OtherElementComponent", "valueSet", element.getValueSetElement(), -1); 7483 } 7484 } 7485 7486 protected void composeConceptMapGroupUnmappedComponent(Complex parent, String parentType, String name, ConceptMap.ConceptMapGroupUnmappedComponent element, int index) { 7487 if (element == null) 7488 return; 7489 Complex t; 7490 if (Utilities.noString(parentType)) 7491 t = parent; 7492 else { 7493 t = parent.predicate("fhir:"+parentType+'.'+name); 7494 } 7495 composeBackboneElement(t, "unmapped", name, element, index); 7496 if (element.hasModeElement()) { 7497 composeEnum(t, "ConceptMapGroupUnmappedComponent", "mode", element.getModeElement(), -1); 7498 } 7499 if (element.hasCodeElement()) { 7500 composeCode(t, "ConceptMapGroupUnmappedComponent", "code", element.getCodeElement(), -1); 7501 } 7502 if (element.hasDisplayElement()) { 7503 composeString(t, "ConceptMapGroupUnmappedComponent", "display", element.getDisplayElement(), -1); 7504 } 7505 if (element.hasValueSetElement()) { 7506 composeCanonical(t, "ConceptMapGroupUnmappedComponent", "valueSet", element.getValueSetElement(), -1); 7507 } 7508 if (element.hasRelationshipElement()) { 7509 composeEnum(t, "ConceptMapGroupUnmappedComponent", "relationship", element.getRelationshipElement(), -1); 7510 } 7511 if (element.hasOtherMapElement()) { 7512 composeCanonical(t, "ConceptMapGroupUnmappedComponent", "otherMap", element.getOtherMapElement(), -1); 7513 } 7514 } 7515 7516 protected void composeCondition(Complex parent, String parentType, String name, Condition element, int index) { 7517 if (element == null) 7518 return; 7519 Complex t; 7520 if (Utilities.noString(parentType)) 7521 t = parent; 7522 else { 7523 t = parent.predicate("fhir:"+parentType+'.'+name); 7524 } 7525 composeDomainResource(t, "Condition", name, element, index); 7526 for (int i = 0; i < element.getIdentifier().size(); i++) { 7527 composeIdentifier(t, "Condition", "identifier", element.getIdentifier().get(i), i); 7528 } 7529 if (element.hasClinicalStatus()) { 7530 composeCodeableConcept(t, "Condition", "clinicalStatus", element.getClinicalStatus(), -1); 7531 } 7532 if (element.hasVerificationStatus()) { 7533 composeCodeableConcept(t, "Condition", "verificationStatus", element.getVerificationStatus(), -1); 7534 } 7535 for (int i = 0; i < element.getCategory().size(); i++) { 7536 composeCodeableConcept(t, "Condition", "category", element.getCategory().get(i), i); 7537 } 7538 if (element.hasSeverity()) { 7539 composeCodeableConcept(t, "Condition", "severity", element.getSeverity(), -1); 7540 } 7541 if (element.hasCode()) { 7542 composeCodeableConcept(t, "Condition", "code", element.getCode(), -1); 7543 } 7544 for (int i = 0; i < element.getBodySite().size(); i++) { 7545 composeCodeableConcept(t, "Condition", "bodySite", element.getBodySite().get(i), i); 7546 } 7547 if (element.hasSubject()) { 7548 composeReference(t, "Condition", "subject", element.getSubject(), -1); 7549 } 7550 if (element.hasEncounter()) { 7551 composeReference(t, "Condition", "encounter", element.getEncounter(), -1); 7552 } 7553 if (element.hasOnset()) { 7554 composeType(t, "Condition", "onset", element.getOnset(), -1); 7555 } 7556 if (element.hasAbatement()) { 7557 composeType(t, "Condition", "abatement", element.getAbatement(), -1); 7558 } 7559 if (element.hasRecordedDateElement()) { 7560 composeDateTime(t, "Condition", "recordedDate", element.getRecordedDateElement(), -1); 7561 } 7562 for (int i = 0; i < element.getParticipant().size(); i++) { 7563 composeConditionParticipantComponent(t, "Condition", "participant", element.getParticipant().get(i), i); 7564 } 7565 for (int i = 0; i < element.getStage().size(); i++) { 7566 composeConditionStageComponent(t, "Condition", "stage", element.getStage().get(i), i); 7567 } 7568 for (int i = 0; i < element.getEvidence().size(); i++) { 7569 composeCodeableReference(t, "Condition", "evidence", element.getEvidence().get(i), i); 7570 } 7571 for (int i = 0; i < element.getNote().size(); i++) { 7572 composeAnnotation(t, "Condition", "note", element.getNote().get(i), i); 7573 } 7574 } 7575 7576 protected void composeConditionParticipantComponent(Complex parent, String parentType, String name, Condition.ConditionParticipantComponent element, int index) { 7577 if (element == null) 7578 return; 7579 Complex t; 7580 if (Utilities.noString(parentType)) 7581 t = parent; 7582 else { 7583 t = parent.predicate("fhir:"+parentType+'.'+name); 7584 } 7585 composeBackboneElement(t, "participant", name, element, index); 7586 if (element.hasFunction()) { 7587 composeCodeableConcept(t, "ConditionParticipantComponent", "function", element.getFunction(), -1); 7588 } 7589 if (element.hasActor()) { 7590 composeReference(t, "ConditionParticipantComponent", "actor", element.getActor(), -1); 7591 } 7592 } 7593 7594 protected void composeConditionStageComponent(Complex parent, String parentType, String name, Condition.ConditionStageComponent element, int index) { 7595 if (element == null) 7596 return; 7597 Complex t; 7598 if (Utilities.noString(parentType)) 7599 t = parent; 7600 else { 7601 t = parent.predicate("fhir:"+parentType+'.'+name); 7602 } 7603 composeBackboneElement(t, "stage", name, element, index); 7604 if (element.hasSummary()) { 7605 composeCodeableConcept(t, "ConditionStageComponent", "summary", element.getSummary(), -1); 7606 } 7607 for (int i = 0; i < element.getAssessment().size(); i++) { 7608 composeReference(t, "ConditionStageComponent", "assessment", element.getAssessment().get(i), i); 7609 } 7610 if (element.hasType()) { 7611 composeCodeableConcept(t, "ConditionStageComponent", "type", element.getType(), -1); 7612 } 7613 } 7614 7615 protected void composeConditionDefinition(Complex parent, String parentType, String name, ConditionDefinition element, int index) { 7616 if (element == null) 7617 return; 7618 Complex t; 7619 if (Utilities.noString(parentType)) 7620 t = parent; 7621 else { 7622 t = parent.predicate("fhir:"+parentType+'.'+name); 7623 } 7624 composeMetadataResource(t, "ConditionDefinition", name, element, index); 7625 if (element.hasUrlElement()) { 7626 composeUri(t, "ConditionDefinition", "url", element.getUrlElement(), -1); 7627 } 7628 for (int i = 0; i < element.getIdentifier().size(); i++) { 7629 composeIdentifier(t, "ConditionDefinition", "identifier", element.getIdentifier().get(i), i); 7630 } 7631 if (element.hasVersionElement()) { 7632 composeString(t, "ConditionDefinition", "version", element.getVersionElement(), -1); 7633 } 7634 if (element.hasNameElement()) { 7635 composeString(t, "ConditionDefinition", "name", element.getNameElement(), -1); 7636 } 7637 if (element.hasTitleElement()) { 7638 composeString(t, "ConditionDefinition", "title", element.getTitleElement(), -1); 7639 } 7640 if (element.hasSubtitleElement()) { 7641 composeString(t, "ConditionDefinition", "subtitle", element.getSubtitleElement(), -1); 7642 } 7643 if (element.hasStatusElement()) { 7644 composeEnum(t, "ConditionDefinition", "status", element.getStatusElement(), -1); 7645 } 7646 if (element.hasExperimentalElement()) { 7647 composeBoolean(t, "ConditionDefinition", "experimental", element.getExperimentalElement(), -1); 7648 } 7649 if (element.hasDateElement()) { 7650 composeDateTime(t, "ConditionDefinition", "date", element.getDateElement(), -1); 7651 } 7652 if (element.hasPublisherElement()) { 7653 composeString(t, "ConditionDefinition", "publisher", element.getPublisherElement(), -1); 7654 } 7655 for (int i = 0; i < element.getContact().size(); i++) { 7656 composeContactDetail(t, "ConditionDefinition", "contact", element.getContact().get(i), i); 7657 } 7658 if (element.hasDescriptionElement()) { 7659 composeMarkdown(t, "ConditionDefinition", "description", element.getDescriptionElement(), -1); 7660 } 7661 for (int i = 0; i < element.getUseContext().size(); i++) { 7662 composeUsageContext(t, "ConditionDefinition", "useContext", element.getUseContext().get(i), i); 7663 } 7664 for (int i = 0; i < element.getJurisdiction().size(); i++) { 7665 composeCodeableConcept(t, "ConditionDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 7666 } 7667 if (element.hasCode()) { 7668 composeCodeableConcept(t, "ConditionDefinition", "code", element.getCode(), -1); 7669 } 7670 if (element.hasSeverity()) { 7671 composeCodeableConcept(t, "ConditionDefinition", "severity", element.getSeverity(), -1); 7672 } 7673 if (element.hasBodySite()) { 7674 composeCodeableConcept(t, "ConditionDefinition", "bodySite", element.getBodySite(), -1); 7675 } 7676 if (element.hasStage()) { 7677 composeCodeableConcept(t, "ConditionDefinition", "stage", element.getStage(), -1); 7678 } 7679 if (element.hasHasSeverityElement()) { 7680 composeBoolean(t, "ConditionDefinition", "hasSeverity", element.getHasSeverityElement(), -1); 7681 } 7682 if (element.hasHasBodySiteElement()) { 7683 composeBoolean(t, "ConditionDefinition", "hasBodySite", element.getHasBodySiteElement(), -1); 7684 } 7685 if (element.hasHasStageElement()) { 7686 composeBoolean(t, "ConditionDefinition", "hasStage", element.getHasStageElement(), -1); 7687 } 7688 for (int i = 0; i < element.getDefinition().size(); i++) { 7689 composeUri(t, "ConditionDefinition", "definition", element.getDefinition().get(i), i); 7690 } 7691 for (int i = 0; i < element.getObservation().size(); i++) { 7692 composeConditionDefinitionObservationComponent(t, "ConditionDefinition", "observation", element.getObservation().get(i), i); 7693 } 7694 for (int i = 0; i < element.getMedication().size(); i++) { 7695 composeConditionDefinitionMedicationComponent(t, "ConditionDefinition", "medication", element.getMedication().get(i), i); 7696 } 7697 for (int i = 0; i < element.getPrecondition().size(); i++) { 7698 composeConditionDefinitionPreconditionComponent(t, "ConditionDefinition", "precondition", element.getPrecondition().get(i), i); 7699 } 7700 for (int i = 0; i < element.getTeam().size(); i++) { 7701 composeReference(t, "ConditionDefinition", "team", element.getTeam().get(i), i); 7702 } 7703 for (int i = 0; i < element.getQuestionnaire().size(); i++) { 7704 composeConditionDefinitionQuestionnaireComponent(t, "ConditionDefinition", "questionnaire", element.getQuestionnaire().get(i), i); 7705 } 7706 for (int i = 0; i < element.getPlan().size(); i++) { 7707 composeConditionDefinitionPlanComponent(t, "ConditionDefinition", "plan", element.getPlan().get(i), i); 7708 } 7709 } 7710 7711 protected void composeConditionDefinitionObservationComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionObservationComponent element, int index) { 7712 if (element == null) 7713 return; 7714 Complex t; 7715 if (Utilities.noString(parentType)) 7716 t = parent; 7717 else { 7718 t = parent.predicate("fhir:"+parentType+'.'+name); 7719 } 7720 composeBackboneElement(t, "observation", name, element, index); 7721 if (element.hasCategory()) { 7722 composeCodeableConcept(t, "ConditionDefinitionObservationComponent", "category", element.getCategory(), -1); 7723 } 7724 if (element.hasCode()) { 7725 composeCodeableConcept(t, "ConditionDefinitionObservationComponent", "code", element.getCode(), -1); 7726 } 7727 } 7728 7729 protected void composeConditionDefinitionMedicationComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionMedicationComponent element, int index) { 7730 if (element == null) 7731 return; 7732 Complex t; 7733 if (Utilities.noString(parentType)) 7734 t = parent; 7735 else { 7736 t = parent.predicate("fhir:"+parentType+'.'+name); 7737 } 7738 composeBackboneElement(t, "medication", name, element, index); 7739 if (element.hasCategory()) { 7740 composeCodeableConcept(t, "ConditionDefinitionMedicationComponent", "category", element.getCategory(), -1); 7741 } 7742 if (element.hasCode()) { 7743 composeCodeableConcept(t, "ConditionDefinitionMedicationComponent", "code", element.getCode(), -1); 7744 } 7745 } 7746 7747 protected void composeConditionDefinitionPreconditionComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionPreconditionComponent element, int index) { 7748 if (element == null) 7749 return; 7750 Complex t; 7751 if (Utilities.noString(parentType)) 7752 t = parent; 7753 else { 7754 t = parent.predicate("fhir:"+parentType+'.'+name); 7755 } 7756 composeBackboneElement(t, "precondition", name, element, index); 7757 if (element.hasTypeElement()) { 7758 composeEnum(t, "ConditionDefinitionPreconditionComponent", "type", element.getTypeElement(), -1); 7759 } 7760 if (element.hasCode()) { 7761 composeCodeableConcept(t, "ConditionDefinitionPreconditionComponent", "code", element.getCode(), -1); 7762 } 7763 if (element.hasValue()) { 7764 composeType(t, "ConditionDefinitionPreconditionComponent", "value", element.getValue(), -1); 7765 } 7766 } 7767 7768 protected void composeConditionDefinitionQuestionnaireComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionQuestionnaireComponent element, int index) { 7769 if (element == null) 7770 return; 7771 Complex t; 7772 if (Utilities.noString(parentType)) 7773 t = parent; 7774 else { 7775 t = parent.predicate("fhir:"+parentType+'.'+name); 7776 } 7777 composeBackboneElement(t, "questionnaire", name, element, index); 7778 if (element.hasPurposeElement()) { 7779 composeEnum(t, "ConditionDefinitionQuestionnaireComponent", "purpose", element.getPurposeElement(), -1); 7780 } 7781 if (element.hasReference()) { 7782 composeReference(t, "ConditionDefinitionQuestionnaireComponent", "reference", element.getReference(), -1); 7783 } 7784 } 7785 7786 protected void composeConditionDefinitionPlanComponent(Complex parent, String parentType, String name, ConditionDefinition.ConditionDefinitionPlanComponent element, int index) { 7787 if (element == null) 7788 return; 7789 Complex t; 7790 if (Utilities.noString(parentType)) 7791 t = parent; 7792 else { 7793 t = parent.predicate("fhir:"+parentType+'.'+name); 7794 } 7795 composeBackboneElement(t, "plan", name, element, index); 7796 if (element.hasRole()) { 7797 composeCodeableConcept(t, "ConditionDefinitionPlanComponent", "role", element.getRole(), -1); 7798 } 7799 if (element.hasReference()) { 7800 composeReference(t, "ConditionDefinitionPlanComponent", "reference", element.getReference(), -1); 7801 } 7802 } 7803 7804 protected void composeConsent(Complex parent, String parentType, String name, Consent element, int index) { 7805 if (element == null) 7806 return; 7807 Complex t; 7808 if (Utilities.noString(parentType)) 7809 t = parent; 7810 else { 7811 t = parent.predicate("fhir:"+parentType+'.'+name); 7812 } 7813 composeDomainResource(t, "Consent", name, element, index); 7814 for (int i = 0; i < element.getIdentifier().size(); i++) { 7815 composeIdentifier(t, "Consent", "identifier", element.getIdentifier().get(i), i); 7816 } 7817 if (element.hasStatusElement()) { 7818 composeEnum(t, "Consent", "status", element.getStatusElement(), -1); 7819 } 7820 for (int i = 0; i < element.getCategory().size(); i++) { 7821 composeCodeableConcept(t, "Consent", "category", element.getCategory().get(i), i); 7822 } 7823 if (element.hasSubject()) { 7824 composeReference(t, "Consent", "subject", element.getSubject(), -1); 7825 } 7826 if (element.hasDateElement()) { 7827 composeDate(t, "Consent", "date", element.getDateElement(), -1); 7828 } 7829 if (element.hasPeriod()) { 7830 composePeriod(t, "Consent", "period", element.getPeriod(), -1); 7831 } 7832 for (int i = 0; i < element.getGrantor().size(); i++) { 7833 composeReference(t, "Consent", "grantor", element.getGrantor().get(i), i); 7834 } 7835 for (int i = 0; i < element.getGrantee().size(); i++) { 7836 composeReference(t, "Consent", "grantee", element.getGrantee().get(i), i); 7837 } 7838 for (int i = 0; i < element.getManager().size(); i++) { 7839 composeReference(t, "Consent", "manager", element.getManager().get(i), i); 7840 } 7841 for (int i = 0; i < element.getController().size(); i++) { 7842 composeReference(t, "Consent", "controller", element.getController().get(i), i); 7843 } 7844 for (int i = 0; i < element.getSourceAttachment().size(); i++) { 7845 composeAttachment(t, "Consent", "sourceAttachment", element.getSourceAttachment().get(i), i); 7846 } 7847 for (int i = 0; i < element.getSourceReference().size(); i++) { 7848 composeReference(t, "Consent", "sourceReference", element.getSourceReference().get(i), i); 7849 } 7850 for (int i = 0; i < element.getRegulatoryBasis().size(); i++) { 7851 composeCodeableConcept(t, "Consent", "regulatoryBasis", element.getRegulatoryBasis().get(i), i); 7852 } 7853 if (element.hasPolicyBasis()) { 7854 composeConsentPolicyBasisComponent(t, "Consent", "policyBasis", element.getPolicyBasis(), -1); 7855 } 7856 for (int i = 0; i < element.getPolicyText().size(); i++) { 7857 composeReference(t, "Consent", "policyText", element.getPolicyText().get(i), i); 7858 } 7859 for (int i = 0; i < element.getVerification().size(); i++) { 7860 composeConsentVerificationComponent(t, "Consent", "verification", element.getVerification().get(i), i); 7861 } 7862 if (element.hasProvision()) { 7863 composeConsentProvisionComponent(t, "Consent", "provision", element.getProvision(), -1); 7864 } 7865 } 7866 7867 protected void composeConsentPolicyBasisComponent(Complex parent, String parentType, String name, Consent.ConsentPolicyBasisComponent element, int index) { 7868 if (element == null) 7869 return; 7870 Complex t; 7871 if (Utilities.noString(parentType)) 7872 t = parent; 7873 else { 7874 t = parent.predicate("fhir:"+parentType+'.'+name); 7875 } 7876 composeBackboneElement(t, "policyBasis", name, element, index); 7877 if (element.hasReference()) { 7878 composeReference(t, "ConsentPolicyBasisComponent", "reference", element.getReference(), -1); 7879 } 7880 if (element.hasUrlElement()) { 7881 composeUrl(t, "ConsentPolicyBasisComponent", "url", element.getUrlElement(), -1); 7882 } 7883 } 7884 7885 protected void composeConsentVerificationComponent(Complex parent, String parentType, String name, Consent.ConsentVerificationComponent element, int index) { 7886 if (element == null) 7887 return; 7888 Complex t; 7889 if (Utilities.noString(parentType)) 7890 t = parent; 7891 else { 7892 t = parent.predicate("fhir:"+parentType+'.'+name); 7893 } 7894 composeBackboneElement(t, "verification", name, element, index); 7895 if (element.hasVerifiedElement()) { 7896 composeBoolean(t, "ConsentVerificationComponent", "verified", element.getVerifiedElement(), -1); 7897 } 7898 if (element.hasVerificationType()) { 7899 composeCodeableConcept(t, "ConsentVerificationComponent", "verificationType", element.getVerificationType(), -1); 7900 } 7901 if (element.hasVerifiedBy()) { 7902 composeReference(t, "ConsentVerificationComponent", "verifiedBy", element.getVerifiedBy(), -1); 7903 } 7904 if (element.hasVerifiedWith()) { 7905 composeReference(t, "ConsentVerificationComponent", "verifiedWith", element.getVerifiedWith(), -1); 7906 } 7907 for (int i = 0; i < element.getVerificationDate().size(); i++) { 7908 composeDateTime(t, "ConsentVerificationComponent", "verificationDate", element.getVerificationDate().get(i), i); 7909 } 7910 } 7911 7912 protected void composeConsentProvisionComponent(Complex parent, String parentType, String name, Consent.ProvisionComponent element, int index) { 7913 if (element == null) 7914 return; 7915 Complex t; 7916 if (Utilities.noString(parentType)) 7917 t = parent; 7918 else { 7919 t = parent.predicate("fhir:"+parentType+'.'+name); 7920 } 7921 composeBackboneElement(t, "provision", name, element, index); 7922 if (element.hasTypeElement()) { 7923 composeEnum(t, "ProvisionComponent", "type", element.getTypeElement(), -1); 7924 } 7925 if (element.hasPeriod()) { 7926 composePeriod(t, "ProvisionComponent", "period", element.getPeriod(), -1); 7927 } 7928 for (int i = 0; i < element.getActor().size(); i++) { 7929 composeConsentProvisionActorComponent(t, "ProvisionComponent", "actor", element.getActor().get(i), i); 7930 } 7931 for (int i = 0; i < element.getAction().size(); i++) { 7932 composeCodeableConcept(t, "ProvisionComponent", "action", element.getAction().get(i), i); 7933 } 7934 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 7935 composeCoding(t, "ProvisionComponent", "securityLabel", element.getSecurityLabel().get(i), i); 7936 } 7937 for (int i = 0; i < element.getPurpose().size(); i++) { 7938 composeCoding(t, "ProvisionComponent", "purpose", element.getPurpose().get(i), i); 7939 } 7940 for (int i = 0; i < element.getDocumentType().size(); i++) { 7941 composeCoding(t, "ProvisionComponent", "documentType", element.getDocumentType().get(i), i); 7942 } 7943 for (int i = 0; i < element.getResourceType().size(); i++) { 7944 composeCoding(t, "ProvisionComponent", "resourceType", element.getResourceType().get(i), i); 7945 } 7946 for (int i = 0; i < element.getCode().size(); i++) { 7947 composeCodeableConcept(t, "ProvisionComponent", "code", element.getCode().get(i), i); 7948 } 7949 if (element.hasDataPeriod()) { 7950 composePeriod(t, "ProvisionComponent", "dataPeriod", element.getDataPeriod(), -1); 7951 } 7952 for (int i = 0; i < element.getData().size(); i++) { 7953 composeConsentProvisionDataComponent(t, "ProvisionComponent", "data", element.getData().get(i), i); 7954 } 7955 if (element.hasExpression()) { 7956 composeExpression(t, "ProvisionComponent", "expression", element.getExpression(), -1); 7957 } 7958 for (int i = 0; i < element.getProvision().size(); i++) { 7959 composeConsentProvisionComponent(t, "ProvisionComponent", "provision", element.getProvision().get(i), i); 7960 } 7961 } 7962 7963 protected void composeConsentProvisionActorComponent(Complex parent, String parentType, String name, Consent.ProvisionActorComponent element, int index) { 7964 if (element == null) 7965 return; 7966 Complex t; 7967 if (Utilities.noString(parentType)) 7968 t = parent; 7969 else { 7970 t = parent.predicate("fhir:"+parentType+'.'+name); 7971 } 7972 composeBackboneElement(t, "actor", name, element, index); 7973 if (element.hasRole()) { 7974 composeCodeableConcept(t, "ProvisionActorComponent", "role", element.getRole(), -1); 7975 } 7976 if (element.hasReference()) { 7977 composeReference(t, "ProvisionActorComponent", "reference", element.getReference(), -1); 7978 } 7979 } 7980 7981 protected void composeConsentProvisionDataComponent(Complex parent, String parentType, String name, Consent.ProvisionDataComponent element, int index) { 7982 if (element == null) 7983 return; 7984 Complex t; 7985 if (Utilities.noString(parentType)) 7986 t = parent; 7987 else { 7988 t = parent.predicate("fhir:"+parentType+'.'+name); 7989 } 7990 composeBackboneElement(t, "data", name, element, index); 7991 if (element.hasMeaningElement()) { 7992 composeEnum(t, "ProvisionDataComponent", "meaning", element.getMeaningElement(), -1); 7993 } 7994 if (element.hasReference()) { 7995 composeReference(t, "ProvisionDataComponent", "reference", element.getReference(), -1); 7996 } 7997 } 7998 7999 protected void composeContract(Complex parent, String parentType, String name, Contract element, int index) { 8000 if (element == null) 8001 return; 8002 Complex t; 8003 if (Utilities.noString(parentType)) 8004 t = parent; 8005 else { 8006 t = parent.predicate("fhir:"+parentType+'.'+name); 8007 } 8008 composeDomainResource(t, "Contract", name, element, index); 8009 for (int i = 0; i < element.getIdentifier().size(); i++) { 8010 composeIdentifier(t, "Contract", "identifier", element.getIdentifier().get(i), i); 8011 } 8012 if (element.hasUrlElement()) { 8013 composeUri(t, "Contract", "url", element.getUrlElement(), -1); 8014 } 8015 if (element.hasVersionElement()) { 8016 composeString(t, "Contract", "version", element.getVersionElement(), -1); 8017 } 8018 if (element.hasStatusElement()) { 8019 composeEnum(t, "Contract", "status", element.getStatusElement(), -1); 8020 } 8021 if (element.hasLegalState()) { 8022 composeCodeableConcept(t, "Contract", "legalState", element.getLegalState(), -1); 8023 } 8024 if (element.hasInstantiatesCanonical()) { 8025 composeReference(t, "Contract", "instantiatesCanonical", element.getInstantiatesCanonical(), -1); 8026 } 8027 if (element.hasInstantiatesUriElement()) { 8028 composeUri(t, "Contract", "instantiatesUri", element.getInstantiatesUriElement(), -1); 8029 } 8030 if (element.hasContentDerivative()) { 8031 composeCodeableConcept(t, "Contract", "contentDerivative", element.getContentDerivative(), -1); 8032 } 8033 if (element.hasIssuedElement()) { 8034 composeDateTime(t, "Contract", "issued", element.getIssuedElement(), -1); 8035 } 8036 if (element.hasApplies()) { 8037 composePeriod(t, "Contract", "applies", element.getApplies(), -1); 8038 } 8039 if (element.hasExpirationType()) { 8040 composeCodeableConcept(t, "Contract", "expirationType", element.getExpirationType(), -1); 8041 } 8042 for (int i = 0; i < element.getSubject().size(); i++) { 8043 composeReference(t, "Contract", "subject", element.getSubject().get(i), i); 8044 } 8045 for (int i = 0; i < element.getAuthority().size(); i++) { 8046 composeReference(t, "Contract", "authority", element.getAuthority().get(i), i); 8047 } 8048 for (int i = 0; i < element.getDomain().size(); i++) { 8049 composeReference(t, "Contract", "domain", element.getDomain().get(i), i); 8050 } 8051 for (int i = 0; i < element.getSite().size(); i++) { 8052 composeReference(t, "Contract", "site", element.getSite().get(i), i); 8053 } 8054 if (element.hasNameElement()) { 8055 composeString(t, "Contract", "name", element.getNameElement(), -1); 8056 } 8057 if (element.hasTitleElement()) { 8058 composeString(t, "Contract", "title", element.getTitleElement(), -1); 8059 } 8060 if (element.hasSubtitleElement()) { 8061 composeString(t, "Contract", "subtitle", element.getSubtitleElement(), -1); 8062 } 8063 for (int i = 0; i < element.getAlias().size(); i++) { 8064 composeString(t, "Contract", "alias", element.getAlias().get(i), i); 8065 } 8066 if (element.hasAuthor()) { 8067 composeReference(t, "Contract", "author", element.getAuthor(), -1); 8068 } 8069 if (element.hasScope()) { 8070 composeCodeableConcept(t, "Contract", "scope", element.getScope(), -1); 8071 } 8072 if (element.hasTopic()) { 8073 composeType(t, "Contract", "topic", element.getTopic(), -1); 8074 } 8075 if (element.hasType()) { 8076 composeCodeableConcept(t, "Contract", "type", element.getType(), -1); 8077 } 8078 for (int i = 0; i < element.getSubType().size(); i++) { 8079 composeCodeableConcept(t, "Contract", "subType", element.getSubType().get(i), i); 8080 } 8081 if (element.hasContentDefinition()) { 8082 composeContractContentDefinitionComponent(t, "Contract", "contentDefinition", element.getContentDefinition(), -1); 8083 } 8084 for (int i = 0; i < element.getTerm().size(); i++) { 8085 composeContractTermComponent(t, "Contract", "term", element.getTerm().get(i), i); 8086 } 8087 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 8088 composeReference(t, "Contract", "supportingInfo", element.getSupportingInfo().get(i), i); 8089 } 8090 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 8091 composeReference(t, "Contract", "relevantHistory", element.getRelevantHistory().get(i), i); 8092 } 8093 for (int i = 0; i < element.getSigner().size(); i++) { 8094 composeContractSignatoryComponent(t, "Contract", "signer", element.getSigner().get(i), i); 8095 } 8096 for (int i = 0; i < element.getFriendly().size(); i++) { 8097 composeContractFriendlyLanguageComponent(t, "Contract", "friendly", element.getFriendly().get(i), i); 8098 } 8099 for (int i = 0; i < element.getLegal().size(); i++) { 8100 composeContractLegalLanguageComponent(t, "Contract", "legal", element.getLegal().get(i), i); 8101 } 8102 for (int i = 0; i < element.getRule().size(); i++) { 8103 composeContractComputableLanguageComponent(t, "Contract", "rule", element.getRule().get(i), i); 8104 } 8105 if (element.hasLegallyBinding()) { 8106 composeType(t, "Contract", "legallyBinding", element.getLegallyBinding(), -1); 8107 } 8108 } 8109 8110 protected void composeContractContentDefinitionComponent(Complex parent, String parentType, String name, Contract.ContentDefinitionComponent element, int index) { 8111 if (element == null) 8112 return; 8113 Complex t; 8114 if (Utilities.noString(parentType)) 8115 t = parent; 8116 else { 8117 t = parent.predicate("fhir:"+parentType+'.'+name); 8118 } 8119 composeBackboneElement(t, "contentDefinition", name, element, index); 8120 if (element.hasType()) { 8121 composeCodeableConcept(t, "ContentDefinitionComponent", "type", element.getType(), -1); 8122 } 8123 if (element.hasSubType()) { 8124 composeCodeableConcept(t, "ContentDefinitionComponent", "subType", element.getSubType(), -1); 8125 } 8126 if (element.hasPublisher()) { 8127 composeReference(t, "ContentDefinitionComponent", "publisher", element.getPublisher(), -1); 8128 } 8129 if (element.hasPublicationDateElement()) { 8130 composeDateTime(t, "ContentDefinitionComponent", "publicationDate", element.getPublicationDateElement(), -1); 8131 } 8132 if (element.hasPublicationStatusElement()) { 8133 composeEnum(t, "ContentDefinitionComponent", "publicationStatus", element.getPublicationStatusElement(), -1); 8134 } 8135 if (element.hasCopyrightElement()) { 8136 composeMarkdown(t, "ContentDefinitionComponent", "copyright", element.getCopyrightElement(), -1); 8137 } 8138 } 8139 8140 protected void composeContractTermComponent(Complex parent, String parentType, String name, Contract.TermComponent element, int index) { 8141 if (element == null) 8142 return; 8143 Complex t; 8144 if (Utilities.noString(parentType)) 8145 t = parent; 8146 else { 8147 t = parent.predicate("fhir:"+parentType+'.'+name); 8148 } 8149 composeBackboneElement(t, "term", name, element, index); 8150 if (element.hasIdentifier()) { 8151 composeIdentifier(t, "TermComponent", "identifier", element.getIdentifier(), -1); 8152 } 8153 if (element.hasIssuedElement()) { 8154 composeDateTime(t, "TermComponent", "issued", element.getIssuedElement(), -1); 8155 } 8156 if (element.hasApplies()) { 8157 composePeriod(t, "TermComponent", "applies", element.getApplies(), -1); 8158 } 8159 if (element.hasTopic()) { 8160 composeType(t, "TermComponent", "topic", element.getTopic(), -1); 8161 } 8162 if (element.hasType()) { 8163 composeCodeableConcept(t, "TermComponent", "type", element.getType(), -1); 8164 } 8165 if (element.hasSubType()) { 8166 composeCodeableConcept(t, "TermComponent", "subType", element.getSubType(), -1); 8167 } 8168 if (element.hasTextElement()) { 8169 composeString(t, "TermComponent", "text", element.getTextElement(), -1); 8170 } 8171 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 8172 composeContractSecurityLabelComponent(t, "TermComponent", "securityLabel", element.getSecurityLabel().get(i), i); 8173 } 8174 if (element.hasOffer()) { 8175 composeContractOfferComponent(t, "TermComponent", "offer", element.getOffer(), -1); 8176 } 8177 for (int i = 0; i < element.getAsset().size(); i++) { 8178 composeContractAssetComponent(t, "TermComponent", "asset", element.getAsset().get(i), i); 8179 } 8180 for (int i = 0; i < element.getAction().size(); i++) { 8181 composeContractActionComponent(t, "TermComponent", "action", element.getAction().get(i), i); 8182 } 8183 for (int i = 0; i < element.getGroup().size(); i++) { 8184 composeContractTermComponent(t, "TermComponent", "group", element.getGroup().get(i), i); 8185 } 8186 } 8187 8188 protected void composeContractSecurityLabelComponent(Complex parent, String parentType, String name, Contract.SecurityLabelComponent element, int index) { 8189 if (element == null) 8190 return; 8191 Complex t; 8192 if (Utilities.noString(parentType)) 8193 t = parent; 8194 else { 8195 t = parent.predicate("fhir:"+parentType+'.'+name); 8196 } 8197 composeBackboneElement(t, "securityLabel", name, element, index); 8198 for (int i = 0; i < element.getNumber().size(); i++) { 8199 composeUnsignedInt(t, "SecurityLabelComponent", "number", element.getNumber().get(i), i); 8200 } 8201 if (element.hasClassification()) { 8202 composeCoding(t, "SecurityLabelComponent", "classification", element.getClassification(), -1); 8203 } 8204 for (int i = 0; i < element.getCategory().size(); i++) { 8205 composeCoding(t, "SecurityLabelComponent", "category", element.getCategory().get(i), i); 8206 } 8207 for (int i = 0; i < element.getControl().size(); i++) { 8208 composeCoding(t, "SecurityLabelComponent", "control", element.getControl().get(i), i); 8209 } 8210 } 8211 8212 protected void composeContractOfferComponent(Complex parent, String parentType, String name, Contract.ContractOfferComponent element, int index) { 8213 if (element == null) 8214 return; 8215 Complex t; 8216 if (Utilities.noString(parentType)) 8217 t = parent; 8218 else { 8219 t = parent.predicate("fhir:"+parentType+'.'+name); 8220 } 8221 composeBackboneElement(t, "offer", name, element, index); 8222 for (int i = 0; i < element.getIdentifier().size(); i++) { 8223 composeIdentifier(t, "ContractOfferComponent", "identifier", element.getIdentifier().get(i), i); 8224 } 8225 for (int i = 0; i < element.getParty().size(); i++) { 8226 composeContractPartyComponent(t, "ContractOfferComponent", "party", element.getParty().get(i), i); 8227 } 8228 if (element.hasTopic()) { 8229 composeReference(t, "ContractOfferComponent", "topic", element.getTopic(), -1); 8230 } 8231 if (element.hasType()) { 8232 composeCodeableConcept(t, "ContractOfferComponent", "type", element.getType(), -1); 8233 } 8234 if (element.hasDecision()) { 8235 composeCodeableConcept(t, "ContractOfferComponent", "decision", element.getDecision(), -1); 8236 } 8237 for (int i = 0; i < element.getDecisionMode().size(); i++) { 8238 composeCodeableConcept(t, "ContractOfferComponent", "decisionMode", element.getDecisionMode().get(i), i); 8239 } 8240 for (int i = 0; i < element.getAnswer().size(); i++) { 8241 composeContractAnswerComponent(t, "ContractOfferComponent", "answer", element.getAnswer().get(i), i); 8242 } 8243 if (element.hasTextElement()) { 8244 composeString(t, "ContractOfferComponent", "text", element.getTextElement(), -1); 8245 } 8246 for (int i = 0; i < element.getLinkId().size(); i++) { 8247 composeString(t, "ContractOfferComponent", "linkId", element.getLinkId().get(i), i); 8248 } 8249 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8250 composeUnsignedInt(t, "ContractOfferComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8251 } 8252 } 8253 8254 protected void composeContractPartyComponent(Complex parent, String parentType, String name, Contract.ContractPartyComponent element, int index) { 8255 if (element == null) 8256 return; 8257 Complex t; 8258 if (Utilities.noString(parentType)) 8259 t = parent; 8260 else { 8261 t = parent.predicate("fhir:"+parentType+'.'+name); 8262 } 8263 composeBackboneElement(t, "party", name, element, index); 8264 for (int i = 0; i < element.getReference().size(); i++) { 8265 composeReference(t, "ContractPartyComponent", "reference", element.getReference().get(i), i); 8266 } 8267 if (element.hasRole()) { 8268 composeCodeableConcept(t, "ContractPartyComponent", "role", element.getRole(), -1); 8269 } 8270 } 8271 8272 protected void composeContractAnswerComponent(Complex parent, String parentType, String name, Contract.AnswerComponent element, int index) { 8273 if (element == null) 8274 return; 8275 Complex t; 8276 if (Utilities.noString(parentType)) 8277 t = parent; 8278 else { 8279 t = parent.predicate("fhir:"+parentType+'.'+name); 8280 } 8281 composeBackboneElement(t, "answer", name, element, index); 8282 if (element.hasValue()) { 8283 composeType(t, "AnswerComponent", "value", element.getValue(), -1); 8284 } 8285 } 8286 8287 protected void composeContractAssetComponent(Complex parent, String parentType, String name, Contract.ContractAssetComponent element, int index) { 8288 if (element == null) 8289 return; 8290 Complex t; 8291 if (Utilities.noString(parentType)) 8292 t = parent; 8293 else { 8294 t = parent.predicate("fhir:"+parentType+'.'+name); 8295 } 8296 composeBackboneElement(t, "asset", name, element, index); 8297 if (element.hasScope()) { 8298 composeCodeableConcept(t, "ContractAssetComponent", "scope", element.getScope(), -1); 8299 } 8300 for (int i = 0; i < element.getType().size(); i++) { 8301 composeCodeableConcept(t, "ContractAssetComponent", "type", element.getType().get(i), i); 8302 } 8303 for (int i = 0; i < element.getTypeReference().size(); i++) { 8304 composeReference(t, "ContractAssetComponent", "typeReference", element.getTypeReference().get(i), i); 8305 } 8306 for (int i = 0; i < element.getSubtype().size(); i++) { 8307 composeCodeableConcept(t, "ContractAssetComponent", "subtype", element.getSubtype().get(i), i); 8308 } 8309 if (element.hasRelationship()) { 8310 composeCoding(t, "ContractAssetComponent", "relationship", element.getRelationship(), -1); 8311 } 8312 for (int i = 0; i < element.getContext().size(); i++) { 8313 composeContractAssetContextComponent(t, "ContractAssetComponent", "context", element.getContext().get(i), i); 8314 } 8315 if (element.hasConditionElement()) { 8316 composeString(t, "ContractAssetComponent", "condition", element.getConditionElement(), -1); 8317 } 8318 for (int i = 0; i < element.getPeriodType().size(); i++) { 8319 composeCodeableConcept(t, "ContractAssetComponent", "periodType", element.getPeriodType().get(i), i); 8320 } 8321 for (int i = 0; i < element.getPeriod().size(); i++) { 8322 composePeriod(t, "ContractAssetComponent", "period", element.getPeriod().get(i), i); 8323 } 8324 for (int i = 0; i < element.getUsePeriod().size(); i++) { 8325 composePeriod(t, "ContractAssetComponent", "usePeriod", element.getUsePeriod().get(i), i); 8326 } 8327 if (element.hasTextElement()) { 8328 composeString(t, "ContractAssetComponent", "text", element.getTextElement(), -1); 8329 } 8330 for (int i = 0; i < element.getLinkId().size(); i++) { 8331 composeString(t, "ContractAssetComponent", "linkId", element.getLinkId().get(i), i); 8332 } 8333 for (int i = 0; i < element.getAnswer().size(); i++) { 8334 composeContractAnswerComponent(t, "ContractAssetComponent", "answer", element.getAnswer().get(i), i); 8335 } 8336 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8337 composeUnsignedInt(t, "ContractAssetComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8338 } 8339 for (int i = 0; i < element.getValuedItem().size(); i++) { 8340 composeContractValuedItemComponent(t, "ContractAssetComponent", "valuedItem", element.getValuedItem().get(i), i); 8341 } 8342 } 8343 8344 protected void composeContractAssetContextComponent(Complex parent, String parentType, String name, Contract.AssetContextComponent element, int index) { 8345 if (element == null) 8346 return; 8347 Complex t; 8348 if (Utilities.noString(parentType)) 8349 t = parent; 8350 else { 8351 t = parent.predicate("fhir:"+parentType+'.'+name); 8352 } 8353 composeBackboneElement(t, "context", name, element, index); 8354 if (element.hasReference()) { 8355 composeReference(t, "AssetContextComponent", "reference", element.getReference(), -1); 8356 } 8357 for (int i = 0; i < element.getCode().size(); i++) { 8358 composeCodeableConcept(t, "AssetContextComponent", "code", element.getCode().get(i), i); 8359 } 8360 if (element.hasTextElement()) { 8361 composeString(t, "AssetContextComponent", "text", element.getTextElement(), -1); 8362 } 8363 } 8364 8365 protected void composeContractValuedItemComponent(Complex parent, String parentType, String name, Contract.ValuedItemComponent element, int index) { 8366 if (element == null) 8367 return; 8368 Complex t; 8369 if (Utilities.noString(parentType)) 8370 t = parent; 8371 else { 8372 t = parent.predicate("fhir:"+parentType+'.'+name); 8373 } 8374 composeBackboneElement(t, "valuedItem", name, element, index); 8375 if (element.hasEntity()) { 8376 composeType(t, "ValuedItemComponent", "entity", element.getEntity(), -1); 8377 } 8378 if (element.hasIdentifier()) { 8379 composeIdentifier(t, "ValuedItemComponent", "identifier", element.getIdentifier(), -1); 8380 } 8381 if (element.hasEffectiveTimeElement()) { 8382 composeDateTime(t, "ValuedItemComponent", "effectiveTime", element.getEffectiveTimeElement(), -1); 8383 } 8384 if (element.hasQuantity()) { 8385 composeQuantity(t, "ValuedItemComponent", "quantity", element.getQuantity(), -1); 8386 } 8387 if (element.hasUnitPrice()) { 8388 composeMoney(t, "ValuedItemComponent", "unitPrice", element.getUnitPrice(), -1); 8389 } 8390 if (element.hasFactorElement()) { 8391 composeDecimal(t, "ValuedItemComponent", "factor", element.getFactorElement(), -1); 8392 } 8393 if (element.hasPointsElement()) { 8394 composeDecimal(t, "ValuedItemComponent", "points", element.getPointsElement(), -1); 8395 } 8396 if (element.hasNet()) { 8397 composeMoney(t, "ValuedItemComponent", "net", element.getNet(), -1); 8398 } 8399 if (element.hasPaymentElement()) { 8400 composeString(t, "ValuedItemComponent", "payment", element.getPaymentElement(), -1); 8401 } 8402 if (element.hasPaymentDateElement()) { 8403 composeDateTime(t, "ValuedItemComponent", "paymentDate", element.getPaymentDateElement(), -1); 8404 } 8405 if (element.hasResponsible()) { 8406 composeReference(t, "ValuedItemComponent", "responsible", element.getResponsible(), -1); 8407 } 8408 if (element.hasRecipient()) { 8409 composeReference(t, "ValuedItemComponent", "recipient", element.getRecipient(), -1); 8410 } 8411 for (int i = 0; i < element.getLinkId().size(); i++) { 8412 composeString(t, "ValuedItemComponent", "linkId", element.getLinkId().get(i), i); 8413 } 8414 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8415 composeUnsignedInt(t, "ValuedItemComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8416 } 8417 } 8418 8419 protected void composeContractActionComponent(Complex parent, String parentType, String name, Contract.ActionComponent element, int index) { 8420 if (element == null) 8421 return; 8422 Complex t; 8423 if (Utilities.noString(parentType)) 8424 t = parent; 8425 else { 8426 t = parent.predicate("fhir:"+parentType+'.'+name); 8427 } 8428 composeBackboneElement(t, "action", name, element, index); 8429 if (element.hasDoNotPerformElement()) { 8430 composeBoolean(t, "ActionComponent", "doNotPerform", element.getDoNotPerformElement(), -1); 8431 } 8432 if (element.hasType()) { 8433 composeCodeableConcept(t, "ActionComponent", "type", element.getType(), -1); 8434 } 8435 for (int i = 0; i < element.getSubject().size(); i++) { 8436 composeContractActionSubjectComponent(t, "ActionComponent", "subject", element.getSubject().get(i), i); 8437 } 8438 if (element.hasIntent()) { 8439 composeCodeableConcept(t, "ActionComponent", "intent", element.getIntent(), -1); 8440 } 8441 for (int i = 0; i < element.getLinkId().size(); i++) { 8442 composeString(t, "ActionComponent", "linkId", element.getLinkId().get(i), i); 8443 } 8444 if (element.hasStatus()) { 8445 composeCodeableConcept(t, "ActionComponent", "status", element.getStatus(), -1); 8446 } 8447 if (element.hasContext()) { 8448 composeReference(t, "ActionComponent", "context", element.getContext(), -1); 8449 } 8450 for (int i = 0; i < element.getContextLinkId().size(); i++) { 8451 composeString(t, "ActionComponent", "contextLinkId", element.getContextLinkId().get(i), i); 8452 } 8453 if (element.hasOccurrence()) { 8454 composeType(t, "ActionComponent", "occurrence", element.getOccurrence(), -1); 8455 } 8456 for (int i = 0; i < element.getRequester().size(); i++) { 8457 composeReference(t, "ActionComponent", "requester", element.getRequester().get(i), i); 8458 } 8459 for (int i = 0; i < element.getRequesterLinkId().size(); i++) { 8460 composeString(t, "ActionComponent", "requesterLinkId", element.getRequesterLinkId().get(i), i); 8461 } 8462 for (int i = 0; i < element.getPerformerType().size(); i++) { 8463 composeCodeableConcept(t, "ActionComponent", "performerType", element.getPerformerType().get(i), i); 8464 } 8465 if (element.hasPerformerRole()) { 8466 composeCodeableConcept(t, "ActionComponent", "performerRole", element.getPerformerRole(), -1); 8467 } 8468 if (element.hasPerformer()) { 8469 composeReference(t, "ActionComponent", "performer", element.getPerformer(), -1); 8470 } 8471 for (int i = 0; i < element.getPerformerLinkId().size(); i++) { 8472 composeString(t, "ActionComponent", "performerLinkId", element.getPerformerLinkId().get(i), i); 8473 } 8474 for (int i = 0; i < element.getReason().size(); i++) { 8475 composeCodeableReference(t, "ActionComponent", "reason", element.getReason().get(i), i); 8476 } 8477 for (int i = 0; i < element.getReasonLinkId().size(); i++) { 8478 composeString(t, "ActionComponent", "reasonLinkId", element.getReasonLinkId().get(i), i); 8479 } 8480 for (int i = 0; i < element.getNote().size(); i++) { 8481 composeAnnotation(t, "ActionComponent", "note", element.getNote().get(i), i); 8482 } 8483 for (int i = 0; i < element.getSecurityLabelNumber().size(); i++) { 8484 composeUnsignedInt(t, "ActionComponent", "securityLabelNumber", element.getSecurityLabelNumber().get(i), i); 8485 } 8486 } 8487 8488 protected void composeContractActionSubjectComponent(Complex parent, String parentType, String name, Contract.ActionSubjectComponent element, int index) { 8489 if (element == null) 8490 return; 8491 Complex t; 8492 if (Utilities.noString(parentType)) 8493 t = parent; 8494 else { 8495 t = parent.predicate("fhir:"+parentType+'.'+name); 8496 } 8497 composeBackboneElement(t, "subject", name, element, index); 8498 for (int i = 0; i < element.getReference().size(); i++) { 8499 composeReference(t, "ActionSubjectComponent", "reference", element.getReference().get(i), i); 8500 } 8501 if (element.hasRole()) { 8502 composeCodeableConcept(t, "ActionSubjectComponent", "role", element.getRole(), -1); 8503 } 8504 } 8505 8506 protected void composeContractSignatoryComponent(Complex parent, String parentType, String name, Contract.SignatoryComponent element, int index) { 8507 if (element == null) 8508 return; 8509 Complex t; 8510 if (Utilities.noString(parentType)) 8511 t = parent; 8512 else { 8513 t = parent.predicate("fhir:"+parentType+'.'+name); 8514 } 8515 composeBackboneElement(t, "signer", name, element, index); 8516 if (element.hasType()) { 8517 composeCoding(t, "SignatoryComponent", "type", element.getType(), -1); 8518 } 8519 if (element.hasParty()) { 8520 composeReference(t, "SignatoryComponent", "party", element.getParty(), -1); 8521 } 8522 for (int i = 0; i < element.getSignature().size(); i++) { 8523 composeSignature(t, "SignatoryComponent", "signature", element.getSignature().get(i), i); 8524 } 8525 } 8526 8527 protected void composeContractFriendlyLanguageComponent(Complex parent, String parentType, String name, Contract.FriendlyLanguageComponent element, int index) { 8528 if (element == null) 8529 return; 8530 Complex t; 8531 if (Utilities.noString(parentType)) 8532 t = parent; 8533 else { 8534 t = parent.predicate("fhir:"+parentType+'.'+name); 8535 } 8536 composeBackboneElement(t, "friendly", name, element, index); 8537 if (element.hasContent()) { 8538 composeType(t, "FriendlyLanguageComponent", "content", element.getContent(), -1); 8539 } 8540 } 8541 8542 protected void composeContractLegalLanguageComponent(Complex parent, String parentType, String name, Contract.LegalLanguageComponent element, int index) { 8543 if (element == null) 8544 return; 8545 Complex t; 8546 if (Utilities.noString(parentType)) 8547 t = parent; 8548 else { 8549 t = parent.predicate("fhir:"+parentType+'.'+name); 8550 } 8551 composeBackboneElement(t, "legal", name, element, index); 8552 if (element.hasContent()) { 8553 composeType(t, "LegalLanguageComponent", "content", element.getContent(), -1); 8554 } 8555 } 8556 8557 protected void composeContractComputableLanguageComponent(Complex parent, String parentType, String name, Contract.ComputableLanguageComponent element, int index) { 8558 if (element == null) 8559 return; 8560 Complex t; 8561 if (Utilities.noString(parentType)) 8562 t = parent; 8563 else { 8564 t = parent.predicate("fhir:"+parentType+'.'+name); 8565 } 8566 composeBackboneElement(t, "rule", name, element, index); 8567 if (element.hasContent()) { 8568 composeType(t, "ComputableLanguageComponent", "content", element.getContent(), -1); 8569 } 8570 } 8571 8572 protected void composeCoverage(Complex parent, String parentType, String name, Coverage element, int index) { 8573 if (element == null) 8574 return; 8575 Complex t; 8576 if (Utilities.noString(parentType)) 8577 t = parent; 8578 else { 8579 t = parent.predicate("fhir:"+parentType+'.'+name); 8580 } 8581 composeDomainResource(t, "Coverage", name, element, index); 8582 for (int i = 0; i < element.getIdentifier().size(); i++) { 8583 composeIdentifier(t, "Coverage", "identifier", element.getIdentifier().get(i), i); 8584 } 8585 if (element.hasStatusElement()) { 8586 composeEnum(t, "Coverage", "status", element.getStatusElement(), -1); 8587 } 8588 if (element.hasKindElement()) { 8589 composeEnum(t, "Coverage", "kind", element.getKindElement(), -1); 8590 } 8591 for (int i = 0; i < element.getPaymentBy().size(); i++) { 8592 composeCoveragePaymentByComponent(t, "Coverage", "paymentBy", element.getPaymentBy().get(i), i); 8593 } 8594 if (element.hasType()) { 8595 composeCodeableConcept(t, "Coverage", "type", element.getType(), -1); 8596 } 8597 if (element.hasPolicyHolder()) { 8598 composeReference(t, "Coverage", "policyHolder", element.getPolicyHolder(), -1); 8599 } 8600 if (element.hasSubscriber()) { 8601 composeReference(t, "Coverage", "subscriber", element.getSubscriber(), -1); 8602 } 8603 for (int i = 0; i < element.getSubscriberId().size(); i++) { 8604 composeIdentifier(t, "Coverage", "subscriberId", element.getSubscriberId().get(i), i); 8605 } 8606 if (element.hasBeneficiary()) { 8607 composeReference(t, "Coverage", "beneficiary", element.getBeneficiary(), -1); 8608 } 8609 if (element.hasDependentElement()) { 8610 composeString(t, "Coverage", "dependent", element.getDependentElement(), -1); 8611 } 8612 if (element.hasRelationship()) { 8613 composeCodeableConcept(t, "Coverage", "relationship", element.getRelationship(), -1); 8614 } 8615 if (element.hasPeriod()) { 8616 composePeriod(t, "Coverage", "period", element.getPeriod(), -1); 8617 } 8618 if (element.hasInsurer()) { 8619 composeReference(t, "Coverage", "insurer", element.getInsurer(), -1); 8620 } 8621 for (int i = 0; i < element.getClass_().size(); i++) { 8622 composeCoverageClassComponent(t, "Coverage", "class", element.getClass_().get(i), i); 8623 } 8624 if (element.hasOrderElement()) { 8625 composePositiveInt(t, "Coverage", "order", element.getOrderElement(), -1); 8626 } 8627 if (element.hasNetworkElement()) { 8628 composeString(t, "Coverage", "network", element.getNetworkElement(), -1); 8629 } 8630 for (int i = 0; i < element.getCostToBeneficiary().size(); i++) { 8631 composeCoverageCostToBeneficiaryComponent(t, "Coverage", "costToBeneficiary", element.getCostToBeneficiary().get(i), i); 8632 } 8633 if (element.hasSubrogationElement()) { 8634 composeBoolean(t, "Coverage", "subrogation", element.getSubrogationElement(), -1); 8635 } 8636 for (int i = 0; i < element.getContract().size(); i++) { 8637 composeReference(t, "Coverage", "contract", element.getContract().get(i), i); 8638 } 8639 if (element.hasInsurancePlan()) { 8640 composeReference(t, "Coverage", "insurancePlan", element.getInsurancePlan(), -1); 8641 } 8642 } 8643 8644 protected void composeCoveragePaymentByComponent(Complex parent, String parentType, String name, Coverage.CoveragePaymentByComponent element, int index) { 8645 if (element == null) 8646 return; 8647 Complex t; 8648 if (Utilities.noString(parentType)) 8649 t = parent; 8650 else { 8651 t = parent.predicate("fhir:"+parentType+'.'+name); 8652 } 8653 composeBackboneElement(t, "paymentBy", name, element, index); 8654 if (element.hasParty()) { 8655 composeReference(t, "CoveragePaymentByComponent", "party", element.getParty(), -1); 8656 } 8657 if (element.hasResponsibilityElement()) { 8658 composeString(t, "CoveragePaymentByComponent", "responsibility", element.getResponsibilityElement(), -1); 8659 } 8660 } 8661 8662 protected void composeCoverageClassComponent(Complex parent, String parentType, String name, Coverage.ClassComponent element, int index) { 8663 if (element == null) 8664 return; 8665 Complex t; 8666 if (Utilities.noString(parentType)) 8667 t = parent; 8668 else { 8669 t = parent.predicate("fhir:"+parentType+'.'+name); 8670 } 8671 composeBackboneElement(t, "class", name, element, index); 8672 if (element.hasType()) { 8673 composeCodeableConcept(t, "ClassComponent", "type", element.getType(), -1); 8674 } 8675 if (element.hasValue()) { 8676 composeIdentifier(t, "ClassComponent", "value", element.getValue(), -1); 8677 } 8678 if (element.hasNameElement()) { 8679 composeString(t, "ClassComponent", "name", element.getNameElement(), -1); 8680 } 8681 } 8682 8683 protected void composeCoverageCostToBeneficiaryComponent(Complex parent, String parentType, String name, Coverage.CostToBeneficiaryComponent element, int index) { 8684 if (element == null) 8685 return; 8686 Complex t; 8687 if (Utilities.noString(parentType)) 8688 t = parent; 8689 else { 8690 t = parent.predicate("fhir:"+parentType+'.'+name); 8691 } 8692 composeBackboneElement(t, "costToBeneficiary", name, element, index); 8693 if (element.hasType()) { 8694 composeCodeableConcept(t, "CostToBeneficiaryComponent", "type", element.getType(), -1); 8695 } 8696 if (element.hasCategory()) { 8697 composeCodeableConcept(t, "CostToBeneficiaryComponent", "category", element.getCategory(), -1); 8698 } 8699 if (element.hasNetwork()) { 8700 composeCodeableConcept(t, "CostToBeneficiaryComponent", "network", element.getNetwork(), -1); 8701 } 8702 if (element.hasUnit()) { 8703 composeCodeableConcept(t, "CostToBeneficiaryComponent", "unit", element.getUnit(), -1); 8704 } 8705 if (element.hasTerm()) { 8706 composeCodeableConcept(t, "CostToBeneficiaryComponent", "term", element.getTerm(), -1); 8707 } 8708 if (element.hasValue()) { 8709 composeType(t, "CostToBeneficiaryComponent", "value", element.getValue(), -1); 8710 } 8711 for (int i = 0; i < element.getException().size(); i++) { 8712 composeCoverageExemptionComponent(t, "CostToBeneficiaryComponent", "exception", element.getException().get(i), i); 8713 } 8714 } 8715 8716 protected void composeCoverageExemptionComponent(Complex parent, String parentType, String name, Coverage.ExemptionComponent element, int index) { 8717 if (element == null) 8718 return; 8719 Complex t; 8720 if (Utilities.noString(parentType)) 8721 t = parent; 8722 else { 8723 t = parent.predicate("fhir:"+parentType+'.'+name); 8724 } 8725 composeBackboneElement(t, "exception", name, element, index); 8726 if (element.hasType()) { 8727 composeCodeableConcept(t, "ExemptionComponent", "type", element.getType(), -1); 8728 } 8729 if (element.hasPeriod()) { 8730 composePeriod(t, "ExemptionComponent", "period", element.getPeriod(), -1); 8731 } 8732 } 8733 8734 protected void composeCoverageEligibilityRequest(Complex parent, String parentType, String name, CoverageEligibilityRequest element, int index) { 8735 if (element == null) 8736 return; 8737 Complex t; 8738 if (Utilities.noString(parentType)) 8739 t = parent; 8740 else { 8741 t = parent.predicate("fhir:"+parentType+'.'+name); 8742 } 8743 composeDomainResource(t, "CoverageEligibilityRequest", name, element, index); 8744 for (int i = 0; i < element.getIdentifier().size(); i++) { 8745 composeIdentifier(t, "CoverageEligibilityRequest", "identifier", element.getIdentifier().get(i), i); 8746 } 8747 if (element.hasStatusElement()) { 8748 composeEnum(t, "CoverageEligibilityRequest", "status", element.getStatusElement(), -1); 8749 } 8750 if (element.hasPriority()) { 8751 composeCodeableConcept(t, "CoverageEligibilityRequest", "priority", element.getPriority(), -1); 8752 } 8753 for (int i = 0; i < element.getPurpose().size(); i++) { 8754 composeEnum(t, "CoverageEligibilityRequest", "purpose", element.getPurpose().get(i), i); 8755 } 8756 if (element.hasPatient()) { 8757 composeReference(t, "CoverageEligibilityRequest", "patient", element.getPatient(), -1); 8758 } 8759 if (element.hasServiced()) { 8760 composeType(t, "CoverageEligibilityRequest", "serviced", element.getServiced(), -1); 8761 } 8762 if (element.hasCreatedElement()) { 8763 composeDateTime(t, "CoverageEligibilityRequest", "created", element.getCreatedElement(), -1); 8764 } 8765 if (element.hasEnterer()) { 8766 composeReference(t, "CoverageEligibilityRequest", "enterer", element.getEnterer(), -1); 8767 } 8768 if (element.hasProvider()) { 8769 composeReference(t, "CoverageEligibilityRequest", "provider", element.getProvider(), -1); 8770 } 8771 if (element.hasInsurer()) { 8772 composeReference(t, "CoverageEligibilityRequest", "insurer", element.getInsurer(), -1); 8773 } 8774 if (element.hasFacility()) { 8775 composeReference(t, "CoverageEligibilityRequest", "facility", element.getFacility(), -1); 8776 } 8777 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 8778 composeCoverageEligibilityRequestSupportingInformationComponent(t, "CoverageEligibilityRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 8779 } 8780 for (int i = 0; i < element.getInsurance().size(); i++) { 8781 composeCoverageEligibilityRequestInsuranceComponent(t, "CoverageEligibilityRequest", "insurance", element.getInsurance().get(i), i); 8782 } 8783 for (int i = 0; i < element.getItem().size(); i++) { 8784 composeCoverageEligibilityRequestDetailsComponent(t, "CoverageEligibilityRequest", "item", element.getItem().get(i), i); 8785 } 8786 } 8787 8788 protected void composeCoverageEligibilityRequestSupportingInformationComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.SupportingInformationComponent element, int index) { 8789 if (element == null) 8790 return; 8791 Complex t; 8792 if (Utilities.noString(parentType)) 8793 t = parent; 8794 else { 8795 t = parent.predicate("fhir:"+parentType+'.'+name); 8796 } 8797 composeBackboneElement(t, "supportingInfo", name, element, index); 8798 if (element.hasSequenceElement()) { 8799 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 8800 } 8801 if (element.hasInformation()) { 8802 composeReference(t, "SupportingInformationComponent", "information", element.getInformation(), -1); 8803 } 8804 if (element.hasAppliesToAllElement()) { 8805 composeBoolean(t, "SupportingInformationComponent", "appliesToAll", element.getAppliesToAllElement(), -1); 8806 } 8807 } 8808 8809 protected void composeCoverageEligibilityRequestInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.InsuranceComponent element, int index) { 8810 if (element == null) 8811 return; 8812 Complex t; 8813 if (Utilities.noString(parentType)) 8814 t = parent; 8815 else { 8816 t = parent.predicate("fhir:"+parentType+'.'+name); 8817 } 8818 composeBackboneElement(t, "insurance", name, element, index); 8819 if (element.hasFocalElement()) { 8820 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 8821 } 8822 if (element.hasCoverage()) { 8823 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 8824 } 8825 if (element.hasBusinessArrangementElement()) { 8826 composeString(t, "InsuranceComponent", "businessArrangement", element.getBusinessArrangementElement(), -1); 8827 } 8828 } 8829 8830 protected void composeCoverageEligibilityRequestDetailsComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DetailsComponent element, int index) { 8831 if (element == null) 8832 return; 8833 Complex t; 8834 if (Utilities.noString(parentType)) 8835 t = parent; 8836 else { 8837 t = parent.predicate("fhir:"+parentType+'.'+name); 8838 } 8839 composeBackboneElement(t, "item", name, element, index); 8840 for (int i = 0; i < element.getSupportingInfoSequence().size(); i++) { 8841 composePositiveInt(t, "DetailsComponent", "supportingInfoSequence", element.getSupportingInfoSequence().get(i), i); 8842 } 8843 if (element.hasCategory()) { 8844 composeCodeableConcept(t, "DetailsComponent", "category", element.getCategory(), -1); 8845 } 8846 if (element.hasProductOrService()) { 8847 composeCodeableConcept(t, "DetailsComponent", "productOrService", element.getProductOrService(), -1); 8848 } 8849 for (int i = 0; i < element.getModifier().size(); i++) { 8850 composeCodeableConcept(t, "DetailsComponent", "modifier", element.getModifier().get(i), i); 8851 } 8852 if (element.hasProvider()) { 8853 composeReference(t, "DetailsComponent", "provider", element.getProvider(), -1); 8854 } 8855 if (element.hasQuantity()) { 8856 composeQuantity(t, "DetailsComponent", "quantity", element.getQuantity(), -1); 8857 } 8858 if (element.hasUnitPrice()) { 8859 composeMoney(t, "DetailsComponent", "unitPrice", element.getUnitPrice(), -1); 8860 } 8861 if (element.hasFacility()) { 8862 composeReference(t, "DetailsComponent", "facility", element.getFacility(), -1); 8863 } 8864 for (int i = 0; i < element.getDiagnosis().size(); i++) { 8865 composeCoverageEligibilityRequestDiagnosisComponent(t, "DetailsComponent", "diagnosis", element.getDiagnosis().get(i), i); 8866 } 8867 for (int i = 0; i < element.getDetail().size(); i++) { 8868 composeReference(t, "DetailsComponent", "detail", element.getDetail().get(i), i); 8869 } 8870 } 8871 8872 protected void composeCoverageEligibilityRequestDiagnosisComponent(Complex parent, String parentType, String name, CoverageEligibilityRequest.DiagnosisComponent element, int index) { 8873 if (element == null) 8874 return; 8875 Complex t; 8876 if (Utilities.noString(parentType)) 8877 t = parent; 8878 else { 8879 t = parent.predicate("fhir:"+parentType+'.'+name); 8880 } 8881 composeBackboneElement(t, "diagnosis", name, element, index); 8882 if (element.hasDiagnosis()) { 8883 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 8884 } 8885 } 8886 8887 protected void composeCoverageEligibilityResponse(Complex parent, String parentType, String name, CoverageEligibilityResponse element, int index) { 8888 if (element == null) 8889 return; 8890 Complex t; 8891 if (Utilities.noString(parentType)) 8892 t = parent; 8893 else { 8894 t = parent.predicate("fhir:"+parentType+'.'+name); 8895 } 8896 composeDomainResource(t, "CoverageEligibilityResponse", name, element, index); 8897 for (int i = 0; i < element.getIdentifier().size(); i++) { 8898 composeIdentifier(t, "CoverageEligibilityResponse", "identifier", element.getIdentifier().get(i), i); 8899 } 8900 if (element.hasStatusElement()) { 8901 composeEnum(t, "CoverageEligibilityResponse", "status", element.getStatusElement(), -1); 8902 } 8903 for (int i = 0; i < element.getPurpose().size(); i++) { 8904 composeEnum(t, "CoverageEligibilityResponse", "purpose", element.getPurpose().get(i), i); 8905 } 8906 if (element.hasPatient()) { 8907 composeReference(t, "CoverageEligibilityResponse", "patient", element.getPatient(), -1); 8908 } 8909 if (element.hasServiced()) { 8910 composeType(t, "CoverageEligibilityResponse", "serviced", element.getServiced(), -1); 8911 } 8912 if (element.hasCreatedElement()) { 8913 composeDateTime(t, "CoverageEligibilityResponse", "created", element.getCreatedElement(), -1); 8914 } 8915 if (element.hasRequestor()) { 8916 composeReference(t, "CoverageEligibilityResponse", "requestor", element.getRequestor(), -1); 8917 } 8918 if (element.hasRequest()) { 8919 composeReference(t, "CoverageEligibilityResponse", "request", element.getRequest(), -1); 8920 } 8921 if (element.hasOutcomeElement()) { 8922 composeEnum(t, "CoverageEligibilityResponse", "outcome", element.getOutcomeElement(), -1); 8923 } 8924 if (element.hasDispositionElement()) { 8925 composeString(t, "CoverageEligibilityResponse", "disposition", element.getDispositionElement(), -1); 8926 } 8927 if (element.hasInsurer()) { 8928 composeReference(t, "CoverageEligibilityResponse", "insurer", element.getInsurer(), -1); 8929 } 8930 for (int i = 0; i < element.getInsurance().size(); i++) { 8931 composeCoverageEligibilityResponseInsuranceComponent(t, "CoverageEligibilityResponse", "insurance", element.getInsurance().get(i), i); 8932 } 8933 if (element.hasPreAuthRefElement()) { 8934 composeString(t, "CoverageEligibilityResponse", "preAuthRef", element.getPreAuthRefElement(), -1); 8935 } 8936 if (element.hasForm()) { 8937 composeCodeableConcept(t, "CoverageEligibilityResponse", "form", element.getForm(), -1); 8938 } 8939 for (int i = 0; i < element.getError().size(); i++) { 8940 composeCoverageEligibilityResponseErrorsComponent(t, "CoverageEligibilityResponse", "error", element.getError().get(i), i); 8941 } 8942 } 8943 8944 protected void composeCoverageEligibilityResponseInsuranceComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.InsuranceComponent element, int index) { 8945 if (element == null) 8946 return; 8947 Complex t; 8948 if (Utilities.noString(parentType)) 8949 t = parent; 8950 else { 8951 t = parent.predicate("fhir:"+parentType+'.'+name); 8952 } 8953 composeBackboneElement(t, "insurance", name, element, index); 8954 if (element.hasCoverage()) { 8955 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 8956 } 8957 if (element.hasInforceElement()) { 8958 composeBoolean(t, "InsuranceComponent", "inforce", element.getInforceElement(), -1); 8959 } 8960 if (element.hasBenefitPeriod()) { 8961 composePeriod(t, "InsuranceComponent", "benefitPeriod", element.getBenefitPeriod(), -1); 8962 } 8963 for (int i = 0; i < element.getItem().size(); i++) { 8964 composeCoverageEligibilityResponseItemsComponent(t, "InsuranceComponent", "item", element.getItem().get(i), i); 8965 } 8966 } 8967 8968 protected void composeCoverageEligibilityResponseItemsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ItemsComponent element, int index) { 8969 if (element == null) 8970 return; 8971 Complex t; 8972 if (Utilities.noString(parentType)) 8973 t = parent; 8974 else { 8975 t = parent.predicate("fhir:"+parentType+'.'+name); 8976 } 8977 composeBackboneElement(t, "item", name, element, index); 8978 if (element.hasCategory()) { 8979 composeCodeableConcept(t, "ItemsComponent", "category", element.getCategory(), -1); 8980 } 8981 if (element.hasProductOrService()) { 8982 composeCodeableConcept(t, "ItemsComponent", "productOrService", element.getProductOrService(), -1); 8983 } 8984 for (int i = 0; i < element.getModifier().size(); i++) { 8985 composeCodeableConcept(t, "ItemsComponent", "modifier", element.getModifier().get(i), i); 8986 } 8987 if (element.hasProvider()) { 8988 composeReference(t, "ItemsComponent", "provider", element.getProvider(), -1); 8989 } 8990 if (element.hasExcludedElement()) { 8991 composeBoolean(t, "ItemsComponent", "excluded", element.getExcludedElement(), -1); 8992 } 8993 if (element.hasNameElement()) { 8994 composeString(t, "ItemsComponent", "name", element.getNameElement(), -1); 8995 } 8996 if (element.hasDescriptionElement()) { 8997 composeString(t, "ItemsComponent", "description", element.getDescriptionElement(), -1); 8998 } 8999 if (element.hasNetwork()) { 9000 composeCodeableConcept(t, "ItemsComponent", "network", element.getNetwork(), -1); 9001 } 9002 if (element.hasUnit()) { 9003 composeCodeableConcept(t, "ItemsComponent", "unit", element.getUnit(), -1); 9004 } 9005 if (element.hasTerm()) { 9006 composeCodeableConcept(t, "ItemsComponent", "term", element.getTerm(), -1); 9007 } 9008 for (int i = 0; i < element.getBenefit().size(); i++) { 9009 composeCoverageEligibilityResponseBenefitComponent(t, "ItemsComponent", "benefit", element.getBenefit().get(i), i); 9010 } 9011 if (element.hasAuthorizationRequiredElement()) { 9012 composeBoolean(t, "ItemsComponent", "authorizationRequired", element.getAuthorizationRequiredElement(), -1); 9013 } 9014 for (int i = 0; i < element.getAuthorizationSupporting().size(); i++) { 9015 composeCodeableConcept(t, "ItemsComponent", "authorizationSupporting", element.getAuthorizationSupporting().get(i), i); 9016 } 9017 if (element.hasAuthorizationUrlElement()) { 9018 composeUri(t, "ItemsComponent", "authorizationUrl", element.getAuthorizationUrlElement(), -1); 9019 } 9020 } 9021 9022 protected void composeCoverageEligibilityResponseBenefitComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.BenefitComponent 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 composeBackboneElement(t, "benefit", name, element, index); 9032 if (element.hasType()) { 9033 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 9034 } 9035 if (element.hasAllowed()) { 9036 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 9037 } 9038 if (element.hasUsed()) { 9039 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 9040 } 9041 } 9042 9043 protected void composeCoverageEligibilityResponseErrorsComponent(Complex parent, String parentType, String name, CoverageEligibilityResponse.ErrorsComponent element, int index) { 9044 if (element == null) 9045 return; 9046 Complex t; 9047 if (Utilities.noString(parentType)) 9048 t = parent; 9049 else { 9050 t = parent.predicate("fhir:"+parentType+'.'+name); 9051 } 9052 composeBackboneElement(t, "error", name, element, index); 9053 if (element.hasCode()) { 9054 composeCodeableConcept(t, "ErrorsComponent", "code", element.getCode(), -1); 9055 } 9056 } 9057 9058 protected void composeDetectedIssue(Complex parent, String parentType, String name, DetectedIssue element, int index) { 9059 if (element == null) 9060 return; 9061 Complex t; 9062 if (Utilities.noString(parentType)) 9063 t = parent; 9064 else { 9065 t = parent.predicate("fhir:"+parentType+'.'+name); 9066 } 9067 composeDomainResource(t, "DetectedIssue", name, element, index); 9068 for (int i = 0; i < element.getIdentifier().size(); i++) { 9069 composeIdentifier(t, "DetectedIssue", "identifier", element.getIdentifier().get(i), i); 9070 } 9071 if (element.hasStatusElement()) { 9072 composeEnum(t, "DetectedIssue", "status", element.getStatusElement(), -1); 9073 } 9074 for (int i = 0; i < element.getCategory().size(); i++) { 9075 composeCodeableConcept(t, "DetectedIssue", "category", element.getCategory().get(i), i); 9076 } 9077 if (element.hasCode()) { 9078 composeCodeableConcept(t, "DetectedIssue", "code", element.getCode(), -1); 9079 } 9080 if (element.hasSeverityElement()) { 9081 composeEnum(t, "DetectedIssue", "severity", element.getSeverityElement(), -1); 9082 } 9083 if (element.hasSubject()) { 9084 composeReference(t, "DetectedIssue", "subject", element.getSubject(), -1); 9085 } 9086 if (element.hasIdentified()) { 9087 composeType(t, "DetectedIssue", "identified", element.getIdentified(), -1); 9088 } 9089 if (element.hasAuthor()) { 9090 composeReference(t, "DetectedIssue", "author", element.getAuthor(), -1); 9091 } 9092 for (int i = 0; i < element.getImplicated().size(); i++) { 9093 composeReference(t, "DetectedIssue", "implicated", element.getImplicated().get(i), i); 9094 } 9095 for (int i = 0; i < element.getEvidence().size(); i++) { 9096 composeDetectedIssueEvidenceComponent(t, "DetectedIssue", "evidence", element.getEvidence().get(i), i); 9097 } 9098 if (element.hasDetailElement()) { 9099 composeString(t, "DetectedIssue", "detail", element.getDetailElement(), -1); 9100 } 9101 if (element.hasReferenceElement()) { 9102 composeUri(t, "DetectedIssue", "reference", element.getReferenceElement(), -1); 9103 } 9104 for (int i = 0; i < element.getMitigation().size(); i++) { 9105 composeDetectedIssueMitigationComponent(t, "DetectedIssue", "mitigation", element.getMitigation().get(i), i); 9106 } 9107 } 9108 9109 protected void composeDetectedIssueEvidenceComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueEvidenceComponent 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 composeBackboneElement(t, "evidence", name, element, index); 9119 for (int i = 0; i < element.getCode().size(); i++) { 9120 composeCodeableConcept(t, "DetectedIssueEvidenceComponent", "code", element.getCode().get(i), i); 9121 } 9122 for (int i = 0; i < element.getDetail().size(); i++) { 9123 composeReference(t, "DetectedIssueEvidenceComponent", "detail", element.getDetail().get(i), i); 9124 } 9125 } 9126 9127 protected void composeDetectedIssueMitigationComponent(Complex parent, String parentType, String name, DetectedIssue.DetectedIssueMitigationComponent element, int index) { 9128 if (element == null) 9129 return; 9130 Complex t; 9131 if (Utilities.noString(parentType)) 9132 t = parent; 9133 else { 9134 t = parent.predicate("fhir:"+parentType+'.'+name); 9135 } 9136 composeBackboneElement(t, "mitigation", name, element, index); 9137 if (element.hasAction()) { 9138 composeCodeableConcept(t, "DetectedIssueMitigationComponent", "action", element.getAction(), -1); 9139 } 9140 if (element.hasDateElement()) { 9141 composeDateTime(t, "DetectedIssueMitigationComponent", "date", element.getDateElement(), -1); 9142 } 9143 if (element.hasAuthor()) { 9144 composeReference(t, "DetectedIssueMitigationComponent", "author", element.getAuthor(), -1); 9145 } 9146 } 9147 9148 protected void composeDevice(Complex parent, String parentType, String name, Device element, int index) { 9149 if (element == null) 9150 return; 9151 Complex t; 9152 if (Utilities.noString(parentType)) 9153 t = parent; 9154 else { 9155 t = parent.predicate("fhir:"+parentType+'.'+name); 9156 } 9157 composeDomainResource(t, "Device", name, element, index); 9158 for (int i = 0; i < element.getIdentifier().size(); i++) { 9159 composeIdentifier(t, "Device", "identifier", element.getIdentifier().get(i), i); 9160 } 9161 if (element.hasDisplayNameElement()) { 9162 composeString(t, "Device", "displayName", element.getDisplayNameElement(), -1); 9163 } 9164 if (element.hasDefinition()) { 9165 composeCodeableReference(t, "Device", "definition", element.getDefinition(), -1); 9166 } 9167 for (int i = 0; i < element.getUdiCarrier().size(); i++) { 9168 composeDeviceUdiCarrierComponent(t, "Device", "udiCarrier", element.getUdiCarrier().get(i), i); 9169 } 9170 if (element.hasStatusElement()) { 9171 composeEnum(t, "Device", "status", element.getStatusElement(), -1); 9172 } 9173 if (element.hasAvailabilityStatus()) { 9174 composeCodeableConcept(t, "Device", "availabilityStatus", element.getAvailabilityStatus(), -1); 9175 } 9176 if (element.hasBiologicalSourceEvent()) { 9177 composeIdentifier(t, "Device", "biologicalSourceEvent", element.getBiologicalSourceEvent(), -1); 9178 } 9179 if (element.hasManufacturerElement()) { 9180 composeString(t, "Device", "manufacturer", element.getManufacturerElement(), -1); 9181 } 9182 if (element.hasManufactureDateElement()) { 9183 composeDateTime(t, "Device", "manufactureDate", element.getManufactureDateElement(), -1); 9184 } 9185 if (element.hasExpirationDateElement()) { 9186 composeDateTime(t, "Device", "expirationDate", element.getExpirationDateElement(), -1); 9187 } 9188 if (element.hasLotNumberElement()) { 9189 composeString(t, "Device", "lotNumber", element.getLotNumberElement(), -1); 9190 } 9191 if (element.hasSerialNumberElement()) { 9192 composeString(t, "Device", "serialNumber", element.getSerialNumberElement(), -1); 9193 } 9194 for (int i = 0; i < element.getDeviceName().size(); i++) { 9195 composeDeviceDeviceNameComponent(t, "Device", "deviceName", element.getDeviceName().get(i), i); 9196 } 9197 if (element.hasModelNumberElement()) { 9198 composeString(t, "Device", "modelNumber", element.getModelNumberElement(), -1); 9199 } 9200 if (element.hasPartNumberElement()) { 9201 composeString(t, "Device", "partNumber", element.getPartNumberElement(), -1); 9202 } 9203 for (int i = 0; i < element.getCategory().size(); i++) { 9204 composeCodeableConcept(t, "Device", "category", element.getCategory().get(i), i); 9205 } 9206 for (int i = 0; i < element.getType().size(); i++) { 9207 composeCodeableConcept(t, "Device", "type", element.getType().get(i), i); 9208 } 9209 for (int i = 0; i < element.getVersion().size(); i++) { 9210 composeDeviceVersionComponent(t, "Device", "version", element.getVersion().get(i), i); 9211 } 9212 for (int i = 0; i < element.getSpecialization().size(); i++) { 9213 composeDeviceSpecializationComponent(t, "Device", "specialization", element.getSpecialization().get(i), i); 9214 } 9215 for (int i = 0; i < element.getProperty().size(); i++) { 9216 composeDevicePropertyComponent(t, "Device", "property", element.getProperty().get(i), i); 9217 } 9218 for (int i = 0; i < element.getOperation().size(); i++) { 9219 composeDeviceOperationComponent(t, "Device", "operation", element.getOperation().get(i), i); 9220 } 9221 for (int i = 0; i < element.getAssociation().size(); i++) { 9222 composeDeviceAssociationComponent(t, "Device", "association", element.getAssociation().get(i), i); 9223 } 9224 if (element.hasOwner()) { 9225 composeReference(t, "Device", "owner", element.getOwner(), -1); 9226 } 9227 for (int i = 0; i < element.getContact().size(); i++) { 9228 composeContactPoint(t, "Device", "contact", element.getContact().get(i), i); 9229 } 9230 if (element.hasLocation()) { 9231 composeReference(t, "Device", "location", element.getLocation(), -1); 9232 } 9233 if (element.hasUrlElement()) { 9234 composeUri(t, "Device", "url", element.getUrlElement(), -1); 9235 } 9236 for (int i = 0; i < element.getEndpoint().size(); i++) { 9237 composeReference(t, "Device", "endpoint", element.getEndpoint().get(i), i); 9238 } 9239 for (int i = 0; i < element.getGateway().size(); i++) { 9240 composeCodeableReference(t, "Device", "gateway", element.getGateway().get(i), i); 9241 } 9242 for (int i = 0; i < element.getNote().size(); i++) { 9243 composeAnnotation(t, "Device", "note", element.getNote().get(i), i); 9244 } 9245 for (int i = 0; i < element.getSafety().size(); i++) { 9246 composeCodeableConcept(t, "Device", "safety", element.getSafety().get(i), i); 9247 } 9248 if (element.hasParent()) { 9249 composeReference(t, "Device", "parent", element.getParent(), -1); 9250 } 9251 } 9252 9253 protected void composeDeviceUdiCarrierComponent(Complex parent, String parentType, String name, Device.DeviceUdiCarrierComponent element, int index) { 9254 if (element == null) 9255 return; 9256 Complex t; 9257 if (Utilities.noString(parentType)) 9258 t = parent; 9259 else { 9260 t = parent.predicate("fhir:"+parentType+'.'+name); 9261 } 9262 composeBackboneElement(t, "udiCarrier", name, element, index); 9263 if (element.hasDeviceIdentifierElement()) { 9264 composeString(t, "DeviceUdiCarrierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9265 } 9266 if (element.hasIssuerElement()) { 9267 composeUri(t, "DeviceUdiCarrierComponent", "issuer", element.getIssuerElement(), -1); 9268 } 9269 if (element.hasJurisdictionElement()) { 9270 composeUri(t, "DeviceUdiCarrierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9271 } 9272 if (element.hasCarrierAIDCElement()) { 9273 composeBase64Binary(t, "DeviceUdiCarrierComponent", "carrierAIDC", element.getCarrierAIDCElement(), -1); 9274 } 9275 if (element.hasCarrierHRFElement()) { 9276 composeString(t, "DeviceUdiCarrierComponent", "carrierHRF", element.getCarrierHRFElement(), -1); 9277 } 9278 if (element.hasEntryTypeElement()) { 9279 composeEnum(t, "DeviceUdiCarrierComponent", "entryType", element.getEntryTypeElement(), -1); 9280 } 9281 } 9282 9283 protected void composeDeviceDeviceNameComponent(Complex parent, String parentType, String name, Device.DeviceDeviceNameComponent element, int index) { 9284 if (element == null) 9285 return; 9286 Complex t; 9287 if (Utilities.noString(parentType)) 9288 t = parent; 9289 else { 9290 t = parent.predicate("fhir:"+parentType+'.'+name); 9291 } 9292 composeBackboneElement(t, "deviceName", name, element, index); 9293 if (element.hasNameElement()) { 9294 composeString(t, "DeviceDeviceNameComponent", "name", element.getNameElement(), -1); 9295 } 9296 if (element.hasTypeElement()) { 9297 composeEnum(t, "DeviceDeviceNameComponent", "type", element.getTypeElement(), -1); 9298 } 9299 } 9300 9301 protected void composeDeviceVersionComponent(Complex parent, String parentType, String name, Device.DeviceVersionComponent element, int index) { 9302 if (element == null) 9303 return; 9304 Complex t; 9305 if (Utilities.noString(parentType)) 9306 t = parent; 9307 else { 9308 t = parent.predicate("fhir:"+parentType+'.'+name); 9309 } 9310 composeBackboneElement(t, "version", name, element, index); 9311 if (element.hasType()) { 9312 composeCodeableConcept(t, "DeviceVersionComponent", "type", element.getType(), -1); 9313 } 9314 if (element.hasComponent()) { 9315 composeIdentifier(t, "DeviceVersionComponent", "component", element.getComponent(), -1); 9316 } 9317 if (element.hasInstallDateElement()) { 9318 composeDateTime(t, "DeviceVersionComponent", "installDate", element.getInstallDateElement(), -1); 9319 } 9320 if (element.hasValueElement()) { 9321 composeString(t, "DeviceVersionComponent", "value", element.getValueElement(), -1); 9322 } 9323 } 9324 9325 protected void composeDeviceSpecializationComponent(Complex parent, String parentType, String name, Device.DeviceSpecializationComponent element, int index) { 9326 if (element == null) 9327 return; 9328 Complex t; 9329 if (Utilities.noString(parentType)) 9330 t = parent; 9331 else { 9332 t = parent.predicate("fhir:"+parentType+'.'+name); 9333 } 9334 composeBackboneElement(t, "specialization", name, element, index); 9335 if (element.hasSystemType()) { 9336 composeCodeableConcept(t, "DeviceSpecializationComponent", "systemType", element.getSystemType(), -1); 9337 } 9338 if (element.hasVersionElement()) { 9339 composeString(t, "DeviceSpecializationComponent", "version", element.getVersionElement(), -1); 9340 } 9341 if (element.hasCategory()) { 9342 composeCoding(t, "DeviceSpecializationComponent", "category", element.getCategory(), -1); 9343 } 9344 } 9345 9346 protected void composeDevicePropertyComponent(Complex parent, String parentType, String name, Device.DevicePropertyComponent element, int index) { 9347 if (element == null) 9348 return; 9349 Complex t; 9350 if (Utilities.noString(parentType)) 9351 t = parent; 9352 else { 9353 t = parent.predicate("fhir:"+parentType+'.'+name); 9354 } 9355 composeBackboneElement(t, "property", name, element, index); 9356 if (element.hasType()) { 9357 composeCodeableConcept(t, "DevicePropertyComponent", "type", element.getType(), -1); 9358 } 9359 if (element.hasValue()) { 9360 composeType(t, "DevicePropertyComponent", "value", element.getValue(), -1); 9361 } 9362 } 9363 9364 protected void composeDeviceOperationComponent(Complex parent, String parentType, String name, Device.DeviceOperationComponent element, int index) { 9365 if (element == null) 9366 return; 9367 Complex t; 9368 if (Utilities.noString(parentType)) 9369 t = parent; 9370 else { 9371 t = parent.predicate("fhir:"+parentType+'.'+name); 9372 } 9373 composeBackboneElement(t, "operation", name, element, index); 9374 if (element.hasStatus()) { 9375 composeCodeableConcept(t, "DeviceOperationComponent", "status", element.getStatus(), -1); 9376 } 9377 for (int i = 0; i < element.getStatusReason().size(); i++) { 9378 composeCodeableConcept(t, "DeviceOperationComponent", "statusReason", element.getStatusReason().get(i), i); 9379 } 9380 for (int i = 0; i < element.getOperator().size(); i++) { 9381 composeReference(t, "DeviceOperationComponent", "operator", element.getOperator().get(i), i); 9382 } 9383 if (element.hasMode()) { 9384 composeCodeableConcept(t, "DeviceOperationComponent", "mode", element.getMode(), -1); 9385 } 9386 if (element.hasCycle()) { 9387 composeCount(t, "DeviceOperationComponent", "cycle", element.getCycle(), -1); 9388 } 9389 if (element.hasDuration()) { 9390 composeDuration(t, "DeviceOperationComponent", "duration", element.getDuration(), -1); 9391 } 9392 } 9393 9394 protected void composeDeviceAssociationComponent(Complex parent, String parentType, String name, Device.DeviceAssociationComponent element, int index) { 9395 if (element == null) 9396 return; 9397 Complex t; 9398 if (Utilities.noString(parentType)) 9399 t = parent; 9400 else { 9401 t = parent.predicate("fhir:"+parentType+'.'+name); 9402 } 9403 composeBackboneElement(t, "association", name, element, index); 9404 if (element.hasStatus()) { 9405 composeCodeableConcept(t, "DeviceAssociationComponent", "status", element.getStatus(), -1); 9406 } 9407 for (int i = 0; i < element.getStatusReason().size(); i++) { 9408 composeCodeableConcept(t, "DeviceAssociationComponent", "statusReason", element.getStatusReason().get(i), i); 9409 } 9410 if (element.hasHumanSubject()) { 9411 composeReference(t, "DeviceAssociationComponent", "humanSubject", element.getHumanSubject(), -1); 9412 } 9413 if (element.hasBodyStructure()) { 9414 composeCodeableReference(t, "DeviceAssociationComponent", "bodyStructure", element.getBodyStructure(), -1); 9415 } 9416 } 9417 9418 protected void composeDeviceDefinition(Complex parent, String parentType, String name, DeviceDefinition element, int index) { 9419 if (element == null) 9420 return; 9421 Complex t; 9422 if (Utilities.noString(parentType)) 9423 t = parent; 9424 else { 9425 t = parent.predicate("fhir:"+parentType+'.'+name); 9426 } 9427 composeDomainResource(t, "DeviceDefinition", name, element, index); 9428 if (element.hasDescriptionElement()) { 9429 composeMarkdown(t, "DeviceDefinition", "description", element.getDescriptionElement(), -1); 9430 } 9431 for (int i = 0; i < element.getIdentifier().size(); i++) { 9432 composeIdentifier(t, "DeviceDefinition", "identifier", element.getIdentifier().get(i), i); 9433 } 9434 for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { 9435 composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinition", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); 9436 } 9437 for (int i = 0; i < element.getRegulatoryIdentifier().size(); i++) { 9438 composeDeviceDefinitionRegulatoryIdentifierComponent(t, "DeviceDefinition", "regulatoryIdentifier", element.getRegulatoryIdentifier().get(i), i); 9439 } 9440 if (element.hasPartNumberElement()) { 9441 composeString(t, "DeviceDefinition", "partNumber", element.getPartNumberElement(), -1); 9442 } 9443 if (element.hasManufacturer()) { 9444 composeReference(t, "DeviceDefinition", "manufacturer", element.getManufacturer(), -1); 9445 } 9446 for (int i = 0; i < element.getDeviceName().size(); i++) { 9447 composeDeviceDefinitionDeviceNameComponent(t, "DeviceDefinition", "deviceName", element.getDeviceName().get(i), i); 9448 } 9449 if (element.hasModelNumberElement()) { 9450 composeString(t, "DeviceDefinition", "modelNumber", element.getModelNumberElement(), -1); 9451 } 9452 for (int i = 0; i < element.getClassification().size(); i++) { 9453 composeDeviceDefinitionClassificationComponent(t, "DeviceDefinition", "classification", element.getClassification().get(i), i); 9454 } 9455 for (int i = 0; i < element.getSpecialization().size(); i++) { 9456 composeRelatedArtifact(t, "DeviceDefinition", "specialization", element.getSpecialization().get(i), i); 9457 } 9458 for (int i = 0; i < element.getHasPart().size(); i++) { 9459 composeDeviceDefinitionHasPartComponent(t, "DeviceDefinition", "hasPart", element.getHasPart().get(i), i); 9460 } 9461 for (int i = 0; i < element.getPackaging().size(); i++) { 9462 composeDeviceDefinitionPackagingComponent(t, "DeviceDefinition", "packaging", element.getPackaging().get(i), i); 9463 } 9464 for (int i = 0; i < element.getVersion().size(); i++) { 9465 composeDeviceDefinitionVersionComponent(t, "DeviceDefinition", "version", element.getVersion().get(i), i); 9466 } 9467 for (int i = 0; i < element.getSafety().size(); i++) { 9468 composeCodeableConcept(t, "DeviceDefinition", "safety", element.getSafety().get(i), i); 9469 } 9470 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 9471 composeProductShelfLife(t, "DeviceDefinition", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 9472 } 9473 for (int i = 0; i < element.getLanguageCode().size(); i++) { 9474 composeCodeableConcept(t, "DeviceDefinition", "languageCode", element.getLanguageCode().get(i), i); 9475 } 9476 for (int i = 0; i < element.getProperty().size(); i++) { 9477 composeDeviceDefinitionPropertyComponent(t, "DeviceDefinition", "property", element.getProperty().get(i), i); 9478 } 9479 if (element.hasOwner()) { 9480 composeReference(t, "DeviceDefinition", "owner", element.getOwner(), -1); 9481 } 9482 for (int i = 0; i < element.getContact().size(); i++) { 9483 composeContactPoint(t, "DeviceDefinition", "contact", element.getContact().get(i), i); 9484 } 9485 for (int i = 0; i < element.getLink().size(); i++) { 9486 composeDeviceDefinitionLinkComponent(t, "DeviceDefinition", "link", element.getLink().get(i), i); 9487 } 9488 for (int i = 0; i < element.getNote().size(); i++) { 9489 composeAnnotation(t, "DeviceDefinition", "note", element.getNote().get(i), i); 9490 } 9491 if (element.hasParentDevice()) { 9492 composeReference(t, "DeviceDefinition", "parentDevice", element.getParentDevice(), -1); 9493 } 9494 for (int i = 0; i < element.getMaterial().size(); i++) { 9495 composeDeviceDefinitionMaterialComponent(t, "DeviceDefinition", "material", element.getMaterial().get(i), i); 9496 } 9497 for (int i = 0; i < element.getProductionIdentifierInUDI().size(); i++) { 9498 composeEnum(t, "DeviceDefinition", "productionIdentifierInUDI", element.getProductionIdentifierInUDI().get(i), i); 9499 } 9500 if (element.hasGuideline()) { 9501 composeDeviceDefinitionGuidelineComponent(t, "DeviceDefinition", "guideline", element.getGuideline(), -1); 9502 } 9503 if (element.hasCorrectiveAction()) { 9504 composeDeviceDefinitionCorrectiveActionComponent(t, "DeviceDefinition", "correctiveAction", element.getCorrectiveAction(), -1); 9505 } 9506 for (int i = 0; i < element.getChargeItem().size(); i++) { 9507 composeDeviceDefinitionChargeItemComponent(t, "DeviceDefinition", "chargeItem", element.getChargeItem().get(i), i); 9508 } 9509 } 9510 9511 protected void composeDeviceDefinitionUdiDeviceIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent element, int index) { 9512 if (element == null) 9513 return; 9514 Complex t; 9515 if (Utilities.noString(parentType)) 9516 t = parent; 9517 else { 9518 t = parent.predicate("fhir:"+parentType+'.'+name); 9519 } 9520 composeBackboneElement(t, "udiDeviceIdentifier", name, element, index); 9521 if (element.hasDeviceIdentifierElement()) { 9522 composeString(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9523 } 9524 if (element.hasIssuerElement()) { 9525 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "issuer", element.getIssuerElement(), -1); 9526 } 9527 if (element.hasJurisdictionElement()) { 9528 composeUri(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9529 } 9530 for (int i = 0; i < element.getMarketDistribution().size(); i++) { 9531 composeDeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent(t, "DeviceDefinitionUdiDeviceIdentifierComponent", "marketDistribution", element.getMarketDistribution().get(i), i); 9532 } 9533 } 9534 9535 protected void composeDeviceDefinitionUdiDeviceIdentifierMarketDistributionComponent(Complex parent, String parentType, String name, DeviceDefinition.UdiDeviceIdentifierMarketDistributionComponent element, int index) { 9536 if (element == null) 9537 return; 9538 Complex t; 9539 if (Utilities.noString(parentType)) 9540 t = parent; 9541 else { 9542 t = parent.predicate("fhir:"+parentType+'.'+name); 9543 } 9544 composeBackboneElement(t, "marketDistribution", name, element, index); 9545 if (element.hasMarketPeriod()) { 9546 composePeriod(t, "UdiDeviceIdentifierMarketDistributionComponent", "marketPeriod", element.getMarketPeriod(), -1); 9547 } 9548 if (element.hasSubJurisdictionElement()) { 9549 composeUri(t, "UdiDeviceIdentifierMarketDistributionComponent", "subJurisdiction", element.getSubJurisdictionElement(), -1); 9550 } 9551 } 9552 9553 protected void composeDeviceDefinitionRegulatoryIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element, int index) { 9554 if (element == null) 9555 return; 9556 Complex t; 9557 if (Utilities.noString(parentType)) 9558 t = parent; 9559 else { 9560 t = parent.predicate("fhir:"+parentType+'.'+name); 9561 } 9562 composeBackboneElement(t, "regulatoryIdentifier", name, element, index); 9563 if (element.hasTypeElement()) { 9564 composeEnum(t, "DeviceDefinitionRegulatoryIdentifierComponent", "type", element.getTypeElement(), -1); 9565 } 9566 if (element.hasDeviceIdentifierElement()) { 9567 composeString(t, "DeviceDefinitionRegulatoryIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); 9568 } 9569 if (element.hasIssuerElement()) { 9570 composeUri(t, "DeviceDefinitionRegulatoryIdentifierComponent", "issuer", element.getIssuerElement(), -1); 9571 } 9572 if (element.hasJurisdictionElement()) { 9573 composeUri(t, "DeviceDefinitionRegulatoryIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); 9574 } 9575 } 9576 9577 protected void composeDeviceDefinitionDeviceNameComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element, int index) { 9578 if (element == null) 9579 return; 9580 Complex t; 9581 if (Utilities.noString(parentType)) 9582 t = parent; 9583 else { 9584 t = parent.predicate("fhir:"+parentType+'.'+name); 9585 } 9586 composeBackboneElement(t, "deviceName", name, element, index); 9587 if (element.hasNameElement()) { 9588 composeString(t, "DeviceDefinitionDeviceNameComponent", "name", element.getNameElement(), -1); 9589 } 9590 if (element.hasTypeElement()) { 9591 composeEnum(t, "DeviceDefinitionDeviceNameComponent", "type", element.getTypeElement(), -1); 9592 } 9593 } 9594 9595 protected void composeDeviceDefinitionClassificationComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionClassificationComponent element, int index) { 9596 if (element == null) 9597 return; 9598 Complex t; 9599 if (Utilities.noString(parentType)) 9600 t = parent; 9601 else { 9602 t = parent.predicate("fhir:"+parentType+'.'+name); 9603 } 9604 composeBackboneElement(t, "classification", name, element, index); 9605 if (element.hasType()) { 9606 composeCodeableConcept(t, "DeviceDefinitionClassificationComponent", "type", element.getType(), -1); 9607 } 9608 for (int i = 0; i < element.getJustification().size(); i++) { 9609 composeRelatedArtifact(t, "DeviceDefinitionClassificationComponent", "justification", element.getJustification().get(i), i); 9610 } 9611 } 9612 9613 protected void composeDeviceDefinitionHasPartComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionHasPartComponent element, int index) { 9614 if (element == null) 9615 return; 9616 Complex t; 9617 if (Utilities.noString(parentType)) 9618 t = parent; 9619 else { 9620 t = parent.predicate("fhir:"+parentType+'.'+name); 9621 } 9622 composeBackboneElement(t, "hasPart", name, element, index); 9623 if (element.hasReference()) { 9624 composeReference(t, "DeviceDefinitionHasPartComponent", "reference", element.getReference(), -1); 9625 } 9626 if (element.hasCountElement()) { 9627 composeInteger(t, "DeviceDefinitionHasPartComponent", "count", element.getCountElement(), -1); 9628 } 9629 } 9630 9631 protected void composeDeviceDefinitionPackagingComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingComponent element, int index) { 9632 if (element == null) 9633 return; 9634 Complex t; 9635 if (Utilities.noString(parentType)) 9636 t = parent; 9637 else { 9638 t = parent.predicate("fhir:"+parentType+'.'+name); 9639 } 9640 composeBackboneElement(t, "packaging", name, element, index); 9641 if (element.hasIdentifier()) { 9642 composeIdentifier(t, "DeviceDefinitionPackagingComponent", "identifier", element.getIdentifier(), -1); 9643 } 9644 if (element.hasType()) { 9645 composeCodeableConcept(t, "DeviceDefinitionPackagingComponent", "type", element.getType(), -1); 9646 } 9647 if (element.hasCountElement()) { 9648 composeInteger(t, "DeviceDefinitionPackagingComponent", "count", element.getCountElement(), -1); 9649 } 9650 for (int i = 0; i < element.getDistributor().size(); i++) { 9651 composeDeviceDefinitionPackagingDistributorComponent(t, "DeviceDefinitionPackagingComponent", "distributor", element.getDistributor().get(i), i); 9652 } 9653 for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { 9654 composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinitionPackagingComponent", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); 9655 } 9656 for (int i = 0; i < element.getPackaging().size(); i++) { 9657 composeDeviceDefinitionPackagingComponent(t, "DeviceDefinitionPackagingComponent", "packaging", element.getPackaging().get(i), i); 9658 } 9659 } 9660 9661 protected void composeDeviceDefinitionPackagingDistributorComponent(Complex parent, String parentType, String name, DeviceDefinition.PackagingDistributorComponent element, int index) { 9662 if (element == null) 9663 return; 9664 Complex t; 9665 if (Utilities.noString(parentType)) 9666 t = parent; 9667 else { 9668 t = parent.predicate("fhir:"+parentType+'.'+name); 9669 } 9670 composeBackboneElement(t, "distributor", name, element, index); 9671 if (element.hasNameElement()) { 9672 composeString(t, "PackagingDistributorComponent", "name", element.getNameElement(), -1); 9673 } 9674 for (int i = 0; i < element.getOrganizationReference().size(); i++) { 9675 composeReference(t, "PackagingDistributorComponent", "organizationReference", element.getOrganizationReference().get(i), i); 9676 } 9677 } 9678 9679 protected void composeDeviceDefinitionVersionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionVersionComponent element, int index) { 9680 if (element == null) 9681 return; 9682 Complex t; 9683 if (Utilities.noString(parentType)) 9684 t = parent; 9685 else { 9686 t = parent.predicate("fhir:"+parentType+'.'+name); 9687 } 9688 composeBackboneElement(t, "version", name, element, index); 9689 if (element.hasType()) { 9690 composeCodeableConcept(t, "DeviceDefinitionVersionComponent", "type", element.getType(), -1); 9691 } 9692 if (element.hasComponent()) { 9693 composeIdentifier(t, "DeviceDefinitionVersionComponent", "component", element.getComponent(), -1); 9694 } 9695 if (element.hasValueElement()) { 9696 composeString(t, "DeviceDefinitionVersionComponent", "value", element.getValueElement(), -1); 9697 } 9698 } 9699 9700 protected void composeDeviceDefinitionPropertyComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPropertyComponent element, int index) { 9701 if (element == null) 9702 return; 9703 Complex t; 9704 if (Utilities.noString(parentType)) 9705 t = parent; 9706 else { 9707 t = parent.predicate("fhir:"+parentType+'.'+name); 9708 } 9709 composeBackboneElement(t, "property", name, element, index); 9710 if (element.hasType()) { 9711 composeCodeableConcept(t, "DeviceDefinitionPropertyComponent", "type", element.getType(), -1); 9712 } 9713 if (element.hasValue()) { 9714 composeType(t, "DeviceDefinitionPropertyComponent", "value", element.getValue(), -1); 9715 } 9716 } 9717 9718 protected void composeDeviceDefinitionLinkComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionLinkComponent element, int index) { 9719 if (element == null) 9720 return; 9721 Complex t; 9722 if (Utilities.noString(parentType)) 9723 t = parent; 9724 else { 9725 t = parent.predicate("fhir:"+parentType+'.'+name); 9726 } 9727 composeBackboneElement(t, "link", name, element, index); 9728 if (element.hasRelation()) { 9729 composeCoding(t, "DeviceDefinitionLinkComponent", "relation", element.getRelation(), -1); 9730 } 9731 if (element.hasRelatedDevice()) { 9732 composeCodeableReference(t, "DeviceDefinitionLinkComponent", "relatedDevice", element.getRelatedDevice(), -1); 9733 } 9734 } 9735 9736 protected void composeDeviceDefinitionMaterialComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionMaterialComponent element, int index) { 9737 if (element == null) 9738 return; 9739 Complex t; 9740 if (Utilities.noString(parentType)) 9741 t = parent; 9742 else { 9743 t = parent.predicate("fhir:"+parentType+'.'+name); 9744 } 9745 composeBackboneElement(t, "material", name, element, index); 9746 if (element.hasSubstance()) { 9747 composeCodeableConcept(t, "DeviceDefinitionMaterialComponent", "substance", element.getSubstance(), -1); 9748 } 9749 if (element.hasAlternateElement()) { 9750 composeBoolean(t, "DeviceDefinitionMaterialComponent", "alternate", element.getAlternateElement(), -1); 9751 } 9752 if (element.hasAllergenicIndicatorElement()) { 9753 composeBoolean(t, "DeviceDefinitionMaterialComponent", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 9754 } 9755 } 9756 9757 protected void composeDeviceDefinitionGuidelineComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionGuidelineComponent element, int index) { 9758 if (element == null) 9759 return; 9760 Complex t; 9761 if (Utilities.noString(parentType)) 9762 t = parent; 9763 else { 9764 t = parent.predicate("fhir:"+parentType+'.'+name); 9765 } 9766 composeBackboneElement(t, "guideline", name, element, index); 9767 for (int i = 0; i < element.getUseContext().size(); i++) { 9768 composeUsageContext(t, "DeviceDefinitionGuidelineComponent", "useContext", element.getUseContext().get(i), i); 9769 } 9770 if (element.hasUsageInstructionElement()) { 9771 composeMarkdown(t, "DeviceDefinitionGuidelineComponent", "usageInstruction", element.getUsageInstructionElement(), -1); 9772 } 9773 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 9774 composeRelatedArtifact(t, "DeviceDefinitionGuidelineComponent", "relatedArtifact", element.getRelatedArtifact().get(i), i); 9775 } 9776 for (int i = 0; i < element.getIndication().size(); i++) { 9777 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "indication", element.getIndication().get(i), i); 9778 } 9779 for (int i = 0; i < element.getContraindication().size(); i++) { 9780 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "contraindication", element.getContraindication().get(i), i); 9781 } 9782 for (int i = 0; i < element.getWarning().size(); i++) { 9783 composeCodeableReference(t, "DeviceDefinitionGuidelineComponent", "warning", element.getWarning().get(i), i); 9784 } 9785 if (element.hasIntendedUseElement()) { 9786 composeString(t, "DeviceDefinitionGuidelineComponent", "intendedUse", element.getIntendedUseElement(), -1); 9787 } 9788 } 9789 9790 protected void composeDeviceDefinitionCorrectiveActionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionCorrectiveActionComponent element, int index) { 9791 if (element == null) 9792 return; 9793 Complex t; 9794 if (Utilities.noString(parentType)) 9795 t = parent; 9796 else { 9797 t = parent.predicate("fhir:"+parentType+'.'+name); 9798 } 9799 composeBackboneElement(t, "correctiveAction", name, element, index); 9800 if (element.hasRecallElement()) { 9801 composeBoolean(t, "DeviceDefinitionCorrectiveActionComponent", "recall", element.getRecallElement(), -1); 9802 } 9803 if (element.hasScopeElement()) { 9804 composeEnum(t, "DeviceDefinitionCorrectiveActionComponent", "scope", element.getScopeElement(), -1); 9805 } 9806 if (element.hasPeriod()) { 9807 composePeriod(t, "DeviceDefinitionCorrectiveActionComponent", "period", element.getPeriod(), -1); 9808 } 9809 } 9810 9811 protected void composeDeviceDefinitionChargeItemComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionChargeItemComponent element, int index) { 9812 if (element == null) 9813 return; 9814 Complex t; 9815 if (Utilities.noString(parentType)) 9816 t = parent; 9817 else { 9818 t = parent.predicate("fhir:"+parentType+'.'+name); 9819 } 9820 composeBackboneElement(t, "chargeItem", name, element, index); 9821 if (element.hasChargeItemCode()) { 9822 composeCodeableReference(t, "DeviceDefinitionChargeItemComponent", "chargeItemCode", element.getChargeItemCode(), -1); 9823 } 9824 if (element.hasCount()) { 9825 composeQuantity(t, "DeviceDefinitionChargeItemComponent", "count", element.getCount(), -1); 9826 } 9827 if (element.hasEffectivePeriod()) { 9828 composePeriod(t, "DeviceDefinitionChargeItemComponent", "effectivePeriod", element.getEffectivePeriod(), -1); 9829 } 9830 for (int i = 0; i < element.getUseContext().size(); i++) { 9831 composeUsageContext(t, "DeviceDefinitionChargeItemComponent", "useContext", element.getUseContext().get(i), i); 9832 } 9833 } 9834 9835 protected void composeDeviceDispense(Complex parent, String parentType, String name, DeviceDispense element, int index) { 9836 if (element == null) 9837 return; 9838 Complex t; 9839 if (Utilities.noString(parentType)) 9840 t = parent; 9841 else { 9842 t = parent.predicate("fhir:"+parentType+'.'+name); 9843 } 9844 composeDomainResource(t, "DeviceDispense", name, element, index); 9845 for (int i = 0; i < element.getIdentifier().size(); i++) { 9846 composeIdentifier(t, "DeviceDispense", "identifier", element.getIdentifier().get(i), i); 9847 } 9848 for (int i = 0; i < element.getBasedOn().size(); i++) { 9849 composeReference(t, "DeviceDispense", "basedOn", element.getBasedOn().get(i), i); 9850 } 9851 for (int i = 0; i < element.getPartOf().size(); i++) { 9852 composeReference(t, "DeviceDispense", "partOf", element.getPartOf().get(i), i); 9853 } 9854 if (element.hasStatusElement()) { 9855 composeEnum(t, "DeviceDispense", "status", element.getStatusElement(), -1); 9856 } 9857 if (element.hasStatusReason()) { 9858 composeCodeableReference(t, "DeviceDispense", "statusReason", element.getStatusReason(), -1); 9859 } 9860 for (int i = 0; i < element.getCategory().size(); i++) { 9861 composeCodeableConcept(t, "DeviceDispense", "category", element.getCategory().get(i), i); 9862 } 9863 if (element.hasDevice()) { 9864 composeCodeableReference(t, "DeviceDispense", "device", element.getDevice(), -1); 9865 } 9866 if (element.hasSubject()) { 9867 composeReference(t, "DeviceDispense", "subject", element.getSubject(), -1); 9868 } 9869 if (element.hasEncounter()) { 9870 composeReference(t, "DeviceDispense", "encounter", element.getEncounter(), -1); 9871 } 9872 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 9873 composeReference(t, "DeviceDispense", "supportingInformation", element.getSupportingInformation().get(i), i); 9874 } 9875 for (int i = 0; i < element.getPerformer().size(); i++) { 9876 composeDeviceDispensePerformerComponent(t, "DeviceDispense", "performer", element.getPerformer().get(i), i); 9877 } 9878 if (element.hasLocation()) { 9879 composeReference(t, "DeviceDispense", "location", element.getLocation(), -1); 9880 } 9881 if (element.hasType()) { 9882 composeCodeableConcept(t, "DeviceDispense", "type", element.getType(), -1); 9883 } 9884 if (element.hasQuantity()) { 9885 composeQuantity(t, "DeviceDispense", "quantity", element.getQuantity(), -1); 9886 } 9887 if (element.hasPreparedDateElement()) { 9888 composeDateTime(t, "DeviceDispense", "preparedDate", element.getPreparedDateElement(), -1); 9889 } 9890 if (element.hasWhenHandedOverElement()) { 9891 composeDateTime(t, "DeviceDispense", "whenHandedOver", element.getWhenHandedOverElement(), -1); 9892 } 9893 if (element.hasDestination()) { 9894 composeReference(t, "DeviceDispense", "destination", element.getDestination(), -1); 9895 } 9896 for (int i = 0; i < element.getNote().size(); i++) { 9897 composeAnnotation(t, "DeviceDispense", "note", element.getNote().get(i), i); 9898 } 9899 if (element.hasUsageInstructionElement()) { 9900 composeString(t, "DeviceDispense", "usageInstruction", element.getUsageInstructionElement(), -1); 9901 } 9902 for (int i = 0; i < element.getEventHistory().size(); i++) { 9903 composeReference(t, "DeviceDispense", "eventHistory", element.getEventHistory().get(i), i); 9904 } 9905 } 9906 9907 protected void composeDeviceDispensePerformerComponent(Complex parent, String parentType, String name, DeviceDispense.DeviceDispensePerformerComponent element, int index) { 9908 if (element == null) 9909 return; 9910 Complex t; 9911 if (Utilities.noString(parentType)) 9912 t = parent; 9913 else { 9914 t = parent.predicate("fhir:"+parentType+'.'+name); 9915 } 9916 composeBackboneElement(t, "performer", name, element, index); 9917 if (element.hasFunction()) { 9918 composeCodeableConcept(t, "DeviceDispensePerformerComponent", "function", element.getFunction(), -1); 9919 } 9920 if (element.hasActor()) { 9921 composeReference(t, "DeviceDispensePerformerComponent", "actor", element.getActor(), -1); 9922 } 9923 } 9924 9925 protected void composeDeviceMetric(Complex parent, String parentType, String name, DeviceMetric element, int index) { 9926 if (element == null) 9927 return; 9928 Complex t; 9929 if (Utilities.noString(parentType)) 9930 t = parent; 9931 else { 9932 t = parent.predicate("fhir:"+parentType+'.'+name); 9933 } 9934 composeDomainResource(t, "DeviceMetric", name, element, index); 9935 for (int i = 0; i < element.getIdentifier().size(); i++) { 9936 composeIdentifier(t, "DeviceMetric", "identifier", element.getIdentifier().get(i), i); 9937 } 9938 if (element.hasType()) { 9939 composeCodeableConcept(t, "DeviceMetric", "type", element.getType(), -1); 9940 } 9941 if (element.hasUnit()) { 9942 composeCodeableConcept(t, "DeviceMetric", "unit", element.getUnit(), -1); 9943 } 9944 if (element.hasSource()) { 9945 composeReference(t, "DeviceMetric", "source", element.getSource(), -1); 9946 } 9947 if (element.hasParent()) { 9948 composeReference(t, "DeviceMetric", "parent", element.getParent(), -1); 9949 } 9950 if (element.hasOperationalStatusElement()) { 9951 composeEnum(t, "DeviceMetric", "operationalStatus", element.getOperationalStatusElement(), -1); 9952 } 9953 if (element.hasColorElement()) { 9954 composeEnum(t, "DeviceMetric", "color", element.getColorElement(), -1); 9955 } 9956 if (element.hasCategoryElement()) { 9957 composeEnum(t, "DeviceMetric", "category", element.getCategoryElement(), -1); 9958 } 9959 if (element.hasMeasurementPeriod()) { 9960 composeTiming(t, "DeviceMetric", "measurementPeriod", element.getMeasurementPeriod(), -1); 9961 } 9962 for (int i = 0; i < element.getCalibration().size(); i++) { 9963 composeDeviceMetricCalibrationComponent(t, "DeviceMetric", "calibration", element.getCalibration().get(i), i); 9964 } 9965 } 9966 9967 protected void composeDeviceMetricCalibrationComponent(Complex parent, String parentType, String name, DeviceMetric.DeviceMetricCalibrationComponent element, int index) { 9968 if (element == null) 9969 return; 9970 Complex t; 9971 if (Utilities.noString(parentType)) 9972 t = parent; 9973 else { 9974 t = parent.predicate("fhir:"+parentType+'.'+name); 9975 } 9976 composeBackboneElement(t, "calibration", name, element, index); 9977 if (element.hasTypeElement()) { 9978 composeEnum(t, "DeviceMetricCalibrationComponent", "type", element.getTypeElement(), -1); 9979 } 9980 if (element.hasStateElement()) { 9981 composeEnum(t, "DeviceMetricCalibrationComponent", "state", element.getStateElement(), -1); 9982 } 9983 if (element.hasTimeElement()) { 9984 composeInstant(t, "DeviceMetricCalibrationComponent", "time", element.getTimeElement(), -1); 9985 } 9986 } 9987 9988 protected void composeDeviceRequest(Complex parent, String parentType, String name, DeviceRequest element, int index) { 9989 if (element == null) 9990 return; 9991 Complex t; 9992 if (Utilities.noString(parentType)) 9993 t = parent; 9994 else { 9995 t = parent.predicate("fhir:"+parentType+'.'+name); 9996 } 9997 composeDomainResource(t, "DeviceRequest", name, element, index); 9998 for (int i = 0; i < element.getIdentifier().size(); i++) { 9999 composeIdentifier(t, "DeviceRequest", "identifier", element.getIdentifier().get(i), i); 10000 } 10001 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 10002 composeCanonical(t, "DeviceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 10003 } 10004 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 10005 composeUri(t, "DeviceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 10006 } 10007 for (int i = 0; i < element.getBasedOn().size(); i++) { 10008 composeReference(t, "DeviceRequest", "basedOn", element.getBasedOn().get(i), i); 10009 } 10010 for (int i = 0; i < element.getReplaces().size(); i++) { 10011 composeReference(t, "DeviceRequest", "replaces", element.getReplaces().get(i), i); 10012 } 10013 if (element.hasGroupIdentifier()) { 10014 composeIdentifier(t, "DeviceRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 10015 } 10016 if (element.hasStatusElement()) { 10017 composeEnum(t, "DeviceRequest", "status", element.getStatusElement(), -1); 10018 } 10019 if (element.hasIntentElement()) { 10020 composeEnum(t, "DeviceRequest", "intent", element.getIntentElement(), -1); 10021 } 10022 if (element.hasPriorityElement()) { 10023 composeEnum(t, "DeviceRequest", "priority", element.getPriorityElement(), -1); 10024 } 10025 if (element.hasDoNotPerformElement()) { 10026 composeBoolean(t, "DeviceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 10027 } 10028 if (element.hasCode()) { 10029 composeCodeableReference(t, "DeviceRequest", "code", element.getCode(), -1); 10030 } 10031 if (element.hasQuantityElement()) { 10032 composeInteger(t, "DeviceRequest", "quantity", element.getQuantityElement(), -1); 10033 } 10034 for (int i = 0; i < element.getParameter().size(); i++) { 10035 composeDeviceRequestParameterComponent(t, "DeviceRequest", "parameter", element.getParameter().get(i), i); 10036 } 10037 if (element.hasSubject()) { 10038 composeReference(t, "DeviceRequest", "subject", element.getSubject(), -1); 10039 } 10040 if (element.hasEncounter()) { 10041 composeReference(t, "DeviceRequest", "encounter", element.getEncounter(), -1); 10042 } 10043 if (element.hasOccurrence()) { 10044 composeType(t, "DeviceRequest", "occurrence", element.getOccurrence(), -1); 10045 } 10046 if (element.hasAuthoredOnElement()) { 10047 composeDateTime(t, "DeviceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 10048 } 10049 if (element.hasRequester()) { 10050 composeReference(t, "DeviceRequest", "requester", element.getRequester(), -1); 10051 } 10052 if (element.hasPerformerType()) { 10053 composeCodeableConcept(t, "DeviceRequest", "performerType", element.getPerformerType(), -1); 10054 } 10055 if (element.hasPerformer()) { 10056 composeReference(t, "DeviceRequest", "performer", element.getPerformer(), -1); 10057 } 10058 for (int i = 0; i < element.getReason().size(); i++) { 10059 composeCodeableReference(t, "DeviceRequest", "reason", element.getReason().get(i), i); 10060 } 10061 if (element.hasAsNeededElement()) { 10062 composeBoolean(t, "DeviceRequest", "asNeeded", element.getAsNeededElement(), -1); 10063 } 10064 if (element.hasAsNeededFor()) { 10065 composeCodeableConcept(t, "DeviceRequest", "asNeededFor", element.getAsNeededFor(), -1); 10066 } 10067 for (int i = 0; i < element.getInsurance().size(); i++) { 10068 composeReference(t, "DeviceRequest", "insurance", element.getInsurance().get(i), i); 10069 } 10070 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 10071 composeReference(t, "DeviceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 10072 } 10073 for (int i = 0; i < element.getNote().size(); i++) { 10074 composeAnnotation(t, "DeviceRequest", "note", element.getNote().get(i), i); 10075 } 10076 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 10077 composeReference(t, "DeviceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 10078 } 10079 } 10080 10081 protected void composeDeviceRequestParameterComponent(Complex parent, String parentType, String name, DeviceRequest.DeviceRequestParameterComponent element, int index) { 10082 if (element == null) 10083 return; 10084 Complex t; 10085 if (Utilities.noString(parentType)) 10086 t = parent; 10087 else { 10088 t = parent.predicate("fhir:"+parentType+'.'+name); 10089 } 10090 composeBackboneElement(t, "parameter", name, element, index); 10091 if (element.hasCode()) { 10092 composeCodeableConcept(t, "DeviceRequestParameterComponent", "code", element.getCode(), -1); 10093 } 10094 if (element.hasValue()) { 10095 composeType(t, "DeviceRequestParameterComponent", "value", element.getValue(), -1); 10096 } 10097 } 10098 10099 protected void composeDeviceUsage(Complex parent, String parentType, String name, DeviceUsage element, int index) { 10100 if (element == null) 10101 return; 10102 Complex t; 10103 if (Utilities.noString(parentType)) 10104 t = parent; 10105 else { 10106 t = parent.predicate("fhir:"+parentType+'.'+name); 10107 } 10108 composeDomainResource(t, "DeviceUsage", name, element, index); 10109 for (int i = 0; i < element.getIdentifier().size(); i++) { 10110 composeIdentifier(t, "DeviceUsage", "identifier", element.getIdentifier().get(i), i); 10111 } 10112 for (int i = 0; i < element.getBasedOn().size(); i++) { 10113 composeReference(t, "DeviceUsage", "basedOn", element.getBasedOn().get(i), i); 10114 } 10115 if (element.hasStatusElement()) { 10116 composeEnum(t, "DeviceUsage", "status", element.getStatusElement(), -1); 10117 } 10118 for (int i = 0; i < element.getCategory().size(); i++) { 10119 composeCodeableConcept(t, "DeviceUsage", "category", element.getCategory().get(i), i); 10120 } 10121 if (element.hasPatient()) { 10122 composeReference(t, "DeviceUsage", "patient", element.getPatient(), -1); 10123 } 10124 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 10125 composeReference(t, "DeviceUsage", "derivedFrom", element.getDerivedFrom().get(i), i); 10126 } 10127 if (element.hasContext()) { 10128 composeReference(t, "DeviceUsage", "context", element.getContext(), -1); 10129 } 10130 if (element.hasTiming()) { 10131 composeType(t, "DeviceUsage", "timing", element.getTiming(), -1); 10132 } 10133 if (element.hasDateAssertedElement()) { 10134 composeDateTime(t, "DeviceUsage", "dateAsserted", element.getDateAssertedElement(), -1); 10135 } 10136 if (element.hasUsageStatus()) { 10137 composeCodeableConcept(t, "DeviceUsage", "usageStatus", element.getUsageStatus(), -1); 10138 } 10139 for (int i = 0; i < element.getUsageReason().size(); i++) { 10140 composeCodeableConcept(t, "DeviceUsage", "usageReason", element.getUsageReason().get(i), i); 10141 } 10142 if (element.hasAdherence()) { 10143 composeDeviceUsageAdherenceComponent(t, "DeviceUsage", "adherence", element.getAdherence(), -1); 10144 } 10145 if (element.hasInformationSource()) { 10146 composeReference(t, "DeviceUsage", "informationSource", element.getInformationSource(), -1); 10147 } 10148 if (element.hasDevice()) { 10149 composeCodeableReference(t, "DeviceUsage", "device", element.getDevice(), -1); 10150 } 10151 for (int i = 0; i < element.getReason().size(); i++) { 10152 composeCodeableReference(t, "DeviceUsage", "reason", element.getReason().get(i), i); 10153 } 10154 if (element.hasBodySite()) { 10155 composeCodeableReference(t, "DeviceUsage", "bodySite", element.getBodySite(), -1); 10156 } 10157 for (int i = 0; i < element.getNote().size(); i++) { 10158 composeAnnotation(t, "DeviceUsage", "note", element.getNote().get(i), i); 10159 } 10160 } 10161 10162 protected void composeDeviceUsageAdherenceComponent(Complex parent, String parentType, String name, DeviceUsage.DeviceUsageAdherenceComponent element, int index) { 10163 if (element == null) 10164 return; 10165 Complex t; 10166 if (Utilities.noString(parentType)) 10167 t = parent; 10168 else { 10169 t = parent.predicate("fhir:"+parentType+'.'+name); 10170 } 10171 composeBackboneElement(t, "adherence", name, element, index); 10172 if (element.hasCode()) { 10173 composeCodeableConcept(t, "DeviceUsageAdherenceComponent", "code", element.getCode(), -1); 10174 } 10175 for (int i = 0; i < element.getReason().size(); i++) { 10176 composeCodeableConcept(t, "DeviceUsageAdherenceComponent", "reason", element.getReason().get(i), i); 10177 } 10178 } 10179 10180 protected void composeDiagnosticReport(Complex parent, String parentType, String name, DiagnosticReport element, int index) { 10181 if (element == null) 10182 return; 10183 Complex t; 10184 if (Utilities.noString(parentType)) 10185 t = parent; 10186 else { 10187 t = parent.predicate("fhir:"+parentType+'.'+name); 10188 } 10189 composeDomainResource(t, "DiagnosticReport", name, element, index); 10190 for (int i = 0; i < element.getIdentifier().size(); i++) { 10191 composeIdentifier(t, "DiagnosticReport", "identifier", element.getIdentifier().get(i), i); 10192 } 10193 for (int i = 0; i < element.getBasedOn().size(); i++) { 10194 composeReference(t, "DiagnosticReport", "basedOn", element.getBasedOn().get(i), i); 10195 } 10196 if (element.hasStatusElement()) { 10197 composeEnum(t, "DiagnosticReport", "status", element.getStatusElement(), -1); 10198 } 10199 for (int i = 0; i < element.getCategory().size(); i++) { 10200 composeCodeableConcept(t, "DiagnosticReport", "category", element.getCategory().get(i), i); 10201 } 10202 if (element.hasCode()) { 10203 composeCodeableConcept(t, "DiagnosticReport", "code", element.getCode(), -1); 10204 } 10205 if (element.hasSubject()) { 10206 composeReference(t, "DiagnosticReport", "subject", element.getSubject(), -1); 10207 } 10208 if (element.hasEncounter()) { 10209 composeReference(t, "DiagnosticReport", "encounter", element.getEncounter(), -1); 10210 } 10211 if (element.hasEffective()) { 10212 composeType(t, "DiagnosticReport", "effective", element.getEffective(), -1); 10213 } 10214 if (element.hasIssuedElement()) { 10215 composeInstant(t, "DiagnosticReport", "issued", element.getIssuedElement(), -1); 10216 } 10217 for (int i = 0; i < element.getPerformer().size(); i++) { 10218 composeReference(t, "DiagnosticReport", "performer", element.getPerformer().get(i), i); 10219 } 10220 for (int i = 0; i < element.getResultsInterpreter().size(); i++) { 10221 composeReference(t, "DiagnosticReport", "resultsInterpreter", element.getResultsInterpreter().get(i), i); 10222 } 10223 for (int i = 0; i < element.getSpecimen().size(); i++) { 10224 composeReference(t, "DiagnosticReport", "specimen", element.getSpecimen().get(i), i); 10225 } 10226 for (int i = 0; i < element.getResult().size(); i++) { 10227 composeReference(t, "DiagnosticReport", "result", element.getResult().get(i), i); 10228 } 10229 for (int i = 0; i < element.getNote().size(); i++) { 10230 composeAnnotation(t, "DiagnosticReport", "note", element.getNote().get(i), i); 10231 } 10232 for (int i = 0; i < element.getStudy().size(); i++) { 10233 composeReference(t, "DiagnosticReport", "study", element.getStudy().get(i), i); 10234 } 10235 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 10236 composeDiagnosticReportSupportingInfoComponent(t, "DiagnosticReport", "supportingInfo", element.getSupportingInfo().get(i), i); 10237 } 10238 for (int i = 0; i < element.getMedia().size(); i++) { 10239 composeDiagnosticReportMediaComponent(t, "DiagnosticReport", "media", element.getMedia().get(i), i); 10240 } 10241 if (element.hasComposition()) { 10242 composeReference(t, "DiagnosticReport", "composition", element.getComposition(), -1); 10243 } 10244 if (element.hasConclusionElement()) { 10245 composeString(t, "DiagnosticReport", "conclusion", element.getConclusionElement(), -1); 10246 } 10247 for (int i = 0; i < element.getConclusionCode().size(); i++) { 10248 composeCodeableConcept(t, "DiagnosticReport", "conclusionCode", element.getConclusionCode().get(i), i); 10249 } 10250 for (int i = 0; i < element.getPresentedForm().size(); i++) { 10251 composeAttachment(t, "DiagnosticReport", "presentedForm", element.getPresentedForm().get(i), i); 10252 } 10253 } 10254 10255 protected void composeDiagnosticReportSupportingInfoComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportSupportingInfoComponent element, int index) { 10256 if (element == null) 10257 return; 10258 Complex t; 10259 if (Utilities.noString(parentType)) 10260 t = parent; 10261 else { 10262 t = parent.predicate("fhir:"+parentType+'.'+name); 10263 } 10264 composeBackboneElement(t, "supportingInfo", name, element, index); 10265 if (element.hasType()) { 10266 composeCodeableConcept(t, "DiagnosticReportSupportingInfoComponent", "type", element.getType(), -1); 10267 } 10268 if (element.hasReference()) { 10269 composeReference(t, "DiagnosticReportSupportingInfoComponent", "reference", element.getReference(), -1); 10270 } 10271 } 10272 10273 protected void composeDiagnosticReportMediaComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportMediaComponent element, int index) { 10274 if (element == null) 10275 return; 10276 Complex t; 10277 if (Utilities.noString(parentType)) 10278 t = parent; 10279 else { 10280 t = parent.predicate("fhir:"+parentType+'.'+name); 10281 } 10282 composeBackboneElement(t, "media", name, element, index); 10283 if (element.hasCommentElement()) { 10284 composeString(t, "DiagnosticReportMediaComponent", "comment", element.getCommentElement(), -1); 10285 } 10286 if (element.hasLink()) { 10287 composeReference(t, "DiagnosticReportMediaComponent", "link", element.getLink(), -1); 10288 } 10289 } 10290 10291 protected void composeDocumentManifest(Complex parent, String parentType, String name, DocumentManifest element, int index) { 10292 if (element == null) 10293 return; 10294 Complex t; 10295 if (Utilities.noString(parentType)) 10296 t = parent; 10297 else { 10298 t = parent.predicate("fhir:"+parentType+'.'+name); 10299 } 10300 composeDomainResource(t, "DocumentManifest", name, element, index); 10301 if (element.hasMasterIdentifier()) { 10302 composeIdentifier(t, "DocumentManifest", "masterIdentifier", element.getMasterIdentifier(), -1); 10303 } 10304 for (int i = 0; i < element.getIdentifier().size(); i++) { 10305 composeIdentifier(t, "DocumentManifest", "identifier", element.getIdentifier().get(i), i); 10306 } 10307 if (element.hasStatusElement()) { 10308 composeEnum(t, "DocumentManifest", "status", element.getStatusElement(), -1); 10309 } 10310 if (element.hasType()) { 10311 composeCodeableConcept(t, "DocumentManifest", "type", element.getType(), -1); 10312 } 10313 if (element.hasSubject()) { 10314 composeReference(t, "DocumentManifest", "subject", element.getSubject(), -1); 10315 } 10316 if (element.hasCreatedElement()) { 10317 composeDateTime(t, "DocumentManifest", "created", element.getCreatedElement(), -1); 10318 } 10319 for (int i = 0; i < element.getAuthor().size(); i++) { 10320 composeReference(t, "DocumentManifest", "author", element.getAuthor().get(i), i); 10321 } 10322 for (int i = 0; i < element.getRecipient().size(); i++) { 10323 composeReference(t, "DocumentManifest", "recipient", element.getRecipient().get(i), i); 10324 } 10325 if (element.hasSourceElement()) { 10326 composeUri(t, "DocumentManifest", "source", element.getSourceElement(), -1); 10327 } 10328 if (element.hasDescriptionElement()) { 10329 composeString(t, "DocumentManifest", "description", element.getDescriptionElement(), -1); 10330 } 10331 for (int i = 0; i < element.getContent().size(); i++) { 10332 composeReference(t, "DocumentManifest", "content", element.getContent().get(i), i); 10333 } 10334 for (int i = 0; i < element.getRelated().size(); i++) { 10335 composeDocumentManifestRelatedComponent(t, "DocumentManifest", "related", element.getRelated().get(i), i); 10336 } 10337 } 10338 10339 protected void composeDocumentManifestRelatedComponent(Complex parent, String parentType, String name, DocumentManifest.DocumentManifestRelatedComponent element, int index) { 10340 if (element == null) 10341 return; 10342 Complex t; 10343 if (Utilities.noString(parentType)) 10344 t = parent; 10345 else { 10346 t = parent.predicate("fhir:"+parentType+'.'+name); 10347 } 10348 composeBackboneElement(t, "related", name, element, index); 10349 if (element.hasIdentifier()) { 10350 composeIdentifier(t, "DocumentManifestRelatedComponent", "identifier", element.getIdentifier(), -1); 10351 } 10352 if (element.hasRef()) { 10353 composeReference(t, "DocumentManifestRelatedComponent", "ref", element.getRef(), -1); 10354 } 10355 } 10356 10357 protected void composeDocumentReference(Complex parent, String parentType, String name, DocumentReference 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 composeDomainResource(t, "DocumentReference", name, element, index); 10367 for (int i = 0; i < element.getIdentifier().size(); i++) { 10368 composeIdentifier(t, "DocumentReference", "identifier", element.getIdentifier().get(i), i); 10369 } 10370 for (int i = 0; i < element.getBasedOn().size(); i++) { 10371 composeReference(t, "DocumentReference", "basedOn", element.getBasedOn().get(i), i); 10372 } 10373 if (element.hasStatusElement()) { 10374 composeEnum(t, "DocumentReference", "status", element.getStatusElement(), -1); 10375 } 10376 if (element.hasDocStatusElement()) { 10377 composeEnum(t, "DocumentReference", "docStatus", element.getDocStatusElement(), -1); 10378 } 10379 if (element.hasType()) { 10380 composeCodeableConcept(t, "DocumentReference", "type", element.getType(), -1); 10381 } 10382 for (int i = 0; i < element.getCategory().size(); i++) { 10383 composeCodeableConcept(t, "DocumentReference", "category", element.getCategory().get(i), i); 10384 } 10385 if (element.hasSubject()) { 10386 composeReference(t, "DocumentReference", "subject", element.getSubject(), -1); 10387 } 10388 for (int i = 0; i < element.getContext().size(); i++) { 10389 composeReference(t, "DocumentReference", "context", element.getContext().get(i), i); 10390 } 10391 for (int i = 0; i < element.getEvent().size(); i++) { 10392 composeCodeableReference(t, "DocumentReference", "event", element.getEvent().get(i), i); 10393 } 10394 if (element.hasFacilityType()) { 10395 composeCodeableConcept(t, "DocumentReference", "facilityType", element.getFacilityType(), -1); 10396 } 10397 if (element.hasPracticeSetting()) { 10398 composeCodeableConcept(t, "DocumentReference", "practiceSetting", element.getPracticeSetting(), -1); 10399 } 10400 if (element.hasPeriod()) { 10401 composePeriod(t, "DocumentReference", "period", element.getPeriod(), -1); 10402 } 10403 if (element.hasDateElement()) { 10404 composeInstant(t, "DocumentReference", "date", element.getDateElement(), -1); 10405 } 10406 for (int i = 0; i < element.getAuthor().size(); i++) { 10407 composeReference(t, "DocumentReference", "author", element.getAuthor().get(i), i); 10408 } 10409 for (int i = 0; i < element.getAttester().size(); i++) { 10410 composeDocumentReferenceAttesterComponent(t, "DocumentReference", "attester", element.getAttester().get(i), i); 10411 } 10412 if (element.hasCustodian()) { 10413 composeReference(t, "DocumentReference", "custodian", element.getCustodian(), -1); 10414 } 10415 for (int i = 0; i < element.getRelatesTo().size(); i++) { 10416 composeDocumentReferenceRelatesToComponent(t, "DocumentReference", "relatesTo", element.getRelatesTo().get(i), i); 10417 } 10418 if (element.hasDescriptionElement()) { 10419 composeMarkdown(t, "DocumentReference", "description", element.getDescriptionElement(), -1); 10420 } 10421 for (int i = 0; i < element.getSecurityLabel().size(); i++) { 10422 composeCodeableConcept(t, "DocumentReference", "securityLabel", element.getSecurityLabel().get(i), i); 10423 } 10424 for (int i = 0; i < element.getContent().size(); i++) { 10425 composeDocumentReferenceContentComponent(t, "DocumentReference", "content", element.getContent().get(i), i); 10426 } 10427 } 10428 10429 protected void composeDocumentReferenceAttesterComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceAttesterComponent element, int index) { 10430 if (element == null) 10431 return; 10432 Complex t; 10433 if (Utilities.noString(parentType)) 10434 t = parent; 10435 else { 10436 t = parent.predicate("fhir:"+parentType+'.'+name); 10437 } 10438 composeBackboneElement(t, "attester", name, element, index); 10439 if (element.hasMode()) { 10440 composeCodeableConcept(t, "DocumentReferenceAttesterComponent", "mode", element.getMode(), -1); 10441 } 10442 if (element.hasTimeElement()) { 10443 composeDateTime(t, "DocumentReferenceAttesterComponent", "time", element.getTimeElement(), -1); 10444 } 10445 if (element.hasParty()) { 10446 composeReference(t, "DocumentReferenceAttesterComponent", "party", element.getParty(), -1); 10447 } 10448 } 10449 10450 protected void composeDocumentReferenceRelatesToComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceRelatesToComponent element, int index) { 10451 if (element == null) 10452 return; 10453 Complex t; 10454 if (Utilities.noString(parentType)) 10455 t = parent; 10456 else { 10457 t = parent.predicate("fhir:"+parentType+'.'+name); 10458 } 10459 composeBackboneElement(t, "relatesTo", name, element, index); 10460 if (element.hasCode()) { 10461 composeCodeableConcept(t, "DocumentReferenceRelatesToComponent", "code", element.getCode(), -1); 10462 } 10463 if (element.hasTarget()) { 10464 composeReference(t, "DocumentReferenceRelatesToComponent", "target", element.getTarget(), -1); 10465 } 10466 } 10467 10468 protected void composeDocumentReferenceContentComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceContentComponent element, int index) { 10469 if (element == null) 10470 return; 10471 Complex t; 10472 if (Utilities.noString(parentType)) 10473 t = parent; 10474 else { 10475 t = parent.predicate("fhir:"+parentType+'.'+name); 10476 } 10477 composeBackboneElement(t, "content", name, element, index); 10478 if (element.hasAttachment()) { 10479 composeAttachment(t, "DocumentReferenceContentComponent", "attachment", element.getAttachment(), -1); 10480 } 10481 for (int i = 0; i < element.getProfile().size(); i++) { 10482 composeDocumentReferenceContentProfileComponent(t, "DocumentReferenceContentComponent", "profile", element.getProfile().get(i), i); 10483 } 10484 } 10485 10486 protected void composeDocumentReferenceContentProfileComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceContentProfileComponent element, int index) { 10487 if (element == null) 10488 return; 10489 Complex t; 10490 if (Utilities.noString(parentType)) 10491 t = parent; 10492 else { 10493 t = parent.predicate("fhir:"+parentType+'.'+name); 10494 } 10495 composeBackboneElement(t, "profile", name, element, index); 10496 if (element.hasValue()) { 10497 composeType(t, "DocumentReferenceContentProfileComponent", "value", element.getValue(), -1); 10498 } 10499 } 10500 10501 protected void composeEncounter(Complex parent, String parentType, String name, Encounter 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 composeDomainResource(t, "Encounter", name, element, index); 10511 for (int i = 0; i < element.getIdentifier().size(); i++) { 10512 composeIdentifier(t, "Encounter", "identifier", element.getIdentifier().get(i), i); 10513 } 10514 if (element.hasStatusElement()) { 10515 composeEnum(t, "Encounter", "status", element.getStatusElement(), -1); 10516 } 10517 for (int i = 0; i < element.getStatusHistory().size(); i++) { 10518 composeEncounterStatusHistoryComponent(t, "Encounter", "statusHistory", element.getStatusHistory().get(i), i); 10519 } 10520 for (int i = 0; i < element.getClass_().size(); i++) { 10521 composeCodeableConcept(t, "Encounter", "class", element.getClass_().get(i), i); 10522 } 10523 for (int i = 0; i < element.getClassHistory().size(); i++) { 10524 composeEncounterClassHistoryComponent(t, "Encounter", "classHistory", element.getClassHistory().get(i), i); 10525 } 10526 if (element.hasPriority()) { 10527 composeCodeableConcept(t, "Encounter", "priority", element.getPriority(), -1); 10528 } 10529 for (int i = 0; i < element.getType().size(); i++) { 10530 composeCodeableConcept(t, "Encounter", "type", element.getType().get(i), i); 10531 } 10532 for (int i = 0; i < element.getServiceType().size(); i++) { 10533 composeCodeableReference(t, "Encounter", "serviceType", element.getServiceType().get(i), i); 10534 } 10535 if (element.hasSubject()) { 10536 composeReference(t, "Encounter", "subject", element.getSubject(), -1); 10537 } 10538 if (element.hasSubjectStatus()) { 10539 composeCodeableConcept(t, "Encounter", "subjectStatus", element.getSubjectStatus(), -1); 10540 } 10541 for (int i = 0; i < element.getEpisodeOfCare().size(); i++) { 10542 composeReference(t, "Encounter", "episodeOfCare", element.getEpisodeOfCare().get(i), i); 10543 } 10544 for (int i = 0; i < element.getBasedOn().size(); i++) { 10545 composeReference(t, "Encounter", "basedOn", element.getBasedOn().get(i), i); 10546 } 10547 for (int i = 0; i < element.getCareTeam().size(); i++) { 10548 composeReference(t, "Encounter", "careTeam", element.getCareTeam().get(i), i); 10549 } 10550 if (element.hasPartOf()) { 10551 composeReference(t, "Encounter", "partOf", element.getPartOf(), -1); 10552 } 10553 if (element.hasServiceProvider()) { 10554 composeReference(t, "Encounter", "serviceProvider", element.getServiceProvider(), -1); 10555 } 10556 for (int i = 0; i < element.getParticipant().size(); i++) { 10557 composeEncounterParticipantComponent(t, "Encounter", "participant", element.getParticipant().get(i), i); 10558 } 10559 for (int i = 0; i < element.getAppointment().size(); i++) { 10560 composeReference(t, "Encounter", "appointment", element.getAppointment().get(i), i); 10561 } 10562 for (int i = 0; i < element.getVirtualService().size(); i++) { 10563 composeVirtualServiceDetail(t, "Encounter", "virtualService", element.getVirtualService().get(i), i); 10564 } 10565 if (element.hasActualPeriod()) { 10566 composePeriod(t, "Encounter", "actualPeriod", element.getActualPeriod(), -1); 10567 } 10568 if (element.hasPlannedStartDateElement()) { 10569 composeDateTime(t, "Encounter", "plannedStartDate", element.getPlannedStartDateElement(), -1); 10570 } 10571 if (element.hasPlannedEndDateElement()) { 10572 composeDateTime(t, "Encounter", "plannedEndDate", element.getPlannedEndDateElement(), -1); 10573 } 10574 if (element.hasLength()) { 10575 composeDuration(t, "Encounter", "length", element.getLength(), -1); 10576 } 10577 for (int i = 0; i < element.getReason().size(); i++) { 10578 composeCodeableReference(t, "Encounter", "reason", element.getReason().get(i), i); 10579 } 10580 for (int i = 0; i < element.getDiagnosis().size(); i++) { 10581 composeEncounterDiagnosisComponent(t, "Encounter", "diagnosis", element.getDiagnosis().get(i), i); 10582 } 10583 for (int i = 0; i < element.getAccount().size(); i++) { 10584 composeReference(t, "Encounter", "account", element.getAccount().get(i), i); 10585 } 10586 if (element.hasAdmission()) { 10587 composeEncounterAdmissionComponent(t, "Encounter", "admission", element.getAdmission(), -1); 10588 } 10589 for (int i = 0; i < element.getLocation().size(); i++) { 10590 composeEncounterLocationComponent(t, "Encounter", "location", element.getLocation().get(i), i); 10591 } 10592 } 10593 10594 protected void composeEncounterStatusHistoryComponent(Complex parent, String parentType, String name, Encounter.StatusHistoryComponent element, int index) { 10595 if (element == null) 10596 return; 10597 Complex t; 10598 if (Utilities.noString(parentType)) 10599 t = parent; 10600 else { 10601 t = parent.predicate("fhir:"+parentType+'.'+name); 10602 } 10603 composeBackboneElement(t, "statusHistory", name, element, index); 10604 if (element.hasStatusElement()) { 10605 composeEnum(t, "StatusHistoryComponent", "status", element.getStatusElement(), -1); 10606 } 10607 if (element.hasPeriod()) { 10608 composePeriod(t, "StatusHistoryComponent", "period", element.getPeriod(), -1); 10609 } 10610 } 10611 10612 protected void composeEncounterClassHistoryComponent(Complex parent, String parentType, String name, Encounter.ClassHistoryComponent element, int index) { 10613 if (element == null) 10614 return; 10615 Complex t; 10616 if (Utilities.noString(parentType)) 10617 t = parent; 10618 else { 10619 t = parent.predicate("fhir:"+parentType+'.'+name); 10620 } 10621 composeBackboneElement(t, "classHistory", name, element, index); 10622 if (element.hasClass_()) { 10623 composeCoding(t, "ClassHistoryComponent", "class", element.getClass_(), -1); 10624 } 10625 if (element.hasPeriod()) { 10626 composePeriod(t, "ClassHistoryComponent", "period", element.getPeriod(), -1); 10627 } 10628 } 10629 10630 protected void composeEncounterParticipantComponent(Complex parent, String parentType, String name, Encounter.EncounterParticipantComponent element, int index) { 10631 if (element == null) 10632 return; 10633 Complex t; 10634 if (Utilities.noString(parentType)) 10635 t = parent; 10636 else { 10637 t = parent.predicate("fhir:"+parentType+'.'+name); 10638 } 10639 composeBackboneElement(t, "participant", name, element, index); 10640 for (int i = 0; i < element.getType().size(); i++) { 10641 composeCodeableConcept(t, "EncounterParticipantComponent", "type", element.getType().get(i), i); 10642 } 10643 if (element.hasPeriod()) { 10644 composePeriod(t, "EncounterParticipantComponent", "period", element.getPeriod(), -1); 10645 } 10646 if (element.hasActor()) { 10647 composeReference(t, "EncounterParticipantComponent", "actor", element.getActor(), -1); 10648 } 10649 } 10650 10651 protected void composeEncounterDiagnosisComponent(Complex parent, String parentType, String name, Encounter.DiagnosisComponent element, int index) { 10652 if (element == null) 10653 return; 10654 Complex t; 10655 if (Utilities.noString(parentType)) 10656 t = parent; 10657 else { 10658 t = parent.predicate("fhir:"+parentType+'.'+name); 10659 } 10660 composeBackboneElement(t, "diagnosis", name, element, index); 10661 if (element.hasCondition()) { 10662 composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 10663 } 10664 if (element.hasUse()) { 10665 composeCodeableConcept(t, "DiagnosisComponent", "use", element.getUse(), -1); 10666 } 10667 if (element.hasRankElement()) { 10668 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 10669 } 10670 } 10671 10672 protected void composeEncounterAdmissionComponent(Complex parent, String parentType, String name, Encounter.EncounterAdmissionComponent element, int index) { 10673 if (element == null) 10674 return; 10675 Complex t; 10676 if (Utilities.noString(parentType)) 10677 t = parent; 10678 else { 10679 t = parent.predicate("fhir:"+parentType+'.'+name); 10680 } 10681 composeBackboneElement(t, "admission", name, element, index); 10682 if (element.hasPreAdmissionIdentifier()) { 10683 composeIdentifier(t, "EncounterAdmissionComponent", "preAdmissionIdentifier", element.getPreAdmissionIdentifier(), -1); 10684 } 10685 if (element.hasOrigin()) { 10686 composeReference(t, "EncounterAdmissionComponent", "origin", element.getOrigin(), -1); 10687 } 10688 if (element.hasAdmitSource()) { 10689 composeCodeableConcept(t, "EncounterAdmissionComponent", "admitSource", element.getAdmitSource(), -1); 10690 } 10691 if (element.hasReAdmission()) { 10692 composeCodeableConcept(t, "EncounterAdmissionComponent", "reAdmission", element.getReAdmission(), -1); 10693 } 10694 for (int i = 0; i < element.getDietPreference().size(); i++) { 10695 composeCodeableConcept(t, "EncounterAdmissionComponent", "dietPreference", element.getDietPreference().get(i), i); 10696 } 10697 for (int i = 0; i < element.getSpecialCourtesy().size(); i++) { 10698 composeCodeableConcept(t, "EncounterAdmissionComponent", "specialCourtesy", element.getSpecialCourtesy().get(i), i); 10699 } 10700 for (int i = 0; i < element.getSpecialArrangement().size(); i++) { 10701 composeCodeableConcept(t, "EncounterAdmissionComponent", "specialArrangement", element.getSpecialArrangement().get(i), i); 10702 } 10703 if (element.hasDestination()) { 10704 composeReference(t, "EncounterAdmissionComponent", "destination", element.getDestination(), -1); 10705 } 10706 if (element.hasDischargeDisposition()) { 10707 composeCodeableConcept(t, "EncounterAdmissionComponent", "dischargeDisposition", element.getDischargeDisposition(), -1); 10708 } 10709 } 10710 10711 protected void composeEncounterLocationComponent(Complex parent, String parentType, String name, Encounter.EncounterLocationComponent element, int index) { 10712 if (element == null) 10713 return; 10714 Complex t; 10715 if (Utilities.noString(parentType)) 10716 t = parent; 10717 else { 10718 t = parent.predicate("fhir:"+parentType+'.'+name); 10719 } 10720 composeBackboneElement(t, "location", name, element, index); 10721 if (element.hasLocation()) { 10722 composeReference(t, "EncounterLocationComponent", "location", element.getLocation(), -1); 10723 } 10724 if (element.hasStatusElement()) { 10725 composeEnum(t, "EncounterLocationComponent", "status", element.getStatusElement(), -1); 10726 } 10727 if (element.hasForm()) { 10728 composeCodeableConcept(t, "EncounterLocationComponent", "form", element.getForm(), -1); 10729 } 10730 if (element.hasPeriod()) { 10731 composePeriod(t, "EncounterLocationComponent", "period", element.getPeriod(), -1); 10732 } 10733 } 10734 10735 protected void composeEndpoint(Complex parent, String parentType, String name, Endpoint element, int index) { 10736 if (element == null) 10737 return; 10738 Complex t; 10739 if (Utilities.noString(parentType)) 10740 t = parent; 10741 else { 10742 t = parent.predicate("fhir:"+parentType+'.'+name); 10743 } 10744 composeDomainResource(t, "Endpoint", name, element, index); 10745 for (int i = 0; i < element.getIdentifier().size(); i++) { 10746 composeIdentifier(t, "Endpoint", "identifier", element.getIdentifier().get(i), i); 10747 } 10748 if (element.hasStatusElement()) { 10749 composeEnum(t, "Endpoint", "status", element.getStatusElement(), -1); 10750 } 10751 for (int i = 0; i < element.getConnectionType().size(); i++) { 10752 composeCodeableConcept(t, "Endpoint", "connectionType", element.getConnectionType().get(i), i); 10753 } 10754 if (element.hasNameElement()) { 10755 composeString(t, "Endpoint", "name", element.getNameElement(), -1); 10756 } 10757 if (element.hasDescriptionElement()) { 10758 composeString(t, "Endpoint", "description", element.getDescriptionElement(), -1); 10759 } 10760 for (int i = 0; i < element.getEnvironmentType().size(); i++) { 10761 composeCodeableConcept(t, "Endpoint", "environmentType", element.getEnvironmentType().get(i), i); 10762 } 10763 if (element.hasManagingOrganization()) { 10764 composeReference(t, "Endpoint", "managingOrganization", element.getManagingOrganization(), -1); 10765 } 10766 for (int i = 0; i < element.getContact().size(); i++) { 10767 composeContactPoint(t, "Endpoint", "contact", element.getContact().get(i), i); 10768 } 10769 if (element.hasPeriod()) { 10770 composePeriod(t, "Endpoint", "period", element.getPeriod(), -1); 10771 } 10772 for (int i = 0; i < element.getPayloadType().size(); i++) { 10773 composeCodeableConcept(t, "Endpoint", "payloadType", element.getPayloadType().get(i), i); 10774 } 10775 for (int i = 0; i < element.getPayloadMimeType().size(); i++) { 10776 composeCode(t, "Endpoint", "payloadMimeType", element.getPayloadMimeType().get(i), i); 10777 } 10778 if (element.hasAddressElement()) { 10779 composeUrl(t, "Endpoint", "address", element.getAddressElement(), -1); 10780 } 10781 for (int i = 0; i < element.getHeader().size(); i++) { 10782 composeString(t, "Endpoint", "header", element.getHeader().get(i), i); 10783 } 10784 } 10785 10786 protected void composeEnrollmentRequest(Complex parent, String parentType, String name, EnrollmentRequest 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 composeDomainResource(t, "EnrollmentRequest", name, element, index); 10796 for (int i = 0; i < element.getIdentifier().size(); i++) { 10797 composeIdentifier(t, "EnrollmentRequest", "identifier", element.getIdentifier().get(i), i); 10798 } 10799 if (element.hasStatusElement()) { 10800 composeEnum(t, "EnrollmentRequest", "status", element.getStatusElement(), -1); 10801 } 10802 if (element.hasCreatedElement()) { 10803 composeDateTime(t, "EnrollmentRequest", "created", element.getCreatedElement(), -1); 10804 } 10805 if (element.hasInsurer()) { 10806 composeReference(t, "EnrollmentRequest", "insurer", element.getInsurer(), -1); 10807 } 10808 if (element.hasProvider()) { 10809 composeReference(t, "EnrollmentRequest", "provider", element.getProvider(), -1); 10810 } 10811 if (element.hasCandidate()) { 10812 composeReference(t, "EnrollmentRequest", "candidate", element.getCandidate(), -1); 10813 } 10814 if (element.hasCoverage()) { 10815 composeReference(t, "EnrollmentRequest", "coverage", element.getCoverage(), -1); 10816 } 10817 } 10818 10819 protected void composeEnrollmentResponse(Complex parent, String parentType, String name, EnrollmentResponse element, int index) { 10820 if (element == null) 10821 return; 10822 Complex t; 10823 if (Utilities.noString(parentType)) 10824 t = parent; 10825 else { 10826 t = parent.predicate("fhir:"+parentType+'.'+name); 10827 } 10828 composeDomainResource(t, "EnrollmentResponse", name, element, index); 10829 for (int i = 0; i < element.getIdentifier().size(); i++) { 10830 composeIdentifier(t, "EnrollmentResponse", "identifier", element.getIdentifier().get(i), i); 10831 } 10832 if (element.hasStatusElement()) { 10833 composeEnum(t, "EnrollmentResponse", "status", element.getStatusElement(), -1); 10834 } 10835 if (element.hasRequest()) { 10836 composeReference(t, "EnrollmentResponse", "request", element.getRequest(), -1); 10837 } 10838 if (element.hasOutcomeElement()) { 10839 composeEnum(t, "EnrollmentResponse", "outcome", element.getOutcomeElement(), -1); 10840 } 10841 if (element.hasDispositionElement()) { 10842 composeString(t, "EnrollmentResponse", "disposition", element.getDispositionElement(), -1); 10843 } 10844 if (element.hasCreatedElement()) { 10845 composeDateTime(t, "EnrollmentResponse", "created", element.getCreatedElement(), -1); 10846 } 10847 if (element.hasOrganization()) { 10848 composeReference(t, "EnrollmentResponse", "organization", element.getOrganization(), -1); 10849 } 10850 if (element.hasRequestProvider()) { 10851 composeReference(t, "EnrollmentResponse", "requestProvider", element.getRequestProvider(), -1); 10852 } 10853 } 10854 10855 protected void composeEpisodeOfCare(Complex parent, String parentType, String name, EpisodeOfCare element, int index) { 10856 if (element == null) 10857 return; 10858 Complex t; 10859 if (Utilities.noString(parentType)) 10860 t = parent; 10861 else { 10862 t = parent.predicate("fhir:"+parentType+'.'+name); 10863 } 10864 composeDomainResource(t, "EpisodeOfCare", name, element, index); 10865 for (int i = 0; i < element.getIdentifier().size(); i++) { 10866 composeIdentifier(t, "EpisodeOfCare", "identifier", element.getIdentifier().get(i), i); 10867 } 10868 if (element.hasStatusElement()) { 10869 composeEnum(t, "EpisodeOfCare", "status", element.getStatusElement(), -1); 10870 } 10871 for (int i = 0; i < element.getStatusHistory().size(); i++) { 10872 composeEpisodeOfCareStatusHistoryComponent(t, "EpisodeOfCare", "statusHistory", element.getStatusHistory().get(i), i); 10873 } 10874 for (int i = 0; i < element.getType().size(); i++) { 10875 composeCodeableConcept(t, "EpisodeOfCare", "type", element.getType().get(i), i); 10876 } 10877 for (int i = 0; i < element.getDiagnosis().size(); i++) { 10878 composeEpisodeOfCareDiagnosisComponent(t, "EpisodeOfCare", "diagnosis", element.getDiagnosis().get(i), i); 10879 } 10880 if (element.hasPatient()) { 10881 composeReference(t, "EpisodeOfCare", "patient", element.getPatient(), -1); 10882 } 10883 if (element.hasManagingOrganization()) { 10884 composeReference(t, "EpisodeOfCare", "managingOrganization", element.getManagingOrganization(), -1); 10885 } 10886 if (element.hasPeriod()) { 10887 composePeriod(t, "EpisodeOfCare", "period", element.getPeriod(), -1); 10888 } 10889 for (int i = 0; i < element.getReferralRequest().size(); i++) { 10890 composeReference(t, "EpisodeOfCare", "referralRequest", element.getReferralRequest().get(i), i); 10891 } 10892 if (element.hasCareManager()) { 10893 composeReference(t, "EpisodeOfCare", "careManager", element.getCareManager(), -1); 10894 } 10895 for (int i = 0; i < element.getCareTeam().size(); i++) { 10896 composeReference(t, "EpisodeOfCare", "careTeam", element.getCareTeam().get(i), i); 10897 } 10898 for (int i = 0; i < element.getAccount().size(); i++) { 10899 composeReference(t, "EpisodeOfCare", "account", element.getAccount().get(i), i); 10900 } 10901 } 10902 10903 protected void composeEpisodeOfCareStatusHistoryComponent(Complex parent, String parentType, String name, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element, int index) { 10904 if (element == null) 10905 return; 10906 Complex t; 10907 if (Utilities.noString(parentType)) 10908 t = parent; 10909 else { 10910 t = parent.predicate("fhir:"+parentType+'.'+name); 10911 } 10912 composeBackboneElement(t, "statusHistory", name, element, index); 10913 if (element.hasStatusElement()) { 10914 composeEnum(t, "EpisodeOfCareStatusHistoryComponent", "status", element.getStatusElement(), -1); 10915 } 10916 if (element.hasPeriod()) { 10917 composePeriod(t, "EpisodeOfCareStatusHistoryComponent", "period", element.getPeriod(), -1); 10918 } 10919 } 10920 10921 protected void composeEpisodeOfCareDiagnosisComponent(Complex parent, String parentType, String name, EpisodeOfCare.DiagnosisComponent 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 composeBackboneElement(t, "diagnosis", name, element, index); 10931 if (element.hasCondition()) { 10932 composeCodeableReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); 10933 } 10934 if (element.hasRole()) { 10935 composeCodeableConcept(t, "DiagnosisComponent", "role", element.getRole(), -1); 10936 } 10937 if (element.hasRankElement()) { 10938 composePositiveInt(t, "DiagnosisComponent", "rank", element.getRankElement(), -1); 10939 } 10940 } 10941 10942 protected void composeEventDefinition(Complex parent, String parentType, String name, EventDefinition element, int index) { 10943 if (element == null) 10944 return; 10945 Complex t; 10946 if (Utilities.noString(parentType)) 10947 t = parent; 10948 else { 10949 t = parent.predicate("fhir:"+parentType+'.'+name); 10950 } 10951 composeMetadataResource(t, "EventDefinition", name, element, index); 10952 if (element.hasUrlElement()) { 10953 composeUri(t, "EventDefinition", "url", element.getUrlElement(), -1); 10954 } 10955 for (int i = 0; i < element.getIdentifier().size(); i++) { 10956 composeIdentifier(t, "EventDefinition", "identifier", element.getIdentifier().get(i), i); 10957 } 10958 if (element.hasVersionElement()) { 10959 composeString(t, "EventDefinition", "version", element.getVersionElement(), -1); 10960 } 10961 if (element.hasNameElement()) { 10962 composeString(t, "EventDefinition", "name", element.getNameElement(), -1); 10963 } 10964 if (element.hasTitleElement()) { 10965 composeString(t, "EventDefinition", "title", element.getTitleElement(), -1); 10966 } 10967 if (element.hasSubtitleElement()) { 10968 composeString(t, "EventDefinition", "subtitle", element.getSubtitleElement(), -1); 10969 } 10970 if (element.hasStatusElement()) { 10971 composeEnum(t, "EventDefinition", "status", element.getStatusElement(), -1); 10972 } 10973 if (element.hasExperimentalElement()) { 10974 composeBoolean(t, "EventDefinition", "experimental", element.getExperimentalElement(), -1); 10975 } 10976 if (element.hasSubject()) { 10977 composeType(t, "EventDefinition", "subject", element.getSubject(), -1); 10978 } 10979 if (element.hasDateElement()) { 10980 composeDateTime(t, "EventDefinition", "date", element.getDateElement(), -1); 10981 } 10982 if (element.hasPublisherElement()) { 10983 composeString(t, "EventDefinition", "publisher", element.getPublisherElement(), -1); 10984 } 10985 for (int i = 0; i < element.getContact().size(); i++) { 10986 composeContactDetail(t, "EventDefinition", "contact", element.getContact().get(i), i); 10987 } 10988 if (element.hasDescriptionElement()) { 10989 composeMarkdown(t, "EventDefinition", "description", element.getDescriptionElement(), -1); 10990 } 10991 for (int i = 0; i < element.getUseContext().size(); i++) { 10992 composeUsageContext(t, "EventDefinition", "useContext", element.getUseContext().get(i), i); 10993 } 10994 for (int i = 0; i < element.getJurisdiction().size(); i++) { 10995 composeCodeableConcept(t, "EventDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 10996 } 10997 if (element.hasPurposeElement()) { 10998 composeMarkdown(t, "EventDefinition", "purpose", element.getPurposeElement(), -1); 10999 } 11000 if (element.hasUsageElement()) { 11001 composeString(t, "EventDefinition", "usage", element.getUsageElement(), -1); 11002 } 11003 if (element.hasCopyrightElement()) { 11004 composeMarkdown(t, "EventDefinition", "copyright", element.getCopyrightElement(), -1); 11005 } 11006 if (element.hasApprovalDateElement()) { 11007 composeDate(t, "EventDefinition", "approvalDate", element.getApprovalDateElement(), -1); 11008 } 11009 if (element.hasLastReviewDateElement()) { 11010 composeDate(t, "EventDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 11011 } 11012 if (element.hasEffectivePeriod()) { 11013 composePeriod(t, "EventDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 11014 } 11015 for (int i = 0; i < element.getTopic().size(); i++) { 11016 composeCodeableConcept(t, "EventDefinition", "topic", element.getTopic().get(i), i); 11017 } 11018 for (int i = 0; i < element.getAuthor().size(); i++) { 11019 composeContactDetail(t, "EventDefinition", "author", element.getAuthor().get(i), i); 11020 } 11021 for (int i = 0; i < element.getEditor().size(); i++) { 11022 composeContactDetail(t, "EventDefinition", "editor", element.getEditor().get(i), i); 11023 } 11024 for (int i = 0; i < element.getReviewer().size(); i++) { 11025 composeContactDetail(t, "EventDefinition", "reviewer", element.getReviewer().get(i), i); 11026 } 11027 for (int i = 0; i < element.getEndorser().size(); i++) { 11028 composeContactDetail(t, "EventDefinition", "endorser", element.getEndorser().get(i), i); 11029 } 11030 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11031 composeRelatedArtifact(t, "EventDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11032 } 11033 for (int i = 0; i < element.getTrigger().size(); i++) { 11034 composeTriggerDefinition(t, "EventDefinition", "trigger", element.getTrigger().get(i), i); 11035 } 11036 } 11037 11038 protected void composeEvidence(Complex parent, String parentType, String name, Evidence 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 composeMetadataResource(t, "Evidence", name, element, index); 11048 if (element.hasUrlElement()) { 11049 composeUri(t, "Evidence", "url", element.getUrlElement(), -1); 11050 } 11051 for (int i = 0; i < element.getIdentifier().size(); i++) { 11052 composeIdentifier(t, "Evidence", "identifier", element.getIdentifier().get(i), i); 11053 } 11054 if (element.hasVersionElement()) { 11055 composeString(t, "Evidence", "version", element.getVersionElement(), -1); 11056 } 11057 if (element.hasNameElement()) { 11058 composeString(t, "Evidence", "name", element.getNameElement(), -1); 11059 } 11060 if (element.hasTitleElement()) { 11061 composeString(t, "Evidence", "title", element.getTitleElement(), -1); 11062 } 11063 if (element.hasCiteAs()) { 11064 composeType(t, "Evidence", "citeAs", element.getCiteAs(), -1); 11065 } 11066 if (element.hasStatusElement()) { 11067 composeEnum(t, "Evidence", "status", element.getStatusElement(), -1); 11068 } 11069 if (element.hasExperimentalElement()) { 11070 composeBoolean(t, "Evidence", "experimental", element.getExperimentalElement(), -1); 11071 } 11072 if (element.hasDateElement()) { 11073 composeDateTime(t, "Evidence", "date", element.getDateElement(), -1); 11074 } 11075 for (int i = 0; i < element.getUseContext().size(); i++) { 11076 composeUsageContext(t, "Evidence", "useContext", element.getUseContext().get(i), i); 11077 } 11078 if (element.hasApprovalDateElement()) { 11079 composeDate(t, "Evidence", "approvalDate", element.getApprovalDateElement(), -1); 11080 } 11081 if (element.hasLastReviewDateElement()) { 11082 composeDate(t, "Evidence", "lastReviewDate", element.getLastReviewDateElement(), -1); 11083 } 11084 if (element.hasPublisherElement()) { 11085 composeString(t, "Evidence", "publisher", element.getPublisherElement(), -1); 11086 } 11087 for (int i = 0; i < element.getContact().size(); i++) { 11088 composeContactDetail(t, "Evidence", "contact", element.getContact().get(i), i); 11089 } 11090 for (int i = 0; i < element.getAuthor().size(); i++) { 11091 composeContactDetail(t, "Evidence", "author", element.getAuthor().get(i), i); 11092 } 11093 for (int i = 0; i < element.getEditor().size(); i++) { 11094 composeContactDetail(t, "Evidence", "editor", element.getEditor().get(i), i); 11095 } 11096 for (int i = 0; i < element.getReviewer().size(); i++) { 11097 composeContactDetail(t, "Evidence", "reviewer", element.getReviewer().get(i), i); 11098 } 11099 for (int i = 0; i < element.getEndorser().size(); i++) { 11100 composeContactDetail(t, "Evidence", "endorser", element.getEndorser().get(i), i); 11101 } 11102 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11103 composeRelatedArtifact(t, "Evidence", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11104 } 11105 if (element.hasDescriptionElement()) { 11106 composeMarkdown(t, "Evidence", "description", element.getDescriptionElement(), -1); 11107 } 11108 if (element.hasAssertionElement()) { 11109 composeMarkdown(t, "Evidence", "assertion", element.getAssertionElement(), -1); 11110 } 11111 for (int i = 0; i < element.getNote().size(); i++) { 11112 composeAnnotation(t, "Evidence", "note", element.getNote().get(i), i); 11113 } 11114 for (int i = 0; i < element.getVariableDefinition().size(); i++) { 11115 composeEvidenceVariableDefinitionComponent(t, "Evidence", "variableDefinition", element.getVariableDefinition().get(i), i); 11116 } 11117 if (element.hasSynthesisType()) { 11118 composeCodeableConcept(t, "Evidence", "synthesisType", element.getSynthesisType(), -1); 11119 } 11120 for (int i = 0; i < element.getStudyDesign().size(); i++) { 11121 composeCodeableConcept(t, "Evidence", "studyDesign", element.getStudyDesign().get(i), i); 11122 } 11123 for (int i = 0; i < element.getStatistic().size(); i++) { 11124 composeEvidenceStatisticComponent(t, "Evidence", "statistic", element.getStatistic().get(i), i); 11125 } 11126 for (int i = 0; i < element.getCertainty().size(); i++) { 11127 composeEvidenceCertaintyComponent(t, "Evidence", "certainty", element.getCertainty().get(i), i); 11128 } 11129 } 11130 11131 protected void composeEvidenceVariableDefinitionComponent(Complex parent, String parentType, String name, Evidence.EvidenceVariableDefinitionComponent element, int index) { 11132 if (element == null) 11133 return; 11134 Complex t; 11135 if (Utilities.noString(parentType)) 11136 t = parent; 11137 else { 11138 t = parent.predicate("fhir:"+parentType+'.'+name); 11139 } 11140 composeBackboneElement(t, "variableDefinition", name, element, index); 11141 if (element.hasDescriptionElement()) { 11142 composeMarkdown(t, "EvidenceVariableDefinitionComponent", "description", element.getDescriptionElement(), -1); 11143 } 11144 for (int i = 0; i < element.getNote().size(); i++) { 11145 composeAnnotation(t, "EvidenceVariableDefinitionComponent", "note", element.getNote().get(i), i); 11146 } 11147 if (element.hasVariableRole()) { 11148 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "variableRole", element.getVariableRole(), -1); 11149 } 11150 if (element.hasObserved()) { 11151 composeReference(t, "EvidenceVariableDefinitionComponent", "observed", element.getObserved(), -1); 11152 } 11153 if (element.hasIntended()) { 11154 composeReference(t, "EvidenceVariableDefinitionComponent", "intended", element.getIntended(), -1); 11155 } 11156 if (element.hasDirectnessMatch()) { 11157 composeCodeableConcept(t, "EvidenceVariableDefinitionComponent", "directnessMatch", element.getDirectnessMatch(), -1); 11158 } 11159 } 11160 11161 protected void composeEvidenceStatisticComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticComponent element, int index) { 11162 if (element == null) 11163 return; 11164 Complex t; 11165 if (Utilities.noString(parentType)) 11166 t = parent; 11167 else { 11168 t = parent.predicate("fhir:"+parentType+'.'+name); 11169 } 11170 composeBackboneElement(t, "statistic", name, element, index); 11171 if (element.hasDescriptionElement()) { 11172 composeString(t, "EvidenceStatisticComponent", "description", element.getDescriptionElement(), -1); 11173 } 11174 for (int i = 0; i < element.getNote().size(); i++) { 11175 composeAnnotation(t, "EvidenceStatisticComponent", "note", element.getNote().get(i), i); 11176 } 11177 if (element.hasStatisticType()) { 11178 composeCodeableConcept(t, "EvidenceStatisticComponent", "statisticType", element.getStatisticType(), -1); 11179 } 11180 if (element.hasCategory()) { 11181 composeCodeableConcept(t, "EvidenceStatisticComponent", "category", element.getCategory(), -1); 11182 } 11183 if (element.hasQuantity()) { 11184 composeQuantity(t, "EvidenceStatisticComponent", "quantity", element.getQuantity(), -1); 11185 } 11186 if (element.hasNumberOfEventsElement()) { 11187 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberOfEvents", element.getNumberOfEventsElement(), -1); 11188 } 11189 if (element.hasNumberAffectedElement()) { 11190 composeUnsignedInt(t, "EvidenceStatisticComponent", "numberAffected", element.getNumberAffectedElement(), -1); 11191 } 11192 if (element.hasSampleSize()) { 11193 composeEvidenceStatisticSampleSizeComponent(t, "EvidenceStatisticComponent", "sampleSize", element.getSampleSize(), -1); 11194 } 11195 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11196 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11197 } 11198 for (int i = 0; i < element.getModelCharacteristic().size(); i++) { 11199 composeEvidenceStatisticModelCharacteristicComponent(t, "EvidenceStatisticComponent", "modelCharacteristic", element.getModelCharacteristic().get(i), i); 11200 } 11201 } 11202 11203 protected void composeEvidenceStatisticSampleSizeComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticSampleSizeComponent element, int index) { 11204 if (element == null) 11205 return; 11206 Complex t; 11207 if (Utilities.noString(parentType)) 11208 t = parent; 11209 else { 11210 t = parent.predicate("fhir:"+parentType+'.'+name); 11211 } 11212 composeBackboneElement(t, "sampleSize", name, element, index); 11213 if (element.hasDescriptionElement()) { 11214 composeString(t, "EvidenceStatisticSampleSizeComponent", "description", element.getDescriptionElement(), -1); 11215 } 11216 for (int i = 0; i < element.getNote().size(); i++) { 11217 composeAnnotation(t, "EvidenceStatisticSampleSizeComponent", "note", element.getNote().get(i), i); 11218 } 11219 if (element.hasNumberOfStudiesElement()) { 11220 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfStudies", element.getNumberOfStudiesElement(), -1); 11221 } 11222 if (element.hasNumberOfParticipantsElement()) { 11223 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "numberOfParticipants", element.getNumberOfParticipantsElement(), -1); 11224 } 11225 if (element.hasKnownDataCountElement()) { 11226 composeUnsignedInt(t, "EvidenceStatisticSampleSizeComponent", "knownDataCount", element.getKnownDataCountElement(), -1); 11227 } 11228 } 11229 11230 protected void composeEvidenceStatisticAttributeEstimateComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticAttributeEstimateComponent element, int index) { 11231 if (element == null) 11232 return; 11233 Complex t; 11234 if (Utilities.noString(parentType)) 11235 t = parent; 11236 else { 11237 t = parent.predicate("fhir:"+parentType+'.'+name); 11238 } 11239 composeBackboneElement(t, "attributeEstimate", name, element, index); 11240 if (element.hasDescriptionElement()) { 11241 composeString(t, "EvidenceStatisticAttributeEstimateComponent", "description", element.getDescriptionElement(), -1); 11242 } 11243 for (int i = 0; i < element.getNote().size(); i++) { 11244 composeAnnotation(t, "EvidenceStatisticAttributeEstimateComponent", "note", element.getNote().get(i), i); 11245 } 11246 if (element.hasType()) { 11247 composeCodeableConcept(t, "EvidenceStatisticAttributeEstimateComponent", "type", element.getType(), -1); 11248 } 11249 if (element.hasQuantity()) { 11250 composeQuantity(t, "EvidenceStatisticAttributeEstimateComponent", "quantity", element.getQuantity(), -1); 11251 } 11252 if (element.hasLevelElement()) { 11253 composeDecimal(t, "EvidenceStatisticAttributeEstimateComponent", "level", element.getLevelElement(), -1); 11254 } 11255 if (element.hasRange()) { 11256 composeRange(t, "EvidenceStatisticAttributeEstimateComponent", "range", element.getRange(), -1); 11257 } 11258 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11259 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticAttributeEstimateComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11260 } 11261 } 11262 11263 protected void composeEvidenceStatisticModelCharacteristicComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicComponent element, int index) { 11264 if (element == null) 11265 return; 11266 Complex t; 11267 if (Utilities.noString(parentType)) 11268 t = parent; 11269 else { 11270 t = parent.predicate("fhir:"+parentType+'.'+name); 11271 } 11272 composeBackboneElement(t, "modelCharacteristic", name, element, index); 11273 if (element.hasCode()) { 11274 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicComponent", "code", element.getCode(), -1); 11275 } 11276 if (element.hasValue()) { 11277 composeQuantity(t, "EvidenceStatisticModelCharacteristicComponent", "value", element.getValue(), -1); 11278 } 11279 for (int i = 0; i < element.getVariable().size(); i++) { 11280 composeEvidenceStatisticModelCharacteristicVariableComponent(t, "EvidenceStatisticModelCharacteristicComponent", "variable", element.getVariable().get(i), i); 11281 } 11282 for (int i = 0; i < element.getAttributeEstimate().size(); i++) { 11283 composeEvidenceStatisticAttributeEstimateComponent(t, "EvidenceStatisticModelCharacteristicComponent", "attributeEstimate", element.getAttributeEstimate().get(i), i); 11284 } 11285 } 11286 11287 protected void composeEvidenceStatisticModelCharacteristicVariableComponent(Complex parent, String parentType, String name, Evidence.EvidenceStatisticModelCharacteristicVariableComponent 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, "variable", name, element, index); 11297 if (element.hasVariableDefinition()) { 11298 composeReference(t, "EvidenceStatisticModelCharacteristicVariableComponent", "variableDefinition", element.getVariableDefinition(), -1); 11299 } 11300 if (element.hasHandlingElement()) { 11301 composeEnum(t, "EvidenceStatisticModelCharacteristicVariableComponent", "handling", element.getHandlingElement(), -1); 11302 } 11303 for (int i = 0; i < element.getValueCategory().size(); i++) { 11304 composeCodeableConcept(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueCategory", element.getValueCategory().get(i), i); 11305 } 11306 for (int i = 0; i < element.getValueQuantity().size(); i++) { 11307 composeQuantity(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueQuantity", element.getValueQuantity().get(i), i); 11308 } 11309 for (int i = 0; i < element.getValueRange().size(); i++) { 11310 composeRange(t, "EvidenceStatisticModelCharacteristicVariableComponent", "valueRange", element.getValueRange().get(i), i); 11311 } 11312 } 11313 11314 protected void composeEvidenceCertaintyComponent(Complex parent, String parentType, String name, Evidence.EvidenceCertaintyComponent element, int index) { 11315 if (element == null) 11316 return; 11317 Complex t; 11318 if (Utilities.noString(parentType)) 11319 t = parent; 11320 else { 11321 t = parent.predicate("fhir:"+parentType+'.'+name); 11322 } 11323 composeBackboneElement(t, "certainty", name, element, index); 11324 if (element.hasDescriptionElement()) { 11325 composeString(t, "EvidenceCertaintyComponent", "description", element.getDescriptionElement(), -1); 11326 } 11327 for (int i = 0; i < element.getNote().size(); i++) { 11328 composeAnnotation(t, "EvidenceCertaintyComponent", "note", element.getNote().get(i), i); 11329 } 11330 if (element.hasType()) { 11331 composeCodeableConcept(t, "EvidenceCertaintyComponent", "type", element.getType(), -1); 11332 } 11333 if (element.hasRating()) { 11334 composeCodeableConcept(t, "EvidenceCertaintyComponent", "rating", element.getRating(), -1); 11335 } 11336 if (element.hasRaterElement()) { 11337 composeString(t, "EvidenceCertaintyComponent", "rater", element.getRaterElement(), -1); 11338 } 11339 for (int i = 0; i < element.getSubcomponent().size(); i++) { 11340 composeEvidenceCertaintyComponent(t, "EvidenceCertaintyComponent", "subcomponent", element.getSubcomponent().get(i), i); 11341 } 11342 } 11343 11344 protected void composeEvidenceReport(Complex parent, String parentType, String name, EvidenceReport element, int index) { 11345 if (element == null) 11346 return; 11347 Complex t; 11348 if (Utilities.noString(parentType)) 11349 t = parent; 11350 else { 11351 t = parent.predicate("fhir:"+parentType+'.'+name); 11352 } 11353 composeMetadataResource(t, "EvidenceReport", name, element, index); 11354 if (element.hasUrlElement()) { 11355 composeUri(t, "EvidenceReport", "url", element.getUrlElement(), -1); 11356 } 11357 if (element.hasStatusElement()) { 11358 composeEnum(t, "EvidenceReport", "status", element.getStatusElement(), -1); 11359 } 11360 for (int i = 0; i < element.getUseContext().size(); i++) { 11361 composeUsageContext(t, "EvidenceReport", "useContext", element.getUseContext().get(i), i); 11362 } 11363 for (int i = 0; i < element.getIdentifier().size(); i++) { 11364 composeIdentifier(t, "EvidenceReport", "identifier", element.getIdentifier().get(i), i); 11365 } 11366 for (int i = 0; i < element.getRelatedIdentifier().size(); i++) { 11367 composeIdentifier(t, "EvidenceReport", "relatedIdentifier", element.getRelatedIdentifier().get(i), i); 11368 } 11369 if (element.hasCiteAs()) { 11370 composeType(t, "EvidenceReport", "citeAs", element.getCiteAs(), -1); 11371 } 11372 if (element.hasType()) { 11373 composeCodeableConcept(t, "EvidenceReport", "type", element.getType(), -1); 11374 } 11375 for (int i = 0; i < element.getNote().size(); i++) { 11376 composeAnnotation(t, "EvidenceReport", "note", element.getNote().get(i), i); 11377 } 11378 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11379 composeRelatedArtifact(t, "EvidenceReport", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11380 } 11381 if (element.hasSubject()) { 11382 composeEvidenceReportSubjectComponent(t, "EvidenceReport", "subject", element.getSubject(), -1); 11383 } 11384 if (element.hasPublisherElement()) { 11385 composeString(t, "EvidenceReport", "publisher", element.getPublisherElement(), -1); 11386 } 11387 for (int i = 0; i < element.getContact().size(); i++) { 11388 composeContactDetail(t, "EvidenceReport", "contact", element.getContact().get(i), i); 11389 } 11390 for (int i = 0; i < element.getAuthor().size(); i++) { 11391 composeContactDetail(t, "EvidenceReport", "author", element.getAuthor().get(i), i); 11392 } 11393 for (int i = 0; i < element.getEditor().size(); i++) { 11394 composeContactDetail(t, "EvidenceReport", "editor", element.getEditor().get(i), i); 11395 } 11396 for (int i = 0; i < element.getReviewer().size(); i++) { 11397 composeContactDetail(t, "EvidenceReport", "reviewer", element.getReviewer().get(i), i); 11398 } 11399 for (int i = 0; i < element.getEndorser().size(); i++) { 11400 composeContactDetail(t, "EvidenceReport", "endorser", element.getEndorser().get(i), i); 11401 } 11402 for (int i = 0; i < element.getRelatesTo().size(); i++) { 11403 composeEvidenceReportRelatesToComponent(t, "EvidenceReport", "relatesTo", element.getRelatesTo().get(i), i); 11404 } 11405 for (int i = 0; i < element.getSection().size(); i++) { 11406 composeEvidenceReportSectionComponent(t, "EvidenceReport", "section", element.getSection().get(i), i); 11407 } 11408 } 11409 11410 protected void composeEvidenceReportSubjectComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectComponent element, int index) { 11411 if (element == null) 11412 return; 11413 Complex t; 11414 if (Utilities.noString(parentType)) 11415 t = parent; 11416 else { 11417 t = parent.predicate("fhir:"+parentType+'.'+name); 11418 } 11419 composeBackboneElement(t, "subject", name, element, index); 11420 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11421 composeEvidenceReportSubjectCharacteristicComponent(t, "EvidenceReportSubjectComponent", "characteristic", element.getCharacteristic().get(i), i); 11422 } 11423 for (int i = 0; i < element.getNote().size(); i++) { 11424 composeAnnotation(t, "EvidenceReportSubjectComponent", "note", element.getNote().get(i), i); 11425 } 11426 } 11427 11428 protected void composeEvidenceReportSubjectCharacteristicComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportSubjectCharacteristicComponent element, int index) { 11429 if (element == null) 11430 return; 11431 Complex t; 11432 if (Utilities.noString(parentType)) 11433 t = parent; 11434 else { 11435 t = parent.predicate("fhir:"+parentType+'.'+name); 11436 } 11437 composeBackboneElement(t, "characteristic", name, element, index); 11438 if (element.hasCode()) { 11439 composeCodeableConcept(t, "EvidenceReportSubjectCharacteristicComponent", "code", element.getCode(), -1); 11440 } 11441 if (element.hasValue()) { 11442 composeType(t, "EvidenceReportSubjectCharacteristicComponent", "value", element.getValue(), -1); 11443 } 11444 if (element.hasExcludeElement()) { 11445 composeBoolean(t, "EvidenceReportSubjectCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 11446 } 11447 if (element.hasPeriod()) { 11448 composePeriod(t, "EvidenceReportSubjectCharacteristicComponent", "period", element.getPeriod(), -1); 11449 } 11450 } 11451 11452 protected void composeEvidenceReportRelatesToComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportRelatesToComponent element, int index) { 11453 if (element == null) 11454 return; 11455 Complex t; 11456 if (Utilities.noString(parentType)) 11457 t = parent; 11458 else { 11459 t = parent.predicate("fhir:"+parentType+'.'+name); 11460 } 11461 composeBackboneElement(t, "relatesTo", name, element, index); 11462 if (element.hasCodeElement()) { 11463 composeEnum(t, "EvidenceReportRelatesToComponent", "code", element.getCodeElement(), -1); 11464 } 11465 if (element.hasTarget()) { 11466 composeEvidenceReportRelatesToTargetComponent(t, "EvidenceReportRelatesToComponent", "target", element.getTarget(), -1); 11467 } 11468 } 11469 11470 protected void composeEvidenceReportRelatesToTargetComponent(Complex parent, String parentType, String name, EvidenceReport.EvidenceReportRelatesToTargetComponent element, int index) { 11471 if (element == null) 11472 return; 11473 Complex t; 11474 if (Utilities.noString(parentType)) 11475 t = parent; 11476 else { 11477 t = parent.predicate("fhir:"+parentType+'.'+name); 11478 } 11479 composeBackboneElement(t, "target", name, element, index); 11480 if (element.hasUrlElement()) { 11481 composeUri(t, "EvidenceReportRelatesToTargetComponent", "url", element.getUrlElement(), -1); 11482 } 11483 if (element.hasIdentifier()) { 11484 composeIdentifier(t, "EvidenceReportRelatesToTargetComponent", "identifier", element.getIdentifier(), -1); 11485 } 11486 if (element.hasDisplayElement()) { 11487 composeMarkdown(t, "EvidenceReportRelatesToTargetComponent", "display", element.getDisplayElement(), -1); 11488 } 11489 if (element.hasResource()) { 11490 composeReference(t, "EvidenceReportRelatesToTargetComponent", "resource", element.getResource(), -1); 11491 } 11492 } 11493 11494 protected void composeEvidenceReportSectionComponent(Complex parent, String parentType, String name, EvidenceReport.SectionComponent element, int index) { 11495 if (element == null) 11496 return; 11497 Complex t; 11498 if (Utilities.noString(parentType)) 11499 t = parent; 11500 else { 11501 t = parent.predicate("fhir:"+parentType+'.'+name); 11502 } 11503 composeBackboneElement(t, "section", name, element, index); 11504 if (element.hasTitleElement()) { 11505 composeString(t, "SectionComponent", "title", element.getTitleElement(), -1); 11506 } 11507 if (element.hasFocus()) { 11508 composeCodeableConcept(t, "SectionComponent", "focus", element.getFocus(), -1); 11509 } 11510 if (element.hasFocusReference()) { 11511 composeReference(t, "SectionComponent", "focusReference", element.getFocusReference(), -1); 11512 } 11513 for (int i = 0; i < element.getAuthor().size(); i++) { 11514 composeReference(t, "SectionComponent", "author", element.getAuthor().get(i), i); 11515 } 11516 if (element.hasText()) { 11517 composeNarrative(t, "SectionComponent", "text", element.getText(), -1); 11518 } 11519 if (element.hasModeElement()) { 11520 composeEnum(t, "SectionComponent", "mode", element.getModeElement(), -1); 11521 } 11522 if (element.hasOrderedBy()) { 11523 composeCodeableConcept(t, "SectionComponent", "orderedBy", element.getOrderedBy(), -1); 11524 } 11525 for (int i = 0; i < element.getEntryClassifier().size(); i++) { 11526 composeCodeableConcept(t, "SectionComponent", "entryClassifier", element.getEntryClassifier().get(i), i); 11527 } 11528 for (int i = 0; i < element.getEntryReference().size(); i++) { 11529 composeReference(t, "SectionComponent", "entryReference", element.getEntryReference().get(i), i); 11530 } 11531 for (int i = 0; i < element.getEntryQuantity().size(); i++) { 11532 composeQuantity(t, "SectionComponent", "entryQuantity", element.getEntryQuantity().get(i), i); 11533 } 11534 if (element.hasEmptyReason()) { 11535 composeCodeableConcept(t, "SectionComponent", "emptyReason", element.getEmptyReason(), -1); 11536 } 11537 for (int i = 0; i < element.getSection().size(); i++) { 11538 composeEvidenceReportSectionComponent(t, "SectionComponent", "section", element.getSection().get(i), i); 11539 } 11540 } 11541 11542 protected void composeEvidenceVariable(Complex parent, String parentType, String name, EvidenceVariable element, int index) { 11543 if (element == null) 11544 return; 11545 Complex t; 11546 if (Utilities.noString(parentType)) 11547 t = parent; 11548 else { 11549 t = parent.predicate("fhir:"+parentType+'.'+name); 11550 } 11551 composeMetadataResource(t, "EvidenceVariable", name, element, index); 11552 if (element.hasUrlElement()) { 11553 composeUri(t, "EvidenceVariable", "url", element.getUrlElement(), -1); 11554 } 11555 for (int i = 0; i < element.getIdentifier().size(); i++) { 11556 composeIdentifier(t, "EvidenceVariable", "identifier", element.getIdentifier().get(i), i); 11557 } 11558 if (element.hasVersionElement()) { 11559 composeString(t, "EvidenceVariable", "version", element.getVersionElement(), -1); 11560 } 11561 if (element.hasNameElement()) { 11562 composeString(t, "EvidenceVariable", "name", element.getNameElement(), -1); 11563 } 11564 if (element.hasTitleElement()) { 11565 composeString(t, "EvidenceVariable", "title", element.getTitleElement(), -1); 11566 } 11567 if (element.hasShortTitleElement()) { 11568 composeString(t, "EvidenceVariable", "shortTitle", element.getShortTitleElement(), -1); 11569 } 11570 if (element.hasSubtitleElement()) { 11571 composeString(t, "EvidenceVariable", "subtitle", element.getSubtitleElement(), -1); 11572 } 11573 if (element.hasStatusElement()) { 11574 composeEnum(t, "EvidenceVariable", "status", element.getStatusElement(), -1); 11575 } 11576 if (element.hasExperimentalElement()) { 11577 composeBoolean(t, "EvidenceVariable", "experimental", element.getExperimentalElement(), -1); 11578 } 11579 if (element.hasDateElement()) { 11580 composeDateTime(t, "EvidenceVariable", "date", element.getDateElement(), -1); 11581 } 11582 if (element.hasPublisherElement()) { 11583 composeString(t, "EvidenceVariable", "publisher", element.getPublisherElement(), -1); 11584 } 11585 for (int i = 0; i < element.getContact().size(); i++) { 11586 composeContactDetail(t, "EvidenceVariable", "contact", element.getContact().get(i), i); 11587 } 11588 if (element.hasDescriptionElement()) { 11589 composeMarkdown(t, "EvidenceVariable", "description", element.getDescriptionElement(), -1); 11590 } 11591 for (int i = 0; i < element.getNote().size(); i++) { 11592 composeAnnotation(t, "EvidenceVariable", "note", element.getNote().get(i), i); 11593 } 11594 for (int i = 0; i < element.getUseContext().size(); i++) { 11595 composeUsageContext(t, "EvidenceVariable", "useContext", element.getUseContext().get(i), i); 11596 } 11597 if (element.hasCopyrightElement()) { 11598 composeMarkdown(t, "EvidenceVariable", "copyright", element.getCopyrightElement(), -1); 11599 } 11600 if (element.hasApprovalDateElement()) { 11601 composeDate(t, "EvidenceVariable", "approvalDate", element.getApprovalDateElement(), -1); 11602 } 11603 if (element.hasLastReviewDateElement()) { 11604 composeDate(t, "EvidenceVariable", "lastReviewDate", element.getLastReviewDateElement(), -1); 11605 } 11606 if (element.hasEffectivePeriod()) { 11607 composePeriod(t, "EvidenceVariable", "effectivePeriod", element.getEffectivePeriod(), -1); 11608 } 11609 for (int i = 0; i < element.getAuthor().size(); i++) { 11610 composeContactDetail(t, "EvidenceVariable", "author", element.getAuthor().get(i), i); 11611 } 11612 for (int i = 0; i < element.getEditor().size(); i++) { 11613 composeContactDetail(t, "EvidenceVariable", "editor", element.getEditor().get(i), i); 11614 } 11615 for (int i = 0; i < element.getReviewer().size(); i++) { 11616 composeContactDetail(t, "EvidenceVariable", "reviewer", element.getReviewer().get(i), i); 11617 } 11618 for (int i = 0; i < element.getEndorser().size(); i++) { 11619 composeContactDetail(t, "EvidenceVariable", "endorser", element.getEndorser().get(i), i); 11620 } 11621 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 11622 composeRelatedArtifact(t, "EvidenceVariable", "relatedArtifact", element.getRelatedArtifact().get(i), i); 11623 } 11624 if (element.hasActualElement()) { 11625 composeBoolean(t, "EvidenceVariable", "actual", element.getActualElement(), -1); 11626 } 11627 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11628 composeEvidenceVariableCharacteristicComponent(t, "EvidenceVariable", "characteristic", element.getCharacteristic().get(i), i); 11629 } 11630 if (element.hasHandlingElement()) { 11631 composeEnum(t, "EvidenceVariable", "handling", element.getHandlingElement(), -1); 11632 } 11633 for (int i = 0; i < element.getCategory().size(); i++) { 11634 composeEvidenceVariableCategoryComponent(t, "EvidenceVariable", "category", element.getCategory().get(i), i); 11635 } 11636 } 11637 11638 protected void composeEvidenceVariableCharacteristicComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicComponent element, int index) { 11639 if (element == null) 11640 return; 11641 Complex t; 11642 if (Utilities.noString(parentType)) 11643 t = parent; 11644 else { 11645 t = parent.predicate("fhir:"+parentType+'.'+name); 11646 } 11647 composeBackboneElement(t, "characteristic", name, element, index); 11648 if (element.hasLinkIdElement()) { 11649 composeId(t, "EvidenceVariableCharacteristicComponent", "linkId", element.getLinkIdElement(), -1); 11650 } 11651 if (element.hasDescriptionElement()) { 11652 composeString(t, "EvidenceVariableCharacteristicComponent", "description", element.getDescriptionElement(), -1); 11653 } 11654 for (int i = 0; i < element.getNote().size(); i++) { 11655 composeAnnotation(t, "EvidenceVariableCharacteristicComponent", "note", element.getNote().get(i), i); 11656 } 11657 if (element.hasExcludeElement()) { 11658 composeBoolean(t, "EvidenceVariableCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 11659 } 11660 if (element.hasDefinitionReference()) { 11661 composeReference(t, "EvidenceVariableCharacteristicComponent", "definitionReference", element.getDefinitionReference(), -1); 11662 } 11663 if (element.hasDefinitionCanonicalElement()) { 11664 composeCanonical(t, "EvidenceVariableCharacteristicComponent", "definitionCanonical", element.getDefinitionCanonicalElement(), -1); 11665 } 11666 if (element.hasDefinitionCodeableConcept()) { 11667 composeCodeableConcept(t, "EvidenceVariableCharacteristicComponent", "definitionCodeableConcept", element.getDefinitionCodeableConcept(), -1); 11668 } 11669 if (element.hasDefinitionExpression()) { 11670 composeExpression(t, "EvidenceVariableCharacteristicComponent", "definitionExpression", element.getDefinitionExpression(), -1); 11671 } 11672 if (element.hasDefinitionIdElement()) { 11673 composeId(t, "EvidenceVariableCharacteristicComponent", "definitionId", element.getDefinitionIdElement(), -1); 11674 } 11675 if (element.hasDefinitionByTypeAndValue()) { 11676 composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(t, "EvidenceVariableCharacteristicComponent", "definitionByTypeAndValue", element.getDefinitionByTypeAndValue(), -1); 11677 } 11678 if (element.hasDefinitionByCombination()) { 11679 composeEvidenceVariableCharacteristicDefinitionByCombinationComponent(t, "EvidenceVariableCharacteristicComponent", "definitionByCombination", element.getDefinitionByCombination(), -1); 11680 } 11681 for (int i = 0; i < element.getTimeFromEvent().size(); i++) { 11682 composeEvidenceVariableCharacteristicTimeFromEventComponent(t, "EvidenceVariableCharacteristicComponent", "timeFromEvent", element.getTimeFromEvent().get(i), i); 11683 } 11684 } 11685 11686 protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element, int index) { 11687 if (element == null) 11688 return; 11689 Complex t; 11690 if (Utilities.noString(parentType)) 11691 t = parent; 11692 else { 11693 t = parent.predicate("fhir:"+parentType+'.'+name); 11694 } 11695 composeBackboneElement(t, "definitionByTypeAndValue", name, element, index); 11696 if (element.hasType()) { 11697 composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "type", element.getType(), -1); 11698 } 11699 for (int i = 0; i < element.getMethod().size(); i++) { 11700 composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "method", element.getMethod().get(i), i); 11701 } 11702 if (element.hasDevice()) { 11703 composeReference(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "device", element.getDevice(), -1); 11704 } 11705 if (element.hasValue()) { 11706 composeType(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "value", element.getValue(), -1); 11707 } 11708 if (element.hasOffset()) { 11709 composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "offset", element.getOffset(), -1); 11710 } 11711 } 11712 11713 protected void composeEvidenceVariableCharacteristicDefinitionByCombinationComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByCombinationComponent element, int index) { 11714 if (element == null) 11715 return; 11716 Complex t; 11717 if (Utilities.noString(parentType)) 11718 t = parent; 11719 else { 11720 t = parent.predicate("fhir:"+parentType+'.'+name); 11721 } 11722 composeBackboneElement(t, "definitionByCombination", name, element, index); 11723 if (element.hasCodeElement()) { 11724 composeEnum(t, "EvidenceVariableCharacteristicDefinitionByCombinationComponent", "code", element.getCodeElement(), -1); 11725 } 11726 if (element.hasThresholdElement()) { 11727 composePositiveInt(t, "EvidenceVariableCharacteristicDefinitionByCombinationComponent", "threshold", element.getThresholdElement(), -1); 11728 } 11729 for (int i = 0; i < element.getCharacteristic().size(); i++) { 11730 composeEvidenceVariableCharacteristicComponent(t, "EvidenceVariableCharacteristicDefinitionByCombinationComponent", "characteristic", element.getCharacteristic().get(i), i); 11731 } 11732 } 11733 11734 protected void composeEvidenceVariableCharacteristicTimeFromEventComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicTimeFromEventComponent element, int index) { 11735 if (element == null) 11736 return; 11737 Complex t; 11738 if (Utilities.noString(parentType)) 11739 t = parent; 11740 else { 11741 t = parent.predicate("fhir:"+parentType+'.'+name); 11742 } 11743 composeBackboneElement(t, "timeFromEvent", name, element, index); 11744 if (element.hasDescriptionElement()) { 11745 composeString(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "description", element.getDescriptionElement(), -1); 11746 } 11747 for (int i = 0; i < element.getNote().size(); i++) { 11748 composeAnnotation(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "note", element.getNote().get(i), i); 11749 } 11750 if (element.hasEvent()) { 11751 composeType(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "event", element.getEvent(), -1); 11752 } 11753 if (element.hasQuantity()) { 11754 composeQuantity(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "quantity", element.getQuantity(), -1); 11755 } 11756 if (element.hasRange()) { 11757 composeRange(t, "EvidenceVariableCharacteristicTimeFromEventComponent", "range", element.getRange(), -1); 11758 } 11759 } 11760 11761 protected void composeEvidenceVariableCategoryComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCategoryComponent element, int index) { 11762 if (element == null) 11763 return; 11764 Complex t; 11765 if (Utilities.noString(parentType)) 11766 t = parent; 11767 else { 11768 t = parent.predicate("fhir:"+parentType+'.'+name); 11769 } 11770 composeBackboneElement(t, "category", name, element, index); 11771 if (element.hasNameElement()) { 11772 composeString(t, "EvidenceVariableCategoryComponent", "name", element.getNameElement(), -1); 11773 } 11774 if (element.hasValue()) { 11775 composeType(t, "EvidenceVariableCategoryComponent", "value", element.getValue(), -1); 11776 } 11777 } 11778 11779 protected void composeExampleScenario(Complex parent, String parentType, String name, ExampleScenario element, int index) { 11780 if (element == null) 11781 return; 11782 Complex t; 11783 if (Utilities.noString(parentType)) 11784 t = parent; 11785 else { 11786 t = parent.predicate("fhir:"+parentType+'.'+name); 11787 } 11788 composeCanonicalResource(t, "ExampleScenario", name, element, index); 11789 if (element.hasUrlElement()) { 11790 composeUri(t, "ExampleScenario", "url", element.getUrlElement(), -1); 11791 } 11792 for (int i = 0; i < element.getIdentifier().size(); i++) { 11793 composeIdentifier(t, "ExampleScenario", "identifier", element.getIdentifier().get(i), i); 11794 } 11795 if (element.hasVersionElement()) { 11796 composeString(t, "ExampleScenario", "version", element.getVersionElement(), -1); 11797 } 11798 if (element.hasVersionAlgorithm()) { 11799 composeType(t, "ExampleScenario", "versionAlgorithm", element.getVersionAlgorithm(), -1); 11800 } 11801 if (element.hasNameElement()) { 11802 composeString(t, "ExampleScenario", "name", element.getNameElement(), -1); 11803 } 11804 if (element.hasTitleElement()) { 11805 composeString(t, "ExampleScenario", "title", element.getTitleElement(), -1); 11806 } 11807 if (element.hasStatusElement()) { 11808 composeEnum(t, "ExampleScenario", "status", element.getStatusElement(), -1); 11809 } 11810 if (element.hasExperimentalElement()) { 11811 composeBoolean(t, "ExampleScenario", "experimental", element.getExperimentalElement(), -1); 11812 } 11813 if (element.hasDateElement()) { 11814 composeDateTime(t, "ExampleScenario", "date", element.getDateElement(), -1); 11815 } 11816 if (element.hasPublisherElement()) { 11817 composeString(t, "ExampleScenario", "publisher", element.getPublisherElement(), -1); 11818 } 11819 for (int i = 0; i < element.getContact().size(); i++) { 11820 composeContactDetail(t, "ExampleScenario", "contact", element.getContact().get(i), i); 11821 } 11822 if (element.hasDescriptionElement()) { 11823 composeMarkdown(t, "ExampleScenario", "description", element.getDescriptionElement(), -1); 11824 } 11825 for (int i = 0; i < element.getUseContext().size(); i++) { 11826 composeUsageContext(t, "ExampleScenario", "useContext", element.getUseContext().get(i), i); 11827 } 11828 for (int i = 0; i < element.getJurisdiction().size(); i++) { 11829 composeCodeableConcept(t, "ExampleScenario", "jurisdiction", element.getJurisdiction().get(i), i); 11830 } 11831 if (element.hasPurposeElement()) { 11832 composeMarkdown(t, "ExampleScenario", "purpose", element.getPurposeElement(), -1); 11833 } 11834 if (element.hasCopyrightElement()) { 11835 composeMarkdown(t, "ExampleScenario", "copyright", element.getCopyrightElement(), -1); 11836 } 11837 if (element.hasCopyrightLabelElement()) { 11838 composeString(t, "ExampleScenario", "copyrightLabel", element.getCopyrightLabelElement(), -1); 11839 } 11840 for (int i = 0; i < element.getActor().size(); i++) { 11841 composeExampleScenarioActorComponent(t, "ExampleScenario", "actor", element.getActor().get(i), i); 11842 } 11843 for (int i = 0; i < element.getInstance().size(); i++) { 11844 composeExampleScenarioInstanceComponent(t, "ExampleScenario", "instance", element.getInstance().get(i), i); 11845 } 11846 for (int i = 0; i < element.getProcess().size(); i++) { 11847 composeExampleScenarioProcessComponent(t, "ExampleScenario", "process", element.getProcess().get(i), i); 11848 } 11849 } 11850 11851 protected void composeExampleScenarioActorComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioActorComponent element, int index) { 11852 if (element == null) 11853 return; 11854 Complex t; 11855 if (Utilities.noString(parentType)) 11856 t = parent; 11857 else { 11858 t = parent.predicate("fhir:"+parentType+'.'+name); 11859 } 11860 composeBackboneElement(t, "actor", name, element, index); 11861 if (element.hasKeyElement()) { 11862 composeString(t, "ExampleScenarioActorComponent", "key", element.getKeyElement(), -1); 11863 } 11864 if (element.hasTypeElement()) { 11865 composeEnum(t, "ExampleScenarioActorComponent", "type", element.getTypeElement(), -1); 11866 } 11867 if (element.hasTitleElement()) { 11868 composeString(t, "ExampleScenarioActorComponent", "title", element.getTitleElement(), -1); 11869 } 11870 if (element.hasDescriptionElement()) { 11871 composeMarkdown(t, "ExampleScenarioActorComponent", "description", element.getDescriptionElement(), -1); 11872 } 11873 } 11874 11875 protected void composeExampleScenarioInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceComponent element, int index) { 11876 if (element == null) 11877 return; 11878 Complex t; 11879 if (Utilities.noString(parentType)) 11880 t = parent; 11881 else { 11882 t = parent.predicate("fhir:"+parentType+'.'+name); 11883 } 11884 composeBackboneElement(t, "instance", name, element, index); 11885 if (element.hasKeyElement()) { 11886 composeString(t, "ExampleScenarioInstanceComponent", "key", element.getKeyElement(), -1); 11887 } 11888 if (element.hasStructureType()) { 11889 composeCoding(t, "ExampleScenarioInstanceComponent", "structureType", element.getStructureType(), -1); 11890 } 11891 if (element.hasStructureVersionElement()) { 11892 composeString(t, "ExampleScenarioInstanceComponent", "structureVersion", element.getStructureVersionElement(), -1); 11893 } 11894 if (element.hasStructureProfile()) { 11895 composeType(t, "ExampleScenarioInstanceComponent", "structureProfile", element.getStructureProfile(), -1); 11896 } 11897 if (element.hasTitleElement()) { 11898 composeString(t, "ExampleScenarioInstanceComponent", "title", element.getTitleElement(), -1); 11899 } 11900 if (element.hasDescriptionElement()) { 11901 composeMarkdown(t, "ExampleScenarioInstanceComponent", "description", element.getDescriptionElement(), -1); 11902 } 11903 if (element.hasContent()) { 11904 composeReference(t, "ExampleScenarioInstanceComponent", "content", element.getContent(), -1); 11905 } 11906 for (int i = 0; i < element.getVersion().size(); i++) { 11907 composeExampleScenarioInstanceVersionComponent(t, "ExampleScenarioInstanceComponent", "version", element.getVersion().get(i), i); 11908 } 11909 for (int i = 0; i < element.getContainedInstance().size(); i++) { 11910 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioInstanceComponent", "containedInstance", element.getContainedInstance().get(i), i); 11911 } 11912 } 11913 11914 protected void composeExampleScenarioInstanceVersionComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceVersionComponent element, int index) { 11915 if (element == null) 11916 return; 11917 Complex t; 11918 if (Utilities.noString(parentType)) 11919 t = parent; 11920 else { 11921 t = parent.predicate("fhir:"+parentType+'.'+name); 11922 } 11923 composeBackboneElement(t, "version", name, element, index); 11924 if (element.hasKeyElement()) { 11925 composeString(t, "ExampleScenarioInstanceVersionComponent", "key", element.getKeyElement(), -1); 11926 } 11927 if (element.hasTitleElement()) { 11928 composeString(t, "ExampleScenarioInstanceVersionComponent", "title", element.getTitleElement(), -1); 11929 } 11930 if (element.hasDescriptionElement()) { 11931 composeMarkdown(t, "ExampleScenarioInstanceVersionComponent", "description", element.getDescriptionElement(), -1); 11932 } 11933 if (element.hasContent()) { 11934 composeReference(t, "ExampleScenarioInstanceVersionComponent", "content", element.getContent(), -1); 11935 } 11936 } 11937 11938 protected void composeExampleScenarioInstanceContainedInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element, int index) { 11939 if (element == null) 11940 return; 11941 Complex t; 11942 if (Utilities.noString(parentType)) 11943 t = parent; 11944 else { 11945 t = parent.predicate("fhir:"+parentType+'.'+name); 11946 } 11947 composeBackboneElement(t, "containedInstance", name, element, index); 11948 if (element.hasInstanceReferenceElement()) { 11949 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "instanceReference", element.getInstanceReferenceElement(), -1); 11950 } 11951 if (element.hasVersionReferenceElement()) { 11952 composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "versionReference", element.getVersionReferenceElement(), -1); 11953 } 11954 } 11955 11956 protected void composeExampleScenarioProcessComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessComponent element, int index) { 11957 if (element == null) 11958 return; 11959 Complex t; 11960 if (Utilities.noString(parentType)) 11961 t = parent; 11962 else { 11963 t = parent.predicate("fhir:"+parentType+'.'+name); 11964 } 11965 composeBackboneElement(t, "process", name, element, index); 11966 if (element.hasTitleElement()) { 11967 composeString(t, "ExampleScenarioProcessComponent", "title", element.getTitleElement(), -1); 11968 } 11969 if (element.hasDescriptionElement()) { 11970 composeMarkdown(t, "ExampleScenarioProcessComponent", "description", element.getDescriptionElement(), -1); 11971 } 11972 if (element.hasPreConditionsElement()) { 11973 composeMarkdown(t, "ExampleScenarioProcessComponent", "preConditions", element.getPreConditionsElement(), -1); 11974 } 11975 if (element.hasPostConditionsElement()) { 11976 composeMarkdown(t, "ExampleScenarioProcessComponent", "postConditions", element.getPostConditionsElement(), -1); 11977 } 11978 for (int i = 0; i < element.getStep().size(); i++) { 11979 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessComponent", "step", element.getStep().get(i), i); 11980 } 11981 } 11982 11983 protected void composeExampleScenarioProcessStepComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepComponent element, int index) { 11984 if (element == null) 11985 return; 11986 Complex t; 11987 if (Utilities.noString(parentType)) 11988 t = parent; 11989 else { 11990 t = parent.predicate("fhir:"+parentType+'.'+name); 11991 } 11992 composeBackboneElement(t, "step", name, element, index); 11993 if (element.hasNumberElement()) { 11994 composeString(t, "ExampleScenarioProcessStepComponent", "number", element.getNumberElement(), -1); 11995 } 11996 if (element.hasProcess()) { 11997 composeExampleScenarioProcessComponent(t, "ExampleScenarioProcessStepComponent", "process", element.getProcess(), -1); 11998 } 11999 if (element.hasWorkflowElement()) { 12000 composeCanonical(t, "ExampleScenarioProcessStepComponent", "workflow", element.getWorkflowElement(), -1); 12001 } 12002 if (element.hasOperation()) { 12003 composeExampleScenarioProcessStepOperationComponent(t, "ExampleScenarioProcessStepComponent", "operation", element.getOperation(), -1); 12004 } 12005 for (int i = 0; i < element.getAlternative().size(); i++) { 12006 composeExampleScenarioProcessStepAlternativeComponent(t, "ExampleScenarioProcessStepComponent", "alternative", element.getAlternative().get(i), i); 12007 } 12008 if (element.hasPauseElement()) { 12009 composeBoolean(t, "ExampleScenarioProcessStepComponent", "pause", element.getPauseElement(), -1); 12010 } 12011 } 12012 12013 protected void composeExampleScenarioProcessStepOperationComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element, int index) { 12014 if (element == null) 12015 return; 12016 Complex t; 12017 if (Utilities.noString(parentType)) 12018 t = parent; 12019 else { 12020 t = parent.predicate("fhir:"+parentType+'.'+name); 12021 } 12022 composeBackboneElement(t, "operation", name, element, index); 12023 if (element.hasType()) { 12024 composeCoding(t, "ExampleScenarioProcessStepOperationComponent", "type", element.getType(), -1); 12025 } 12026 if (element.hasTitleElement()) { 12027 composeString(t, "ExampleScenarioProcessStepOperationComponent", "title", element.getTitleElement(), -1); 12028 } 12029 if (element.hasInitiatorElement()) { 12030 composeString(t, "ExampleScenarioProcessStepOperationComponent", "initiator", element.getInitiatorElement(), -1); 12031 } 12032 if (element.hasReceiverElement()) { 12033 composeString(t, "ExampleScenarioProcessStepOperationComponent", "receiver", element.getReceiverElement(), -1); 12034 } 12035 if (element.hasDescriptionElement()) { 12036 composeMarkdown(t, "ExampleScenarioProcessStepOperationComponent", "description", element.getDescriptionElement(), -1); 12037 } 12038 if (element.hasInitiatorActiveElement()) { 12039 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "initiatorActive", element.getInitiatorActiveElement(), -1); 12040 } 12041 if (element.hasReceiverActiveElement()) { 12042 composeBoolean(t, "ExampleScenarioProcessStepOperationComponent", "receiverActive", element.getReceiverActiveElement(), -1); 12043 } 12044 if (element.hasRequest()) { 12045 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "request", element.getRequest(), -1); 12046 } 12047 if (element.hasResponse()) { 12048 composeExampleScenarioInstanceContainedInstanceComponent(t, "ExampleScenarioProcessStepOperationComponent", "response", element.getResponse(), -1); 12049 } 12050 } 12051 12052 protected void composeExampleScenarioProcessStepAlternativeComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepAlternativeComponent element, int index) { 12053 if (element == null) 12054 return; 12055 Complex t; 12056 if (Utilities.noString(parentType)) 12057 t = parent; 12058 else { 12059 t = parent.predicate("fhir:"+parentType+'.'+name); 12060 } 12061 composeBackboneElement(t, "alternative", name, element, index); 12062 if (element.hasTitleElement()) { 12063 composeString(t, "ExampleScenarioProcessStepAlternativeComponent", "title", element.getTitleElement(), -1); 12064 } 12065 if (element.hasDescriptionElement()) { 12066 composeMarkdown(t, "ExampleScenarioProcessStepAlternativeComponent", "description", element.getDescriptionElement(), -1); 12067 } 12068 for (int i = 0; i < element.getStep().size(); i++) { 12069 composeExampleScenarioProcessStepComponent(t, "ExampleScenarioProcessStepAlternativeComponent", "step", element.getStep().get(i), i); 12070 } 12071 } 12072 12073 protected void composeExplanationOfBenefit(Complex parent, String parentType, String name, ExplanationOfBenefit element, int index) { 12074 if (element == null) 12075 return; 12076 Complex t; 12077 if (Utilities.noString(parentType)) 12078 t = parent; 12079 else { 12080 t = parent.predicate("fhir:"+parentType+'.'+name); 12081 } 12082 composeDomainResource(t, "ExplanationOfBenefit", name, element, index); 12083 for (int i = 0; i < element.getIdentifier().size(); i++) { 12084 composeIdentifier(t, "ExplanationOfBenefit", "identifier", element.getIdentifier().get(i), i); 12085 } 12086 if (element.hasStatusElement()) { 12087 composeEnum(t, "ExplanationOfBenefit", "status", element.getStatusElement(), -1); 12088 } 12089 if (element.hasType()) { 12090 composeCodeableConcept(t, "ExplanationOfBenefit", "type", element.getType(), -1); 12091 } 12092 if (element.hasSubType()) { 12093 composeCodeableConcept(t, "ExplanationOfBenefit", "subType", element.getSubType(), -1); 12094 } 12095 if (element.hasUseElement()) { 12096 composeEnum(t, "ExplanationOfBenefit", "use", element.getUseElement(), -1); 12097 } 12098 if (element.hasPatient()) { 12099 composeReference(t, "ExplanationOfBenefit", "patient", element.getPatient(), -1); 12100 } 12101 if (element.hasBillablePeriod()) { 12102 composePeriod(t, "ExplanationOfBenefit", "billablePeriod", element.getBillablePeriod(), -1); 12103 } 12104 if (element.hasCreatedElement()) { 12105 composeDateTime(t, "ExplanationOfBenefit", "created", element.getCreatedElement(), -1); 12106 } 12107 if (element.hasEnterer()) { 12108 composeReference(t, "ExplanationOfBenefit", "enterer", element.getEnterer(), -1); 12109 } 12110 if (element.hasInsurer()) { 12111 composeReference(t, "ExplanationOfBenefit", "insurer", element.getInsurer(), -1); 12112 } 12113 if (element.hasProvider()) { 12114 composeReference(t, "ExplanationOfBenefit", "provider", element.getProvider(), -1); 12115 } 12116 if (element.hasPriority()) { 12117 composeCodeableConcept(t, "ExplanationOfBenefit", "priority", element.getPriority(), -1); 12118 } 12119 if (element.hasFundsReserveRequested()) { 12120 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserveRequested", element.getFundsReserveRequested(), -1); 12121 } 12122 if (element.hasFundsReserve()) { 12123 composeCodeableConcept(t, "ExplanationOfBenefit", "fundsReserve", element.getFundsReserve(), -1); 12124 } 12125 for (int i = 0; i < element.getRelated().size(); i++) { 12126 composeExplanationOfBenefitRelatedClaimComponent(t, "ExplanationOfBenefit", "related", element.getRelated().get(i), i); 12127 } 12128 if (element.hasPrescription()) { 12129 composeReference(t, "ExplanationOfBenefit", "prescription", element.getPrescription(), -1); 12130 } 12131 if (element.hasOriginalPrescription()) { 12132 composeReference(t, "ExplanationOfBenefit", "originalPrescription", element.getOriginalPrescription(), -1); 12133 } 12134 if (element.hasPayee()) { 12135 composeExplanationOfBenefitPayeeComponent(t, "ExplanationOfBenefit", "payee", element.getPayee(), -1); 12136 } 12137 if (element.hasReferral()) { 12138 composeReference(t, "ExplanationOfBenefit", "referral", element.getReferral(), -1); 12139 } 12140 for (int i = 0; i < element.getEncounter().size(); i++) { 12141 composeReference(t, "ExplanationOfBenefit", "encounter", element.getEncounter().get(i), i); 12142 } 12143 if (element.hasFacility()) { 12144 composeReference(t, "ExplanationOfBenefit", "facility", element.getFacility(), -1); 12145 } 12146 if (element.hasClaim()) { 12147 composeReference(t, "ExplanationOfBenefit", "claim", element.getClaim(), -1); 12148 } 12149 if (element.hasClaimResponse()) { 12150 composeReference(t, "ExplanationOfBenefit", "claimResponse", element.getClaimResponse(), -1); 12151 } 12152 if (element.hasOutcomeElement()) { 12153 composeEnum(t, "ExplanationOfBenefit", "outcome", element.getOutcomeElement(), -1); 12154 } 12155 if (element.hasDecision()) { 12156 composeCodeableConcept(t, "ExplanationOfBenefit", "decision", element.getDecision(), -1); 12157 } 12158 if (element.hasDispositionElement()) { 12159 composeString(t, "ExplanationOfBenefit", "disposition", element.getDispositionElement(), -1); 12160 } 12161 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 12162 composeString(t, "ExplanationOfBenefit", "preAuthRef", element.getPreAuthRef().get(i), i); 12163 } 12164 for (int i = 0; i < element.getPreAuthRefPeriod().size(); i++) { 12165 composePeriod(t, "ExplanationOfBenefit", "preAuthRefPeriod", element.getPreAuthRefPeriod().get(i), i); 12166 } 12167 if (element.hasDiagnosisRelatedGroup()) { 12168 composeCodeableConcept(t, "ExplanationOfBenefit", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); 12169 } 12170 for (int i = 0; i < element.getCareTeam().size(); i++) { 12171 composeExplanationOfBenefitCareTeamComponent(t, "ExplanationOfBenefit", "careTeam", element.getCareTeam().get(i), i); 12172 } 12173 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 12174 composeExplanationOfBenefitSupportingInformationComponent(t, "ExplanationOfBenefit", "supportingInfo", element.getSupportingInfo().get(i), i); 12175 } 12176 for (int i = 0; i < element.getDiagnosis().size(); i++) { 12177 composeExplanationOfBenefitDiagnosisComponent(t, "ExplanationOfBenefit", "diagnosis", element.getDiagnosis().get(i), i); 12178 } 12179 for (int i = 0; i < element.getProcedure().size(); i++) { 12180 composeExplanationOfBenefitProcedureComponent(t, "ExplanationOfBenefit", "procedure", element.getProcedure().get(i), i); 12181 } 12182 if (element.hasPrecedenceElement()) { 12183 composePositiveInt(t, "ExplanationOfBenefit", "precedence", element.getPrecedenceElement(), -1); 12184 } 12185 for (int i = 0; i < element.getInsurance().size(); i++) { 12186 composeExplanationOfBenefitInsuranceComponent(t, "ExplanationOfBenefit", "insurance", element.getInsurance().get(i), i); 12187 } 12188 if (element.hasAccident()) { 12189 composeExplanationOfBenefitAccidentComponent(t, "ExplanationOfBenefit", "accident", element.getAccident(), -1); 12190 } 12191 if (element.hasPatientPaid()) { 12192 composeMoney(t, "ExplanationOfBenefit", "patientPaid", element.getPatientPaid(), -1); 12193 } 12194 for (int i = 0; i < element.getItem().size(); i++) { 12195 composeExplanationOfBenefitItemComponent(t, "ExplanationOfBenefit", "item", element.getItem().get(i), i); 12196 } 12197 for (int i = 0; i < element.getAddItem().size(); i++) { 12198 composeExplanationOfBenefitAddedItemComponent(t, "ExplanationOfBenefit", "addItem", element.getAddItem().get(i), i); 12199 } 12200 for (int i = 0; i < element.getAdjudication().size(); i++) { 12201 composeExplanationOfBenefitAdjudicationComponent(t, "ExplanationOfBenefit", "adjudication", element.getAdjudication().get(i), i); 12202 } 12203 for (int i = 0; i < element.getTotal().size(); i++) { 12204 composeExplanationOfBenefitTotalComponent(t, "ExplanationOfBenefit", "total", element.getTotal().get(i), i); 12205 } 12206 if (element.hasPayment()) { 12207 composeExplanationOfBenefitPaymentComponent(t, "ExplanationOfBenefit", "payment", element.getPayment(), -1); 12208 } 12209 if (element.hasFormCode()) { 12210 composeCodeableConcept(t, "ExplanationOfBenefit", "formCode", element.getFormCode(), -1); 12211 } 12212 if (element.hasForm()) { 12213 composeAttachment(t, "ExplanationOfBenefit", "form", element.getForm(), -1); 12214 } 12215 for (int i = 0; i < element.getProcessNote().size(); i++) { 12216 composeExplanationOfBenefitNoteComponent(t, "ExplanationOfBenefit", "processNote", element.getProcessNote().get(i), i); 12217 } 12218 if (element.hasBenefitPeriod()) { 12219 composePeriod(t, "ExplanationOfBenefit", "benefitPeriod", element.getBenefitPeriod(), -1); 12220 } 12221 for (int i = 0; i < element.getBenefitBalance().size(); i++) { 12222 composeExplanationOfBenefitBenefitBalanceComponent(t, "ExplanationOfBenefit", "benefitBalance", element.getBenefitBalance().get(i), i); 12223 } 12224 } 12225 12226 protected void composeExplanationOfBenefitRelatedClaimComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.RelatedClaimComponent element, int index) { 12227 if (element == null) 12228 return; 12229 Complex t; 12230 if (Utilities.noString(parentType)) 12231 t = parent; 12232 else { 12233 t = parent.predicate("fhir:"+parentType+'.'+name); 12234 } 12235 composeBackboneElement(t, "related", name, element, index); 12236 if (element.hasClaim()) { 12237 composeReference(t, "RelatedClaimComponent", "claim", element.getClaim(), -1); 12238 } 12239 if (element.hasRelationship()) { 12240 composeCodeableConcept(t, "RelatedClaimComponent", "relationship", element.getRelationship(), -1); 12241 } 12242 if (element.hasReference()) { 12243 composeIdentifier(t, "RelatedClaimComponent", "reference", element.getReference(), -1); 12244 } 12245 } 12246 12247 protected void composeExplanationOfBenefitPayeeComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PayeeComponent element, int index) { 12248 if (element == null) 12249 return; 12250 Complex t; 12251 if (Utilities.noString(parentType)) 12252 t = parent; 12253 else { 12254 t = parent.predicate("fhir:"+parentType+'.'+name); 12255 } 12256 composeBackboneElement(t, "payee", name, element, index); 12257 if (element.hasType()) { 12258 composeCodeableConcept(t, "PayeeComponent", "type", element.getType(), -1); 12259 } 12260 if (element.hasParty()) { 12261 composeReference(t, "PayeeComponent", "party", element.getParty(), -1); 12262 } 12263 } 12264 12265 protected void composeExplanationOfBenefitCareTeamComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.CareTeamComponent element, int index) { 12266 if (element == null) 12267 return; 12268 Complex t; 12269 if (Utilities.noString(parentType)) 12270 t = parent; 12271 else { 12272 t = parent.predicate("fhir:"+parentType+'.'+name); 12273 } 12274 composeBackboneElement(t, "careTeam", name, element, index); 12275 if (element.hasSequenceElement()) { 12276 composePositiveInt(t, "CareTeamComponent", "sequence", element.getSequenceElement(), -1); 12277 } 12278 if (element.hasProvider()) { 12279 composeReference(t, "CareTeamComponent", "provider", element.getProvider(), -1); 12280 } 12281 if (element.hasResponsibleElement()) { 12282 composeBoolean(t, "CareTeamComponent", "responsible", element.getResponsibleElement(), -1); 12283 } 12284 if (element.hasRole()) { 12285 composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); 12286 } 12287 if (element.hasSpecialty()) { 12288 composeCodeableConcept(t, "CareTeamComponent", "specialty", element.getSpecialty(), -1); 12289 } 12290 } 12291 12292 protected void composeExplanationOfBenefitSupportingInformationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SupportingInformationComponent element, int index) { 12293 if (element == null) 12294 return; 12295 Complex t; 12296 if (Utilities.noString(parentType)) 12297 t = parent; 12298 else { 12299 t = parent.predicate("fhir:"+parentType+'.'+name); 12300 } 12301 composeBackboneElement(t, "supportingInfo", name, element, index); 12302 if (element.hasSequenceElement()) { 12303 composePositiveInt(t, "SupportingInformationComponent", "sequence", element.getSequenceElement(), -1); 12304 } 12305 if (element.hasCategory()) { 12306 composeCodeableConcept(t, "SupportingInformationComponent", "category", element.getCategory(), -1); 12307 } 12308 if (element.hasCode()) { 12309 composeCodeableConcept(t, "SupportingInformationComponent", "code", element.getCode(), -1); 12310 } 12311 if (element.hasTiming()) { 12312 composeType(t, "SupportingInformationComponent", "timing", element.getTiming(), -1); 12313 } 12314 if (element.hasValue()) { 12315 composeType(t, "SupportingInformationComponent", "value", element.getValue(), -1); 12316 } 12317 if (element.hasReason()) { 12318 composeCoding(t, "SupportingInformationComponent", "reason", element.getReason(), -1); 12319 } 12320 } 12321 12322 protected void composeExplanationOfBenefitDiagnosisComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DiagnosisComponent element, int index) { 12323 if (element == null) 12324 return; 12325 Complex t; 12326 if (Utilities.noString(parentType)) 12327 t = parent; 12328 else { 12329 t = parent.predicate("fhir:"+parentType+'.'+name); 12330 } 12331 composeBackboneElement(t, "diagnosis", name, element, index); 12332 if (element.hasSequenceElement()) { 12333 composePositiveInt(t, "DiagnosisComponent", "sequence", element.getSequenceElement(), -1); 12334 } 12335 if (element.hasDiagnosis()) { 12336 composeType(t, "DiagnosisComponent", "diagnosis", element.getDiagnosis(), -1); 12337 } 12338 for (int i = 0; i < element.getType().size(); i++) { 12339 composeCodeableConcept(t, "DiagnosisComponent", "type", element.getType().get(i), i); 12340 } 12341 if (element.hasOnAdmission()) { 12342 composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); 12343 } 12344 } 12345 12346 protected void composeExplanationOfBenefitProcedureComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ProcedureComponent element, int index) { 12347 if (element == null) 12348 return; 12349 Complex t; 12350 if (Utilities.noString(parentType)) 12351 t = parent; 12352 else { 12353 t = parent.predicate("fhir:"+parentType+'.'+name); 12354 } 12355 composeBackboneElement(t, "procedure", name, element, index); 12356 if (element.hasSequenceElement()) { 12357 composePositiveInt(t, "ProcedureComponent", "sequence", element.getSequenceElement(), -1); 12358 } 12359 for (int i = 0; i < element.getType().size(); i++) { 12360 composeCodeableConcept(t, "ProcedureComponent", "type", element.getType().get(i), i); 12361 } 12362 if (element.hasDateElement()) { 12363 composeDateTime(t, "ProcedureComponent", "date", element.getDateElement(), -1); 12364 } 12365 if (element.hasProcedure()) { 12366 composeType(t, "ProcedureComponent", "procedure", element.getProcedure(), -1); 12367 } 12368 for (int i = 0; i < element.getUdi().size(); i++) { 12369 composeReference(t, "ProcedureComponent", "udi", element.getUdi().get(i), i); 12370 } 12371 } 12372 12373 protected void composeExplanationOfBenefitInsuranceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.InsuranceComponent element, int index) { 12374 if (element == null) 12375 return; 12376 Complex t; 12377 if (Utilities.noString(parentType)) 12378 t = parent; 12379 else { 12380 t = parent.predicate("fhir:"+parentType+'.'+name); 12381 } 12382 composeBackboneElement(t, "insurance", name, element, index); 12383 if (element.hasFocalElement()) { 12384 composeBoolean(t, "InsuranceComponent", "focal", element.getFocalElement(), -1); 12385 } 12386 if (element.hasCoverage()) { 12387 composeReference(t, "InsuranceComponent", "coverage", element.getCoverage(), -1); 12388 } 12389 for (int i = 0; i < element.getPreAuthRef().size(); i++) { 12390 composeString(t, "InsuranceComponent", "preAuthRef", element.getPreAuthRef().get(i), i); 12391 } 12392 } 12393 12394 protected void composeExplanationOfBenefitAccidentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AccidentComponent element, int index) { 12395 if (element == null) 12396 return; 12397 Complex t; 12398 if (Utilities.noString(parentType)) 12399 t = parent; 12400 else { 12401 t = parent.predicate("fhir:"+parentType+'.'+name); 12402 } 12403 composeBackboneElement(t, "accident", name, element, index); 12404 if (element.hasDateElement()) { 12405 composeDate(t, "AccidentComponent", "date", element.getDateElement(), -1); 12406 } 12407 if (element.hasType()) { 12408 composeCodeableConcept(t, "AccidentComponent", "type", element.getType(), -1); 12409 } 12410 if (element.hasLocation()) { 12411 composeType(t, "AccidentComponent", "location", element.getLocation(), -1); 12412 } 12413 } 12414 12415 protected void composeExplanationOfBenefitItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ItemComponent element, int index) { 12416 if (element == null) 12417 return; 12418 Complex t; 12419 if (Utilities.noString(parentType)) 12420 t = parent; 12421 else { 12422 t = parent.predicate("fhir:"+parentType+'.'+name); 12423 } 12424 composeBackboneElement(t, "item", name, element, index); 12425 if (element.hasSequenceElement()) { 12426 composePositiveInt(t, "ItemComponent", "sequence", element.getSequenceElement(), -1); 12427 } 12428 for (int i = 0; i < element.getCareTeamSequence().size(); i++) { 12429 composePositiveInt(t, "ItemComponent", "careTeamSequence", element.getCareTeamSequence().get(i), i); 12430 } 12431 for (int i = 0; i < element.getDiagnosisSequence().size(); i++) { 12432 composePositiveInt(t, "ItemComponent", "diagnosisSequence", element.getDiagnosisSequence().get(i), i); 12433 } 12434 for (int i = 0; i < element.getProcedureSequence().size(); i++) { 12435 composePositiveInt(t, "ItemComponent", "procedureSequence", element.getProcedureSequence().get(i), i); 12436 } 12437 for (int i = 0; i < element.getInformationSequence().size(); i++) { 12438 composePositiveInt(t, "ItemComponent", "informationSequence", element.getInformationSequence().get(i), i); 12439 } 12440 if (element.hasRevenue()) { 12441 composeCodeableConcept(t, "ItemComponent", "revenue", element.getRevenue(), -1); 12442 } 12443 if (element.hasCategory()) { 12444 composeCodeableConcept(t, "ItemComponent", "category", element.getCategory(), -1); 12445 } 12446 if (element.hasProductOrService()) { 12447 composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); 12448 } 12449 if (element.hasProductOrServiceEnd()) { 12450 composeCodeableConcept(t, "ItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12451 } 12452 for (int i = 0; i < element.getModifier().size(); i++) { 12453 composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); 12454 } 12455 for (int i = 0; i < element.getProgramCode().size(); i++) { 12456 composeCodeableConcept(t, "ItemComponent", "programCode", element.getProgramCode().get(i), i); 12457 } 12458 if (element.hasServiced()) { 12459 composeType(t, "ItemComponent", "serviced", element.getServiced(), -1); 12460 } 12461 if (element.hasLocation()) { 12462 composeType(t, "ItemComponent", "location", element.getLocation(), -1); 12463 } 12464 if (element.hasPatientPaid()) { 12465 composeMoney(t, "ItemComponent", "patientPaid", element.getPatientPaid(), -1); 12466 } 12467 if (element.hasQuantity()) { 12468 composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); 12469 } 12470 if (element.hasUnitPrice()) { 12471 composeMoney(t, "ItemComponent", "unitPrice", element.getUnitPrice(), -1); 12472 } 12473 if (element.hasFactorElement()) { 12474 composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); 12475 } 12476 if (element.hasTax()) { 12477 composeMoney(t, "ItemComponent", "tax", element.getTax(), -1); 12478 } 12479 if (element.hasNet()) { 12480 composeMoney(t, "ItemComponent", "net", element.getNet(), -1); 12481 } 12482 for (int i = 0; i < element.getUdi().size(); i++) { 12483 composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); 12484 } 12485 for (int i = 0; i < element.getBodySite().size(); i++) { 12486 composeExplanationOfBenefitItemBodySiteComponent(t, "ItemComponent", "bodySite", element.getBodySite().get(i), i); 12487 } 12488 for (int i = 0; i < element.getEncounter().size(); i++) { 12489 composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); 12490 } 12491 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12492 composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 12493 } 12494 if (element.hasDecision()) { 12495 composeCodeableConcept(t, "ItemComponent", "decision", element.getDecision(), -1); 12496 } 12497 for (int i = 0; i < element.getAdjudication().size(); i++) { 12498 composeExplanationOfBenefitAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); 12499 } 12500 for (int i = 0; i < element.getDetail().size(); i++) { 12501 composeExplanationOfBenefitDetailComponent(t, "ItemComponent", "detail", element.getDetail().get(i), i); 12502 } 12503 } 12504 12505 protected void composeExplanationOfBenefitItemBodySiteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ItemBodySiteComponent element, int index) { 12506 if (element == null) 12507 return; 12508 Complex t; 12509 if (Utilities.noString(parentType)) 12510 t = parent; 12511 else { 12512 t = parent.predicate("fhir:"+parentType+'.'+name); 12513 } 12514 composeBackboneElement(t, "bodySite", name, element, index); 12515 for (int i = 0; i < element.getSite().size(); i++) { 12516 composeCodeableReference(t, "ItemBodySiteComponent", "site", element.getSite().get(i), i); 12517 } 12518 for (int i = 0; i < element.getSubSite().size(); i++) { 12519 composeCodeableConcept(t, "ItemBodySiteComponent", "subSite", element.getSubSite().get(i), i); 12520 } 12521 } 12522 12523 protected void composeExplanationOfBenefitAdjudicationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AdjudicationComponent element, int index) { 12524 if (element == null) 12525 return; 12526 Complex t; 12527 if (Utilities.noString(parentType)) 12528 t = parent; 12529 else { 12530 t = parent.predicate("fhir:"+parentType+'.'+name); 12531 } 12532 composeBackboneElement(t, "adjudication", name, element, index); 12533 if (element.hasCategory()) { 12534 composeCodeableConcept(t, "AdjudicationComponent", "category", element.getCategory(), -1); 12535 } 12536 if (element.hasReason()) { 12537 composeCodeableConcept(t, "AdjudicationComponent", "reason", element.getReason(), -1); 12538 } 12539 if (element.hasAmount()) { 12540 composeMoney(t, "AdjudicationComponent", "amount", element.getAmount(), -1); 12541 } 12542 if (element.hasValueElement()) { 12543 composeDecimal(t, "AdjudicationComponent", "value", element.getValueElement(), -1); 12544 } 12545 } 12546 12547 protected void composeExplanationOfBenefitDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.DetailComponent element, int index) { 12548 if (element == null) 12549 return; 12550 Complex t; 12551 if (Utilities.noString(parentType)) 12552 t = parent; 12553 else { 12554 t = parent.predicate("fhir:"+parentType+'.'+name); 12555 } 12556 composeBackboneElement(t, "detail", name, element, index); 12557 if (element.hasSequenceElement()) { 12558 composePositiveInt(t, "DetailComponent", "sequence", element.getSequenceElement(), -1); 12559 } 12560 if (element.hasRevenue()) { 12561 composeCodeableConcept(t, "DetailComponent", "revenue", element.getRevenue(), -1); 12562 } 12563 if (element.hasCategory()) { 12564 composeCodeableConcept(t, "DetailComponent", "category", element.getCategory(), -1); 12565 } 12566 if (element.hasProductOrService()) { 12567 composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); 12568 } 12569 if (element.hasProductOrServiceEnd()) { 12570 composeCodeableConcept(t, "DetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12571 } 12572 for (int i = 0; i < element.getModifier().size(); i++) { 12573 composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); 12574 } 12575 for (int i = 0; i < element.getProgramCode().size(); i++) { 12576 composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); 12577 } 12578 if (element.hasPatientPaid()) { 12579 composeMoney(t, "DetailComponent", "patientPaid", element.getPatientPaid(), -1); 12580 } 12581 if (element.hasQuantity()) { 12582 composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); 12583 } 12584 if (element.hasUnitPrice()) { 12585 composeMoney(t, "DetailComponent", "unitPrice", element.getUnitPrice(), -1); 12586 } 12587 if (element.hasFactorElement()) { 12588 composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); 12589 } 12590 if (element.hasTax()) { 12591 composeMoney(t, "DetailComponent", "tax", element.getTax(), -1); 12592 } 12593 if (element.hasNet()) { 12594 composeMoney(t, "DetailComponent", "net", element.getNet(), -1); 12595 } 12596 for (int i = 0; i < element.getUdi().size(); i++) { 12597 composeReference(t, "DetailComponent", "udi", element.getUdi().get(i), i); 12598 } 12599 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12600 composePositiveInt(t, "DetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12601 } 12602 if (element.hasDecision()) { 12603 composeCodeableConcept(t, "DetailComponent", "decision", element.getDecision(), -1); 12604 } 12605 for (int i = 0; i < element.getAdjudication().size(); i++) { 12606 composeExplanationOfBenefitAdjudicationComponent(t, "DetailComponent", "adjudication", element.getAdjudication().get(i), i); 12607 } 12608 for (int i = 0; i < element.getSubDetail().size(); i++) { 12609 composeExplanationOfBenefitSubDetailComponent(t, "DetailComponent", "subDetail", element.getSubDetail().get(i), i); 12610 } 12611 } 12612 12613 protected void composeExplanationOfBenefitSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.SubDetailComponent element, int index) { 12614 if (element == null) 12615 return; 12616 Complex t; 12617 if (Utilities.noString(parentType)) 12618 t = parent; 12619 else { 12620 t = parent.predicate("fhir:"+parentType+'.'+name); 12621 } 12622 composeBackboneElement(t, "subDetail", name, element, index); 12623 if (element.hasSequenceElement()) { 12624 composePositiveInt(t, "SubDetailComponent", "sequence", element.getSequenceElement(), -1); 12625 } 12626 if (element.hasRevenue()) { 12627 composeCodeableConcept(t, "SubDetailComponent", "revenue", element.getRevenue(), -1); 12628 } 12629 if (element.hasCategory()) { 12630 composeCodeableConcept(t, "SubDetailComponent", "category", element.getCategory(), -1); 12631 } 12632 if (element.hasProductOrService()) { 12633 composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); 12634 } 12635 if (element.hasProductOrServiceEnd()) { 12636 composeCodeableConcept(t, "SubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12637 } 12638 for (int i = 0; i < element.getModifier().size(); i++) { 12639 composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); 12640 } 12641 for (int i = 0; i < element.getProgramCode().size(); i++) { 12642 composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); 12643 } 12644 if (element.hasPatientPaid()) { 12645 composeMoney(t, "SubDetailComponent", "patientPaid", element.getPatientPaid(), -1); 12646 } 12647 if (element.hasQuantity()) { 12648 composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); 12649 } 12650 if (element.hasUnitPrice()) { 12651 composeMoney(t, "SubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12652 } 12653 if (element.hasFactorElement()) { 12654 composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); 12655 } 12656 if (element.hasTax()) { 12657 composeMoney(t, "SubDetailComponent", "tax", element.getTax(), -1); 12658 } 12659 if (element.hasNet()) { 12660 composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); 12661 } 12662 for (int i = 0; i < element.getUdi().size(); i++) { 12663 composeReference(t, "SubDetailComponent", "udi", element.getUdi().get(i), i); 12664 } 12665 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12666 composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12667 } 12668 if (element.hasDecision()) { 12669 composeCodeableConcept(t, "SubDetailComponent", "decision", element.getDecision(), -1); 12670 } 12671 for (int i = 0; i < element.getAdjudication().size(); i++) { 12672 composeExplanationOfBenefitAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12673 } 12674 } 12675 12676 protected void composeExplanationOfBenefitAddedItemComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemComponent element, int index) { 12677 if (element == null) 12678 return; 12679 Complex t; 12680 if (Utilities.noString(parentType)) 12681 t = parent; 12682 else { 12683 t = parent.predicate("fhir:"+parentType+'.'+name); 12684 } 12685 composeBackboneElement(t, "addItem", name, element, index); 12686 for (int i = 0; i < element.getItemSequence().size(); i++) { 12687 composePositiveInt(t, "AddedItemComponent", "itemSequence", element.getItemSequence().get(i), i); 12688 } 12689 for (int i = 0; i < element.getDetailSequence().size(); i++) { 12690 composePositiveInt(t, "AddedItemComponent", "detailSequence", element.getDetailSequence().get(i), i); 12691 } 12692 for (int i = 0; i < element.getSubDetailSequence().size(); i++) { 12693 composePositiveInt(t, "AddedItemComponent", "subDetailSequence", element.getSubDetailSequence().get(i), i); 12694 } 12695 for (int i = 0; i < element.getProvider().size(); i++) { 12696 composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); 12697 } 12698 if (element.hasRevenue()) { 12699 composeCodeableConcept(t, "AddedItemComponent", "revenue", element.getRevenue(), -1); 12700 } 12701 if (element.hasProductOrService()) { 12702 composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); 12703 } 12704 if (element.hasProductOrServiceEnd()) { 12705 composeCodeableConcept(t, "AddedItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12706 } 12707 for (int i = 0; i < element.getModifier().size(); i++) { 12708 composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); 12709 } 12710 for (int i = 0; i < element.getProgramCode().size(); i++) { 12711 composeCodeableConcept(t, "AddedItemComponent", "programCode", element.getProgramCode().get(i), i); 12712 } 12713 if (element.hasServiced()) { 12714 composeType(t, "AddedItemComponent", "serviced", element.getServiced(), -1); 12715 } 12716 if (element.hasLocation()) { 12717 composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); 12718 } 12719 if (element.hasPatientPaid()) { 12720 composeMoney(t, "AddedItemComponent", "patientPaid", element.getPatientPaid(), -1); 12721 } 12722 if (element.hasQuantity()) { 12723 composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); 12724 } 12725 if (element.hasUnitPrice()) { 12726 composeMoney(t, "AddedItemComponent", "unitPrice", element.getUnitPrice(), -1); 12727 } 12728 if (element.hasFactorElement()) { 12729 composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); 12730 } 12731 if (element.hasTax()) { 12732 composeMoney(t, "AddedItemComponent", "tax", element.getTax(), -1); 12733 } 12734 if (element.hasNet()) { 12735 composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); 12736 } 12737 for (int i = 0; i < element.getBodySite().size(); i++) { 12738 composeExplanationOfBenefitAddedItemBodySiteComponent(t, "AddedItemComponent", "bodySite", element.getBodySite().get(i), i); 12739 } 12740 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12741 composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); 12742 } 12743 if (element.hasDecision()) { 12744 composeCodeableConcept(t, "AddedItemComponent", "decision", element.getDecision(), -1); 12745 } 12746 for (int i = 0; i < element.getAdjudication().size(); i++) { 12747 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); 12748 } 12749 for (int i = 0; i < element.getDetail().size(); i++) { 12750 composeExplanationOfBenefitAddedItemDetailComponent(t, "AddedItemComponent", "detail", element.getDetail().get(i), i); 12751 } 12752 } 12753 12754 protected void composeExplanationOfBenefitAddedItemBodySiteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemBodySiteComponent element, int index) { 12755 if (element == null) 12756 return; 12757 Complex t; 12758 if (Utilities.noString(parentType)) 12759 t = parent; 12760 else { 12761 t = parent.predicate("fhir:"+parentType+'.'+name); 12762 } 12763 composeBackboneElement(t, "bodySite", name, element, index); 12764 for (int i = 0; i < element.getSite().size(); i++) { 12765 composeCodeableReference(t, "AddedItemBodySiteComponent", "site", element.getSite().get(i), i); 12766 } 12767 for (int i = 0; i < element.getSubSite().size(); i++) { 12768 composeCodeableConcept(t, "AddedItemBodySiteComponent", "subSite", element.getSubSite().get(i), i); 12769 } 12770 } 12771 12772 protected void composeExplanationOfBenefitAddedItemDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailComponent element, int index) { 12773 if (element == null) 12774 return; 12775 Complex t; 12776 if (Utilities.noString(parentType)) 12777 t = parent; 12778 else { 12779 t = parent.predicate("fhir:"+parentType+'.'+name); 12780 } 12781 composeBackboneElement(t, "detail", name, element, index); 12782 if (element.hasRevenue()) { 12783 composeCodeableConcept(t, "AddedItemDetailComponent", "revenue", element.getRevenue(), -1); 12784 } 12785 if (element.hasProductOrService()) { 12786 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); 12787 } 12788 if (element.hasProductOrServiceEnd()) { 12789 composeCodeableConcept(t, "AddedItemDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12790 } 12791 for (int i = 0; i < element.getModifier().size(); i++) { 12792 composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); 12793 } 12794 if (element.hasPatientPaid()) { 12795 composeMoney(t, "AddedItemDetailComponent", "patientPaid", element.getPatientPaid(), -1); 12796 } 12797 if (element.hasQuantity()) { 12798 composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); 12799 } 12800 if (element.hasUnitPrice()) { 12801 composeMoney(t, "AddedItemDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12802 } 12803 if (element.hasFactorElement()) { 12804 composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); 12805 } 12806 if (element.hasTax()) { 12807 composeMoney(t, "AddedItemDetailComponent", "tax", element.getTax(), -1); 12808 } 12809 if (element.hasNet()) { 12810 composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); 12811 } 12812 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12813 composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12814 } 12815 if (element.hasDecision()) { 12816 composeCodeableConcept(t, "AddedItemDetailComponent", "decision", element.getDecision(), -1); 12817 } 12818 for (int i = 0; i < element.getAdjudication().size(); i++) { 12819 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12820 } 12821 for (int i = 0; i < element.getSubDetail().size(); i++) { 12822 composeExplanationOfBenefitAddedItemDetailSubDetailComponent(t, "AddedItemDetailComponent", "subDetail", element.getSubDetail().get(i), i); 12823 } 12824 } 12825 12826 protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailSubDetailComponent element, int index) { 12827 if (element == null) 12828 return; 12829 Complex t; 12830 if (Utilities.noString(parentType)) 12831 t = parent; 12832 else { 12833 t = parent.predicate("fhir:"+parentType+'.'+name); 12834 } 12835 composeBackboneElement(t, "subDetail", name, element, index); 12836 if (element.hasRevenue()) { 12837 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "revenue", element.getRevenue(), -1); 12838 } 12839 if (element.hasProductOrService()) { 12840 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrService", element.getProductOrService(), -1); 12841 } 12842 if (element.hasProductOrServiceEnd()) { 12843 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); 12844 } 12845 for (int i = 0; i < element.getModifier().size(); i++) { 12846 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "modifier", element.getModifier().get(i), i); 12847 } 12848 if (element.hasPatientPaid()) { 12849 composeMoney(t, "AddedItemDetailSubDetailComponent", "patientPaid", element.getPatientPaid(), -1); 12850 } 12851 if (element.hasQuantity()) { 12852 composeQuantity(t, "AddedItemDetailSubDetailComponent", "quantity", element.getQuantity(), -1); 12853 } 12854 if (element.hasUnitPrice()) { 12855 composeMoney(t, "AddedItemDetailSubDetailComponent", "unitPrice", element.getUnitPrice(), -1); 12856 } 12857 if (element.hasFactorElement()) { 12858 composeDecimal(t, "AddedItemDetailSubDetailComponent", "factor", element.getFactorElement(), -1); 12859 } 12860 if (element.hasTax()) { 12861 composeMoney(t, "AddedItemDetailSubDetailComponent", "tax", element.getTax(), -1); 12862 } 12863 if (element.hasNet()) { 12864 composeMoney(t, "AddedItemDetailSubDetailComponent", "net", element.getNet(), -1); 12865 } 12866 for (int i = 0; i < element.getNoteNumber().size(); i++) { 12867 composePositiveInt(t, "AddedItemDetailSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); 12868 } 12869 if (element.hasDecision()) { 12870 composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "decision", element.getDecision(), -1); 12871 } 12872 for (int i = 0; i < element.getAdjudication().size(); i++) { 12873 composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); 12874 } 12875 } 12876 12877 protected void composeExplanationOfBenefitTotalComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.TotalComponent element, int index) { 12878 if (element == null) 12879 return; 12880 Complex t; 12881 if (Utilities.noString(parentType)) 12882 t = parent; 12883 else { 12884 t = parent.predicate("fhir:"+parentType+'.'+name); 12885 } 12886 composeBackboneElement(t, "total", name, element, index); 12887 if (element.hasCategory()) { 12888 composeCodeableConcept(t, "TotalComponent", "category", element.getCategory(), -1); 12889 } 12890 if (element.hasAmount()) { 12891 composeMoney(t, "TotalComponent", "amount", element.getAmount(), -1); 12892 } 12893 } 12894 12895 protected void composeExplanationOfBenefitPaymentComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.PaymentComponent element, int index) { 12896 if (element == null) 12897 return; 12898 Complex t; 12899 if (Utilities.noString(parentType)) 12900 t = parent; 12901 else { 12902 t = parent.predicate("fhir:"+parentType+'.'+name); 12903 } 12904 composeBackboneElement(t, "payment", name, element, index); 12905 if (element.hasType()) { 12906 composeCodeableConcept(t, "PaymentComponent", "type", element.getType(), -1); 12907 } 12908 if (element.hasAdjustment()) { 12909 composeMoney(t, "PaymentComponent", "adjustment", element.getAdjustment(), -1); 12910 } 12911 if (element.hasAdjustmentReason()) { 12912 composeCodeableConcept(t, "PaymentComponent", "adjustmentReason", element.getAdjustmentReason(), -1); 12913 } 12914 if (element.hasDateElement()) { 12915 composeDate(t, "PaymentComponent", "date", element.getDateElement(), -1); 12916 } 12917 if (element.hasAmount()) { 12918 composeMoney(t, "PaymentComponent", "amount", element.getAmount(), -1); 12919 } 12920 if (element.hasIdentifier()) { 12921 composeIdentifier(t, "PaymentComponent", "identifier", element.getIdentifier(), -1); 12922 } 12923 } 12924 12925 protected void composeExplanationOfBenefitNoteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.NoteComponent element, int index) { 12926 if (element == null) 12927 return; 12928 Complex t; 12929 if (Utilities.noString(parentType)) 12930 t = parent; 12931 else { 12932 t = parent.predicate("fhir:"+parentType+'.'+name); 12933 } 12934 composeBackboneElement(t, "processNote", name, element, index); 12935 if (element.hasNumberElement()) { 12936 composePositiveInt(t, "NoteComponent", "number", element.getNumberElement(), -1); 12937 } 12938 if (element.hasTypeElement()) { 12939 composeEnum(t, "NoteComponent", "type", element.getTypeElement(), -1); 12940 } 12941 if (element.hasTextElement()) { 12942 composeString(t, "NoteComponent", "text", element.getTextElement(), -1); 12943 } 12944 if (element.hasLanguage()) { 12945 composeCodeableConcept(t, "NoteComponent", "language", element.getLanguage(), -1); 12946 } 12947 } 12948 12949 protected void composeExplanationOfBenefitBenefitBalanceComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitBalanceComponent element, int index) { 12950 if (element == null) 12951 return; 12952 Complex t; 12953 if (Utilities.noString(parentType)) 12954 t = parent; 12955 else { 12956 t = parent.predicate("fhir:"+parentType+'.'+name); 12957 } 12958 composeBackboneElement(t, "benefitBalance", name, element, index); 12959 if (element.hasCategory()) { 12960 composeCodeableConcept(t, "BenefitBalanceComponent", "category", element.getCategory(), -1); 12961 } 12962 if (element.hasExcludedElement()) { 12963 composeBoolean(t, "BenefitBalanceComponent", "excluded", element.getExcludedElement(), -1); 12964 } 12965 if (element.hasNameElement()) { 12966 composeString(t, "BenefitBalanceComponent", "name", element.getNameElement(), -1); 12967 } 12968 if (element.hasDescriptionElement()) { 12969 composeString(t, "BenefitBalanceComponent", "description", element.getDescriptionElement(), -1); 12970 } 12971 if (element.hasNetwork()) { 12972 composeCodeableConcept(t, "BenefitBalanceComponent", "network", element.getNetwork(), -1); 12973 } 12974 if (element.hasUnit()) { 12975 composeCodeableConcept(t, "BenefitBalanceComponent", "unit", element.getUnit(), -1); 12976 } 12977 if (element.hasTerm()) { 12978 composeCodeableConcept(t, "BenefitBalanceComponent", "term", element.getTerm(), -1); 12979 } 12980 for (int i = 0; i < element.getFinancial().size(); i++) { 12981 composeExplanationOfBenefitBenefitComponent(t, "BenefitBalanceComponent", "financial", element.getFinancial().get(i), i); 12982 } 12983 } 12984 12985 protected void composeExplanationOfBenefitBenefitComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BenefitComponent element, int index) { 12986 if (element == null) 12987 return; 12988 Complex t; 12989 if (Utilities.noString(parentType)) 12990 t = parent; 12991 else { 12992 t = parent.predicate("fhir:"+parentType+'.'+name); 12993 } 12994 composeBackboneElement(t, "financial", name, element, index); 12995 if (element.hasType()) { 12996 composeCodeableConcept(t, "BenefitComponent", "type", element.getType(), -1); 12997 } 12998 if (element.hasAllowed()) { 12999 composeType(t, "BenefitComponent", "allowed", element.getAllowed(), -1); 13000 } 13001 if (element.hasUsed()) { 13002 composeType(t, "BenefitComponent", "used", element.getUsed(), -1); 13003 } 13004 } 13005 13006 protected void composeFamilyMemberHistory(Complex parent, String parentType, String name, FamilyMemberHistory 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 composeDomainResource(t, "FamilyMemberHistory", name, element, index); 13016 for (int i = 0; i < element.getIdentifier().size(); i++) { 13017 composeIdentifier(t, "FamilyMemberHistory", "identifier", element.getIdentifier().get(i), i); 13018 } 13019 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 13020 composeCanonical(t, "FamilyMemberHistory", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 13021 } 13022 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 13023 composeUri(t, "FamilyMemberHistory", "instantiatesUri", element.getInstantiatesUri().get(i), i); 13024 } 13025 if (element.hasStatusElement()) { 13026 composeEnum(t, "FamilyMemberHistory", "status", element.getStatusElement(), -1); 13027 } 13028 if (element.hasDataAbsentReason()) { 13029 composeCodeableConcept(t, "FamilyMemberHistory", "dataAbsentReason", element.getDataAbsentReason(), -1); 13030 } 13031 if (element.hasPatient()) { 13032 composeReference(t, "FamilyMemberHistory", "patient", element.getPatient(), -1); 13033 } 13034 if (element.hasDateElement()) { 13035 composeDateTime(t, "FamilyMemberHistory", "date", element.getDateElement(), -1); 13036 } 13037 for (int i = 0; i < element.getParticipant().size(); i++) { 13038 composeFamilyMemberHistoryParticipantComponent(t, "FamilyMemberHistory", "participant", element.getParticipant().get(i), i); 13039 } 13040 if (element.hasNameElement()) { 13041 composeString(t, "FamilyMemberHistory", "name", element.getNameElement(), -1); 13042 } 13043 if (element.hasRelationship()) { 13044 composeCodeableConcept(t, "FamilyMemberHistory", "relationship", element.getRelationship(), -1); 13045 } 13046 if (element.hasSex()) { 13047 composeCodeableConcept(t, "FamilyMemberHistory", "sex", element.getSex(), -1); 13048 } 13049 if (element.hasBorn()) { 13050 composeType(t, "FamilyMemberHistory", "born", element.getBorn(), -1); 13051 } 13052 if (element.hasAge()) { 13053 composeType(t, "FamilyMemberHistory", "age", element.getAge(), -1); 13054 } 13055 if (element.hasEstimatedAgeElement()) { 13056 composeBoolean(t, "FamilyMemberHistory", "estimatedAge", element.getEstimatedAgeElement(), -1); 13057 } 13058 if (element.hasDeceased()) { 13059 composeType(t, "FamilyMemberHistory", "deceased", element.getDeceased(), -1); 13060 } 13061 for (int i = 0; i < element.getReason().size(); i++) { 13062 composeCodeableReference(t, "FamilyMemberHistory", "reason", element.getReason().get(i), i); 13063 } 13064 for (int i = 0; i < element.getNote().size(); i++) { 13065 composeAnnotation(t, "FamilyMemberHistory", "note", element.getNote().get(i), i); 13066 } 13067 for (int i = 0; i < element.getCondition().size(); i++) { 13068 composeFamilyMemberHistoryConditionComponent(t, "FamilyMemberHistory", "condition", element.getCondition().get(i), i); 13069 } 13070 for (int i = 0; i < element.getProcedure().size(); i++) { 13071 composeFamilyMemberHistoryProcedureComponent(t, "FamilyMemberHistory", "procedure", element.getProcedure().get(i), i); 13072 } 13073 } 13074 13075 protected void composeFamilyMemberHistoryParticipantComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryParticipantComponent element, int index) { 13076 if (element == null) 13077 return; 13078 Complex t; 13079 if (Utilities.noString(parentType)) 13080 t = parent; 13081 else { 13082 t = parent.predicate("fhir:"+parentType+'.'+name); 13083 } 13084 composeBackboneElement(t, "participant", name, element, index); 13085 if (element.hasFunction()) { 13086 composeCodeableConcept(t, "FamilyMemberHistoryParticipantComponent", "function", element.getFunction(), -1); 13087 } 13088 if (element.hasActor()) { 13089 composeReference(t, "FamilyMemberHistoryParticipantComponent", "actor", element.getActor(), -1); 13090 } 13091 } 13092 13093 protected void composeFamilyMemberHistoryConditionComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryConditionComponent element, int index) { 13094 if (element == null) 13095 return; 13096 Complex t; 13097 if (Utilities.noString(parentType)) 13098 t = parent; 13099 else { 13100 t = parent.predicate("fhir:"+parentType+'.'+name); 13101 } 13102 composeBackboneElement(t, "condition", name, element, index); 13103 if (element.hasCode()) { 13104 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "code", element.getCode(), -1); 13105 } 13106 if (element.hasOutcome()) { 13107 composeCodeableConcept(t, "FamilyMemberHistoryConditionComponent", "outcome", element.getOutcome(), -1); 13108 } 13109 if (element.hasContributedToDeathElement()) { 13110 composeBoolean(t, "FamilyMemberHistoryConditionComponent", "contributedToDeath", element.getContributedToDeathElement(), -1); 13111 } 13112 if (element.hasOnset()) { 13113 composeType(t, "FamilyMemberHistoryConditionComponent", "onset", element.getOnset(), -1); 13114 } 13115 for (int i = 0; i < element.getNote().size(); i++) { 13116 composeAnnotation(t, "FamilyMemberHistoryConditionComponent", "note", element.getNote().get(i), i); 13117 } 13118 } 13119 13120 protected void composeFamilyMemberHistoryProcedureComponent(Complex parent, String parentType, String name, FamilyMemberHistory.FamilyMemberHistoryProcedureComponent element, int index) { 13121 if (element == null) 13122 return; 13123 Complex t; 13124 if (Utilities.noString(parentType)) 13125 t = parent; 13126 else { 13127 t = parent.predicate("fhir:"+parentType+'.'+name); 13128 } 13129 composeBackboneElement(t, "procedure", name, element, index); 13130 if (element.hasCode()) { 13131 composeCodeableConcept(t, "FamilyMemberHistoryProcedureComponent", "code", element.getCode(), -1); 13132 } 13133 if (element.hasOutcome()) { 13134 composeCodeableConcept(t, "FamilyMemberHistoryProcedureComponent", "outcome", element.getOutcome(), -1); 13135 } 13136 if (element.hasContributedToDeathElement()) { 13137 composeBoolean(t, "FamilyMemberHistoryProcedureComponent", "contributedToDeath", element.getContributedToDeathElement(), -1); 13138 } 13139 if (element.hasPerformed()) { 13140 composeType(t, "FamilyMemberHistoryProcedureComponent", "performed", element.getPerformed(), -1); 13141 } 13142 for (int i = 0; i < element.getNote().size(); i++) { 13143 composeAnnotation(t, "FamilyMemberHistoryProcedureComponent", "note", element.getNote().get(i), i); 13144 } 13145 } 13146 13147 protected void composeFlag(Complex parent, String parentType, String name, Flag 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, "Flag", name, element, index); 13157 for (int i = 0; i < element.getIdentifier().size(); i++) { 13158 composeIdentifier(t, "Flag", "identifier", element.getIdentifier().get(i), i); 13159 } 13160 if (element.hasStatusElement()) { 13161 composeEnum(t, "Flag", "status", element.getStatusElement(), -1); 13162 } 13163 for (int i = 0; i < element.getCategory().size(); i++) { 13164 composeCodeableConcept(t, "Flag", "category", element.getCategory().get(i), i); 13165 } 13166 if (element.hasCode()) { 13167 composeCodeableConcept(t, "Flag", "code", element.getCode(), -1); 13168 } 13169 if (element.hasSubject()) { 13170 composeReference(t, "Flag", "subject", element.getSubject(), -1); 13171 } 13172 if (element.hasPeriod()) { 13173 composePeriod(t, "Flag", "period", element.getPeriod(), -1); 13174 } 13175 if (element.hasEncounter()) { 13176 composeReference(t, "Flag", "encounter", element.getEncounter(), -1); 13177 } 13178 if (element.hasAuthor()) { 13179 composeReference(t, "Flag", "author", element.getAuthor(), -1); 13180 } 13181 } 13182 13183 protected void composeFormularyItem(Complex parent, String parentType, String name, FormularyItem element, int index) { 13184 if (element == null) 13185 return; 13186 Complex t; 13187 if (Utilities.noString(parentType)) 13188 t = parent; 13189 else { 13190 t = parent.predicate("fhir:"+parentType+'.'+name); 13191 } 13192 composeDomainResource(t, "FormularyItem", name, element, index); 13193 for (int i = 0; i < element.getIdentifier().size(); i++) { 13194 composeIdentifier(t, "FormularyItem", "identifier", element.getIdentifier().get(i), i); 13195 } 13196 if (element.hasCode()) { 13197 composeCodeableConcept(t, "FormularyItem", "code", element.getCode(), -1); 13198 } 13199 if (element.hasStatusElement()) { 13200 composeEnum(t, "FormularyItem", "status", element.getStatusElement(), -1); 13201 } 13202 } 13203 13204 protected void composeGenomicStudy(Complex parent, String parentType, String name, GenomicStudy element, int index) { 13205 if (element == null) 13206 return; 13207 Complex t; 13208 if (Utilities.noString(parentType)) 13209 t = parent; 13210 else { 13211 t = parent.predicate("fhir:"+parentType+'.'+name); 13212 } 13213 composeDomainResource(t, "GenomicStudy", name, element, index); 13214 for (int i = 0; i < element.getIdentifier().size(); i++) { 13215 composeIdentifier(t, "GenomicStudy", "identifier", element.getIdentifier().get(i), i); 13216 } 13217 if (element.hasStatus()) { 13218 composeCodeableConcept(t, "GenomicStudy", "status", element.getStatus(), -1); 13219 } 13220 for (int i = 0; i < element.getType().size(); i++) { 13221 composeCodeableConcept(t, "GenomicStudy", "type", element.getType().get(i), i); 13222 } 13223 if (element.hasSubject()) { 13224 composeReference(t, "GenomicStudy", "subject", element.getSubject(), -1); 13225 } 13226 if (element.hasEncounter()) { 13227 composeReference(t, "GenomicStudy", "encounter", element.getEncounter(), -1); 13228 } 13229 if (element.hasStartDateElement()) { 13230 composeDateTime(t, "GenomicStudy", "startDate", element.getStartDateElement(), -1); 13231 } 13232 for (int i = 0; i < element.getBasedOn().size(); i++) { 13233 composeReference(t, "GenomicStudy", "basedOn", element.getBasedOn().get(i), i); 13234 } 13235 if (element.hasReferrer()) { 13236 composeReference(t, "GenomicStudy", "referrer", element.getReferrer(), -1); 13237 } 13238 for (int i = 0; i < element.getInterpreter().size(); i++) { 13239 composeReference(t, "GenomicStudy", "interpreter", element.getInterpreter().get(i), i); 13240 } 13241 for (int i = 0; i < element.getReason().size(); i++) { 13242 composeCodeableReference(t, "GenomicStudy", "reason", element.getReason().get(i), i); 13243 } 13244 if (element.hasInstantiatesCanonicalElement()) { 13245 composeCanonical(t, "GenomicStudy", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 13246 } 13247 if (element.hasInstantiatesUriElement()) { 13248 composeUri(t, "GenomicStudy", "instantiatesUri", element.getInstantiatesUriElement(), -1); 13249 } 13250 for (int i = 0; i < element.getNote().size(); i++) { 13251 composeAnnotation(t, "GenomicStudy", "note", element.getNote().get(i), i); 13252 } 13253 if (element.hasDescriptionElement()) { 13254 composeString(t, "GenomicStudy", "description", element.getDescriptionElement(), -1); 13255 } 13256 for (int i = 0; i < element.getAnalysis().size(); i++) { 13257 composeGenomicStudyAnalysisComponent(t, "GenomicStudy", "analysis", element.getAnalysis().get(i), i); 13258 } 13259 } 13260 13261 protected void composeGenomicStudyAnalysisComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisComponent element, int index) { 13262 if (element == null) 13263 return; 13264 Complex t; 13265 if (Utilities.noString(parentType)) 13266 t = parent; 13267 else { 13268 t = parent.predicate("fhir:"+parentType+'.'+name); 13269 } 13270 composeBackboneElement(t, "analysis", name, element, index); 13271 for (int i = 0; i < element.getIdentifier().size(); i++) { 13272 composeIdentifier(t, "GenomicStudyAnalysisComponent", "identifier", element.getIdentifier().get(i), i); 13273 } 13274 for (int i = 0; i < element.getMethodType().size(); i++) { 13275 composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "methodType", element.getMethodType().get(i), i); 13276 } 13277 for (int i = 0; i < element.getChangeType().size(); i++) { 13278 composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "changeType", element.getChangeType().get(i), i); 13279 } 13280 if (element.hasGenomeBuild()) { 13281 composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "genomeBuild", element.getGenomeBuild(), -1); 13282 } 13283 if (element.hasInstantiatesCanonicalElement()) { 13284 composeCanonical(t, "GenomicStudyAnalysisComponent", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 13285 } 13286 if (element.hasInstantiatesUriElement()) { 13287 composeUri(t, "GenomicStudyAnalysisComponent", "instantiatesUri", element.getInstantiatesUriElement(), -1); 13288 } 13289 if (element.hasTitleElement()) { 13290 composeString(t, "GenomicStudyAnalysisComponent", "title", element.getTitleElement(), -1); 13291 } 13292 if (element.hasSubject()) { 13293 composeReference(t, "GenomicStudyAnalysisComponent", "subject", element.getSubject(), -1); 13294 } 13295 for (int i = 0; i < element.getSpecimen().size(); i++) { 13296 composeReference(t, "GenomicStudyAnalysisComponent", "specimen", element.getSpecimen().get(i), i); 13297 } 13298 if (element.hasDateElement()) { 13299 composeDateTime(t, "GenomicStudyAnalysisComponent", "date", element.getDateElement(), -1); 13300 } 13301 for (int i = 0; i < element.getNote().size(); i++) { 13302 composeAnnotation(t, "GenomicStudyAnalysisComponent", "note", element.getNote().get(i), i); 13303 } 13304 if (element.hasProtocolPerformed()) { 13305 composeReference(t, "GenomicStudyAnalysisComponent", "protocolPerformed", element.getProtocolPerformed(), -1); 13306 } 13307 for (int i = 0; i < element.getRegionsStudied().size(); i++) { 13308 composeReference(t, "GenomicStudyAnalysisComponent", "regionsStudied", element.getRegionsStudied().get(i), i); 13309 } 13310 for (int i = 0; i < element.getRegionsCalled().size(); i++) { 13311 composeReference(t, "GenomicStudyAnalysisComponent", "regionsCalled", element.getRegionsCalled().get(i), i); 13312 } 13313 for (int i = 0; i < element.getInput().size(); i++) { 13314 composeGenomicStudyAnalysisInputComponent(t, "GenomicStudyAnalysisComponent", "input", element.getInput().get(i), i); 13315 } 13316 for (int i = 0; i < element.getOutput().size(); i++) { 13317 composeGenomicStudyAnalysisOutputComponent(t, "GenomicStudyAnalysisComponent", "output", element.getOutput().get(i), i); 13318 } 13319 for (int i = 0; i < element.getPerformer().size(); i++) { 13320 composeGenomicStudyAnalysisPerformerComponent(t, "GenomicStudyAnalysisComponent", "performer", element.getPerformer().get(i), i); 13321 } 13322 for (int i = 0; i < element.getDevice().size(); i++) { 13323 composeGenomicStudyAnalysisDeviceComponent(t, "GenomicStudyAnalysisComponent", "device", element.getDevice().get(i), i); 13324 } 13325 } 13326 13327 protected void composeGenomicStudyAnalysisInputComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisInputComponent 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, "input", name, element, index); 13337 if (element.hasFile()) { 13338 composeReference(t, "GenomicStudyAnalysisInputComponent", "file", element.getFile(), -1); 13339 } 13340 if (element.hasType()) { 13341 composeCodeableConcept(t, "GenomicStudyAnalysisInputComponent", "type", element.getType(), -1); 13342 } 13343 if (element.hasGeneratedBy()) { 13344 composeType(t, "GenomicStudyAnalysisInputComponent", "generatedBy", element.getGeneratedBy(), -1); 13345 } 13346 } 13347 13348 protected void composeGenomicStudyAnalysisOutputComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisOutputComponent element, int index) { 13349 if (element == null) 13350 return; 13351 Complex t; 13352 if (Utilities.noString(parentType)) 13353 t = parent; 13354 else { 13355 t = parent.predicate("fhir:"+parentType+'.'+name); 13356 } 13357 composeBackboneElement(t, "output", name, element, index); 13358 if (element.hasFile()) { 13359 composeReference(t, "GenomicStudyAnalysisOutputComponent", "file", element.getFile(), -1); 13360 } 13361 if (element.hasType()) { 13362 composeCodeableConcept(t, "GenomicStudyAnalysisOutputComponent", "type", element.getType(), -1); 13363 } 13364 } 13365 13366 protected void composeGenomicStudyAnalysisPerformerComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisPerformerComponent element, int index) { 13367 if (element == null) 13368 return; 13369 Complex t; 13370 if (Utilities.noString(parentType)) 13371 t = parent; 13372 else { 13373 t = parent.predicate("fhir:"+parentType+'.'+name); 13374 } 13375 composeBackboneElement(t, "performer", name, element, index); 13376 if (element.hasActor()) { 13377 composeReference(t, "GenomicStudyAnalysisPerformerComponent", "actor", element.getActor(), -1); 13378 } 13379 if (element.hasRole()) { 13380 composeCodeableConcept(t, "GenomicStudyAnalysisPerformerComponent", "role", element.getRole(), -1); 13381 } 13382 } 13383 13384 protected void composeGenomicStudyAnalysisDeviceComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisDeviceComponent element, int index) { 13385 if (element == null) 13386 return; 13387 Complex t; 13388 if (Utilities.noString(parentType)) 13389 t = parent; 13390 else { 13391 t = parent.predicate("fhir:"+parentType+'.'+name); 13392 } 13393 composeBackboneElement(t, "device", name, element, index); 13394 if (element.hasDevice()) { 13395 composeReference(t, "GenomicStudyAnalysisDeviceComponent", "device", element.getDevice(), -1); 13396 } 13397 if (element.hasFunction()) { 13398 composeCodeableConcept(t, "GenomicStudyAnalysisDeviceComponent", "function", element.getFunction(), -1); 13399 } 13400 } 13401 13402 protected void composeGoal(Complex parent, String parentType, String name, Goal element, int index) { 13403 if (element == null) 13404 return; 13405 Complex t; 13406 if (Utilities.noString(parentType)) 13407 t = parent; 13408 else { 13409 t = parent.predicate("fhir:"+parentType+'.'+name); 13410 } 13411 composeDomainResource(t, "Goal", name, element, index); 13412 for (int i = 0; i < element.getIdentifier().size(); i++) { 13413 composeIdentifier(t, "Goal", "identifier", element.getIdentifier().get(i), i); 13414 } 13415 if (element.hasLifecycleStatusElement()) { 13416 composeEnum(t, "Goal", "lifecycleStatus", element.getLifecycleStatusElement(), -1); 13417 } 13418 if (element.hasAchievementStatus()) { 13419 composeCodeableConcept(t, "Goal", "achievementStatus", element.getAchievementStatus(), -1); 13420 } 13421 for (int i = 0; i < element.getCategory().size(); i++) { 13422 composeCodeableConcept(t, "Goal", "category", element.getCategory().get(i), i); 13423 } 13424 if (element.hasContinuousElement()) { 13425 composeBoolean(t, "Goal", "continuous", element.getContinuousElement(), -1); 13426 } 13427 if (element.hasPriority()) { 13428 composeCodeableConcept(t, "Goal", "priority", element.getPriority(), -1); 13429 } 13430 if (element.hasDescription()) { 13431 composeCodeableConcept(t, "Goal", "description", element.getDescription(), -1); 13432 } 13433 if (element.hasSubject()) { 13434 composeReference(t, "Goal", "subject", element.getSubject(), -1); 13435 } 13436 if (element.hasStart()) { 13437 composeType(t, "Goal", "start", element.getStart(), -1); 13438 } 13439 for (int i = 0; i < element.getTarget().size(); i++) { 13440 composeGoalTargetComponent(t, "Goal", "target", element.getTarget().get(i), i); 13441 } 13442 if (element.hasStatusDateElement()) { 13443 composeDate(t, "Goal", "statusDate", element.getStatusDateElement(), -1); 13444 } 13445 if (element.hasStatusReasonElement()) { 13446 composeString(t, "Goal", "statusReason", element.getStatusReasonElement(), -1); 13447 } 13448 if (element.hasSource()) { 13449 composeReference(t, "Goal", "source", element.getSource(), -1); 13450 } 13451 for (int i = 0; i < element.getAddresses().size(); i++) { 13452 composeReference(t, "Goal", "addresses", element.getAddresses().get(i), i); 13453 } 13454 for (int i = 0; i < element.getNote().size(); i++) { 13455 composeAnnotation(t, "Goal", "note", element.getNote().get(i), i); 13456 } 13457 for (int i = 0; i < element.getOutcome().size(); i++) { 13458 composeCodeableReference(t, "Goal", "outcome", element.getOutcome().get(i), i); 13459 } 13460 } 13461 13462 protected void composeGoalTargetComponent(Complex parent, String parentType, String name, Goal.GoalTargetComponent element, int index) { 13463 if (element == null) 13464 return; 13465 Complex t; 13466 if (Utilities.noString(parentType)) 13467 t = parent; 13468 else { 13469 t = parent.predicate("fhir:"+parentType+'.'+name); 13470 } 13471 composeBackboneElement(t, "target", name, element, index); 13472 if (element.hasMeasure()) { 13473 composeCodeableConcept(t, "GoalTargetComponent", "measure", element.getMeasure(), -1); 13474 } 13475 if (element.hasDetail()) { 13476 composeType(t, "GoalTargetComponent", "detail", element.getDetail(), -1); 13477 } 13478 if (element.hasDue()) { 13479 composeType(t, "GoalTargetComponent", "due", element.getDue(), -1); 13480 } 13481 } 13482 13483 protected void composeGraphDefinition(Complex parent, String parentType, String name, GraphDefinition element, int index) { 13484 if (element == null) 13485 return; 13486 Complex t; 13487 if (Utilities.noString(parentType)) 13488 t = parent; 13489 else { 13490 t = parent.predicate("fhir:"+parentType+'.'+name); 13491 } 13492 composeCanonicalResource(t, "GraphDefinition", name, element, index); 13493 if (element.hasUrlElement()) { 13494 composeUri(t, "GraphDefinition", "url", element.getUrlElement(), -1); 13495 } 13496 if (element.hasVersionElement()) { 13497 composeString(t, "GraphDefinition", "version", element.getVersionElement(), -1); 13498 } 13499 if (element.hasVersionAlgorithm()) { 13500 composeType(t, "GraphDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); 13501 } 13502 if (element.hasNameElement()) { 13503 composeString(t, "GraphDefinition", "name", element.getNameElement(), -1); 13504 } 13505 if (element.hasTitleElement()) { 13506 composeString(t, "GraphDefinition", "title", element.getTitleElement(), -1); 13507 } 13508 if (element.hasStatusElement()) { 13509 composeEnum(t, "GraphDefinition", "status", element.getStatusElement(), -1); 13510 } 13511 if (element.hasExperimentalElement()) { 13512 composeBoolean(t, "GraphDefinition", "experimental", element.getExperimentalElement(), -1); 13513 } 13514 if (element.hasDateElement()) { 13515 composeDateTime(t, "GraphDefinition", "date", element.getDateElement(), -1); 13516 } 13517 if (element.hasPublisherElement()) { 13518 composeString(t, "GraphDefinition", "publisher", element.getPublisherElement(), -1); 13519 } 13520 for (int i = 0; i < element.getContact().size(); i++) { 13521 composeContactDetail(t, "GraphDefinition", "contact", element.getContact().get(i), i); 13522 } 13523 if (element.hasDescriptionElement()) { 13524 composeMarkdown(t, "GraphDefinition", "description", element.getDescriptionElement(), -1); 13525 } 13526 for (int i = 0; i < element.getUseContext().size(); i++) { 13527 composeUsageContext(t, "GraphDefinition", "useContext", element.getUseContext().get(i), i); 13528 } 13529 for (int i = 0; i < element.getJurisdiction().size(); i++) { 13530 composeCodeableConcept(t, "GraphDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 13531 } 13532 if (element.hasPurposeElement()) { 13533 composeMarkdown(t, "GraphDefinition", "purpose", element.getPurposeElement(), -1); 13534 } 13535 if (element.hasStartElement()) { 13536 composeId(t, "GraphDefinition", "start", element.getStartElement(), -1); 13537 } 13538 for (int i = 0; i < element.getNode().size(); i++) { 13539 composeGraphDefinitionNodeComponent(t, "GraphDefinition", "node", element.getNode().get(i), i); 13540 } 13541 for (int i = 0; i < element.getLink().size(); i++) { 13542 composeGraphDefinitionLinkComponent(t, "GraphDefinition", "link", element.getLink().get(i), i); 13543 } 13544 } 13545 13546 protected void composeGraphDefinitionNodeComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionNodeComponent element, int index) { 13547 if (element == null) 13548 return; 13549 Complex t; 13550 if (Utilities.noString(parentType)) 13551 t = parent; 13552 else { 13553 t = parent.predicate("fhir:"+parentType+'.'+name); 13554 } 13555 composeBackboneElement(t, "node", name, element, index); 13556 if (element.hasNodeIdElement()) { 13557 composeId(t, "GraphDefinitionNodeComponent", "nodeId", element.getNodeIdElement(), -1); 13558 } 13559 if (element.hasDescriptionElement()) { 13560 composeString(t, "GraphDefinitionNodeComponent", "description", element.getDescriptionElement(), -1); 13561 } 13562 if (element.hasTypeElement()) { 13563 composeEnum(t, "GraphDefinitionNodeComponent", "type", element.getTypeElement(), -1); 13564 } 13565 if (element.hasProfileElement()) { 13566 composeCanonical(t, "GraphDefinitionNodeComponent", "profile", element.getProfileElement(), -1); 13567 } 13568 } 13569 13570 protected void composeGraphDefinitionLinkComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkComponent element, int index) { 13571 if (element == null) 13572 return; 13573 Complex t; 13574 if (Utilities.noString(parentType)) 13575 t = parent; 13576 else { 13577 t = parent.predicate("fhir:"+parentType+'.'+name); 13578 } 13579 composeBackboneElement(t, "link", name, element, index); 13580 if (element.hasDescriptionElement()) { 13581 composeString(t, "GraphDefinitionLinkComponent", "description", element.getDescriptionElement(), -1); 13582 } 13583 if (element.hasMinElement()) { 13584 composeInteger(t, "GraphDefinitionLinkComponent", "min", element.getMinElement(), -1); 13585 } 13586 if (element.hasMaxElement()) { 13587 composeString(t, "GraphDefinitionLinkComponent", "max", element.getMaxElement(), -1); 13588 } 13589 if (element.hasSourceIdElement()) { 13590 composeId(t, "GraphDefinitionLinkComponent", "sourceId", element.getSourceIdElement(), -1); 13591 } 13592 if (element.hasPathElement()) { 13593 composeString(t, "GraphDefinitionLinkComponent", "path", element.getPathElement(), -1); 13594 } 13595 if (element.hasSliceNameElement()) { 13596 composeString(t, "GraphDefinitionLinkComponent", "sliceName", element.getSliceNameElement(), -1); 13597 } 13598 if (element.hasTargetIdElement()) { 13599 composeId(t, "GraphDefinitionLinkComponent", "targetId", element.getTargetIdElement(), -1); 13600 } 13601 if (element.hasParamsElement()) { 13602 composeString(t, "GraphDefinitionLinkComponent", "params", element.getParamsElement(), -1); 13603 } 13604 for (int i = 0; i < element.getCompartment().size(); i++) { 13605 composeGraphDefinitionLinkCompartmentComponent(t, "GraphDefinitionLinkComponent", "compartment", element.getCompartment().get(i), i); 13606 } 13607 } 13608 13609 protected void composeGraphDefinitionLinkCompartmentComponent(Complex parent, String parentType, String name, GraphDefinition.GraphDefinitionLinkCompartmentComponent element, int index) { 13610 if (element == null) 13611 return; 13612 Complex t; 13613 if (Utilities.noString(parentType)) 13614 t = parent; 13615 else { 13616 t = parent.predicate("fhir:"+parentType+'.'+name); 13617 } 13618 composeBackboneElement(t, "compartment", name, element, index); 13619 if (element.hasUseElement()) { 13620 composeEnum(t, "GraphDefinitionLinkCompartmentComponent", "use", element.getUseElement(), -1); 13621 } 13622 if (element.hasRuleElement()) { 13623 composeEnum(t, "GraphDefinitionLinkCompartmentComponent", "rule", element.getRuleElement(), -1); 13624 } 13625 if (element.hasCodeElement()) { 13626 composeEnum(t, "GraphDefinitionLinkCompartmentComponent", "code", element.getCodeElement(), -1); 13627 } 13628 if (element.hasExpressionElement()) { 13629 composeString(t, "GraphDefinitionLinkCompartmentComponent", "expression", element.getExpressionElement(), -1); 13630 } 13631 if (element.hasDescriptionElement()) { 13632 composeString(t, "GraphDefinitionLinkCompartmentComponent", "description", element.getDescriptionElement(), -1); 13633 } 13634 } 13635 13636 protected void composeGroup(Complex parent, String parentType, String name, Group element, int index) { 13637 if (element == null) 13638 return; 13639 Complex t; 13640 if (Utilities.noString(parentType)) 13641 t = parent; 13642 else { 13643 t = parent.predicate("fhir:"+parentType+'.'+name); 13644 } 13645 composeDomainResource(t, "Group", name, element, index); 13646 for (int i = 0; i < element.getIdentifier().size(); i++) { 13647 composeIdentifier(t, "Group", "identifier", element.getIdentifier().get(i), i); 13648 } 13649 if (element.hasActiveElement()) { 13650 composeBoolean(t, "Group", "active", element.getActiveElement(), -1); 13651 } 13652 if (element.hasTypeElement()) { 13653 composeEnum(t, "Group", "type", element.getTypeElement(), -1); 13654 } 13655 if (element.hasMembershipElement()) { 13656 composeEnum(t, "Group", "membership", element.getMembershipElement(), -1); 13657 } 13658 if (element.hasCode()) { 13659 composeCodeableConcept(t, "Group", "code", element.getCode(), -1); 13660 } 13661 if (element.hasNameElement()) { 13662 composeString(t, "Group", "name", element.getNameElement(), -1); 13663 } 13664 if (element.hasDescriptionElement()) { 13665 composeMarkdown(t, "Group", "description", element.getDescriptionElement(), -1); 13666 } 13667 if (element.hasQuantityElement()) { 13668 composeUnsignedInt(t, "Group", "quantity", element.getQuantityElement(), -1); 13669 } 13670 if (element.hasManagingEntity()) { 13671 composeReference(t, "Group", "managingEntity", element.getManagingEntity(), -1); 13672 } 13673 for (int i = 0; i < element.getCharacteristic().size(); i++) { 13674 composeGroupCharacteristicComponent(t, "Group", "characteristic", element.getCharacteristic().get(i), i); 13675 } 13676 for (int i = 0; i < element.getMember().size(); i++) { 13677 composeGroupMemberComponent(t, "Group", "member", element.getMember().get(i), i); 13678 } 13679 } 13680 13681 protected void composeGroupCharacteristicComponent(Complex parent, String parentType, String name, Group.GroupCharacteristicComponent element, int index) { 13682 if (element == null) 13683 return; 13684 Complex t; 13685 if (Utilities.noString(parentType)) 13686 t = parent; 13687 else { 13688 t = parent.predicate("fhir:"+parentType+'.'+name); 13689 } 13690 composeBackboneElement(t, "characteristic", name, element, index); 13691 if (element.hasCode()) { 13692 composeCodeableConcept(t, "GroupCharacteristicComponent", "code", element.getCode(), -1); 13693 } 13694 if (element.hasValue()) { 13695 composeType(t, "GroupCharacteristicComponent", "value", element.getValue(), -1); 13696 } 13697 if (element.hasExcludeElement()) { 13698 composeBoolean(t, "GroupCharacteristicComponent", "exclude", element.getExcludeElement(), -1); 13699 } 13700 if (element.hasPeriod()) { 13701 composePeriod(t, "GroupCharacteristicComponent", "period", element.getPeriod(), -1); 13702 } 13703 } 13704 13705 protected void composeGroupMemberComponent(Complex parent, String parentType, String name, Group.GroupMemberComponent element, int index) { 13706 if (element == null) 13707 return; 13708 Complex t; 13709 if (Utilities.noString(parentType)) 13710 t = parent; 13711 else { 13712 t = parent.predicate("fhir:"+parentType+'.'+name); 13713 } 13714 composeBackboneElement(t, "member", name, element, index); 13715 if (element.hasEntity()) { 13716 composeReference(t, "GroupMemberComponent", "entity", element.getEntity(), -1); 13717 } 13718 if (element.hasPeriod()) { 13719 composePeriod(t, "GroupMemberComponent", "period", element.getPeriod(), -1); 13720 } 13721 if (element.hasInactiveElement()) { 13722 composeBoolean(t, "GroupMemberComponent", "inactive", element.getInactiveElement(), -1); 13723 } 13724 } 13725 13726 protected void composeGuidanceResponse(Complex parent, String parentType, String name, GuidanceResponse 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 composeDomainResource(t, "GuidanceResponse", name, element, index); 13736 if (element.hasRequestIdentifier()) { 13737 composeIdentifier(t, "GuidanceResponse", "requestIdentifier", element.getRequestIdentifier(), -1); 13738 } 13739 for (int i = 0; i < element.getIdentifier().size(); i++) { 13740 composeIdentifier(t, "GuidanceResponse", "identifier", element.getIdentifier().get(i), i); 13741 } 13742 if (element.hasModule()) { 13743 composeType(t, "GuidanceResponse", "module", element.getModule(), -1); 13744 } 13745 if (element.hasStatusElement()) { 13746 composeEnum(t, "GuidanceResponse", "status", element.getStatusElement(), -1); 13747 } 13748 if (element.hasSubject()) { 13749 composeReference(t, "GuidanceResponse", "subject", element.getSubject(), -1); 13750 } 13751 if (element.hasEncounter()) { 13752 composeReference(t, "GuidanceResponse", "encounter", element.getEncounter(), -1); 13753 } 13754 if (element.hasOccurrenceDateTimeElement()) { 13755 composeDateTime(t, "GuidanceResponse", "occurrenceDateTime", element.getOccurrenceDateTimeElement(), -1); 13756 } 13757 if (element.hasPerformer()) { 13758 composeReference(t, "GuidanceResponse", "performer", element.getPerformer(), -1); 13759 } 13760 for (int i = 0; i < element.getReason().size(); i++) { 13761 composeCodeableReference(t, "GuidanceResponse", "reason", element.getReason().get(i), i); 13762 } 13763 for (int i = 0; i < element.getNote().size(); i++) { 13764 composeAnnotation(t, "GuidanceResponse", "note", element.getNote().get(i), i); 13765 } 13766 for (int i = 0; i < element.getEvaluationMessage().size(); i++) { 13767 composeReference(t, "GuidanceResponse", "evaluationMessage", element.getEvaluationMessage().get(i), i); 13768 } 13769 if (element.hasOutputParameters()) { 13770 composeReference(t, "GuidanceResponse", "outputParameters", element.getOutputParameters(), -1); 13771 } 13772 if (element.hasResult()) { 13773 composeReference(t, "GuidanceResponse", "result", element.getResult(), -1); 13774 } 13775 for (int i = 0; i < element.getDataRequirement().size(); i++) { 13776 composeDataRequirement(t, "GuidanceResponse", "dataRequirement", element.getDataRequirement().get(i), i); 13777 } 13778 } 13779 13780 protected void composeHealthcareService(Complex parent, String parentType, String name, HealthcareService element, int index) { 13781 if (element == null) 13782 return; 13783 Complex t; 13784 if (Utilities.noString(parentType)) 13785 t = parent; 13786 else { 13787 t = parent.predicate("fhir:"+parentType+'.'+name); 13788 } 13789 composeDomainResource(t, "HealthcareService", name, element, index); 13790 for (int i = 0; i < element.getIdentifier().size(); i++) { 13791 composeIdentifier(t, "HealthcareService", "identifier", element.getIdentifier().get(i), i); 13792 } 13793 if (element.hasActiveElement()) { 13794 composeBoolean(t, "HealthcareService", "active", element.getActiveElement(), -1); 13795 } 13796 if (element.hasProvidedBy()) { 13797 composeReference(t, "HealthcareService", "providedBy", element.getProvidedBy(), -1); 13798 } 13799 for (int i = 0; i < element.getOfferedIn().size(); i++) { 13800 composeReference(t, "HealthcareService", "offeredIn", element.getOfferedIn().get(i), i); 13801 } 13802 for (int i = 0; i < element.getCategory().size(); i++) { 13803 composeCodeableConcept(t, "HealthcareService", "category", element.getCategory().get(i), i); 13804 } 13805 for (int i = 0; i < element.getType().size(); i++) { 13806 composeCodeableConcept(t, "HealthcareService", "type", element.getType().get(i), i); 13807 } 13808 for (int i = 0; i < element.getSpecialty().size(); i++) { 13809 composeCodeableConcept(t, "HealthcareService", "specialty", element.getSpecialty().get(i), i); 13810 } 13811 for (int i = 0; i < element.getLocation().size(); i++) { 13812 composeReference(t, "HealthcareService", "location", element.getLocation().get(i), i); 13813 } 13814 if (element.hasNameElement()) { 13815 composeString(t, "HealthcareService", "name", element.getNameElement(), -1); 13816 } 13817 if (element.hasCommentElement()) { 13818 composeString(t, "HealthcareService", "comment", element.getCommentElement(), -1); 13819 } 13820 if (element.hasExtraDetailsElement()) { 13821 composeMarkdown(t, "HealthcareService", "extraDetails", element.getExtraDetailsElement(), -1); 13822 } 13823 if (element.hasPhoto()) { 13824 composeAttachment(t, "HealthcareService", "photo", element.getPhoto(), -1); 13825 } 13826 for (int i = 0; i < element.getContact().size(); i++) { 13827 composeExtendedContactDetail(t, "HealthcareService", "contact", element.getContact().get(i), i); 13828 } 13829 for (int i = 0; i < element.getCoverageArea().size(); i++) { 13830 composeReference(t, "HealthcareService", "coverageArea", element.getCoverageArea().get(i), i); 13831 } 13832 for (int i = 0; i < element.getServiceProvisionCode().size(); i++) { 13833 composeCodeableConcept(t, "HealthcareService", "serviceProvisionCode", element.getServiceProvisionCode().get(i), i); 13834 } 13835 for (int i = 0; i < element.getEligibility().size(); i++) { 13836 composeHealthcareServiceEligibilityComponent(t, "HealthcareService", "eligibility", element.getEligibility().get(i), i); 13837 } 13838 for (int i = 0; i < element.getProgram().size(); i++) { 13839 composeCodeableConcept(t, "HealthcareService", "program", element.getProgram().get(i), i); 13840 } 13841 for (int i = 0; i < element.getCharacteristic().size(); i++) { 13842 composeCodeableConcept(t, "HealthcareService", "characteristic", element.getCharacteristic().get(i), i); 13843 } 13844 for (int i = 0; i < element.getCommunication().size(); i++) { 13845 composeCodeableConcept(t, "HealthcareService", "communication", element.getCommunication().get(i), i); 13846 } 13847 for (int i = 0; i < element.getReferralMethod().size(); i++) { 13848 composeCodeableConcept(t, "HealthcareService", "referralMethod", element.getReferralMethod().get(i), i); 13849 } 13850 if (element.hasAppointmentRequiredElement()) { 13851 composeBoolean(t, "HealthcareService", "appointmentRequired", element.getAppointmentRequiredElement(), -1); 13852 } 13853 for (int i = 0; i < element.getAvailability().size(); i++) { 13854 composeAvailability(t, "HealthcareService", "availability", element.getAvailability().get(i), i); 13855 } 13856 for (int i = 0; i < element.getEndpoint().size(); i++) { 13857 composeReference(t, "HealthcareService", "endpoint", element.getEndpoint().get(i), i); 13858 } 13859 } 13860 13861 protected void composeHealthcareServiceEligibilityComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceEligibilityComponent element, int index) { 13862 if (element == null) 13863 return; 13864 Complex t; 13865 if (Utilities.noString(parentType)) 13866 t = parent; 13867 else { 13868 t = parent.predicate("fhir:"+parentType+'.'+name); 13869 } 13870 composeBackboneElement(t, "eligibility", name, element, index); 13871 if (element.hasCode()) { 13872 composeCodeableConcept(t, "HealthcareServiceEligibilityComponent", "code", element.getCode(), -1); 13873 } 13874 if (element.hasCommentElement()) { 13875 composeMarkdown(t, "HealthcareServiceEligibilityComponent", "comment", element.getCommentElement(), -1); 13876 } 13877 } 13878 13879 protected void composeImagingSelection(Complex parent, String parentType, String name, ImagingSelection element, int index) { 13880 if (element == null) 13881 return; 13882 Complex t; 13883 if (Utilities.noString(parentType)) 13884 t = parent; 13885 else { 13886 t = parent.predicate("fhir:"+parentType+'.'+name); 13887 } 13888 composeDomainResource(t, "ImagingSelection", name, element, index); 13889 for (int i = 0; i < element.getIdentifier().size(); i++) { 13890 composeIdentifier(t, "ImagingSelection", "identifier", element.getIdentifier().get(i), i); 13891 } 13892 if (element.hasStatusElement()) { 13893 composeEnum(t, "ImagingSelection", "status", element.getStatusElement(), -1); 13894 } 13895 if (element.hasSubject()) { 13896 composeReference(t, "ImagingSelection", "subject", element.getSubject(), -1); 13897 } 13898 if (element.hasIssuedElement()) { 13899 composeInstant(t, "ImagingSelection", "issued", element.getIssuedElement(), -1); 13900 } 13901 for (int i = 0; i < element.getPerformer().size(); i++) { 13902 composeImagingSelectionPerformerComponent(t, "ImagingSelection", "performer", element.getPerformer().get(i), i); 13903 } 13904 for (int i = 0; i < element.getBasedOn().size(); i++) { 13905 composeReference(t, "ImagingSelection", "basedOn", element.getBasedOn().get(i), i); 13906 } 13907 for (int i = 0; i < element.getCategory().size(); i++) { 13908 composeCodeableConcept(t, "ImagingSelection", "category", element.getCategory().get(i), i); 13909 } 13910 if (element.hasCode()) { 13911 composeCodeableConcept(t, "ImagingSelection", "code", element.getCode(), -1); 13912 } 13913 if (element.hasStudyUidElement()) { 13914 composeId(t, "ImagingSelection", "studyUid", element.getStudyUidElement(), -1); 13915 } 13916 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 13917 composeReference(t, "ImagingSelection", "derivedFrom", element.getDerivedFrom().get(i), i); 13918 } 13919 for (int i = 0; i < element.getEndpoint().size(); i++) { 13920 composeReference(t, "ImagingSelection", "endpoint", element.getEndpoint().get(i), i); 13921 } 13922 if (element.hasSeriesUidElement()) { 13923 composeId(t, "ImagingSelection", "seriesUid", element.getSeriesUidElement(), -1); 13924 } 13925 if (element.hasSeriesNumberElement()) { 13926 composeUnsignedInt(t, "ImagingSelection", "seriesNumber", element.getSeriesNumberElement(), -1); 13927 } 13928 if (element.hasFrameOfReferenceUidElement()) { 13929 composeId(t, "ImagingSelection", "frameOfReferenceUid", element.getFrameOfReferenceUidElement(), -1); 13930 } 13931 if (element.hasBodySite()) { 13932 composeCodeableReference(t, "ImagingSelection", "bodySite", element.getBodySite(), -1); 13933 } 13934 for (int i = 0; i < element.getFocus().size(); i++) { 13935 composeReference(t, "ImagingSelection", "focus", element.getFocus().get(i), i); 13936 } 13937 for (int i = 0; i < element.getInstance().size(); i++) { 13938 composeImagingSelectionInstanceComponent(t, "ImagingSelection", "instance", element.getInstance().get(i), i); 13939 } 13940 for (int i = 0; i < element.getImageRegion().size(); i++) { 13941 composeImagingSelectionImageRegion3DComponent(t, "ImagingSelection", "imageRegion", element.getImageRegion().get(i), i); 13942 } 13943 } 13944 13945 protected void composeImagingSelectionPerformerComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionPerformerComponent element, int index) { 13946 if (element == null) 13947 return; 13948 Complex t; 13949 if (Utilities.noString(parentType)) 13950 t = parent; 13951 else { 13952 t = parent.predicate("fhir:"+parentType+'.'+name); 13953 } 13954 composeBackboneElement(t, "performer", name, element, index); 13955 if (element.hasFunction()) { 13956 composeCodeableConcept(t, "ImagingSelectionPerformerComponent", "function", element.getFunction(), -1); 13957 } 13958 if (element.hasActor()) { 13959 composeReference(t, "ImagingSelectionPerformerComponent", "actor", element.getActor(), -1); 13960 } 13961 } 13962 13963 protected void composeImagingSelectionInstanceComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionInstanceComponent element, int index) { 13964 if (element == null) 13965 return; 13966 Complex t; 13967 if (Utilities.noString(parentType)) 13968 t = parent; 13969 else { 13970 t = parent.predicate("fhir:"+parentType+'.'+name); 13971 } 13972 composeBackboneElement(t, "instance", name, element, index); 13973 if (element.hasUidElement()) { 13974 composeId(t, "ImagingSelectionInstanceComponent", "uid", element.getUidElement(), -1); 13975 } 13976 if (element.hasNumberElement()) { 13977 composeUnsignedInt(t, "ImagingSelectionInstanceComponent", "number", element.getNumberElement(), -1); 13978 } 13979 if (element.hasSopClass()) { 13980 composeCoding(t, "ImagingSelectionInstanceComponent", "sopClass", element.getSopClass(), -1); 13981 } 13982 for (int i = 0; i < element.getSubset().size(); i++) { 13983 composeString(t, "ImagingSelectionInstanceComponent", "subset", element.getSubset().get(i), i); 13984 } 13985 for (int i = 0; i < element.getImageRegion().size(); i++) { 13986 composeImagingSelectionImageRegion2DComponent(t, "ImagingSelectionInstanceComponent", "imageRegion", element.getImageRegion().get(i), i); 13987 } 13988 } 13989 13990 protected void composeImagingSelectionImageRegion2DComponent(Complex parent, String parentType, String name, ImagingSelection.ImageRegion2DComponent element, int index) { 13991 if (element == null) 13992 return; 13993 Complex t; 13994 if (Utilities.noString(parentType)) 13995 t = parent; 13996 else { 13997 t = parent.predicate("fhir:"+parentType+'.'+name); 13998 } 13999 composeBackboneElement(t, "imageRegion", name, element, index); 14000 if (element.hasRegionTypeElement()) { 14001 composeEnum(t, "ImageRegion2DComponent", "regionType", element.getRegionTypeElement(), -1); 14002 } 14003 for (int i = 0; i < element.getCoordinate().size(); i++) { 14004 composeDecimal(t, "ImageRegion2DComponent", "coordinate", element.getCoordinate().get(i), i); 14005 } 14006 } 14007 14008 protected void composeImagingSelectionImageRegion3DComponent(Complex parent, String parentType, String name, ImagingSelection.ImageRegion3DComponent element, int index) { 14009 if (element == null) 14010 return; 14011 Complex t; 14012 if (Utilities.noString(parentType)) 14013 t = parent; 14014 else { 14015 t = parent.predicate("fhir:"+parentType+'.'+name); 14016 } 14017 composeBackboneElement(t, "imageRegion", name, element, index); 14018 if (element.hasRegionTypeElement()) { 14019 composeEnum(t, "ImageRegion3DComponent", "regionType", element.getRegionTypeElement(), -1); 14020 } 14021 for (int i = 0; i < element.getCoordinate().size(); i++) { 14022 composeDecimal(t, "ImageRegion3DComponent", "coordinate", element.getCoordinate().get(i), i); 14023 } 14024 } 14025 14026 protected void composeImagingStudy(Complex parent, String parentType, String name, ImagingStudy element, int index) { 14027 if (element == null) 14028 return; 14029 Complex t; 14030 if (Utilities.noString(parentType)) 14031 t = parent; 14032 else { 14033 t = parent.predicate("fhir:"+parentType+'.'+name); 14034 } 14035 composeDomainResource(t, "ImagingStudy", name, element, index); 14036 for (int i = 0; i < element.getIdentifier().size(); i++) { 14037 composeIdentifier(t, "ImagingStudy", "identifier", element.getIdentifier().get(i), i); 14038 } 14039 if (element.hasStatusElement()) { 14040 composeEnum(t, "ImagingStudy", "status", element.getStatusElement(), -1); 14041 } 14042 for (int i = 0; i < element.getModality().size(); i++) { 14043 composeCodeableConcept(t, "ImagingStudy", "modality", element.getModality().get(i), i); 14044 } 14045 if (element.hasSubject()) { 14046 composeReference(t, "ImagingStudy", "subject", element.getSubject(), -1); 14047 } 14048 if (element.hasEncounter()) { 14049 composeReference(t, "ImagingStudy", "encounter", element.getEncounter(), -1); 14050 } 14051 if (element.hasStartedElement()) { 14052 composeDateTime(t, "ImagingStudy", "started", element.getStartedElement(), -1); 14053 } 14054 for (int i = 0; i < element.getBasedOn().size(); i++) { 14055 composeReference(t, "ImagingStudy", "basedOn", element.getBasedOn().get(i), i); 14056 } 14057 if (element.hasReferrer()) { 14058 composeReference(t, "ImagingStudy", "referrer", element.getReferrer(), -1); 14059 } 14060 for (int i = 0; i < element.getInterpreter().size(); i++) { 14061 composeReference(t, "ImagingStudy", "interpreter", element.getInterpreter().get(i), i); 14062 } 14063 for (int i = 0; i < element.getEndpoint().size(); i++) { 14064 composeReference(t, "ImagingStudy", "endpoint", element.getEndpoint().get(i), i); 14065 } 14066 if (element.hasNumberOfSeriesElement()) { 14067 composeUnsignedInt(t, "ImagingStudy", "numberOfSeries", element.getNumberOfSeriesElement(), -1); 14068 } 14069 if (element.hasNumberOfInstancesElement()) { 14070 composeUnsignedInt(t, "ImagingStudy", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 14071 } 14072 for (int i = 0; i < element.getProcedure().size(); i++) { 14073 composeCodeableReference(t, "ImagingStudy", "procedure", element.getProcedure().get(i), i); 14074 } 14075 if (element.hasLocation()) { 14076 composeReference(t, "ImagingStudy", "location", element.getLocation(), -1); 14077 } 14078 for (int i = 0; i < element.getReason().size(); i++) { 14079 composeCodeableReference(t, "ImagingStudy", "reason", element.getReason().get(i), i); 14080 } 14081 for (int i = 0; i < element.getNote().size(); i++) { 14082 composeAnnotation(t, "ImagingStudy", "note", element.getNote().get(i), i); 14083 } 14084 if (element.hasDescriptionElement()) { 14085 composeString(t, "ImagingStudy", "description", element.getDescriptionElement(), -1); 14086 } 14087 for (int i = 0; i < element.getSeries().size(); i++) { 14088 composeImagingStudySeriesComponent(t, "ImagingStudy", "series", element.getSeries().get(i), i); 14089 } 14090 } 14091 14092 protected void composeImagingStudySeriesComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesComponent element, int index) { 14093 if (element == null) 14094 return; 14095 Complex t; 14096 if (Utilities.noString(parentType)) 14097 t = parent; 14098 else { 14099 t = parent.predicate("fhir:"+parentType+'.'+name); 14100 } 14101 composeBackboneElement(t, "series", name, element, index); 14102 if (element.hasUidElement()) { 14103 composeId(t, "ImagingStudySeriesComponent", "uid", element.getUidElement(), -1); 14104 } 14105 if (element.hasNumberElement()) { 14106 composeUnsignedInt(t, "ImagingStudySeriesComponent", "number", element.getNumberElement(), -1); 14107 } 14108 if (element.hasModality()) { 14109 composeCodeableConcept(t, "ImagingStudySeriesComponent", "modality", element.getModality(), -1); 14110 } 14111 if (element.hasDescriptionElement()) { 14112 composeString(t, "ImagingStudySeriesComponent", "description", element.getDescriptionElement(), -1); 14113 } 14114 if (element.hasNumberOfInstancesElement()) { 14115 composeUnsignedInt(t, "ImagingStudySeriesComponent", "numberOfInstances", element.getNumberOfInstancesElement(), -1); 14116 } 14117 for (int i = 0; i < element.getEndpoint().size(); i++) { 14118 composeReference(t, "ImagingStudySeriesComponent", "endpoint", element.getEndpoint().get(i), i); 14119 } 14120 if (element.hasBodySite()) { 14121 composeCodeableReference(t, "ImagingStudySeriesComponent", "bodySite", element.getBodySite(), -1); 14122 } 14123 if (element.hasLaterality()) { 14124 composeCodeableConcept(t, "ImagingStudySeriesComponent", "laterality", element.getLaterality(), -1); 14125 } 14126 for (int i = 0; i < element.getSpecimen().size(); i++) { 14127 composeReference(t, "ImagingStudySeriesComponent", "specimen", element.getSpecimen().get(i), i); 14128 } 14129 if (element.hasStartedElement()) { 14130 composeDateTime(t, "ImagingStudySeriesComponent", "started", element.getStartedElement(), -1); 14131 } 14132 for (int i = 0; i < element.getPerformer().size(); i++) { 14133 composeImagingStudySeriesPerformerComponent(t, "ImagingStudySeriesComponent", "performer", element.getPerformer().get(i), i); 14134 } 14135 for (int i = 0; i < element.getInstance().size(); i++) { 14136 composeImagingStudySeriesInstanceComponent(t, "ImagingStudySeriesComponent", "instance", element.getInstance().get(i), i); 14137 } 14138 } 14139 14140 protected void composeImagingStudySeriesPerformerComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesPerformerComponent element, int index) { 14141 if (element == null) 14142 return; 14143 Complex t; 14144 if (Utilities.noString(parentType)) 14145 t = parent; 14146 else { 14147 t = parent.predicate("fhir:"+parentType+'.'+name); 14148 } 14149 composeBackboneElement(t, "performer", name, element, index); 14150 if (element.hasFunction()) { 14151 composeCodeableConcept(t, "ImagingStudySeriesPerformerComponent", "function", element.getFunction(), -1); 14152 } 14153 if (element.hasActor()) { 14154 composeReference(t, "ImagingStudySeriesPerformerComponent", "actor", element.getActor(), -1); 14155 } 14156 } 14157 14158 protected void composeImagingStudySeriesInstanceComponent(Complex parent, String parentType, String name, ImagingStudy.ImagingStudySeriesInstanceComponent element, int index) { 14159 if (element == null) 14160 return; 14161 Complex t; 14162 if (Utilities.noString(parentType)) 14163 t = parent; 14164 else { 14165 t = parent.predicate("fhir:"+parentType+'.'+name); 14166 } 14167 composeBackboneElement(t, "instance", name, element, index); 14168 if (element.hasUidElement()) { 14169 composeId(t, "ImagingStudySeriesInstanceComponent", "uid", element.getUidElement(), -1); 14170 } 14171 if (element.hasSopClass()) { 14172 composeCoding(t, "ImagingStudySeriesInstanceComponent", "sopClass", element.getSopClass(), -1); 14173 } 14174 if (element.hasNumberElement()) { 14175 composeUnsignedInt(t, "ImagingStudySeriesInstanceComponent", "number", element.getNumberElement(), -1); 14176 } 14177 if (element.hasTitleElement()) { 14178 composeString(t, "ImagingStudySeriesInstanceComponent", "title", element.getTitleElement(), -1); 14179 } 14180 } 14181 14182 protected void composeImmunization(Complex parent, String parentType, String name, Immunization element, int index) { 14183 if (element == null) 14184 return; 14185 Complex t; 14186 if (Utilities.noString(parentType)) 14187 t = parent; 14188 else { 14189 t = parent.predicate("fhir:"+parentType+'.'+name); 14190 } 14191 composeDomainResource(t, "Immunization", name, element, index); 14192 for (int i = 0; i < element.getIdentifier().size(); i++) { 14193 composeIdentifier(t, "Immunization", "identifier", element.getIdentifier().get(i), i); 14194 } 14195 for (int i = 0; i < element.getBasedOn().size(); i++) { 14196 composeReference(t, "Immunization", "basedOn", element.getBasedOn().get(i), i); 14197 } 14198 if (element.hasStatusElement()) { 14199 composeEnum(t, "Immunization", "status", element.getStatusElement(), -1); 14200 } 14201 if (element.hasStatusReason()) { 14202 composeCodeableConcept(t, "Immunization", "statusReason", element.getStatusReason(), -1); 14203 } 14204 if (element.hasVaccineCode()) { 14205 composeCodeableConcept(t, "Immunization", "vaccineCode", element.getVaccineCode(), -1); 14206 } 14207 if (element.hasAdministeredProduct()) { 14208 composeCodeableReference(t, "Immunization", "administeredProduct", element.getAdministeredProduct(), -1); 14209 } 14210 if (element.hasManufacturer()) { 14211 composeCodeableReference(t, "Immunization", "manufacturer", element.getManufacturer(), -1); 14212 } 14213 if (element.hasLotNumberElement()) { 14214 composeString(t, "Immunization", "lotNumber", element.getLotNumberElement(), -1); 14215 } 14216 if (element.hasExpirationDateElement()) { 14217 composeDate(t, "Immunization", "expirationDate", element.getExpirationDateElement(), -1); 14218 } 14219 if (element.hasPatient()) { 14220 composeReference(t, "Immunization", "patient", element.getPatient(), -1); 14221 } 14222 if (element.hasEncounter()) { 14223 composeReference(t, "Immunization", "encounter", element.getEncounter(), -1); 14224 } 14225 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 14226 composeReference(t, "Immunization", "supportingInformation", element.getSupportingInformation().get(i), i); 14227 } 14228 if (element.hasOccurrence()) { 14229 composeType(t, "Immunization", "occurrence", element.getOccurrence(), -1); 14230 } 14231 if (element.hasPrimarySourceElement()) { 14232 composeBoolean(t, "Immunization", "primarySource", element.getPrimarySourceElement(), -1); 14233 } 14234 if (element.hasInformationSource()) { 14235 composeCodeableReference(t, "Immunization", "informationSource", element.getInformationSource(), -1); 14236 } 14237 if (element.hasLocation()) { 14238 composeReference(t, "Immunization", "location", element.getLocation(), -1); 14239 } 14240 if (element.hasSite()) { 14241 composeCodeableConcept(t, "Immunization", "site", element.getSite(), -1); 14242 } 14243 if (element.hasRoute()) { 14244 composeCodeableConcept(t, "Immunization", "route", element.getRoute(), -1); 14245 } 14246 if (element.hasDoseQuantity()) { 14247 composeQuantity(t, "Immunization", "doseQuantity", element.getDoseQuantity(), -1); 14248 } 14249 for (int i = 0; i < element.getPerformer().size(); i++) { 14250 composeImmunizationPerformerComponent(t, "Immunization", "performer", element.getPerformer().get(i), i); 14251 } 14252 for (int i = 0; i < element.getNote().size(); i++) { 14253 composeAnnotation(t, "Immunization", "note", element.getNote().get(i), i); 14254 } 14255 for (int i = 0; i < element.getReason().size(); i++) { 14256 composeCodeableReference(t, "Immunization", "reason", element.getReason().get(i), i); 14257 } 14258 if (element.hasIsSubpotentElement()) { 14259 composeBoolean(t, "Immunization", "isSubpotent", element.getIsSubpotentElement(), -1); 14260 } 14261 for (int i = 0; i < element.getSubpotentReason().size(); i++) { 14262 composeCodeableConcept(t, "Immunization", "subpotentReason", element.getSubpotentReason().get(i), i); 14263 } 14264 for (int i = 0; i < element.getProgramEligibility().size(); i++) { 14265 composeImmunizationProgramEligibilityComponent(t, "Immunization", "programEligibility", element.getProgramEligibility().get(i), i); 14266 } 14267 if (element.hasFundingSource()) { 14268 composeCodeableConcept(t, "Immunization", "fundingSource", element.getFundingSource(), -1); 14269 } 14270 for (int i = 0; i < element.getReaction().size(); i++) { 14271 composeImmunizationReactionComponent(t, "Immunization", "reaction", element.getReaction().get(i), i); 14272 } 14273 for (int i = 0; i < element.getProtocolApplied().size(); i++) { 14274 composeImmunizationProtocolAppliedComponent(t, "Immunization", "protocolApplied", element.getProtocolApplied().get(i), i); 14275 } 14276 } 14277 14278 protected void composeImmunizationPerformerComponent(Complex parent, String parentType, String name, Immunization.ImmunizationPerformerComponent element, int index) { 14279 if (element == null) 14280 return; 14281 Complex t; 14282 if (Utilities.noString(parentType)) 14283 t = parent; 14284 else { 14285 t = parent.predicate("fhir:"+parentType+'.'+name); 14286 } 14287 composeBackboneElement(t, "performer", name, element, index); 14288 if (element.hasFunction()) { 14289 composeCodeableConcept(t, "ImmunizationPerformerComponent", "function", element.getFunction(), -1); 14290 } 14291 if (element.hasActor()) { 14292 composeReference(t, "ImmunizationPerformerComponent", "actor", element.getActor(), -1); 14293 } 14294 } 14295 14296 protected void composeImmunizationProgramEligibilityComponent(Complex parent, String parentType, String name, Immunization.ImmunizationProgramEligibilityComponent element, int index) { 14297 if (element == null) 14298 return; 14299 Complex t; 14300 if (Utilities.noString(parentType)) 14301 t = parent; 14302 else { 14303 t = parent.predicate("fhir:"+parentType+'.'+name); 14304 } 14305 composeBackboneElement(t, "programEligibility", name, element, index); 14306 if (element.hasProgram()) { 14307 composeCodeableConcept(t, "ImmunizationProgramEligibilityComponent", "program", element.getProgram(), -1); 14308 } 14309 if (element.hasProgramStatus()) { 14310 composeCodeableConcept(t, "ImmunizationProgramEligibilityComponent", "programStatus", element.getProgramStatus(), -1); 14311 } 14312 } 14313 14314 protected void composeImmunizationReactionComponent(Complex parent, String parentType, String name, Immunization.ImmunizationReactionComponent element, int index) { 14315 if (element == null) 14316 return; 14317 Complex t; 14318 if (Utilities.noString(parentType)) 14319 t = parent; 14320 else { 14321 t = parent.predicate("fhir:"+parentType+'.'+name); 14322 } 14323 composeBackboneElement(t, "reaction", name, element, index); 14324 if (element.hasDateElement()) { 14325 composeDateTime(t, "ImmunizationReactionComponent", "date", element.getDateElement(), -1); 14326 } 14327 if (element.hasManifestation()) { 14328 composeCodeableReference(t, "ImmunizationReactionComponent", "manifestation", element.getManifestation(), -1); 14329 } 14330 if (element.hasReportedElement()) { 14331 composeBoolean(t, "ImmunizationReactionComponent", "reported", element.getReportedElement(), -1); 14332 } 14333 } 14334 14335 protected void composeImmunizationProtocolAppliedComponent(Complex parent, String parentType, String name, Immunization.ImmunizationProtocolAppliedComponent element, int index) { 14336 if (element == null) 14337 return; 14338 Complex t; 14339 if (Utilities.noString(parentType)) 14340 t = parent; 14341 else { 14342 t = parent.predicate("fhir:"+parentType+'.'+name); 14343 } 14344 composeBackboneElement(t, "protocolApplied", name, element, index); 14345 if (element.hasSeriesElement()) { 14346 composeString(t, "ImmunizationProtocolAppliedComponent", "series", element.getSeriesElement(), -1); 14347 } 14348 if (element.hasAuthority()) { 14349 composeReference(t, "ImmunizationProtocolAppliedComponent", "authority", element.getAuthority(), -1); 14350 } 14351 for (int i = 0; i < element.getTargetDisease().size(); i++) { 14352 composeCodeableConcept(t, "ImmunizationProtocolAppliedComponent", "targetDisease", element.getTargetDisease().get(i), i); 14353 } 14354 if (element.hasDoseNumberElement()) { 14355 composeString(t, "ImmunizationProtocolAppliedComponent", "doseNumber", element.getDoseNumberElement(), -1); 14356 } 14357 if (element.hasSeriesDosesElement()) { 14358 composeString(t, "ImmunizationProtocolAppliedComponent", "seriesDoses", element.getSeriesDosesElement(), -1); 14359 } 14360 } 14361 14362 protected void composeImmunizationEvaluation(Complex parent, String parentType, String name, ImmunizationEvaluation element, int index) { 14363 if (element == null) 14364 return; 14365 Complex t; 14366 if (Utilities.noString(parentType)) 14367 t = parent; 14368 else { 14369 t = parent.predicate("fhir:"+parentType+'.'+name); 14370 } 14371 composeDomainResource(t, "ImmunizationEvaluation", name, element, index); 14372 for (int i = 0; i < element.getIdentifier().size(); i++) { 14373 composeIdentifier(t, "ImmunizationEvaluation", "identifier", element.getIdentifier().get(i), i); 14374 } 14375 if (element.hasStatusElement()) { 14376 composeEnum(t, "ImmunizationEvaluation", "status", element.getStatusElement(), -1); 14377 } 14378 if (element.hasPatient()) { 14379 composeReference(t, "ImmunizationEvaluation", "patient", element.getPatient(), -1); 14380 } 14381 if (element.hasDateElement()) { 14382 composeDateTime(t, "ImmunizationEvaluation", "date", element.getDateElement(), -1); 14383 } 14384 if (element.hasAuthority()) { 14385 composeReference(t, "ImmunizationEvaluation", "authority", element.getAuthority(), -1); 14386 } 14387 if (element.hasTargetDisease()) { 14388 composeCodeableConcept(t, "ImmunizationEvaluation", "targetDisease", element.getTargetDisease(), -1); 14389 } 14390 if (element.hasImmunizationEvent()) { 14391 composeReference(t, "ImmunizationEvaluation", "immunizationEvent", element.getImmunizationEvent(), -1); 14392 } 14393 if (element.hasDoseStatus()) { 14394 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatus", element.getDoseStatus(), -1); 14395 } 14396 for (int i = 0; i < element.getDoseStatusReason().size(); i++) { 14397 composeCodeableConcept(t, "ImmunizationEvaluation", "doseStatusReason", element.getDoseStatusReason().get(i), i); 14398 } 14399 if (element.hasDescriptionElement()) { 14400 composeString(t, "ImmunizationEvaluation", "description", element.getDescriptionElement(), -1); 14401 } 14402 if (element.hasSeriesElement()) { 14403 composeString(t, "ImmunizationEvaluation", "series", element.getSeriesElement(), -1); 14404 } 14405 if (element.hasDoseNumberElement()) { 14406 composeString(t, "ImmunizationEvaluation", "doseNumber", element.getDoseNumberElement(), -1); 14407 } 14408 if (element.hasSeriesDosesElement()) { 14409 composeString(t, "ImmunizationEvaluation", "seriesDoses", element.getSeriesDosesElement(), -1); 14410 } 14411 } 14412 14413 protected void composeImmunizationRecommendation(Complex parent, String parentType, String name, ImmunizationRecommendation element, int index) { 14414 if (element == null) 14415 return; 14416 Complex t; 14417 if (Utilities.noString(parentType)) 14418 t = parent; 14419 else { 14420 t = parent.predicate("fhir:"+parentType+'.'+name); 14421 } 14422 composeDomainResource(t, "ImmunizationRecommendation", name, element, index); 14423 for (int i = 0; i < element.getIdentifier().size(); i++) { 14424 composeIdentifier(t, "ImmunizationRecommendation", "identifier", element.getIdentifier().get(i), i); 14425 } 14426 if (element.hasPatient()) { 14427 composeReference(t, "ImmunizationRecommendation", "patient", element.getPatient(), -1); 14428 } 14429 if (element.hasDateElement()) { 14430 composeDateTime(t, "ImmunizationRecommendation", "date", element.getDateElement(), -1); 14431 } 14432 if (element.hasAuthority()) { 14433 composeReference(t, "ImmunizationRecommendation", "authority", element.getAuthority(), -1); 14434 } 14435 for (int i = 0; i < element.getRecommendation().size(); i++) { 14436 composeImmunizationRecommendationRecommendationComponent(t, "ImmunizationRecommendation", "recommendation", element.getRecommendation().get(i), i); 14437 } 14438 } 14439 14440 protected void composeImmunizationRecommendationRecommendationComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element, int index) { 14441 if (element == null) 14442 return; 14443 Complex t; 14444 if (Utilities.noString(parentType)) 14445 t = parent; 14446 else { 14447 t = parent.predicate("fhir:"+parentType+'.'+name); 14448 } 14449 composeBackboneElement(t, "recommendation", name, element, index); 14450 for (int i = 0; i < element.getVaccineCode().size(); i++) { 14451 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "vaccineCode", element.getVaccineCode().get(i), i); 14452 } 14453 for (int i = 0; i < element.getTargetDisease().size(); i++) { 14454 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "targetDisease", element.getTargetDisease().get(i), i); 14455 } 14456 for (int i = 0; i < element.getContraindicatedVaccineCode().size(); i++) { 14457 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "contraindicatedVaccineCode", element.getContraindicatedVaccineCode().get(i), i); 14458 } 14459 if (element.hasForecastStatus()) { 14460 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastStatus", element.getForecastStatus(), -1); 14461 } 14462 for (int i = 0; i < element.getForecastReason().size(); i++) { 14463 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationComponent", "forecastReason", element.getForecastReason().get(i), i); 14464 } 14465 for (int i = 0; i < element.getDateCriterion().size(); i++) { 14466 composeImmunizationRecommendationRecommendationDateCriterionComponent(t, "ImmunizationRecommendationRecommendationComponent", "dateCriterion", element.getDateCriterion().get(i), i); 14467 } 14468 if (element.hasDescriptionElement()) { 14469 composeString(t, "ImmunizationRecommendationRecommendationComponent", "description", element.getDescriptionElement(), -1); 14470 } 14471 if (element.hasSeriesElement()) { 14472 composeString(t, "ImmunizationRecommendationRecommendationComponent", "series", element.getSeriesElement(), -1); 14473 } 14474 if (element.hasDoseNumberElement()) { 14475 composeString(t, "ImmunizationRecommendationRecommendationComponent", "doseNumber", element.getDoseNumberElement(), -1); 14476 } 14477 if (element.hasSeriesDosesElement()) { 14478 composeString(t, "ImmunizationRecommendationRecommendationComponent", "seriesDoses", element.getSeriesDosesElement(), -1); 14479 } 14480 for (int i = 0; i < element.getSupportingImmunization().size(); i++) { 14481 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingImmunization", element.getSupportingImmunization().get(i), i); 14482 } 14483 for (int i = 0; i < element.getSupportingPatientInformation().size(); i++) { 14484 composeReference(t, "ImmunizationRecommendationRecommendationComponent", "supportingPatientInformation", element.getSupportingPatientInformation().get(i), i); 14485 } 14486 } 14487 14488 protected void composeImmunizationRecommendationRecommendationDateCriterionComponent(Complex parent, String parentType, String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element, int index) { 14489 if (element == null) 14490 return; 14491 Complex t; 14492 if (Utilities.noString(parentType)) 14493 t = parent; 14494 else { 14495 t = parent.predicate("fhir:"+parentType+'.'+name); 14496 } 14497 composeBackboneElement(t, "dateCriterion", name, element, index); 14498 if (element.hasCode()) { 14499 composeCodeableConcept(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "code", element.getCode(), -1); 14500 } 14501 if (element.hasValueElement()) { 14502 composeDateTime(t, "ImmunizationRecommendationRecommendationDateCriterionComponent", "value", element.getValueElement(), -1); 14503 } 14504 } 14505 14506 protected void composeImplementationGuide(Complex parent, String parentType, String name, ImplementationGuide element, int index) { 14507 if (element == null) 14508 return; 14509 Complex t; 14510 if (Utilities.noString(parentType)) 14511 t = parent; 14512 else { 14513 t = parent.predicate("fhir:"+parentType+'.'+name); 14514 } 14515 composeCanonicalResource(t, "ImplementationGuide", name, element, index); 14516 if (element.hasUrlElement()) { 14517 composeUri(t, "ImplementationGuide", "url", element.getUrlElement(), -1); 14518 } 14519 if (element.hasVersionElement()) { 14520 composeString(t, "ImplementationGuide", "version", element.getVersionElement(), -1); 14521 } 14522 if (element.hasVersionAlgorithm()) { 14523 composeType(t, "ImplementationGuide", "versionAlgorithm", element.getVersionAlgorithm(), -1); 14524 } 14525 if (element.hasNameElement()) { 14526 composeString(t, "ImplementationGuide", "name", element.getNameElement(), -1); 14527 } 14528 if (element.hasTitleElement()) { 14529 composeString(t, "ImplementationGuide", "title", element.getTitleElement(), -1); 14530 } 14531 if (element.hasStatusElement()) { 14532 composeEnum(t, "ImplementationGuide", "status", element.getStatusElement(), -1); 14533 } 14534 if (element.hasExperimentalElement()) { 14535 composeBoolean(t, "ImplementationGuide", "experimental", element.getExperimentalElement(), -1); 14536 } 14537 if (element.hasDateElement()) { 14538 composeDateTime(t, "ImplementationGuide", "date", element.getDateElement(), -1); 14539 } 14540 if (element.hasPublisherElement()) { 14541 composeString(t, "ImplementationGuide", "publisher", element.getPublisherElement(), -1); 14542 } 14543 for (int i = 0; i < element.getContact().size(); i++) { 14544 composeContactDetail(t, "ImplementationGuide", "contact", element.getContact().get(i), i); 14545 } 14546 if (element.hasDescriptionElement()) { 14547 composeMarkdown(t, "ImplementationGuide", "description", element.getDescriptionElement(), -1); 14548 } 14549 for (int i = 0; i < element.getUseContext().size(); i++) { 14550 composeUsageContext(t, "ImplementationGuide", "useContext", element.getUseContext().get(i), i); 14551 } 14552 for (int i = 0; i < element.getJurisdiction().size(); i++) { 14553 composeCodeableConcept(t, "ImplementationGuide", "jurisdiction", element.getJurisdiction().get(i), i); 14554 } 14555 if (element.hasCopyrightElement()) { 14556 composeMarkdown(t, "ImplementationGuide", "copyright", element.getCopyrightElement(), -1); 14557 } 14558 if (element.hasCopyrightLabelElement()) { 14559 composeString(t, "ImplementationGuide", "copyrightLabel", element.getCopyrightLabelElement(), -1); 14560 } 14561 if (element.hasPackageIdElement()) { 14562 composeId(t, "ImplementationGuide", "packageId", element.getPackageIdElement(), -1); 14563 } 14564 if (element.hasLicenseElement()) { 14565 composeEnum(t, "ImplementationGuide", "license", element.getLicenseElement(), -1); 14566 } 14567 for (int i = 0; i < element.getFhirVersion().size(); i++) { 14568 composeEnum(t, "ImplementationGuide", "fhirVersion", element.getFhirVersion().get(i), i); 14569 } 14570 for (int i = 0; i < element.getDependsOn().size(); i++) { 14571 composeImplementationGuideDependsOnComponent(t, "ImplementationGuide", "dependsOn", element.getDependsOn().get(i), i); 14572 } 14573 for (int i = 0; i < element.getGlobal().size(); i++) { 14574 composeImplementationGuideGlobalComponent(t, "ImplementationGuide", "global", element.getGlobal().get(i), i); 14575 } 14576 if (element.hasDefinition()) { 14577 composeImplementationGuideDefinitionComponent(t, "ImplementationGuide", "definition", element.getDefinition(), -1); 14578 } 14579 if (element.hasManifest()) { 14580 composeImplementationGuideManifestComponent(t, "ImplementationGuide", "manifest", element.getManifest(), -1); 14581 } 14582 } 14583 14584 protected void composeImplementationGuideDependsOnComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDependsOnComponent element, int index) { 14585 if (element == null) 14586 return; 14587 Complex t; 14588 if (Utilities.noString(parentType)) 14589 t = parent; 14590 else { 14591 t = parent.predicate("fhir:"+parentType+'.'+name); 14592 } 14593 composeBackboneElement(t, "dependsOn", name, element, index); 14594 if (element.hasUriElement()) { 14595 composeCanonical(t, "ImplementationGuideDependsOnComponent", "uri", element.getUriElement(), -1); 14596 } 14597 if (element.hasPackageIdElement()) { 14598 composeId(t, "ImplementationGuideDependsOnComponent", "packageId", element.getPackageIdElement(), -1); 14599 } 14600 if (element.hasVersionElement()) { 14601 composeString(t, "ImplementationGuideDependsOnComponent", "version", element.getVersionElement(), -1); 14602 } 14603 if (element.hasReasonElement()) { 14604 composeMarkdown(t, "ImplementationGuideDependsOnComponent", "reason", element.getReasonElement(), -1); 14605 } 14606 } 14607 14608 protected void composeImplementationGuideGlobalComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideGlobalComponent element, int index) { 14609 if (element == null) 14610 return; 14611 Complex t; 14612 if (Utilities.noString(parentType)) 14613 t = parent; 14614 else { 14615 t = parent.predicate("fhir:"+parentType+'.'+name); 14616 } 14617 composeBackboneElement(t, "global", name, element, index); 14618 if (element.hasTypeElement()) { 14619 composeCode(t, "ImplementationGuideGlobalComponent", "type", element.getTypeElement(), -1); 14620 } 14621 if (element.hasProfileElement()) { 14622 composeCanonical(t, "ImplementationGuideGlobalComponent", "profile", element.getProfileElement(), -1); 14623 } 14624 } 14625 14626 protected void composeImplementationGuideDefinitionComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionComponent element, int index) { 14627 if (element == null) 14628 return; 14629 Complex t; 14630 if (Utilities.noString(parentType)) 14631 t = parent; 14632 else { 14633 t = parent.predicate("fhir:"+parentType+'.'+name); 14634 } 14635 composeBackboneElement(t, "definition", name, element, index); 14636 for (int i = 0; i < element.getGrouping().size(); i++) { 14637 composeImplementationGuideDefinitionGroupingComponent(t, "ImplementationGuideDefinitionComponent", "grouping", element.getGrouping().get(i), i); 14638 } 14639 for (int i = 0; i < element.getResource().size(); i++) { 14640 composeImplementationGuideDefinitionResourceComponent(t, "ImplementationGuideDefinitionComponent", "resource", element.getResource().get(i), i); 14641 } 14642 if (element.hasPage()) { 14643 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionComponent", "page", element.getPage(), -1); 14644 } 14645 for (int i = 0; i < element.getParameter().size(); i++) { 14646 composeImplementationGuideDefinitionParameterComponent(t, "ImplementationGuideDefinitionComponent", "parameter", element.getParameter().get(i), i); 14647 } 14648 for (int i = 0; i < element.getTemplate().size(); i++) { 14649 composeImplementationGuideDefinitionTemplateComponent(t, "ImplementationGuideDefinitionComponent", "template", element.getTemplate().get(i), i); 14650 } 14651 } 14652 14653 protected void composeImplementationGuideDefinitionGroupingComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionGroupingComponent element, int index) { 14654 if (element == null) 14655 return; 14656 Complex t; 14657 if (Utilities.noString(parentType)) 14658 t = parent; 14659 else { 14660 t = parent.predicate("fhir:"+parentType+'.'+name); 14661 } 14662 composeBackboneElement(t, "grouping", name, element, index); 14663 if (element.hasNameElement()) { 14664 composeString(t, "ImplementationGuideDefinitionGroupingComponent", "name", element.getNameElement(), -1); 14665 } 14666 if (element.hasDescriptionElement()) { 14667 composeMarkdown(t, "ImplementationGuideDefinitionGroupingComponent", "description", element.getDescriptionElement(), -1); 14668 } 14669 } 14670 14671 protected void composeImplementationGuideDefinitionResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionResourceComponent 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 composeBackboneElement(t, "resource", name, element, index); 14681 if (element.hasReference()) { 14682 composeReference(t, "ImplementationGuideDefinitionResourceComponent", "reference", element.getReference(), -1); 14683 } 14684 for (int i = 0; i < element.getFhirVersion().size(); i++) { 14685 composeEnum(t, "ImplementationGuideDefinitionResourceComponent", "fhirVersion", element.getFhirVersion().get(i), i); 14686 } 14687 if (element.hasNameElement()) { 14688 composeString(t, "ImplementationGuideDefinitionResourceComponent", "name", element.getNameElement(), -1); 14689 } 14690 if (element.hasDescriptionElement()) { 14691 composeMarkdown(t, "ImplementationGuideDefinitionResourceComponent", "description", element.getDescriptionElement(), -1); 14692 } 14693 if (element.hasIsExampleElement()) { 14694 composeBoolean(t, "ImplementationGuideDefinitionResourceComponent", "isExample", element.getIsExampleElement(), -1); 14695 } 14696 for (int i = 0; i < element.getProfile().size(); i++) { 14697 composeCanonical(t, "ImplementationGuideDefinitionResourceComponent", "profile", element.getProfile().get(i), i); 14698 } 14699 if (element.hasGroupingIdElement()) { 14700 composeId(t, "ImplementationGuideDefinitionResourceComponent", "groupingId", element.getGroupingIdElement(), -1); 14701 } 14702 } 14703 14704 protected void composeImplementationGuideDefinitionPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionPageComponent element, int index) { 14705 if (element == null) 14706 return; 14707 Complex t; 14708 if (Utilities.noString(parentType)) 14709 t = parent; 14710 else { 14711 t = parent.predicate("fhir:"+parentType+'.'+name); 14712 } 14713 composeBackboneElement(t, "page", name, element, index); 14714 if (element.hasSource()) { 14715 composeType(t, "ImplementationGuideDefinitionPageComponent", "source", element.getSource(), -1); 14716 } 14717 if (element.hasNameElement()) { 14718 composeUrl(t, "ImplementationGuideDefinitionPageComponent", "name", element.getNameElement(), -1); 14719 } 14720 if (element.hasTitleElement()) { 14721 composeString(t, "ImplementationGuideDefinitionPageComponent", "title", element.getTitleElement(), -1); 14722 } 14723 if (element.hasGenerationElement()) { 14724 composeEnum(t, "ImplementationGuideDefinitionPageComponent", "generation", element.getGenerationElement(), -1); 14725 } 14726 for (int i = 0; i < element.getPage().size(); i++) { 14727 composeImplementationGuideDefinitionPageComponent(t, "ImplementationGuideDefinitionPageComponent", "page", element.getPage().get(i), i); 14728 } 14729 } 14730 14731 protected void composeImplementationGuideDefinitionParameterComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionParameterComponent element, int index) { 14732 if (element == null) 14733 return; 14734 Complex t; 14735 if (Utilities.noString(parentType)) 14736 t = parent; 14737 else { 14738 t = parent.predicate("fhir:"+parentType+'.'+name); 14739 } 14740 composeBackboneElement(t, "parameter", name, element, index); 14741 if (element.hasCode()) { 14742 composeCoding(t, "ImplementationGuideDefinitionParameterComponent", "code", element.getCode(), -1); 14743 } 14744 if (element.hasValueElement()) { 14745 composeString(t, "ImplementationGuideDefinitionParameterComponent", "value", element.getValueElement(), -1); 14746 } 14747 } 14748 14749 protected void composeImplementationGuideDefinitionTemplateComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideDefinitionTemplateComponent element, int index) { 14750 if (element == null) 14751 return; 14752 Complex t; 14753 if (Utilities.noString(parentType)) 14754 t = parent; 14755 else { 14756 t = parent.predicate("fhir:"+parentType+'.'+name); 14757 } 14758 composeBackboneElement(t, "template", name, element, index); 14759 if (element.hasCodeElement()) { 14760 composeCode(t, "ImplementationGuideDefinitionTemplateComponent", "code", element.getCodeElement(), -1); 14761 } 14762 if (element.hasSourceElement()) { 14763 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "source", element.getSourceElement(), -1); 14764 } 14765 if (element.hasScopeElement()) { 14766 composeString(t, "ImplementationGuideDefinitionTemplateComponent", "scope", element.getScopeElement(), -1); 14767 } 14768 } 14769 14770 protected void composeImplementationGuideManifestComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideManifestComponent 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 composeBackboneElement(t, "manifest", name, element, index); 14780 if (element.hasRenderingElement()) { 14781 composeUrl(t, "ImplementationGuideManifestComponent", "rendering", element.getRenderingElement(), -1); 14782 } 14783 for (int i = 0; i < element.getResource().size(); i++) { 14784 composeImplementationGuideManifestResourceComponent(t, "ImplementationGuideManifestComponent", "resource", element.getResource().get(i), i); 14785 } 14786 for (int i = 0; i < element.getPage().size(); i++) { 14787 composeImplementationGuideManifestPageComponent(t, "ImplementationGuideManifestComponent", "page", element.getPage().get(i), i); 14788 } 14789 for (int i = 0; i < element.getImage().size(); i++) { 14790 composeString(t, "ImplementationGuideManifestComponent", "image", element.getImage().get(i), i); 14791 } 14792 for (int i = 0; i < element.getOther().size(); i++) { 14793 composeString(t, "ImplementationGuideManifestComponent", "other", element.getOther().get(i), i); 14794 } 14795 } 14796 14797 protected void composeImplementationGuideManifestResourceComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestResourceComponent element, int index) { 14798 if (element == null) 14799 return; 14800 Complex t; 14801 if (Utilities.noString(parentType)) 14802 t = parent; 14803 else { 14804 t = parent.predicate("fhir:"+parentType+'.'+name); 14805 } 14806 composeBackboneElement(t, "resource", name, element, index); 14807 if (element.hasReference()) { 14808 composeReference(t, "ManifestResourceComponent", "reference", element.getReference(), -1); 14809 } 14810 if (element.hasIsExampleElement()) { 14811 composeBoolean(t, "ManifestResourceComponent", "isExample", element.getIsExampleElement(), -1); 14812 } 14813 for (int i = 0; i < element.getProfile().size(); i++) { 14814 composeCanonical(t, "ManifestResourceComponent", "profile", element.getProfile().get(i), i); 14815 } 14816 if (element.hasRelativePathElement()) { 14817 composeUrl(t, "ManifestResourceComponent", "relativePath", element.getRelativePathElement(), -1); 14818 } 14819 } 14820 14821 protected void composeImplementationGuideManifestPageComponent(Complex parent, String parentType, String name, ImplementationGuide.ManifestPageComponent element, int index) { 14822 if (element == null) 14823 return; 14824 Complex t; 14825 if (Utilities.noString(parentType)) 14826 t = parent; 14827 else { 14828 t = parent.predicate("fhir:"+parentType+'.'+name); 14829 } 14830 composeBackboneElement(t, "page", name, element, index); 14831 if (element.hasNameElement()) { 14832 composeString(t, "ManifestPageComponent", "name", element.getNameElement(), -1); 14833 } 14834 if (element.hasTitleElement()) { 14835 composeString(t, "ManifestPageComponent", "title", element.getTitleElement(), -1); 14836 } 14837 for (int i = 0; i < element.getAnchor().size(); i++) { 14838 composeString(t, "ManifestPageComponent", "anchor", element.getAnchor().get(i), i); 14839 } 14840 } 14841 14842 protected void composeIngredient(Complex parent, String parentType, String name, Ingredient element, int index) { 14843 if (element == null) 14844 return; 14845 Complex t; 14846 if (Utilities.noString(parentType)) 14847 t = parent; 14848 else { 14849 t = parent.predicate("fhir:"+parentType+'.'+name); 14850 } 14851 composeDomainResource(t, "Ingredient", name, element, index); 14852 if (element.hasIdentifier()) { 14853 composeIdentifier(t, "Ingredient", "identifier", element.getIdentifier(), -1); 14854 } 14855 if (element.hasStatusElement()) { 14856 composeEnum(t, "Ingredient", "status", element.getStatusElement(), -1); 14857 } 14858 for (int i = 0; i < element.getFor().size(); i++) { 14859 composeReference(t, "Ingredient", "for", element.getFor().get(i), i); 14860 } 14861 if (element.hasRole()) { 14862 composeCodeableConcept(t, "Ingredient", "role", element.getRole(), -1); 14863 } 14864 for (int i = 0; i < element.getFunction().size(); i++) { 14865 composeCodeableConcept(t, "Ingredient", "function", element.getFunction().get(i), i); 14866 } 14867 if (element.hasGroup()) { 14868 composeCodeableConcept(t, "Ingredient", "group", element.getGroup(), -1); 14869 } 14870 if (element.hasAllergenicIndicatorElement()) { 14871 composeBoolean(t, "Ingredient", "allergenicIndicator", element.getAllergenicIndicatorElement(), -1); 14872 } 14873 for (int i = 0; i < element.getManufacturer().size(); i++) { 14874 composeIngredientManufacturerComponent(t, "Ingredient", "manufacturer", element.getManufacturer().get(i), i); 14875 } 14876 if (element.hasSubstance()) { 14877 composeIngredientSubstanceComponent(t, "Ingredient", "substance", element.getSubstance(), -1); 14878 } 14879 } 14880 14881 protected void composeIngredientManufacturerComponent(Complex parent, String parentType, String name, Ingredient.IngredientManufacturerComponent element, int index) { 14882 if (element == null) 14883 return; 14884 Complex t; 14885 if (Utilities.noString(parentType)) 14886 t = parent; 14887 else { 14888 t = parent.predicate("fhir:"+parentType+'.'+name); 14889 } 14890 composeBackboneElement(t, "manufacturer", name, element, index); 14891 if (element.hasRoleElement()) { 14892 composeEnum(t, "IngredientManufacturerComponent", "role", element.getRoleElement(), -1); 14893 } 14894 if (element.hasManufacturer()) { 14895 composeReference(t, "IngredientManufacturerComponent", "manufacturer", element.getManufacturer(), -1); 14896 } 14897 } 14898 14899 protected void composeIngredientSubstanceComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceComponent element, int index) { 14900 if (element == null) 14901 return; 14902 Complex t; 14903 if (Utilities.noString(parentType)) 14904 t = parent; 14905 else { 14906 t = parent.predicate("fhir:"+parentType+'.'+name); 14907 } 14908 composeBackboneElement(t, "substance", name, element, index); 14909 if (element.hasCode()) { 14910 composeCodeableReference(t, "IngredientSubstanceComponent", "code", element.getCode(), -1); 14911 } 14912 for (int i = 0; i < element.getStrength().size(); i++) { 14913 composeIngredientSubstanceStrengthComponent(t, "IngredientSubstanceComponent", "strength", element.getStrength().get(i), i); 14914 } 14915 } 14916 14917 protected void composeIngredientSubstanceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthComponent element, int index) { 14918 if (element == null) 14919 return; 14920 Complex t; 14921 if (Utilities.noString(parentType)) 14922 t = parent; 14923 else { 14924 t = parent.predicate("fhir:"+parentType+'.'+name); 14925 } 14926 composeBackboneElement(t, "strength", name, element, index); 14927 if (element.hasPresentation()) { 14928 composeType(t, "IngredientSubstanceStrengthComponent", "presentation", element.getPresentation(), -1); 14929 } 14930 if (element.hasTextPresentationElement()) { 14931 composeString(t, "IngredientSubstanceStrengthComponent", "textPresentation", element.getTextPresentationElement(), -1); 14932 } 14933 if (element.hasConcentration()) { 14934 composeType(t, "IngredientSubstanceStrengthComponent", "concentration", element.getConcentration(), -1); 14935 } 14936 if (element.hasTextConcentrationElement()) { 14937 composeString(t, "IngredientSubstanceStrengthComponent", "textConcentration", element.getTextConcentrationElement(), -1); 14938 } 14939 if (element.hasBasis()) { 14940 composeCodeableConcept(t, "IngredientSubstanceStrengthComponent", "basis", element.getBasis(), -1); 14941 } 14942 if (element.hasMeasurementPointElement()) { 14943 composeString(t, "IngredientSubstanceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 14944 } 14945 for (int i = 0; i < element.getCountry().size(); i++) { 14946 composeCodeableConcept(t, "IngredientSubstanceStrengthComponent", "country", element.getCountry().get(i), i); 14947 } 14948 for (int i = 0; i < element.getReferenceStrength().size(); i++) { 14949 composeIngredientSubstanceStrengthReferenceStrengthComponent(t, "IngredientSubstanceStrengthComponent", "referenceStrength", element.getReferenceStrength().get(i), i); 14950 } 14951 } 14952 14953 protected void composeIngredientSubstanceStrengthReferenceStrengthComponent(Complex parent, String parentType, String name, Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent element, int index) { 14954 if (element == null) 14955 return; 14956 Complex t; 14957 if (Utilities.noString(parentType)) 14958 t = parent; 14959 else { 14960 t = parent.predicate("fhir:"+parentType+'.'+name); 14961 } 14962 composeBackboneElement(t, "referenceStrength", name, element, index); 14963 if (element.hasSubstance()) { 14964 composeCodeableReference(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "substance", element.getSubstance(), -1); 14965 } 14966 if (element.hasStrength()) { 14967 composeType(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "strength", element.getStrength(), -1); 14968 } 14969 if (element.hasMeasurementPointElement()) { 14970 composeString(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "measurementPoint", element.getMeasurementPointElement(), -1); 14971 } 14972 for (int i = 0; i < element.getCountry().size(); i++) { 14973 composeCodeableConcept(t, "IngredientSubstanceStrengthReferenceStrengthComponent", "country", element.getCountry().get(i), i); 14974 } 14975 } 14976 14977 protected void composeInsurancePlan(Complex parent, String parentType, String name, InsurancePlan element, int index) { 14978 if (element == null) 14979 return; 14980 Complex t; 14981 if (Utilities.noString(parentType)) 14982 t = parent; 14983 else { 14984 t = parent.predicate("fhir:"+parentType+'.'+name); 14985 } 14986 composeDomainResource(t, "InsurancePlan", name, element, index); 14987 for (int i = 0; i < element.getIdentifier().size(); i++) { 14988 composeIdentifier(t, "InsurancePlan", "identifier", element.getIdentifier().get(i), i); 14989 } 14990 if (element.hasStatusElement()) { 14991 composeEnum(t, "InsurancePlan", "status", element.getStatusElement(), -1); 14992 } 14993 for (int i = 0; i < element.getType().size(); i++) { 14994 composeCodeableConcept(t, "InsurancePlan", "type", element.getType().get(i), i); 14995 } 14996 if (element.hasNameElement()) { 14997 composeString(t, "InsurancePlan", "name", element.getNameElement(), -1); 14998 } 14999 for (int i = 0; i < element.getAlias().size(); i++) { 15000 composeString(t, "InsurancePlan", "alias", element.getAlias().get(i), i); 15001 } 15002 if (element.hasPeriod()) { 15003 composePeriod(t, "InsurancePlan", "period", element.getPeriod(), -1); 15004 } 15005 if (element.hasOwnedBy()) { 15006 composeReference(t, "InsurancePlan", "ownedBy", element.getOwnedBy(), -1); 15007 } 15008 if (element.hasAdministeredBy()) { 15009 composeReference(t, "InsurancePlan", "administeredBy", element.getAdministeredBy(), -1); 15010 } 15011 for (int i = 0; i < element.getCoverageArea().size(); i++) { 15012 composeReference(t, "InsurancePlan", "coverageArea", element.getCoverageArea().get(i), i); 15013 } 15014 for (int i = 0; i < element.getContact().size(); i++) { 15015 composeExtendedContactDetail(t, "InsurancePlan", "contact", element.getContact().get(i), i); 15016 } 15017 for (int i = 0; i < element.getEndpoint().size(); i++) { 15018 composeReference(t, "InsurancePlan", "endpoint", element.getEndpoint().get(i), i); 15019 } 15020 for (int i = 0; i < element.getNetwork().size(); i++) { 15021 composeReference(t, "InsurancePlan", "network", element.getNetwork().get(i), i); 15022 } 15023 for (int i = 0; i < element.getCoverage().size(); i++) { 15024 composeInsurancePlanCoverageComponent(t, "InsurancePlan", "coverage", element.getCoverage().get(i), i); 15025 } 15026 for (int i = 0; i < element.getPlan().size(); i++) { 15027 composeInsurancePlanPlanComponent(t, "InsurancePlan", "plan", element.getPlan().get(i), i); 15028 } 15029 } 15030 15031 protected void composeInsurancePlanCoverageComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanCoverageComponent element, int index) { 15032 if (element == null) 15033 return; 15034 Complex t; 15035 if (Utilities.noString(parentType)) 15036 t = parent; 15037 else { 15038 t = parent.predicate("fhir:"+parentType+'.'+name); 15039 } 15040 composeBackboneElement(t, "coverage", name, element, index); 15041 if (element.hasType()) { 15042 composeCodeableConcept(t, "InsurancePlanCoverageComponent", "type", element.getType(), -1); 15043 } 15044 for (int i = 0; i < element.getNetwork().size(); i++) { 15045 composeReference(t, "InsurancePlanCoverageComponent", "network", element.getNetwork().get(i), i); 15046 } 15047 for (int i = 0; i < element.getBenefit().size(); i++) { 15048 composeInsurancePlanCoverageBenefitComponent(t, "InsurancePlanCoverageComponent", "benefit", element.getBenefit().get(i), i); 15049 } 15050 } 15051 15052 protected void composeInsurancePlanCoverageBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitComponent element, int index) { 15053 if (element == null) 15054 return; 15055 Complex t; 15056 if (Utilities.noString(parentType)) 15057 t = parent; 15058 else { 15059 t = parent.predicate("fhir:"+parentType+'.'+name); 15060 } 15061 composeBackboneElement(t, "benefit", name, element, index); 15062 if (element.hasType()) { 15063 composeCodeableConcept(t, "CoverageBenefitComponent", "type", element.getType(), -1); 15064 } 15065 if (element.hasRequirementElement()) { 15066 composeString(t, "CoverageBenefitComponent", "requirement", element.getRequirementElement(), -1); 15067 } 15068 for (int i = 0; i < element.getLimit().size(); i++) { 15069 composeInsurancePlanCoverageBenefitLimitComponent(t, "CoverageBenefitComponent", "limit", element.getLimit().get(i), i); 15070 } 15071 } 15072 15073 protected void composeInsurancePlanCoverageBenefitLimitComponent(Complex parent, String parentType, String name, InsurancePlan.CoverageBenefitLimitComponent element, int index) { 15074 if (element == null) 15075 return; 15076 Complex t; 15077 if (Utilities.noString(parentType)) 15078 t = parent; 15079 else { 15080 t = parent.predicate("fhir:"+parentType+'.'+name); 15081 } 15082 composeBackboneElement(t, "limit", name, element, index); 15083 if (element.hasValue()) { 15084 composeQuantity(t, "CoverageBenefitLimitComponent", "value", element.getValue(), -1); 15085 } 15086 if (element.hasCode()) { 15087 composeCodeableConcept(t, "CoverageBenefitLimitComponent", "code", element.getCode(), -1); 15088 } 15089 } 15090 15091 protected void composeInsurancePlanPlanComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanComponent element, int index) { 15092 if (element == null) 15093 return; 15094 Complex t; 15095 if (Utilities.noString(parentType)) 15096 t = parent; 15097 else { 15098 t = parent.predicate("fhir:"+parentType+'.'+name); 15099 } 15100 composeBackboneElement(t, "plan", name, element, index); 15101 for (int i = 0; i < element.getIdentifier().size(); i++) { 15102 composeIdentifier(t, "InsurancePlanPlanComponent", "identifier", element.getIdentifier().get(i), i); 15103 } 15104 if (element.hasType()) { 15105 composeCodeableConcept(t, "InsurancePlanPlanComponent", "type", element.getType(), -1); 15106 } 15107 for (int i = 0; i < element.getCoverageArea().size(); i++) { 15108 composeReference(t, "InsurancePlanPlanComponent", "coverageArea", element.getCoverageArea().get(i), i); 15109 } 15110 for (int i = 0; i < element.getNetwork().size(); i++) { 15111 composeReference(t, "InsurancePlanPlanComponent", "network", element.getNetwork().get(i), i); 15112 } 15113 for (int i = 0; i < element.getGeneralCost().size(); i++) { 15114 composeInsurancePlanPlanGeneralCostComponent(t, "InsurancePlanPlanComponent", "generalCost", element.getGeneralCost().get(i), i); 15115 } 15116 for (int i = 0; i < element.getSpecificCost().size(); i++) { 15117 composeInsurancePlanPlanSpecificCostComponent(t, "InsurancePlanPlanComponent", "specificCost", element.getSpecificCost().get(i), i); 15118 } 15119 } 15120 15121 protected void composeInsurancePlanPlanGeneralCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanGeneralCostComponent element, int index) { 15122 if (element == null) 15123 return; 15124 Complex t; 15125 if (Utilities.noString(parentType)) 15126 t = parent; 15127 else { 15128 t = parent.predicate("fhir:"+parentType+'.'+name); 15129 } 15130 composeBackboneElement(t, "generalCost", name, element, index); 15131 if (element.hasType()) { 15132 composeCodeableConcept(t, "InsurancePlanPlanGeneralCostComponent", "type", element.getType(), -1); 15133 } 15134 if (element.hasGroupSizeElement()) { 15135 composePositiveInt(t, "InsurancePlanPlanGeneralCostComponent", "groupSize", element.getGroupSizeElement(), -1); 15136 } 15137 if (element.hasCost()) { 15138 composeMoney(t, "InsurancePlanPlanGeneralCostComponent", "cost", element.getCost(), -1); 15139 } 15140 if (element.hasCommentElement()) { 15141 composeString(t, "InsurancePlanPlanGeneralCostComponent", "comment", element.getCommentElement(), -1); 15142 } 15143 } 15144 15145 protected void composeInsurancePlanPlanSpecificCostComponent(Complex parent, String parentType, String name, InsurancePlan.InsurancePlanPlanSpecificCostComponent element, int index) { 15146 if (element == null) 15147 return; 15148 Complex t; 15149 if (Utilities.noString(parentType)) 15150 t = parent; 15151 else { 15152 t = parent.predicate("fhir:"+parentType+'.'+name); 15153 } 15154 composeBackboneElement(t, "specificCost", name, element, index); 15155 if (element.hasCategory()) { 15156 composeCodeableConcept(t, "InsurancePlanPlanSpecificCostComponent", "category", element.getCategory(), -1); 15157 } 15158 for (int i = 0; i < element.getBenefit().size(); i++) { 15159 composeInsurancePlanPlanBenefitComponent(t, "InsurancePlanPlanSpecificCostComponent", "benefit", element.getBenefit().get(i), i); 15160 } 15161 } 15162 15163 protected void composeInsurancePlanPlanBenefitComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitComponent element, int index) { 15164 if (element == null) 15165 return; 15166 Complex t; 15167 if (Utilities.noString(parentType)) 15168 t = parent; 15169 else { 15170 t = parent.predicate("fhir:"+parentType+'.'+name); 15171 } 15172 composeBackboneElement(t, "benefit", name, element, index); 15173 if (element.hasType()) { 15174 composeCodeableConcept(t, "PlanBenefitComponent", "type", element.getType(), -1); 15175 } 15176 for (int i = 0; i < element.getCost().size(); i++) { 15177 composeInsurancePlanPlanBenefitCostComponent(t, "PlanBenefitComponent", "cost", element.getCost().get(i), i); 15178 } 15179 } 15180 15181 protected void composeInsurancePlanPlanBenefitCostComponent(Complex parent, String parentType, String name, InsurancePlan.PlanBenefitCostComponent element, int index) { 15182 if (element == null) 15183 return; 15184 Complex t; 15185 if (Utilities.noString(parentType)) 15186 t = parent; 15187 else { 15188 t = parent.predicate("fhir:"+parentType+'.'+name); 15189 } 15190 composeBackboneElement(t, "cost", name, element, index); 15191 if (element.hasType()) { 15192 composeCodeableConcept(t, "PlanBenefitCostComponent", "type", element.getType(), -1); 15193 } 15194 if (element.hasApplicability()) { 15195 composeCodeableConcept(t, "PlanBenefitCostComponent", "applicability", element.getApplicability(), -1); 15196 } 15197 for (int i = 0; i < element.getQualifiers().size(); i++) { 15198 composeCodeableConcept(t, "PlanBenefitCostComponent", "qualifiers", element.getQualifiers().get(i), i); 15199 } 15200 if (element.hasValue()) { 15201 composeQuantity(t, "PlanBenefitCostComponent", "value", element.getValue(), -1); 15202 } 15203 } 15204 15205 protected void composeInventoryReport(Complex parent, String parentType, String name, InventoryReport element, int index) { 15206 if (element == null) 15207 return; 15208 Complex t; 15209 if (Utilities.noString(parentType)) 15210 t = parent; 15211 else { 15212 t = parent.predicate("fhir:"+parentType+'.'+name); 15213 } 15214 composeDomainResource(t, "InventoryReport", name, element, index); 15215 for (int i = 0; i < element.getIdentifier().size(); i++) { 15216 composeIdentifier(t, "InventoryReport", "identifier", element.getIdentifier().get(i), i); 15217 } 15218 if (element.hasStatusElement()) { 15219 composeEnum(t, "InventoryReport", "status", element.getStatusElement(), -1); 15220 } 15221 if (element.hasCountTypeElement()) { 15222 composeEnum(t, "InventoryReport", "countType", element.getCountTypeElement(), -1); 15223 } 15224 if (element.hasOperationType()) { 15225 composeCodeableConcept(t, "InventoryReport", "operationType", element.getOperationType(), -1); 15226 } 15227 if (element.hasOperationTypeReason()) { 15228 composeCodeableConcept(t, "InventoryReport", "operationTypeReason", element.getOperationTypeReason(), -1); 15229 } 15230 if (element.hasReportedDateTimeElement()) { 15231 composeDateTime(t, "InventoryReport", "reportedDateTime", element.getReportedDateTimeElement(), -1); 15232 } 15233 if (element.hasReporter()) { 15234 composeReference(t, "InventoryReport", "reporter", element.getReporter(), -1); 15235 } 15236 if (element.hasReportingPeriod()) { 15237 composePeriod(t, "InventoryReport", "reportingPeriod", element.getReportingPeriod(), -1); 15238 } 15239 for (int i = 0; i < element.getInventoryListing().size(); i++) { 15240 composeInventoryReportInventoryListingComponent(t, "InventoryReport", "inventoryListing", element.getInventoryListing().get(i), i); 15241 } 15242 if (element.hasNote()) { 15243 composeAnnotation(t, "InventoryReport", "note", element.getNote(), -1); 15244 } 15245 } 15246 15247 protected void composeInventoryReportInventoryListingComponent(Complex parent, String parentType, String name, InventoryReport.InventoryReportInventoryListingComponent element, int index) { 15248 if (element == null) 15249 return; 15250 Complex t; 15251 if (Utilities.noString(parentType)) 15252 t = parent; 15253 else { 15254 t = parent.predicate("fhir:"+parentType+'.'+name); 15255 } 15256 composeBackboneElement(t, "inventoryListing", name, element, index); 15257 if (element.hasLocation()) { 15258 composeReference(t, "InventoryReportInventoryListingComponent", "location", element.getLocation(), -1); 15259 } 15260 if (element.hasItemStatus()) { 15261 composeCodeableConcept(t, "InventoryReportInventoryListingComponent", "itemStatus", element.getItemStatus(), -1); 15262 } 15263 if (element.hasCountingDateTimeElement()) { 15264 composeDateTime(t, "InventoryReportInventoryListingComponent", "countingDateTime", element.getCountingDateTimeElement(), -1); 15265 } 15266 for (int i = 0; i < element.getItems().size(); i++) { 15267 composeInventoryReportInventoryListingItemsComponent(t, "InventoryReportInventoryListingComponent", "items", element.getItems().get(i), i); 15268 } 15269 } 15270 15271 protected void composeInventoryReportInventoryListingItemsComponent(Complex parent, String parentType, String name, InventoryReport.InventoryReportInventoryListingItemsComponent 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 composeBackboneElement(t, "items", name, element, index); 15281 if (element.hasCategory()) { 15282 composeCodeableConcept(t, "InventoryReportInventoryListingItemsComponent", "category", element.getCategory(), -1); 15283 } 15284 if (element.hasQuantity()) { 15285 composeQuantity(t, "InventoryReportInventoryListingItemsComponent", "quantity", element.getQuantity(), -1); 15286 } 15287 if (element.hasItem()) { 15288 composeCodeableReference(t, "InventoryReportInventoryListingItemsComponent", "item", element.getItem(), -1); 15289 } 15290 if (element.hasLotElement()) { 15291 composeString(t, "InventoryReportInventoryListingItemsComponent", "lot", element.getLotElement(), -1); 15292 } 15293 if (element.hasSerialElement()) { 15294 composeString(t, "InventoryReportInventoryListingItemsComponent", "serial", element.getSerialElement(), -1); 15295 } 15296 if (element.hasExpiryElement()) { 15297 composeDateTime(t, "InventoryReportInventoryListingItemsComponent", "expiry", element.getExpiryElement(), -1); 15298 } 15299 if (element.hasManufacturingDateElement()) { 15300 composeDateTime(t, "InventoryReportInventoryListingItemsComponent", "manufacturingDate", element.getManufacturingDateElement(), -1); 15301 } 15302 } 15303 15304 protected void composeInvoice(Complex parent, String parentType, String name, Invoice element, int index) { 15305 if (element == null) 15306 return; 15307 Complex t; 15308 if (Utilities.noString(parentType)) 15309 t = parent; 15310 else { 15311 t = parent.predicate("fhir:"+parentType+'.'+name); 15312 } 15313 composeDomainResource(t, "Invoice", name, element, index); 15314 for (int i = 0; i < element.getIdentifier().size(); i++) { 15315 composeIdentifier(t, "Invoice", "identifier", element.getIdentifier().get(i), i); 15316 } 15317 if (element.hasStatusElement()) { 15318 composeEnum(t, "Invoice", "status", element.getStatusElement(), -1); 15319 } 15320 if (element.hasCancelledReasonElement()) { 15321 composeString(t, "Invoice", "cancelledReason", element.getCancelledReasonElement(), -1); 15322 } 15323 if (element.hasType()) { 15324 composeCodeableConcept(t, "Invoice", "type", element.getType(), -1); 15325 } 15326 if (element.hasSubject()) { 15327 composeReference(t, "Invoice", "subject", element.getSubject(), -1); 15328 } 15329 if (element.hasRecipient()) { 15330 composeReference(t, "Invoice", "recipient", element.getRecipient(), -1); 15331 } 15332 if (element.hasDateElement()) { 15333 composeDateTime(t, "Invoice", "date", element.getDateElement(), -1); 15334 } 15335 if (element.hasCreationElement()) { 15336 composeDateTime(t, "Invoice", "creation", element.getCreationElement(), -1); 15337 } 15338 if (element.hasPeriod()) { 15339 composeType(t, "Invoice", "period", element.getPeriod(), -1); 15340 } 15341 for (int i = 0; i < element.getParticipant().size(); i++) { 15342 composeInvoiceParticipantComponent(t, "Invoice", "participant", element.getParticipant().get(i), i); 15343 } 15344 if (element.hasIssuer()) { 15345 composeReference(t, "Invoice", "issuer", element.getIssuer(), -1); 15346 } 15347 if (element.hasAccount()) { 15348 composeReference(t, "Invoice", "account", element.getAccount(), -1); 15349 } 15350 for (int i = 0; i < element.getLineItem().size(); i++) { 15351 composeInvoiceLineItemComponent(t, "Invoice", "lineItem", element.getLineItem().get(i), i); 15352 } 15353 for (int i = 0; i < element.getTotalPriceComponent().size(); i++) { 15354 composeMonetaryComponent(t, "Invoice", "totalPriceComponent", element.getTotalPriceComponent().get(i), i); 15355 } 15356 if (element.hasTotalNet()) { 15357 composeMoney(t, "Invoice", "totalNet", element.getTotalNet(), -1); 15358 } 15359 if (element.hasTotalGross()) { 15360 composeMoney(t, "Invoice", "totalGross", element.getTotalGross(), -1); 15361 } 15362 if (element.hasPaymentTermsElement()) { 15363 composeMarkdown(t, "Invoice", "paymentTerms", element.getPaymentTermsElement(), -1); 15364 } 15365 for (int i = 0; i < element.getNote().size(); i++) { 15366 composeAnnotation(t, "Invoice", "note", element.getNote().get(i), i); 15367 } 15368 } 15369 15370 protected void composeInvoiceParticipantComponent(Complex parent, String parentType, String name, Invoice.InvoiceParticipantComponent element, int index) { 15371 if (element == null) 15372 return; 15373 Complex t; 15374 if (Utilities.noString(parentType)) 15375 t = parent; 15376 else { 15377 t = parent.predicate("fhir:"+parentType+'.'+name); 15378 } 15379 composeBackboneElement(t, "participant", name, element, index); 15380 if (element.hasRole()) { 15381 composeCodeableConcept(t, "InvoiceParticipantComponent", "role", element.getRole(), -1); 15382 } 15383 if (element.hasActor()) { 15384 composeReference(t, "InvoiceParticipantComponent", "actor", element.getActor(), -1); 15385 } 15386 } 15387 15388 protected void composeInvoiceLineItemComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemComponent element, int index) { 15389 if (element == null) 15390 return; 15391 Complex t; 15392 if (Utilities.noString(parentType)) 15393 t = parent; 15394 else { 15395 t = parent.predicate("fhir:"+parentType+'.'+name); 15396 } 15397 composeBackboneElement(t, "lineItem", name, element, index); 15398 if (element.hasSequenceElement()) { 15399 composePositiveInt(t, "InvoiceLineItemComponent", "sequence", element.getSequenceElement(), -1); 15400 } 15401 if (element.hasServiced()) { 15402 composeType(t, "InvoiceLineItemComponent", "serviced", element.getServiced(), -1); 15403 } 15404 if (element.hasChargeItem()) { 15405 composeType(t, "InvoiceLineItemComponent", "chargeItem", element.getChargeItem(), -1); 15406 } 15407 for (int i = 0; i < element.getPriceComponent().size(); i++) { 15408 composeMonetaryComponent(t, "InvoiceLineItemComponent", "priceComponent", element.getPriceComponent().get(i), i); 15409 } 15410 } 15411 15412 protected void composeLibrary(Complex parent, String parentType, String name, Library 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 composeMetadataResource(t, "Library", name, element, index); 15422 if (element.hasUrlElement()) { 15423 composeUri(t, "Library", "url", element.getUrlElement(), -1); 15424 } 15425 for (int i = 0; i < element.getIdentifier().size(); i++) { 15426 composeIdentifier(t, "Library", "identifier", element.getIdentifier().get(i), i); 15427 } 15428 if (element.hasVersionElement()) { 15429 composeString(t, "Library", "version", element.getVersionElement(), -1); 15430 } 15431 if (element.hasNameElement()) { 15432 composeString(t, "Library", "name", element.getNameElement(), -1); 15433 } 15434 if (element.hasTitleElement()) { 15435 composeString(t, "Library", "title", element.getTitleElement(), -1); 15436 } 15437 if (element.hasSubtitleElement()) { 15438 composeString(t, "Library", "subtitle", element.getSubtitleElement(), -1); 15439 } 15440 if (element.hasStatusElement()) { 15441 composeEnum(t, "Library", "status", element.getStatusElement(), -1); 15442 } 15443 if (element.hasExperimentalElement()) { 15444 composeBoolean(t, "Library", "experimental", element.getExperimentalElement(), -1); 15445 } 15446 if (element.hasType()) { 15447 composeCodeableConcept(t, "Library", "type", element.getType(), -1); 15448 } 15449 if (element.hasSubject()) { 15450 composeType(t, "Library", "subject", element.getSubject(), -1); 15451 } 15452 if (element.hasDateElement()) { 15453 composeDateTime(t, "Library", "date", element.getDateElement(), -1); 15454 } 15455 if (element.hasPublisherElement()) { 15456 composeString(t, "Library", "publisher", element.getPublisherElement(), -1); 15457 } 15458 for (int i = 0; i < element.getContact().size(); i++) { 15459 composeContactDetail(t, "Library", "contact", element.getContact().get(i), i); 15460 } 15461 if (element.hasDescriptionElement()) { 15462 composeMarkdown(t, "Library", "description", element.getDescriptionElement(), -1); 15463 } 15464 for (int i = 0; i < element.getUseContext().size(); i++) { 15465 composeUsageContext(t, "Library", "useContext", element.getUseContext().get(i), i); 15466 } 15467 for (int i = 0; i < element.getJurisdiction().size(); i++) { 15468 composeCodeableConcept(t, "Library", "jurisdiction", element.getJurisdiction().get(i), i); 15469 } 15470 if (element.hasPurposeElement()) { 15471 composeMarkdown(t, "Library", "purpose", element.getPurposeElement(), -1); 15472 } 15473 if (element.hasUsageElement()) { 15474 composeString(t, "Library", "usage", element.getUsageElement(), -1); 15475 } 15476 if (element.hasCopyrightElement()) { 15477 composeMarkdown(t, "Library", "copyright", element.getCopyrightElement(), -1); 15478 } 15479 if (element.hasApprovalDateElement()) { 15480 composeDate(t, "Library", "approvalDate", element.getApprovalDateElement(), -1); 15481 } 15482 if (element.hasLastReviewDateElement()) { 15483 composeDate(t, "Library", "lastReviewDate", element.getLastReviewDateElement(), -1); 15484 } 15485 if (element.hasEffectivePeriod()) { 15486 composePeriod(t, "Library", "effectivePeriod", element.getEffectivePeriod(), -1); 15487 } 15488 for (int i = 0; i < element.getTopic().size(); i++) { 15489 composeCodeableConcept(t, "Library", "topic", element.getTopic().get(i), i); 15490 } 15491 for (int i = 0; i < element.getAuthor().size(); i++) { 15492 composeContactDetail(t, "Library", "author", element.getAuthor().get(i), i); 15493 } 15494 for (int i = 0; i < element.getEditor().size(); i++) { 15495 composeContactDetail(t, "Library", "editor", element.getEditor().get(i), i); 15496 } 15497 for (int i = 0; i < element.getReviewer().size(); i++) { 15498 composeContactDetail(t, "Library", "reviewer", element.getReviewer().get(i), i); 15499 } 15500 for (int i = 0; i < element.getEndorser().size(); i++) { 15501 composeContactDetail(t, "Library", "endorser", element.getEndorser().get(i), i); 15502 } 15503 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 15504 composeRelatedArtifact(t, "Library", "relatedArtifact", element.getRelatedArtifact().get(i), i); 15505 } 15506 for (int i = 0; i < element.getParameter().size(); i++) { 15507 composeParameterDefinition(t, "Library", "parameter", element.getParameter().get(i), i); 15508 } 15509 for (int i = 0; i < element.getDataRequirement().size(); i++) { 15510 composeDataRequirement(t, "Library", "dataRequirement", element.getDataRequirement().get(i), i); 15511 } 15512 for (int i = 0; i < element.getContent().size(); i++) { 15513 composeAttachment(t, "Library", "content", element.getContent().get(i), i); 15514 } 15515 } 15516 15517 protected void composeLinkage(Complex parent, String parentType, String name, Linkage element, int index) { 15518 if (element == null) 15519 return; 15520 Complex t; 15521 if (Utilities.noString(parentType)) 15522 t = parent; 15523 else { 15524 t = parent.predicate("fhir:"+parentType+'.'+name); 15525 } 15526 composeDomainResource(t, "Linkage", name, element, index); 15527 if (element.hasActiveElement()) { 15528 composeBoolean(t, "Linkage", "active", element.getActiveElement(), -1); 15529 } 15530 if (element.hasAuthor()) { 15531 composeReference(t, "Linkage", "author", element.getAuthor(), -1); 15532 } 15533 for (int i = 0; i < element.getItem().size(); i++) { 15534 composeLinkageItemComponent(t, "Linkage", "item", element.getItem().get(i), i); 15535 } 15536 } 15537 15538 protected void composeLinkageItemComponent(Complex parent, String parentType, String name, Linkage.LinkageItemComponent element, int index) { 15539 if (element == null) 15540 return; 15541 Complex t; 15542 if (Utilities.noString(parentType)) 15543 t = parent; 15544 else { 15545 t = parent.predicate("fhir:"+parentType+'.'+name); 15546 } 15547 composeBackboneElement(t, "item", name, element, index); 15548 if (element.hasTypeElement()) { 15549 composeEnum(t, "LinkageItemComponent", "type", element.getTypeElement(), -1); 15550 } 15551 if (element.hasResource()) { 15552 composeReference(t, "LinkageItemComponent", "resource", element.getResource(), -1); 15553 } 15554 } 15555 15556 protected void composeListResource(Complex parent, String parentType, String name, ListResource element, int index) { 15557 if (element == null) 15558 return; 15559 Complex t; 15560 if (Utilities.noString(parentType)) 15561 t = parent; 15562 else { 15563 t = parent.predicate("fhir:"+parentType+'.'+name); 15564 } 15565 composeDomainResource(t, "List", name, element, index); 15566 for (int i = 0; i < element.getIdentifier().size(); i++) { 15567 composeIdentifier(t, "ListResource", "identifier", element.getIdentifier().get(i), i); 15568 } 15569 if (element.hasStatusElement()) { 15570 composeEnum(t, "ListResource", "status", element.getStatusElement(), -1); 15571 } 15572 if (element.hasModeElement()) { 15573 composeEnum(t, "ListResource", "mode", element.getModeElement(), -1); 15574 } 15575 if (element.hasTitleElement()) { 15576 composeString(t, "ListResource", "title", element.getTitleElement(), -1); 15577 } 15578 if (element.hasCode()) { 15579 composeCodeableConcept(t, "ListResource", "code", element.getCode(), -1); 15580 } 15581 if (element.hasSubject()) { 15582 composeReference(t, "ListResource", "subject", element.getSubject(), -1); 15583 } 15584 if (element.hasEncounter()) { 15585 composeReference(t, "ListResource", "encounter", element.getEncounter(), -1); 15586 } 15587 if (element.hasDateElement()) { 15588 composeDateTime(t, "ListResource", "date", element.getDateElement(), -1); 15589 } 15590 if (element.hasSource()) { 15591 composeReference(t, "ListResource", "source", element.getSource(), -1); 15592 } 15593 if (element.hasOrderedBy()) { 15594 composeCodeableConcept(t, "ListResource", "orderedBy", element.getOrderedBy(), -1); 15595 } 15596 for (int i = 0; i < element.getNote().size(); i++) { 15597 composeAnnotation(t, "ListResource", "note", element.getNote().get(i), i); 15598 } 15599 for (int i = 0; i < element.getEntry().size(); i++) { 15600 composeListResourceEntryComponent(t, "ListResource", "entry", element.getEntry().get(i), i); 15601 } 15602 if (element.hasEmptyReason()) { 15603 composeCodeableConcept(t, "ListResource", "emptyReason", element.getEmptyReason(), -1); 15604 } 15605 } 15606 15607 protected void composeListResourceEntryComponent(Complex parent, String parentType, String name, ListResource.ListResourceEntryComponent element, int index) { 15608 if (element == null) 15609 return; 15610 Complex t; 15611 if (Utilities.noString(parentType)) 15612 t = parent; 15613 else { 15614 t = parent.predicate("fhir:"+parentType+'.'+name); 15615 } 15616 composeBackboneElement(t, "entry", name, element, index); 15617 if (element.hasFlag()) { 15618 composeCodeableConcept(t, "ListResourceEntryComponent", "flag", element.getFlag(), -1); 15619 } 15620 if (element.hasDeletedElement()) { 15621 composeBoolean(t, "ListResourceEntryComponent", "deleted", element.getDeletedElement(), -1); 15622 } 15623 if (element.hasDateElement()) { 15624 composeDateTime(t, "ListResourceEntryComponent", "date", element.getDateElement(), -1); 15625 } 15626 if (element.hasItem()) { 15627 composeReference(t, "ListResourceEntryComponent", "item", element.getItem(), -1); 15628 } 15629 } 15630 15631 protected void composeLocation(Complex parent, String parentType, String name, Location element, int index) { 15632 if (element == null) 15633 return; 15634 Complex t; 15635 if (Utilities.noString(parentType)) 15636 t = parent; 15637 else { 15638 t = parent.predicate("fhir:"+parentType+'.'+name); 15639 } 15640 composeDomainResource(t, "Location", name, element, index); 15641 for (int i = 0; i < element.getIdentifier().size(); i++) { 15642 composeIdentifier(t, "Location", "identifier", element.getIdentifier().get(i), i); 15643 } 15644 if (element.hasStatusElement()) { 15645 composeEnum(t, "Location", "status", element.getStatusElement(), -1); 15646 } 15647 if (element.hasOperationalStatus()) { 15648 composeCoding(t, "Location", "operationalStatus", element.getOperationalStatus(), -1); 15649 } 15650 if (element.hasNameElement()) { 15651 composeString(t, "Location", "name", element.getNameElement(), -1); 15652 } 15653 for (int i = 0; i < element.getAlias().size(); i++) { 15654 composeString(t, "Location", "alias", element.getAlias().get(i), i); 15655 } 15656 if (element.hasDescriptionElement()) { 15657 composeString(t, "Location", "description", element.getDescriptionElement(), -1); 15658 } 15659 if (element.hasModeElement()) { 15660 composeEnum(t, "Location", "mode", element.getModeElement(), -1); 15661 } 15662 for (int i = 0; i < element.getType().size(); i++) { 15663 composeCodeableConcept(t, "Location", "type", element.getType().get(i), i); 15664 } 15665 for (int i = 0; i < element.getContact().size(); i++) { 15666 composeExtendedContactDetail(t, "Location", "contact", element.getContact().get(i), i); 15667 } 15668 if (element.hasAddress()) { 15669 composeAddress(t, "Location", "address", element.getAddress(), -1); 15670 } 15671 if (element.hasForm()) { 15672 composeCodeableConcept(t, "Location", "form", element.getForm(), -1); 15673 } 15674 if (element.hasPosition()) { 15675 composeLocationPositionComponent(t, "Location", "position", element.getPosition(), -1); 15676 } 15677 if (element.hasManagingOrganization()) { 15678 composeReference(t, "Location", "managingOrganization", element.getManagingOrganization(), -1); 15679 } 15680 if (element.hasPartOf()) { 15681 composeReference(t, "Location", "partOf", element.getPartOf(), -1); 15682 } 15683 for (int i = 0; i < element.getCharacteristic().size(); i++) { 15684 composeCodeableConcept(t, "Location", "characteristic", element.getCharacteristic().get(i), i); 15685 } 15686 for (int i = 0; i < element.getHoursOfOperation().size(); i++) { 15687 composeAvailability(t, "Location", "hoursOfOperation", element.getHoursOfOperation().get(i), i); 15688 } 15689 for (int i = 0; i < element.getVirtualService().size(); i++) { 15690 composeVirtualServiceDetail(t, "Location", "virtualService", element.getVirtualService().get(i), i); 15691 } 15692 for (int i = 0; i < element.getEndpoint().size(); i++) { 15693 composeReference(t, "Location", "endpoint", element.getEndpoint().get(i), i); 15694 } 15695 } 15696 15697 protected void composeLocationPositionComponent(Complex parent, String parentType, String name, Location.LocationPositionComponent element, int index) { 15698 if (element == null) 15699 return; 15700 Complex t; 15701 if (Utilities.noString(parentType)) 15702 t = parent; 15703 else { 15704 t = parent.predicate("fhir:"+parentType+'.'+name); 15705 } 15706 composeBackboneElement(t, "position", name, element, index); 15707 if (element.hasLongitudeElement()) { 15708 composeDecimal(t, "LocationPositionComponent", "longitude", element.getLongitudeElement(), -1); 15709 } 15710 if (element.hasLatitudeElement()) { 15711 composeDecimal(t, "LocationPositionComponent", "latitude", element.getLatitudeElement(), -1); 15712 } 15713 if (element.hasAltitudeElement()) { 15714 composeDecimal(t, "LocationPositionComponent", "altitude", element.getAltitudeElement(), -1); 15715 } 15716 } 15717 15718 protected void composeManufacturedItemDefinition(Complex parent, String parentType, String name, ManufacturedItemDefinition element, int index) { 15719 if (element == null) 15720 return; 15721 Complex t; 15722 if (Utilities.noString(parentType)) 15723 t = parent; 15724 else { 15725 t = parent.predicate("fhir:"+parentType+'.'+name); 15726 } 15727 composeDomainResource(t, "ManufacturedItemDefinition", name, element, index); 15728 for (int i = 0; i < element.getIdentifier().size(); i++) { 15729 composeIdentifier(t, "ManufacturedItemDefinition", "identifier", element.getIdentifier().get(i), i); 15730 } 15731 if (element.hasStatusElement()) { 15732 composeEnum(t, "ManufacturedItemDefinition", "status", element.getStatusElement(), -1); 15733 } 15734 if (element.hasNameElement()) { 15735 composeString(t, "ManufacturedItemDefinition", "name", element.getNameElement(), -1); 15736 } 15737 if (element.hasManufacturedDoseForm()) { 15738 composeCodeableConcept(t, "ManufacturedItemDefinition", "manufacturedDoseForm", element.getManufacturedDoseForm(), -1); 15739 } 15740 if (element.hasUnitOfPresentation()) { 15741 composeCodeableConcept(t, "ManufacturedItemDefinition", "unitOfPresentation", element.getUnitOfPresentation(), -1); 15742 } 15743 for (int i = 0; i < element.getManufacturer().size(); i++) { 15744 composeReference(t, "ManufacturedItemDefinition", "manufacturer", element.getManufacturer().get(i), i); 15745 } 15746 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 15747 composeMarketingStatus(t, "ManufacturedItemDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 15748 } 15749 for (int i = 0; i < element.getIngredient().size(); i++) { 15750 composeCodeableConcept(t, "ManufacturedItemDefinition", "ingredient", element.getIngredient().get(i), i); 15751 } 15752 for (int i = 0; i < element.getProperty().size(); i++) { 15753 composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinition", "property", element.getProperty().get(i), i); 15754 } 15755 for (int i = 0; i < element.getComponent().size(); i++) { 15756 composeManufacturedItemDefinitionComponentComponent(t, "ManufacturedItemDefinition", "component", element.getComponent().get(i), i); 15757 } 15758 } 15759 15760 protected void composeManufacturedItemDefinitionPropertyComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element, int index) { 15761 if (element == null) 15762 return; 15763 Complex t; 15764 if (Utilities.noString(parentType)) 15765 t = parent; 15766 else { 15767 t = parent.predicate("fhir:"+parentType+'.'+name); 15768 } 15769 composeBackboneElement(t, "property", name, element, index); 15770 if (element.hasType()) { 15771 composeCodeableConcept(t, "ManufacturedItemDefinitionPropertyComponent", "type", element.getType(), -1); 15772 } 15773 if (element.hasValue()) { 15774 composeType(t, "ManufacturedItemDefinitionPropertyComponent", "value", element.getValue(), -1); 15775 } 15776 } 15777 15778 protected void composeManufacturedItemDefinitionComponentComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element, int index) { 15779 if (element == null) 15780 return; 15781 Complex t; 15782 if (Utilities.noString(parentType)) 15783 t = parent; 15784 else { 15785 t = parent.predicate("fhir:"+parentType+'.'+name); 15786 } 15787 composeBackboneElement(t, "component", name, element, index); 15788 if (element.hasType()) { 15789 composeCodeableConcept(t, "ManufacturedItemDefinitionComponentComponent", "type", element.getType(), -1); 15790 } 15791 for (int i = 0; i < element.getFunction().size(); i++) { 15792 composeCodeableConcept(t, "ManufacturedItemDefinitionComponentComponent", "function", element.getFunction().get(i), i); 15793 } 15794 for (int i = 0; i < element.getAmount().size(); i++) { 15795 composeQuantity(t, "ManufacturedItemDefinitionComponentComponent", "amount", element.getAmount().get(i), i); 15796 } 15797 for (int i = 0; i < element.getConstituent().size(); i++) { 15798 composeManufacturedItemDefinitionComponentConstituentComponent(t, "ManufacturedItemDefinitionComponentComponent", "constituent", element.getConstituent().get(i), i); 15799 } 15800 for (int i = 0; i < element.getProperty().size(); i++) { 15801 composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinitionComponentComponent", "property", element.getProperty().get(i), i); 15802 } 15803 for (int i = 0; i < element.getComponent().size(); i++) { 15804 composeManufacturedItemDefinitionComponentComponent(t, "ManufacturedItemDefinitionComponentComponent", "component", element.getComponent().get(i), i); 15805 } 15806 } 15807 15808 protected void composeManufacturedItemDefinitionComponentConstituentComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element, int index) { 15809 if (element == null) 15810 return; 15811 Complex t; 15812 if (Utilities.noString(parentType)) 15813 t = parent; 15814 else { 15815 t = parent.predicate("fhir:"+parentType+'.'+name); 15816 } 15817 composeBackboneElement(t, "constituent", name, element, index); 15818 for (int i = 0; i < element.getAmount().size(); i++) { 15819 composeQuantity(t, "ManufacturedItemDefinitionComponentConstituentComponent", "amount", element.getAmount().get(i), i); 15820 } 15821 for (int i = 0; i < element.getLocation().size(); i++) { 15822 composeCodeableConcept(t, "ManufacturedItemDefinitionComponentConstituentComponent", "location", element.getLocation().get(i), i); 15823 } 15824 for (int i = 0; i < element.getFunction().size(); i++) { 15825 composeCodeableConcept(t, "ManufacturedItemDefinitionComponentConstituentComponent", "function", element.getFunction().get(i), i); 15826 } 15827 for (int i = 0; i < element.getHasIngredient().size(); i++) { 15828 composeCodeableReference(t, "ManufacturedItemDefinitionComponentConstituentComponent", "hasIngredient", element.getHasIngredient().get(i), i); 15829 } 15830 } 15831 15832 protected void composeMeasure(Complex parent, String parentType, String name, Measure element, int index) { 15833 if (element == null) 15834 return; 15835 Complex t; 15836 if (Utilities.noString(parentType)) 15837 t = parent; 15838 else { 15839 t = parent.predicate("fhir:"+parentType+'.'+name); 15840 } 15841 composeMetadataResource(t, "Measure", name, element, index); 15842 if (element.hasUrlElement()) { 15843 composeUri(t, "Measure", "url", element.getUrlElement(), -1); 15844 } 15845 for (int i = 0; i < element.getIdentifier().size(); i++) { 15846 composeIdentifier(t, "Measure", "identifier", element.getIdentifier().get(i), i); 15847 } 15848 if (element.hasVersionElement()) { 15849 composeString(t, "Measure", "version", element.getVersionElement(), -1); 15850 } 15851 if (element.hasNameElement()) { 15852 composeString(t, "Measure", "name", element.getNameElement(), -1); 15853 } 15854 if (element.hasTitleElement()) { 15855 composeString(t, "Measure", "title", element.getTitleElement(), -1); 15856 } 15857 if (element.hasSubtitleElement()) { 15858 composeString(t, "Measure", "subtitle", element.getSubtitleElement(), -1); 15859 } 15860 if (element.hasStatusElement()) { 15861 composeEnum(t, "Measure", "status", element.getStatusElement(), -1); 15862 } 15863 if (element.hasExperimentalElement()) { 15864 composeBoolean(t, "Measure", "experimental", element.getExperimentalElement(), -1); 15865 } 15866 if (element.hasSubject()) { 15867 composeType(t, "Measure", "subject", element.getSubject(), -1); 15868 } 15869 if (element.hasBasisElement()) { 15870 composeEnum(t, "Measure", "basis", element.getBasisElement(), -1); 15871 } 15872 if (element.hasDateElement()) { 15873 composeDateTime(t, "Measure", "date", element.getDateElement(), -1); 15874 } 15875 if (element.hasPublisherElement()) { 15876 composeString(t, "Measure", "publisher", element.getPublisherElement(), -1); 15877 } 15878 for (int i = 0; i < element.getContact().size(); i++) { 15879 composeContactDetail(t, "Measure", "contact", element.getContact().get(i), i); 15880 } 15881 if (element.hasDescriptionElement()) { 15882 composeMarkdown(t, "Measure", "description", element.getDescriptionElement(), -1); 15883 } 15884 for (int i = 0; i < element.getUseContext().size(); i++) { 15885 composeUsageContext(t, "Measure", "useContext", element.getUseContext().get(i), i); 15886 } 15887 for (int i = 0; i < element.getJurisdiction().size(); i++) { 15888 composeCodeableConcept(t, "Measure", "jurisdiction", element.getJurisdiction().get(i), i); 15889 } 15890 if (element.hasPurposeElement()) { 15891 composeMarkdown(t, "Measure", "purpose", element.getPurposeElement(), -1); 15892 } 15893 if (element.hasUsageElement()) { 15894 composeString(t, "Measure", "usage", element.getUsageElement(), -1); 15895 } 15896 if (element.hasCopyrightElement()) { 15897 composeMarkdown(t, "Measure", "copyright", element.getCopyrightElement(), -1); 15898 } 15899 if (element.hasApprovalDateElement()) { 15900 composeDate(t, "Measure", "approvalDate", element.getApprovalDateElement(), -1); 15901 } 15902 if (element.hasLastReviewDateElement()) { 15903 composeDate(t, "Measure", "lastReviewDate", element.getLastReviewDateElement(), -1); 15904 } 15905 if (element.hasEffectivePeriod()) { 15906 composePeriod(t, "Measure", "effectivePeriod", element.getEffectivePeriod(), -1); 15907 } 15908 for (int i = 0; i < element.getTopic().size(); i++) { 15909 composeCodeableConcept(t, "Measure", "topic", element.getTopic().get(i), i); 15910 } 15911 for (int i = 0; i < element.getAuthor().size(); i++) { 15912 composeContactDetail(t, "Measure", "author", element.getAuthor().get(i), i); 15913 } 15914 for (int i = 0; i < element.getEditor().size(); i++) { 15915 composeContactDetail(t, "Measure", "editor", element.getEditor().get(i), i); 15916 } 15917 for (int i = 0; i < element.getReviewer().size(); i++) { 15918 composeContactDetail(t, "Measure", "reviewer", element.getReviewer().get(i), i); 15919 } 15920 for (int i = 0; i < element.getEndorser().size(); i++) { 15921 composeContactDetail(t, "Measure", "endorser", element.getEndorser().get(i), i); 15922 } 15923 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 15924 composeRelatedArtifact(t, "Measure", "relatedArtifact", element.getRelatedArtifact().get(i), i); 15925 } 15926 for (int i = 0; i < element.getLibrary().size(); i++) { 15927 composeCanonical(t, "Measure", "library", element.getLibrary().get(i), i); 15928 } 15929 if (element.hasDisclaimerElement()) { 15930 composeMarkdown(t, "Measure", "disclaimer", element.getDisclaimerElement(), -1); 15931 } 15932 if (element.hasScoring()) { 15933 composeCodeableConcept(t, "Measure", "scoring", element.getScoring(), -1); 15934 } 15935 if (element.hasScoringUnit()) { 15936 composeCodeableConcept(t, "Measure", "scoringUnit", element.getScoringUnit(), -1); 15937 } 15938 if (element.hasCompositeScoring()) { 15939 composeCodeableConcept(t, "Measure", "compositeScoring", element.getCompositeScoring(), -1); 15940 } 15941 for (int i = 0; i < element.getType().size(); i++) { 15942 composeCodeableConcept(t, "Measure", "type", element.getType().get(i), i); 15943 } 15944 if (element.hasRiskAdjustmentElement()) { 15945 composeString(t, "Measure", "riskAdjustment", element.getRiskAdjustmentElement(), -1); 15946 } 15947 if (element.hasRateAggregationElement()) { 15948 composeString(t, "Measure", "rateAggregation", element.getRateAggregationElement(), -1); 15949 } 15950 if (element.hasRationaleElement()) { 15951 composeMarkdown(t, "Measure", "rationale", element.getRationaleElement(), -1); 15952 } 15953 if (element.hasClinicalRecommendationStatementElement()) { 15954 composeMarkdown(t, "Measure", "clinicalRecommendationStatement", element.getClinicalRecommendationStatementElement(), -1); 15955 } 15956 if (element.hasImprovementNotation()) { 15957 composeCodeableConcept(t, "Measure", "improvementNotation", element.getImprovementNotation(), -1); 15958 } 15959 for (int i = 0; i < element.getTerm().size(); i++) { 15960 composeMeasureTermComponent(t, "Measure", "term", element.getTerm().get(i), i); 15961 } 15962 if (element.hasGuidanceElement()) { 15963 composeMarkdown(t, "Measure", "guidance", element.getGuidanceElement(), -1); 15964 } 15965 for (int i = 0; i < element.getGroup().size(); i++) { 15966 composeMeasureGroupComponent(t, "Measure", "group", element.getGroup().get(i), i); 15967 } 15968 for (int i = 0; i < element.getSupplementalData().size(); i++) { 15969 composeMeasureSupplementalDataComponent(t, "Measure", "supplementalData", element.getSupplementalData().get(i), i); 15970 } 15971 } 15972 15973 protected void composeMeasureTermComponent(Complex parent, String parentType, String name, Measure.MeasureTermComponent element, int index) { 15974 if (element == null) 15975 return; 15976 Complex t; 15977 if (Utilities.noString(parentType)) 15978 t = parent; 15979 else { 15980 t = parent.predicate("fhir:"+parentType+'.'+name); 15981 } 15982 composeBackboneElement(t, "term", name, element, index); 15983 if (element.hasCode()) { 15984 composeCodeableConcept(t, "MeasureTermComponent", "code", element.getCode(), -1); 15985 } 15986 if (element.hasDefinitionElement()) { 15987 composeMarkdown(t, "MeasureTermComponent", "definition", element.getDefinitionElement(), -1); 15988 } 15989 } 15990 15991 protected void composeMeasureGroupComponent(Complex parent, String parentType, String name, Measure.MeasureGroupComponent element, int index) { 15992 if (element == null) 15993 return; 15994 Complex t; 15995 if (Utilities.noString(parentType)) 15996 t = parent; 15997 else { 15998 t = parent.predicate("fhir:"+parentType+'.'+name); 15999 } 16000 composeBackboneElement(t, "group", name, element, index); 16001 if (element.hasCode()) { 16002 composeCodeableConcept(t, "MeasureGroupComponent", "code", element.getCode(), -1); 16003 } 16004 if (element.hasDescriptionElement()) { 16005 composeString(t, "MeasureGroupComponent", "description", element.getDescriptionElement(), -1); 16006 } 16007 for (int i = 0; i < element.getType().size(); i++) { 16008 composeCodeableConcept(t, "MeasureGroupComponent", "type", element.getType().get(i), i); 16009 } 16010 if (element.hasBasisElement()) { 16011 composeEnum(t, "MeasureGroupComponent", "basis", element.getBasisElement(), -1); 16012 } 16013 if (element.hasScoring()) { 16014 composeCodeableConcept(t, "MeasureGroupComponent", "scoring", element.getScoring(), -1); 16015 } 16016 if (element.hasScoringUnit()) { 16017 composeCodeableConcept(t, "MeasureGroupComponent", "scoringUnit", element.getScoringUnit(), -1); 16018 } 16019 if (element.hasImprovementNotation()) { 16020 composeCodeableConcept(t, "MeasureGroupComponent", "improvementNotation", element.getImprovementNotation(), -1); 16021 } 16022 for (int i = 0; i < element.getPopulation().size(); i++) { 16023 composeMeasureGroupPopulationComponent(t, "MeasureGroupComponent", "population", element.getPopulation().get(i), i); 16024 } 16025 for (int i = 0; i < element.getStratifier().size(); i++) { 16026 composeMeasureGroupStratifierComponent(t, "MeasureGroupComponent", "stratifier", element.getStratifier().get(i), i); 16027 } 16028 } 16029 16030 protected void composeMeasureGroupPopulationComponent(Complex parent, String parentType, String name, Measure.MeasureGroupPopulationComponent element, int index) { 16031 if (element == null) 16032 return; 16033 Complex t; 16034 if (Utilities.noString(parentType)) 16035 t = parent; 16036 else { 16037 t = parent.predicate("fhir:"+parentType+'.'+name); 16038 } 16039 composeBackboneElement(t, "population", name, element, index); 16040 if (element.hasCode()) { 16041 composeCodeableConcept(t, "MeasureGroupPopulationComponent", "code", element.getCode(), -1); 16042 } 16043 if (element.hasDescriptionElement()) { 16044 composeString(t, "MeasureGroupPopulationComponent", "description", element.getDescriptionElement(), -1); 16045 } 16046 if (element.hasCriteria()) { 16047 composeExpression(t, "MeasureGroupPopulationComponent", "criteria", element.getCriteria(), -1); 16048 } 16049 if (element.hasInputPopulationIdElement()) { 16050 composeString(t, "MeasureGroupPopulationComponent", "inputPopulationId", element.getInputPopulationIdElement(), -1); 16051 } 16052 if (element.hasAggregateMethod()) { 16053 composeCodeableConcept(t, "MeasureGroupPopulationComponent", "aggregateMethod", element.getAggregateMethod(), -1); 16054 } 16055 } 16056 16057 protected void composeMeasureGroupStratifierComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponent element, int index) { 16058 if (element == null) 16059 return; 16060 Complex t; 16061 if (Utilities.noString(parentType)) 16062 t = parent; 16063 else { 16064 t = parent.predicate("fhir:"+parentType+'.'+name); 16065 } 16066 composeBackboneElement(t, "stratifier", name, element, index); 16067 if (element.hasCode()) { 16068 composeCodeableConcept(t, "MeasureGroupStratifierComponent", "code", element.getCode(), -1); 16069 } 16070 if (element.hasDescriptionElement()) { 16071 composeString(t, "MeasureGroupStratifierComponent", "description", element.getDescriptionElement(), -1); 16072 } 16073 if (element.hasCriteria()) { 16074 composeExpression(t, "MeasureGroupStratifierComponent", "criteria", element.getCriteria(), -1); 16075 } 16076 for (int i = 0; i < element.getComponent().size(); i++) { 16077 composeMeasureGroupStratifierComponentComponent(t, "MeasureGroupStratifierComponent", "component", element.getComponent().get(i), i); 16078 } 16079 } 16080 16081 protected void composeMeasureGroupStratifierComponentComponent(Complex parent, String parentType, String name, Measure.MeasureGroupStratifierComponentComponent element, int index) { 16082 if (element == null) 16083 return; 16084 Complex t; 16085 if (Utilities.noString(parentType)) 16086 t = parent; 16087 else { 16088 t = parent.predicate("fhir:"+parentType+'.'+name); 16089 } 16090 composeBackboneElement(t, "component", name, element, index); 16091 if (element.hasCode()) { 16092 composeCodeableConcept(t, "MeasureGroupStratifierComponentComponent", "code", element.getCode(), -1); 16093 } 16094 if (element.hasDescriptionElement()) { 16095 composeString(t, "MeasureGroupStratifierComponentComponent", "description", element.getDescriptionElement(), -1); 16096 } 16097 if (element.hasCriteria()) { 16098 composeExpression(t, "MeasureGroupStratifierComponentComponent", "criteria", element.getCriteria(), -1); 16099 } 16100 } 16101 16102 protected void composeMeasureSupplementalDataComponent(Complex parent, String parentType, String name, Measure.MeasureSupplementalDataComponent element, int index) { 16103 if (element == null) 16104 return; 16105 Complex t; 16106 if (Utilities.noString(parentType)) 16107 t = parent; 16108 else { 16109 t = parent.predicate("fhir:"+parentType+'.'+name); 16110 } 16111 composeBackboneElement(t, "supplementalData", name, element, index); 16112 if (element.hasCode()) { 16113 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "code", element.getCode(), -1); 16114 } 16115 for (int i = 0; i < element.getUsage().size(); i++) { 16116 composeCodeableConcept(t, "MeasureSupplementalDataComponent", "usage", element.getUsage().get(i), i); 16117 } 16118 if (element.hasDescriptionElement()) { 16119 composeString(t, "MeasureSupplementalDataComponent", "description", element.getDescriptionElement(), -1); 16120 } 16121 if (element.hasCriteria()) { 16122 composeExpression(t, "MeasureSupplementalDataComponent", "criteria", element.getCriteria(), -1); 16123 } 16124 } 16125 16126 protected void composeMeasureReport(Complex parent, String parentType, String name, MeasureReport element, int index) { 16127 if (element == null) 16128 return; 16129 Complex t; 16130 if (Utilities.noString(parentType)) 16131 t = parent; 16132 else { 16133 t = parent.predicate("fhir:"+parentType+'.'+name); 16134 } 16135 composeDomainResource(t, "MeasureReport", name, element, index); 16136 for (int i = 0; i < element.getIdentifier().size(); i++) { 16137 composeIdentifier(t, "MeasureReport", "identifier", element.getIdentifier().get(i), i); 16138 } 16139 if (element.hasStatusElement()) { 16140 composeEnum(t, "MeasureReport", "status", element.getStatusElement(), -1); 16141 } 16142 if (element.hasTypeElement()) { 16143 composeEnum(t, "MeasureReport", "type", element.getTypeElement(), -1); 16144 } 16145 if (element.hasDataUpdateTypeElement()) { 16146 composeEnum(t, "MeasureReport", "dataUpdateType", element.getDataUpdateTypeElement(), -1); 16147 } 16148 if (element.hasMeasureElement()) { 16149 composeCanonical(t, "MeasureReport", "measure", element.getMeasureElement(), -1); 16150 } 16151 if (element.hasSubject()) { 16152 composeReference(t, "MeasureReport", "subject", element.getSubject(), -1); 16153 } 16154 if (element.hasDateElement()) { 16155 composeDateTime(t, "MeasureReport", "date", element.getDateElement(), -1); 16156 } 16157 if (element.hasReporter()) { 16158 composeReference(t, "MeasureReport", "reporter", element.getReporter(), -1); 16159 } 16160 if (element.hasReportingVendor()) { 16161 composeReference(t, "MeasureReport", "reportingVendor", element.getReportingVendor(), -1); 16162 } 16163 if (element.hasLocation()) { 16164 composeReference(t, "MeasureReport", "location", element.getLocation(), -1); 16165 } 16166 if (element.hasPeriod()) { 16167 composePeriod(t, "MeasureReport", "period", element.getPeriod(), -1); 16168 } 16169 if (element.hasInputParameters()) { 16170 composeReference(t, "MeasureReport", "inputParameters", element.getInputParameters(), -1); 16171 } 16172 if (element.hasScoring()) { 16173 composeCodeableConcept(t, "MeasureReport", "scoring", element.getScoring(), -1); 16174 } 16175 if (element.hasImprovementNotation()) { 16176 composeCodeableConcept(t, "MeasureReport", "improvementNotation", element.getImprovementNotation(), -1); 16177 } 16178 for (int i = 0; i < element.getGroup().size(); i++) { 16179 composeMeasureReportGroupComponent(t, "MeasureReport", "group", element.getGroup().get(i), i); 16180 } 16181 for (int i = 0; i < element.getEvaluatedResource().size(); i++) { 16182 composeReference(t, "MeasureReport", "evaluatedResource", element.getEvaluatedResource().get(i), i); 16183 } 16184 } 16185 16186 protected void composeMeasureReportGroupComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupComponent element, int index) { 16187 if (element == null) 16188 return; 16189 Complex t; 16190 if (Utilities.noString(parentType)) 16191 t = parent; 16192 else { 16193 t = parent.predicate("fhir:"+parentType+'.'+name); 16194 } 16195 composeBackboneElement(t, "group", name, element, index); 16196 if (element.hasCode()) { 16197 composeCodeableConcept(t, "MeasureReportGroupComponent", "code", element.getCode(), -1); 16198 } 16199 for (int i = 0; i < element.getPopulation().size(); i++) { 16200 composeMeasureReportGroupPopulationComponent(t, "MeasureReportGroupComponent", "population", element.getPopulation().get(i), i); 16201 } 16202 if (element.hasMeasureScore()) { 16203 composeType(t, "MeasureReportGroupComponent", "measureScore", element.getMeasureScore(), -1); 16204 } 16205 for (int i = 0; i < element.getStratifier().size(); i++) { 16206 composeMeasureReportGroupStratifierComponent(t, "MeasureReportGroupComponent", "stratifier", element.getStratifier().get(i), i); 16207 } 16208 } 16209 16210 protected void composeMeasureReportGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupPopulationComponent 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, "population", name, element, index); 16220 if (element.hasCode()) { 16221 composeCodeableConcept(t, "MeasureReportGroupPopulationComponent", "code", element.getCode(), -1); 16222 } 16223 if (element.hasCountElement()) { 16224 composeInteger(t, "MeasureReportGroupPopulationComponent", "count", element.getCountElement(), -1); 16225 } 16226 if (element.hasSubjectResults()) { 16227 composeReference(t, "MeasureReportGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 16228 } 16229 } 16230 16231 protected void composeMeasureReportGroupStratifierComponent(Complex parent, String parentType, String name, MeasureReport.MeasureReportGroupStratifierComponent element, int index) { 16232 if (element == null) 16233 return; 16234 Complex t; 16235 if (Utilities.noString(parentType)) 16236 t = parent; 16237 else { 16238 t = parent.predicate("fhir:"+parentType+'.'+name); 16239 } 16240 composeBackboneElement(t, "stratifier", name, element, index); 16241 if (element.hasCode()) { 16242 composeCodeableConcept(t, "MeasureReportGroupStratifierComponent", "code", element.getCode(), -1); 16243 } 16244 for (int i = 0; i < element.getStratum().size(); i++) { 16245 composeMeasureReportStratifierGroupComponent(t, "MeasureReportGroupStratifierComponent", "stratum", element.getStratum().get(i), i); 16246 } 16247 } 16248 16249 protected void composeMeasureReportStratifierGroupComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponent element, int index) { 16250 if (element == null) 16251 return; 16252 Complex t; 16253 if (Utilities.noString(parentType)) 16254 t = parent; 16255 else { 16256 t = parent.predicate("fhir:"+parentType+'.'+name); 16257 } 16258 composeBackboneElement(t, "stratum", name, element, index); 16259 if (element.hasValue()) { 16260 composeType(t, "StratifierGroupComponent", "value", element.getValue(), -1); 16261 } 16262 for (int i = 0; i < element.getComponent().size(); i++) { 16263 composeMeasureReportStratifierGroupComponentComponent(t, "StratifierGroupComponent", "component", element.getComponent().get(i), i); 16264 } 16265 for (int i = 0; i < element.getPopulation().size(); i++) { 16266 composeMeasureReportStratifierGroupPopulationComponent(t, "StratifierGroupComponent", "population", element.getPopulation().get(i), i); 16267 } 16268 if (element.hasMeasureScore()) { 16269 composeType(t, "StratifierGroupComponent", "measureScore", element.getMeasureScore(), -1); 16270 } 16271 } 16272 16273 protected void composeMeasureReportStratifierGroupComponentComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupComponentComponent element, int index) { 16274 if (element == null) 16275 return; 16276 Complex t; 16277 if (Utilities.noString(parentType)) 16278 t = parent; 16279 else { 16280 t = parent.predicate("fhir:"+parentType+'.'+name); 16281 } 16282 composeBackboneElement(t, "component", name, element, index); 16283 if (element.hasCode()) { 16284 composeCodeableConcept(t, "StratifierGroupComponentComponent", "code", element.getCode(), -1); 16285 } 16286 if (element.hasValue()) { 16287 composeType(t, "StratifierGroupComponentComponent", "value", element.getValue(), -1); 16288 } 16289 } 16290 16291 protected void composeMeasureReportStratifierGroupPopulationComponent(Complex parent, String parentType, String name, MeasureReport.StratifierGroupPopulationComponent element, int index) { 16292 if (element == null) 16293 return; 16294 Complex t; 16295 if (Utilities.noString(parentType)) 16296 t = parent; 16297 else { 16298 t = parent.predicate("fhir:"+parentType+'.'+name); 16299 } 16300 composeBackboneElement(t, "population", name, element, index); 16301 if (element.hasCode()) { 16302 composeCodeableConcept(t, "StratifierGroupPopulationComponent", "code", element.getCode(), -1); 16303 } 16304 if (element.hasCountElement()) { 16305 composeInteger(t, "StratifierGroupPopulationComponent", "count", element.getCountElement(), -1); 16306 } 16307 if (element.hasSubjectResults()) { 16308 composeReference(t, "StratifierGroupPopulationComponent", "subjectResults", element.getSubjectResults(), -1); 16309 } 16310 } 16311 16312 protected void composeMedication(Complex parent, String parentType, String name, Medication element, int index) { 16313 if (element == null) 16314 return; 16315 Complex t; 16316 if (Utilities.noString(parentType)) 16317 t = parent; 16318 else { 16319 t = parent.predicate("fhir:"+parentType+'.'+name); 16320 } 16321 composeDomainResource(t, "Medication", name, element, index); 16322 for (int i = 0; i < element.getIdentifier().size(); i++) { 16323 composeIdentifier(t, "Medication", "identifier", element.getIdentifier().get(i), i); 16324 } 16325 if (element.hasCode()) { 16326 composeCodeableConcept(t, "Medication", "code", element.getCode(), -1); 16327 } 16328 if (element.hasStatusElement()) { 16329 composeEnum(t, "Medication", "status", element.getStatusElement(), -1); 16330 } 16331 if (element.hasMarketingAuthorizationHolder()) { 16332 composeReference(t, "Medication", "marketingAuthorizationHolder", element.getMarketingAuthorizationHolder(), -1); 16333 } 16334 if (element.hasDoseForm()) { 16335 composeCodeableConcept(t, "Medication", "doseForm", element.getDoseForm(), -1); 16336 } 16337 if (element.hasTotalVolume()) { 16338 composeRatio(t, "Medication", "totalVolume", element.getTotalVolume(), -1); 16339 } 16340 for (int i = 0; i < element.getIngredient().size(); i++) { 16341 composeMedicationIngredientComponent(t, "Medication", "ingredient", element.getIngredient().get(i), i); 16342 } 16343 if (element.hasBatch()) { 16344 composeMedicationBatchComponent(t, "Medication", "batch", element.getBatch(), -1); 16345 } 16346 } 16347 16348 protected void composeMedicationIngredientComponent(Complex parent, String parentType, String name, Medication.MedicationIngredientComponent element, int index) { 16349 if (element == null) 16350 return; 16351 Complex t; 16352 if (Utilities.noString(parentType)) 16353 t = parent; 16354 else { 16355 t = parent.predicate("fhir:"+parentType+'.'+name); 16356 } 16357 composeBackboneElement(t, "ingredient", name, element, index); 16358 if (element.hasItem()) { 16359 composeCodeableReference(t, "MedicationIngredientComponent", "item", element.getItem(), -1); 16360 } 16361 if (element.hasIsActiveElement()) { 16362 composeBoolean(t, "MedicationIngredientComponent", "isActive", element.getIsActiveElement(), -1); 16363 } 16364 if (element.hasStrength()) { 16365 composeType(t, "MedicationIngredientComponent", "strength", element.getStrength(), -1); 16366 } 16367 } 16368 16369 protected void composeMedicationBatchComponent(Complex parent, String parentType, String name, Medication.MedicationBatchComponent 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, "batch", name, element, index); 16379 if (element.hasLotNumberElement()) { 16380 composeString(t, "MedicationBatchComponent", "lotNumber", element.getLotNumberElement(), -1); 16381 } 16382 if (element.hasExpirationDateElement()) { 16383 composeDateTime(t, "MedicationBatchComponent", "expirationDate", element.getExpirationDateElement(), -1); 16384 } 16385 } 16386 16387 protected void composeMedicationAdministration(Complex parent, String parentType, String name, MedicationAdministration 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 composeDomainResource(t, "MedicationAdministration", name, element, index); 16397 for (int i = 0; i < element.getIdentifier().size(); i++) { 16398 composeIdentifier(t, "MedicationAdministration", "identifier", element.getIdentifier().get(i), i); 16399 } 16400 for (int i = 0; i < element.getBasedOn().size(); i++) { 16401 composeReference(t, "MedicationAdministration", "basedOn", element.getBasedOn().get(i), i); 16402 } 16403 for (int i = 0; i < element.getPartOf().size(); i++) { 16404 composeReference(t, "MedicationAdministration", "partOf", element.getPartOf().get(i), i); 16405 } 16406 if (element.hasStatusElement()) { 16407 composeEnum(t, "MedicationAdministration", "status", element.getStatusElement(), -1); 16408 } 16409 for (int i = 0; i < element.getStatusReason().size(); i++) { 16410 composeCodeableConcept(t, "MedicationAdministration", "statusReason", element.getStatusReason().get(i), i); 16411 } 16412 for (int i = 0; i < element.getCategory().size(); i++) { 16413 composeCodeableConcept(t, "MedicationAdministration", "category", element.getCategory().get(i), i); 16414 } 16415 if (element.hasMedication()) { 16416 composeCodeableReference(t, "MedicationAdministration", "medication", element.getMedication(), -1); 16417 } 16418 if (element.hasSubject()) { 16419 composeReference(t, "MedicationAdministration", "subject", element.getSubject(), -1); 16420 } 16421 if (element.hasEncounter()) { 16422 composeReference(t, "MedicationAdministration", "encounter", element.getEncounter(), -1); 16423 } 16424 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 16425 composeReference(t, "MedicationAdministration", "supportingInformation", element.getSupportingInformation().get(i), i); 16426 } 16427 if (element.hasOccurence()) { 16428 composeType(t, "MedicationAdministration", "occurence", element.getOccurence(), -1); 16429 } 16430 if (element.hasRecordedElement()) { 16431 composeDateTime(t, "MedicationAdministration", "recorded", element.getRecordedElement(), -1); 16432 } 16433 if (element.hasIsSubPotentElement()) { 16434 composeBoolean(t, "MedicationAdministration", "isSubPotent", element.getIsSubPotentElement(), -1); 16435 } 16436 for (int i = 0; i < element.getSubPotentReason().size(); i++) { 16437 composeCodeableConcept(t, "MedicationAdministration", "subPotentReason", element.getSubPotentReason().get(i), i); 16438 } 16439 for (int i = 0; i < element.getPerformer().size(); i++) { 16440 composeMedicationAdministrationPerformerComponent(t, "MedicationAdministration", "performer", element.getPerformer().get(i), i); 16441 } 16442 for (int i = 0; i < element.getReason().size(); i++) { 16443 composeCodeableReference(t, "MedicationAdministration", "reason", element.getReason().get(i), i); 16444 } 16445 if (element.hasRequest()) { 16446 composeReference(t, "MedicationAdministration", "request", element.getRequest(), -1); 16447 } 16448 for (int i = 0; i < element.getDevice().size(); i++) { 16449 composeReference(t, "MedicationAdministration", "device", element.getDevice().get(i), i); 16450 } 16451 for (int i = 0; i < element.getNote().size(); i++) { 16452 composeAnnotation(t, "MedicationAdministration", "note", element.getNote().get(i), i); 16453 } 16454 if (element.hasDosage()) { 16455 composeMedicationAdministrationDosageComponent(t, "MedicationAdministration", "dosage", element.getDosage(), -1); 16456 } 16457 for (int i = 0; i < element.getEventHistory().size(); i++) { 16458 composeReference(t, "MedicationAdministration", "eventHistory", element.getEventHistory().get(i), i); 16459 } 16460 } 16461 16462 protected void composeMedicationAdministrationPerformerComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationPerformerComponent element, int index) { 16463 if (element == null) 16464 return; 16465 Complex t; 16466 if (Utilities.noString(parentType)) 16467 t = parent; 16468 else { 16469 t = parent.predicate("fhir:"+parentType+'.'+name); 16470 } 16471 composeBackboneElement(t, "performer", name, element, index); 16472 if (element.hasFunction()) { 16473 composeCodeableConcept(t, "MedicationAdministrationPerformerComponent", "function", element.getFunction(), -1); 16474 } 16475 if (element.hasActor()) { 16476 composeReference(t, "MedicationAdministrationPerformerComponent", "actor", element.getActor(), -1); 16477 } 16478 } 16479 16480 protected void composeMedicationAdministrationDosageComponent(Complex parent, String parentType, String name, MedicationAdministration.MedicationAdministrationDosageComponent element, int index) { 16481 if (element == null) 16482 return; 16483 Complex t; 16484 if (Utilities.noString(parentType)) 16485 t = parent; 16486 else { 16487 t = parent.predicate("fhir:"+parentType+'.'+name); 16488 } 16489 composeBackboneElement(t, "dosage", name, element, index); 16490 if (element.hasTextElement()) { 16491 composeString(t, "MedicationAdministrationDosageComponent", "text", element.getTextElement(), -1); 16492 } 16493 if (element.hasSite()) { 16494 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "site", element.getSite(), -1); 16495 } 16496 if (element.hasRoute()) { 16497 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "route", element.getRoute(), -1); 16498 } 16499 if (element.hasMethod()) { 16500 composeCodeableConcept(t, "MedicationAdministrationDosageComponent", "method", element.getMethod(), -1); 16501 } 16502 if (element.hasDose()) { 16503 composeQuantity(t, "MedicationAdministrationDosageComponent", "dose", element.getDose(), -1); 16504 } 16505 if (element.hasRate()) { 16506 composeType(t, "MedicationAdministrationDosageComponent", "rate", element.getRate(), -1); 16507 } 16508 } 16509 16510 protected void composeMedicationDispense(Complex parent, String parentType, String name, MedicationDispense element, int index) { 16511 if (element == null) 16512 return; 16513 Complex t; 16514 if (Utilities.noString(parentType)) 16515 t = parent; 16516 else { 16517 t = parent.predicate("fhir:"+parentType+'.'+name); 16518 } 16519 composeDomainResource(t, "MedicationDispense", name, element, index); 16520 for (int i = 0; i < element.getIdentifier().size(); i++) { 16521 composeIdentifier(t, "MedicationDispense", "identifier", element.getIdentifier().get(i), i); 16522 } 16523 for (int i = 0; i < element.getBasedOn().size(); i++) { 16524 composeReference(t, "MedicationDispense", "basedOn", element.getBasedOn().get(i), i); 16525 } 16526 for (int i = 0; i < element.getPartOf().size(); i++) { 16527 composeReference(t, "MedicationDispense", "partOf", element.getPartOf().get(i), i); 16528 } 16529 if (element.hasStatusElement()) { 16530 composeEnum(t, "MedicationDispense", "status", element.getStatusElement(), -1); 16531 } 16532 if (element.hasNotPerformedReason()) { 16533 composeCodeableReference(t, "MedicationDispense", "notPerformedReason", element.getNotPerformedReason(), -1); 16534 } 16535 if (element.hasStatusChangedElement()) { 16536 composeDateTime(t, "MedicationDispense", "statusChanged", element.getStatusChangedElement(), -1); 16537 } 16538 for (int i = 0; i < element.getCategory().size(); i++) { 16539 composeCodeableConcept(t, "MedicationDispense", "category", element.getCategory().get(i), i); 16540 } 16541 if (element.hasMedication()) { 16542 composeCodeableReference(t, "MedicationDispense", "medication", element.getMedication(), -1); 16543 } 16544 if (element.hasSubject()) { 16545 composeReference(t, "MedicationDispense", "subject", element.getSubject(), -1); 16546 } 16547 if (element.hasEncounter()) { 16548 composeReference(t, "MedicationDispense", "encounter", element.getEncounter(), -1); 16549 } 16550 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 16551 composeReference(t, "MedicationDispense", "supportingInformation", element.getSupportingInformation().get(i), i); 16552 } 16553 for (int i = 0; i < element.getPerformer().size(); i++) { 16554 composeMedicationDispensePerformerComponent(t, "MedicationDispense", "performer", element.getPerformer().get(i), i); 16555 } 16556 if (element.hasLocation()) { 16557 composeReference(t, "MedicationDispense", "location", element.getLocation(), -1); 16558 } 16559 for (int i = 0; i < element.getAuthorizingPrescription().size(); i++) { 16560 composeReference(t, "MedicationDispense", "authorizingPrescription", element.getAuthorizingPrescription().get(i), i); 16561 } 16562 if (element.hasType()) { 16563 composeCodeableConcept(t, "MedicationDispense", "type", element.getType(), -1); 16564 } 16565 if (element.hasQuantity()) { 16566 composeQuantity(t, "MedicationDispense", "quantity", element.getQuantity(), -1); 16567 } 16568 if (element.hasDaysSupply()) { 16569 composeQuantity(t, "MedicationDispense", "daysSupply", element.getDaysSupply(), -1); 16570 } 16571 if (element.hasRecordedElement()) { 16572 composeDateTime(t, "MedicationDispense", "recorded", element.getRecordedElement(), -1); 16573 } 16574 if (element.hasWhenPreparedElement()) { 16575 composeDateTime(t, "MedicationDispense", "whenPrepared", element.getWhenPreparedElement(), -1); 16576 } 16577 if (element.hasWhenHandedOverElement()) { 16578 composeDateTime(t, "MedicationDispense", "whenHandedOver", element.getWhenHandedOverElement(), -1); 16579 } 16580 if (element.hasDestination()) { 16581 composeReference(t, "MedicationDispense", "destination", element.getDestination(), -1); 16582 } 16583 for (int i = 0; i < element.getReceiver().size(); i++) { 16584 composeReference(t, "MedicationDispense", "receiver", element.getReceiver().get(i), i); 16585 } 16586 for (int i = 0; i < element.getNote().size(); i++) { 16587 composeAnnotation(t, "MedicationDispense", "note", element.getNote().get(i), i); 16588 } 16589 if (element.hasRenderedDosageInstructionElement()) { 16590 composeString(t, "MedicationDispense", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 16591 } 16592 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 16593 composeDosage(t, "MedicationDispense", "dosageInstruction", element.getDosageInstruction().get(i), i); 16594 } 16595 if (element.hasSubstitution()) { 16596 composeMedicationDispenseSubstitutionComponent(t, "MedicationDispense", "substitution", element.getSubstitution(), -1); 16597 } 16598 for (int i = 0; i < element.getEventHistory().size(); i++) { 16599 composeReference(t, "MedicationDispense", "eventHistory", element.getEventHistory().get(i), i); 16600 } 16601 } 16602 16603 protected void composeMedicationDispensePerformerComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispensePerformerComponent element, int index) { 16604 if (element == null) 16605 return; 16606 Complex t; 16607 if (Utilities.noString(parentType)) 16608 t = parent; 16609 else { 16610 t = parent.predicate("fhir:"+parentType+'.'+name); 16611 } 16612 composeBackboneElement(t, "performer", name, element, index); 16613 if (element.hasFunction()) { 16614 composeCodeableConcept(t, "MedicationDispensePerformerComponent", "function", element.getFunction(), -1); 16615 } 16616 if (element.hasActor()) { 16617 composeReference(t, "MedicationDispensePerformerComponent", "actor", element.getActor(), -1); 16618 } 16619 } 16620 16621 protected void composeMedicationDispenseSubstitutionComponent(Complex parent, String parentType, String name, MedicationDispense.MedicationDispenseSubstitutionComponent element, int index) { 16622 if (element == null) 16623 return; 16624 Complex t; 16625 if (Utilities.noString(parentType)) 16626 t = parent; 16627 else { 16628 t = parent.predicate("fhir:"+parentType+'.'+name); 16629 } 16630 composeBackboneElement(t, "substitution", name, element, index); 16631 if (element.hasWasSubstitutedElement()) { 16632 composeBoolean(t, "MedicationDispenseSubstitutionComponent", "wasSubstituted", element.getWasSubstitutedElement(), -1); 16633 } 16634 if (element.hasType()) { 16635 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "type", element.getType(), -1); 16636 } 16637 for (int i = 0; i < element.getReason().size(); i++) { 16638 composeCodeableConcept(t, "MedicationDispenseSubstitutionComponent", "reason", element.getReason().get(i), i); 16639 } 16640 if (element.hasResponsibleParty()) { 16641 composeReference(t, "MedicationDispenseSubstitutionComponent", "responsibleParty", element.getResponsibleParty(), -1); 16642 } 16643 } 16644 16645 protected void composeMedicationKnowledge(Complex parent, String parentType, String name, MedicationKnowledge element, int index) { 16646 if (element == null) 16647 return; 16648 Complex t; 16649 if (Utilities.noString(parentType)) 16650 t = parent; 16651 else { 16652 t = parent.predicate("fhir:"+parentType+'.'+name); 16653 } 16654 composeDomainResource(t, "MedicationKnowledge", name, element, index); 16655 for (int i = 0; i < element.getIdentifier().size(); i++) { 16656 composeIdentifier(t, "MedicationKnowledge", "identifier", element.getIdentifier().get(i), i); 16657 } 16658 if (element.hasCode()) { 16659 composeCodeableConcept(t, "MedicationKnowledge", "code", element.getCode(), -1); 16660 } 16661 if (element.hasStatusElement()) { 16662 composeEnum(t, "MedicationKnowledge", "status", element.getStatusElement(), -1); 16663 } 16664 if (element.hasAuthor()) { 16665 composeReference(t, "MedicationKnowledge", "author", element.getAuthor(), -1); 16666 } 16667 for (int i = 0; i < element.getIntendedJurisdiction().size(); i++) { 16668 composeCodeableConcept(t, "MedicationKnowledge", "intendedJurisdiction", element.getIntendedJurisdiction().get(i), i); 16669 } 16670 for (int i = 0; i < element.getName().size(); i++) { 16671 composeString(t, "MedicationKnowledge", "name", element.getName().get(i), i); 16672 } 16673 for (int i = 0; i < element.getRelatedMedicationKnowledge().size(); i++) { 16674 composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(t, "MedicationKnowledge", "relatedMedicationKnowledge", element.getRelatedMedicationKnowledge().get(i), i); 16675 } 16676 for (int i = 0; i < element.getAssociatedMedication().size(); i++) { 16677 composeReference(t, "MedicationKnowledge", "associatedMedication", element.getAssociatedMedication().get(i), i); 16678 } 16679 for (int i = 0; i < element.getProductType().size(); i++) { 16680 composeCodeableConcept(t, "MedicationKnowledge", "productType", element.getProductType().get(i), i); 16681 } 16682 for (int i = 0; i < element.getMonograph().size(); i++) { 16683 composeMedicationKnowledgeMonographComponent(t, "MedicationKnowledge", "monograph", element.getMonograph().get(i), i); 16684 } 16685 if (element.hasPreparationInstructionElement()) { 16686 composeMarkdown(t, "MedicationKnowledge", "preparationInstruction", element.getPreparationInstructionElement(), -1); 16687 } 16688 for (int i = 0; i < element.getCost().size(); i++) { 16689 composeMedicationKnowledgeCostComponent(t, "MedicationKnowledge", "cost", element.getCost().get(i), i); 16690 } 16691 for (int i = 0; i < element.getMonitoringProgram().size(); i++) { 16692 composeMedicationKnowledgeMonitoringProgramComponent(t, "MedicationKnowledge", "monitoringProgram", element.getMonitoringProgram().get(i), i); 16693 } 16694 for (int i = 0; i < element.getIndicationGuideline().size(); i++) { 16695 composeMedicationKnowledgeIndicationGuidelineComponent(t, "MedicationKnowledge", "indicationGuideline", element.getIndicationGuideline().get(i), i); 16696 } 16697 for (int i = 0; i < element.getMedicineClassification().size(); i++) { 16698 composeMedicationKnowledgeMedicineClassificationComponent(t, "MedicationKnowledge", "medicineClassification", element.getMedicineClassification().get(i), i); 16699 } 16700 for (int i = 0; i < element.getPackaging().size(); i++) { 16701 composeMedicationKnowledgePackagingComponent(t, "MedicationKnowledge", "packaging", element.getPackaging().get(i), i); 16702 } 16703 for (int i = 0; i < element.getClinicalUseIssue().size(); i++) { 16704 composeReference(t, "MedicationKnowledge", "clinicalUseIssue", element.getClinicalUseIssue().get(i), i); 16705 } 16706 for (int i = 0; i < element.getStorageGuideline().size(); i++) { 16707 composeMedicationKnowledgeStorageGuidelineComponent(t, "MedicationKnowledge", "storageGuideline", element.getStorageGuideline().get(i), i); 16708 } 16709 for (int i = 0; i < element.getRegulatory().size(); i++) { 16710 composeMedicationKnowledgeRegulatoryComponent(t, "MedicationKnowledge", "regulatory", element.getRegulatory().get(i), i); 16711 } 16712 if (element.hasDefinitional()) { 16713 composeMedicationKnowledgeDefinitionalComponent(t, "MedicationKnowledge", "definitional", element.getDefinitional(), -1); 16714 } 16715 } 16716 16717 protected void composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent 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, "relatedMedicationKnowledge", name, element, index); 16727 if (element.hasType()) { 16728 composeCodeableConcept(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "type", element.getType(), -1); 16729 } 16730 for (int i = 0; i < element.getReference().size(); i++) { 16731 composeReference(t, "MedicationKnowledgeRelatedMedicationKnowledgeComponent", "reference", element.getReference().get(i), i); 16732 } 16733 } 16734 16735 protected void composeMedicationKnowledgeMonographComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonographComponent 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 composeBackboneElement(t, "monograph", name, element, index); 16745 if (element.hasType()) { 16746 composeCodeableConcept(t, "MedicationKnowledgeMonographComponent", "type", element.getType(), -1); 16747 } 16748 if (element.hasSource()) { 16749 composeReference(t, "MedicationKnowledgeMonographComponent", "source", element.getSource(), -1); 16750 } 16751 } 16752 16753 protected void composeMedicationKnowledgeCostComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeCostComponent element, int index) { 16754 if (element == null) 16755 return; 16756 Complex t; 16757 if (Utilities.noString(parentType)) 16758 t = parent; 16759 else { 16760 t = parent.predicate("fhir:"+parentType+'.'+name); 16761 } 16762 composeBackboneElement(t, "cost", name, element, index); 16763 for (int i = 0; i < element.getEffectiveDate().size(); i++) { 16764 composePeriod(t, "MedicationKnowledgeCostComponent", "effectiveDate", element.getEffectiveDate().get(i), i); 16765 } 16766 if (element.hasType()) { 16767 composeCodeableConcept(t, "MedicationKnowledgeCostComponent", "type", element.getType(), -1); 16768 } 16769 if (element.hasSourceElement()) { 16770 composeString(t, "MedicationKnowledgeCostComponent", "source", element.getSourceElement(), -1); 16771 } 16772 if (element.hasCost()) { 16773 composeType(t, "MedicationKnowledgeCostComponent", "cost", element.getCost(), -1); 16774 } 16775 } 16776 16777 protected void composeMedicationKnowledgeMonitoringProgramComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent element, int index) { 16778 if (element == null) 16779 return; 16780 Complex t; 16781 if (Utilities.noString(parentType)) 16782 t = parent; 16783 else { 16784 t = parent.predicate("fhir:"+parentType+'.'+name); 16785 } 16786 composeBackboneElement(t, "monitoringProgram", name, element, index); 16787 if (element.hasType()) { 16788 composeCodeableConcept(t, "MedicationKnowledgeMonitoringProgramComponent", "type", element.getType(), -1); 16789 } 16790 if (element.hasNameElement()) { 16791 composeString(t, "MedicationKnowledgeMonitoringProgramComponent", "name", element.getNameElement(), -1); 16792 } 16793 } 16794 16795 protected void composeMedicationKnowledgeIndicationGuidelineComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineComponent element, int index) { 16796 if (element == null) 16797 return; 16798 Complex t; 16799 if (Utilities.noString(parentType)) 16800 t = parent; 16801 else { 16802 t = parent.predicate("fhir:"+parentType+'.'+name); 16803 } 16804 composeBackboneElement(t, "indicationGuideline", name, element, index); 16805 for (int i = 0; i < element.getIndication().size(); i++) { 16806 composeCodeableReference(t, "MedicationKnowledgeIndicationGuidelineComponent", "indication", element.getIndication().get(i), i); 16807 } 16808 for (int i = 0; i < element.getDosingGuideline().size(); i++) { 16809 composeMedicationKnowledgeIndicationGuidelineDosingGuidelineComponent(t, "MedicationKnowledgeIndicationGuidelineComponent", "dosingGuideline", element.getDosingGuideline().get(i), i); 16810 } 16811 } 16812 16813 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelineComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent element, int index) { 16814 if (element == null) 16815 return; 16816 Complex t; 16817 if (Utilities.noString(parentType)) 16818 t = parent; 16819 else { 16820 t = parent.predicate("fhir:"+parentType+'.'+name); 16821 } 16822 composeBackboneElement(t, "dosingGuideline", name, element, index); 16823 if (element.hasTreatmentIntent()) { 16824 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "treatmentIntent", element.getTreatmentIntent(), -1); 16825 } 16826 for (int i = 0; i < element.getDosage().size(); i++) { 16827 composeMedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "dosage", element.getDosage().get(i), i); 16828 } 16829 if (element.hasAdministrationTreatment()) { 16830 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "administrationTreatment", element.getAdministrationTreatment(), -1); 16831 } 16832 for (int i = 0; i < element.getPatientCharacteristic().size(); i++) { 16833 composeMedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineComponent", "patientCharacteristic", element.getPatientCharacteristic().get(i), i); 16834 } 16835 } 16836 16837 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent element, int index) { 16838 if (element == null) 16839 return; 16840 Complex t; 16841 if (Utilities.noString(parentType)) 16842 t = parent; 16843 else { 16844 t = parent.predicate("fhir:"+parentType+'.'+name); 16845 } 16846 composeBackboneElement(t, "dosage", name, element, index); 16847 if (element.hasType()) { 16848 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent", "type", element.getType(), -1); 16849 } 16850 for (int i = 0; i < element.getDosage().size(); i++) { 16851 composeDosage(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelineDosageComponent", "dosage", element.getDosage().get(i), i); 16852 } 16853 } 16854 16855 protected void composeMedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent element, int index) { 16856 if (element == null) 16857 return; 16858 Complex t; 16859 if (Utilities.noString(parentType)) 16860 t = parent; 16861 else { 16862 t = parent.predicate("fhir:"+parentType+'.'+name); 16863 } 16864 composeBackboneElement(t, "patientCharacteristic", name, element, index); 16865 if (element.hasType()) { 16866 composeCodeableConcept(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent", "type", element.getType(), -1); 16867 } 16868 if (element.hasValue()) { 16869 composeType(t, "MedicationKnowledgeIndicationGuidelineDosingGuidelinePatientCharacteristicComponent", "value", element.getValue(), -1); 16870 } 16871 } 16872 16873 protected void composeMedicationKnowledgeMedicineClassificationComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent 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, "medicineClassification", name, element, index); 16883 if (element.hasType()) { 16884 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "type", element.getType(), -1); 16885 } 16886 if (element.hasSource()) { 16887 composeType(t, "MedicationKnowledgeMedicineClassificationComponent", "source", element.getSource(), -1); 16888 } 16889 for (int i = 0; i < element.getClassification().size(); i++) { 16890 composeCodeableConcept(t, "MedicationKnowledgeMedicineClassificationComponent", "classification", element.getClassification().get(i), i); 16891 } 16892 } 16893 16894 protected void composeMedicationKnowledgePackagingComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgePackagingComponent element, int index) { 16895 if (element == null) 16896 return; 16897 Complex t; 16898 if (Utilities.noString(parentType)) 16899 t = parent; 16900 else { 16901 t = parent.predicate("fhir:"+parentType+'.'+name); 16902 } 16903 composeBackboneElement(t, "packaging", name, element, index); 16904 for (int i = 0; i < element.getCost().size(); i++) { 16905 composeMedicationKnowledgeCostComponent(t, "MedicationKnowledgePackagingComponent", "cost", element.getCost().get(i), i); 16906 } 16907 if (element.hasPackagedProduct()) { 16908 composeReference(t, "MedicationKnowledgePackagingComponent", "packagedProduct", element.getPackagedProduct(), -1); 16909 } 16910 } 16911 16912 protected void composeMedicationKnowledgeStorageGuidelineComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeStorageGuidelineComponent 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, "storageGuideline", name, element, index); 16922 if (element.hasReferenceElement()) { 16923 composeUri(t, "MedicationKnowledgeStorageGuidelineComponent", "reference", element.getReferenceElement(), -1); 16924 } 16925 for (int i = 0; i < element.getNote().size(); i++) { 16926 composeAnnotation(t, "MedicationKnowledgeStorageGuidelineComponent", "note", element.getNote().get(i), i); 16927 } 16928 if (element.hasStabilityDuration()) { 16929 composeDuration(t, "MedicationKnowledgeStorageGuidelineComponent", "stabilityDuration", element.getStabilityDuration(), -1); 16930 } 16931 for (int i = 0; i < element.getEnvironmentalSetting().size(); i++) { 16932 composeMedicationKnowledgeStorageGuidelineEnvironmentalSettingComponent(t, "MedicationKnowledgeStorageGuidelineComponent", "environmentalSetting", element.getEnvironmentalSetting().get(i), i); 16933 } 16934 } 16935 16936 protected void composeMedicationKnowledgeStorageGuidelineEnvironmentalSettingComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeStorageGuidelineEnvironmentalSettingComponent element, int index) { 16937 if (element == null) 16938 return; 16939 Complex t; 16940 if (Utilities.noString(parentType)) 16941 t = parent; 16942 else { 16943 t = parent.predicate("fhir:"+parentType+'.'+name); 16944 } 16945 composeBackboneElement(t, "environmentalSetting", name, element, index); 16946 if (element.hasType()) { 16947 composeCodeableConcept(t, "MedicationKnowledgeStorageGuidelineEnvironmentalSettingComponent", "type", element.getType(), -1); 16948 } 16949 if (element.hasValue()) { 16950 composeType(t, "MedicationKnowledgeStorageGuidelineEnvironmentalSettingComponent", "value", element.getValue(), -1); 16951 } 16952 } 16953 16954 protected void composeMedicationKnowledgeRegulatoryComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryComponent 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, "regulatory", name, element, index); 16964 if (element.hasRegulatoryAuthority()) { 16965 composeReference(t, "MedicationKnowledgeRegulatoryComponent", "regulatoryAuthority", element.getRegulatoryAuthority(), -1); 16966 } 16967 for (int i = 0; i < element.getSubstitution().size(); i++) { 16968 composeMedicationKnowledgeRegulatorySubstitutionComponent(t, "MedicationKnowledgeRegulatoryComponent", "substitution", element.getSubstitution().get(i), i); 16969 } 16970 for (int i = 0; i < element.getSchedule().size(); i++) { 16971 composeCodeableConcept(t, "MedicationKnowledgeRegulatoryComponent", "schedule", element.getSchedule().get(i), i); 16972 } 16973 if (element.hasMaxDispense()) { 16974 composeMedicationKnowledgeRegulatoryMaxDispenseComponent(t, "MedicationKnowledgeRegulatoryComponent", "maxDispense", element.getMaxDispense(), -1); 16975 } 16976 } 16977 16978 protected void composeMedicationKnowledgeRegulatorySubstitutionComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent element, int index) { 16979 if (element == null) 16980 return; 16981 Complex t; 16982 if (Utilities.noString(parentType)) 16983 t = parent; 16984 else { 16985 t = parent.predicate("fhir:"+parentType+'.'+name); 16986 } 16987 composeBackboneElement(t, "substitution", name, element, index); 16988 if (element.hasType()) { 16989 composeCodeableConcept(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "type", element.getType(), -1); 16990 } 16991 if (element.hasAllowedElement()) { 16992 composeBoolean(t, "MedicationKnowledgeRegulatorySubstitutionComponent", "allowed", element.getAllowedElement(), -1); 16993 } 16994 } 16995 16996 protected void composeMedicationKnowledgeRegulatoryMaxDispenseComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent element, int index) { 16997 if (element == null) 16998 return; 16999 Complex t; 17000 if (Utilities.noString(parentType)) 17001 t = parent; 17002 else { 17003 t = parent.predicate("fhir:"+parentType+'.'+name); 17004 } 17005 composeBackboneElement(t, "maxDispense", name, element, index); 17006 if (element.hasQuantity()) { 17007 composeQuantity(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "quantity", element.getQuantity(), -1); 17008 } 17009 if (element.hasPeriod()) { 17010 composeDuration(t, "MedicationKnowledgeRegulatoryMaxDispenseComponent", "period", element.getPeriod(), -1); 17011 } 17012 } 17013 17014 protected void composeMedicationKnowledgeDefinitionalComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalComponent element, int index) { 17015 if (element == null) 17016 return; 17017 Complex t; 17018 if (Utilities.noString(parentType)) 17019 t = parent; 17020 else { 17021 t = parent.predicate("fhir:"+parentType+'.'+name); 17022 } 17023 composeBackboneElement(t, "definitional", name, element, index); 17024 for (int i = 0; i < element.getDefinition().size(); i++) { 17025 composeReference(t, "MedicationKnowledgeDefinitionalComponent", "definition", element.getDefinition().get(i), i); 17026 } 17027 if (element.hasDoseForm()) { 17028 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalComponent", "doseForm", element.getDoseForm(), -1); 17029 } 17030 for (int i = 0; i < element.getIntendedRoute().size(); i++) { 17031 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalComponent", "intendedRoute", element.getIntendedRoute().get(i), i); 17032 } 17033 for (int i = 0; i < element.getIngredient().size(); i++) { 17034 composeMedicationKnowledgeDefinitionalIngredientComponent(t, "MedicationKnowledgeDefinitionalComponent", "ingredient", element.getIngredient().get(i), i); 17035 } 17036 for (int i = 0; i < element.getDrugCharacteristic().size(); i++) { 17037 composeMedicationKnowledgeDefinitionalDrugCharacteristicComponent(t, "MedicationKnowledgeDefinitionalComponent", "drugCharacteristic", element.getDrugCharacteristic().get(i), i); 17038 } 17039 } 17040 17041 protected void composeMedicationKnowledgeDefinitionalIngredientComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalIngredientComponent element, int index) { 17042 if (element == null) 17043 return; 17044 Complex t; 17045 if (Utilities.noString(parentType)) 17046 t = parent; 17047 else { 17048 t = parent.predicate("fhir:"+parentType+'.'+name); 17049 } 17050 composeBackboneElement(t, "ingredient", name, element, index); 17051 if (element.hasItem()) { 17052 composeCodeableReference(t, "MedicationKnowledgeDefinitionalIngredientComponent", "item", element.getItem(), -1); 17053 } 17054 if (element.hasType()) { 17055 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalIngredientComponent", "type", element.getType(), -1); 17056 } 17057 if (element.hasStrength()) { 17058 composeType(t, "MedicationKnowledgeDefinitionalIngredientComponent", "strength", element.getStrength(), -1); 17059 } 17060 } 17061 17062 protected void composeMedicationKnowledgeDefinitionalDrugCharacteristicComponent(Complex parent, String parentType, String name, MedicationKnowledge.MedicationKnowledgeDefinitionalDrugCharacteristicComponent element, int index) { 17063 if (element == null) 17064 return; 17065 Complex t; 17066 if (Utilities.noString(parentType)) 17067 t = parent; 17068 else { 17069 t = parent.predicate("fhir:"+parentType+'.'+name); 17070 } 17071 composeBackboneElement(t, "drugCharacteristic", name, element, index); 17072 if (element.hasType()) { 17073 composeCodeableConcept(t, "MedicationKnowledgeDefinitionalDrugCharacteristicComponent", "type", element.getType(), -1); 17074 } 17075 if (element.hasValue()) { 17076 composeType(t, "MedicationKnowledgeDefinitionalDrugCharacteristicComponent", "value", element.getValue(), -1); 17077 } 17078 } 17079 17080 protected void composeMedicationRequest(Complex parent, String parentType, String name, MedicationRequest 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 composeDomainResource(t, "MedicationRequest", name, element, index); 17090 for (int i = 0; i < element.getIdentifier().size(); i++) { 17091 composeIdentifier(t, "MedicationRequest", "identifier", element.getIdentifier().get(i), i); 17092 } 17093 for (int i = 0; i < element.getBasedOn().size(); i++) { 17094 composeReference(t, "MedicationRequest", "basedOn", element.getBasedOn().get(i), i); 17095 } 17096 if (element.hasPriorPrescription()) { 17097 composeReference(t, "MedicationRequest", "priorPrescription", element.getPriorPrescription(), -1); 17098 } 17099 if (element.hasGroupIdentifier()) { 17100 composeIdentifier(t, "MedicationRequest", "groupIdentifier", element.getGroupIdentifier(), -1); 17101 } 17102 if (element.hasStatusElement()) { 17103 composeEnum(t, "MedicationRequest", "status", element.getStatusElement(), -1); 17104 } 17105 if (element.hasStatusReason()) { 17106 composeCodeableConcept(t, "MedicationRequest", "statusReason", element.getStatusReason(), -1); 17107 } 17108 if (element.hasStatusChangedElement()) { 17109 composeDateTime(t, "MedicationRequest", "statusChanged", element.getStatusChangedElement(), -1); 17110 } 17111 if (element.hasIntentElement()) { 17112 composeEnum(t, "MedicationRequest", "intent", element.getIntentElement(), -1); 17113 } 17114 for (int i = 0; i < element.getCategory().size(); i++) { 17115 composeCodeableConcept(t, "MedicationRequest", "category", element.getCategory().get(i), i); 17116 } 17117 if (element.hasPriorityElement()) { 17118 composeEnum(t, "MedicationRequest", "priority", element.getPriorityElement(), -1); 17119 } 17120 if (element.hasDoNotPerformElement()) { 17121 composeBoolean(t, "MedicationRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 17122 } 17123 if (element.hasMedication()) { 17124 composeCodeableReference(t, "MedicationRequest", "medication", element.getMedication(), -1); 17125 } 17126 if (element.hasSubject()) { 17127 composeReference(t, "MedicationRequest", "subject", element.getSubject(), -1); 17128 } 17129 for (int i = 0; i < element.getInformationSource().size(); i++) { 17130 composeReference(t, "MedicationRequest", "informationSource", element.getInformationSource().get(i), i); 17131 } 17132 if (element.hasEncounter()) { 17133 composeReference(t, "MedicationRequest", "encounter", element.getEncounter(), -1); 17134 } 17135 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 17136 composeReference(t, "MedicationRequest", "supportingInformation", element.getSupportingInformation().get(i), i); 17137 } 17138 if (element.hasAuthoredOnElement()) { 17139 composeDateTime(t, "MedicationRequest", "authoredOn", element.getAuthoredOnElement(), -1); 17140 } 17141 if (element.hasRequester()) { 17142 composeReference(t, "MedicationRequest", "requester", element.getRequester(), -1); 17143 } 17144 if (element.hasReportedElement()) { 17145 composeBoolean(t, "MedicationRequest", "reported", element.getReportedElement(), -1); 17146 } 17147 if (element.hasPerformerType()) { 17148 composeCodeableConcept(t, "MedicationRequest", "performerType", element.getPerformerType(), -1); 17149 } 17150 for (int i = 0; i < element.getPerformer().size(); i++) { 17151 composeReference(t, "MedicationRequest", "performer", element.getPerformer().get(i), i); 17152 } 17153 if (element.hasDevice()) { 17154 composeCodeableReference(t, "MedicationRequest", "device", element.getDevice(), -1); 17155 } 17156 if (element.hasRecorder()) { 17157 composeReference(t, "MedicationRequest", "recorder", element.getRecorder(), -1); 17158 } 17159 for (int i = 0; i < element.getReason().size(); i++) { 17160 composeCodeableReference(t, "MedicationRequest", "reason", element.getReason().get(i), i); 17161 } 17162 if (element.hasCourseOfTherapyType()) { 17163 composeCodeableConcept(t, "MedicationRequest", "courseOfTherapyType", element.getCourseOfTherapyType(), -1); 17164 } 17165 for (int i = 0; i < element.getInsurance().size(); i++) { 17166 composeReference(t, "MedicationRequest", "insurance", element.getInsurance().get(i), i); 17167 } 17168 for (int i = 0; i < element.getNote().size(); i++) { 17169 composeAnnotation(t, "MedicationRequest", "note", element.getNote().get(i), i); 17170 } 17171 if (element.hasDose()) { 17172 composeMedicationRequestDoseComponent(t, "MedicationRequest", "dose", element.getDose(), -1); 17173 } 17174 if (element.hasDispenseRequest()) { 17175 composeMedicationRequestDispenseRequestComponent(t, "MedicationRequest", "dispenseRequest", element.getDispenseRequest(), -1); 17176 } 17177 if (element.hasSubstitution()) { 17178 composeMedicationRequestSubstitutionComponent(t, "MedicationRequest", "substitution", element.getSubstitution(), -1); 17179 } 17180 for (int i = 0; i < element.getEventHistory().size(); i++) { 17181 composeReference(t, "MedicationRequest", "eventHistory", element.getEventHistory().get(i), i); 17182 } 17183 } 17184 17185 protected void composeMedicationRequestDoseComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDoseComponent element, int index) { 17186 if (element == null) 17187 return; 17188 Complex t; 17189 if (Utilities.noString(parentType)) 17190 t = parent; 17191 else { 17192 t = parent.predicate("fhir:"+parentType+'.'+name); 17193 } 17194 composeBackboneElement(t, "dose", name, element, index); 17195 if (element.hasRenderedDosageInstructionElement()) { 17196 composeString(t, "MedicationRequestDoseComponent", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 17197 } 17198 if (element.hasEffectiveDosePeriod()) { 17199 composePeriod(t, "MedicationRequestDoseComponent", "effectiveDosePeriod", element.getEffectiveDosePeriod(), -1); 17200 } 17201 for (int i = 0; i < element.getDosageInstruction().size(); i++) { 17202 composeDosage(t, "MedicationRequestDoseComponent", "dosageInstruction", element.getDosageInstruction().get(i), i); 17203 } 17204 } 17205 17206 protected void composeMedicationRequestDispenseRequestComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestComponent element, int index) { 17207 if (element == null) 17208 return; 17209 Complex t; 17210 if (Utilities.noString(parentType)) 17211 t = parent; 17212 else { 17213 t = parent.predicate("fhir:"+parentType+'.'+name); 17214 } 17215 composeBackboneElement(t, "dispenseRequest", name, element, index); 17216 if (element.hasInitialFill()) { 17217 composeMedicationRequestDispenseRequestInitialFillComponent(t, "MedicationRequestDispenseRequestComponent", "initialFill", element.getInitialFill(), -1); 17218 } 17219 if (element.hasDispenseInterval()) { 17220 composeDuration(t, "MedicationRequestDispenseRequestComponent", "dispenseInterval", element.getDispenseInterval(), -1); 17221 } 17222 if (element.hasValidityPeriod()) { 17223 composePeriod(t, "MedicationRequestDispenseRequestComponent", "validityPeriod", element.getValidityPeriod(), -1); 17224 } 17225 if (element.hasNumberOfRepeatsAllowedElement()) { 17226 composeUnsignedInt(t, "MedicationRequestDispenseRequestComponent", "numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement(), -1); 17227 } 17228 if (element.hasQuantity()) { 17229 composeQuantity(t, "MedicationRequestDispenseRequestComponent", "quantity", element.getQuantity(), -1); 17230 } 17231 if (element.hasExpectedSupplyDuration()) { 17232 composeDuration(t, "MedicationRequestDispenseRequestComponent", "expectedSupplyDuration", element.getExpectedSupplyDuration(), -1); 17233 } 17234 if (element.hasDispenser()) { 17235 composeReference(t, "MedicationRequestDispenseRequestComponent", "dispenser", element.getDispenser(), -1); 17236 } 17237 for (int i = 0; i < element.getDispenserInstruction().size(); i++) { 17238 composeAnnotation(t, "MedicationRequestDispenseRequestComponent", "dispenserInstruction", element.getDispenserInstruction().get(i), i); 17239 } 17240 if (element.hasDoseAdministrationAid()) { 17241 composeCodeableConcept(t, "MedicationRequestDispenseRequestComponent", "doseAdministrationAid", element.getDoseAdministrationAid(), -1); 17242 } 17243 } 17244 17245 protected void composeMedicationRequestDispenseRequestInitialFillComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent element, int index) { 17246 if (element == null) 17247 return; 17248 Complex t; 17249 if (Utilities.noString(parentType)) 17250 t = parent; 17251 else { 17252 t = parent.predicate("fhir:"+parentType+'.'+name); 17253 } 17254 composeBackboneElement(t, "initialFill", name, element, index); 17255 if (element.hasQuantity()) { 17256 composeQuantity(t, "MedicationRequestDispenseRequestInitialFillComponent", "quantity", element.getQuantity(), -1); 17257 } 17258 if (element.hasDuration()) { 17259 composeDuration(t, "MedicationRequestDispenseRequestInitialFillComponent", "duration", element.getDuration(), -1); 17260 } 17261 } 17262 17263 protected void composeMedicationRequestSubstitutionComponent(Complex parent, String parentType, String name, MedicationRequest.MedicationRequestSubstitutionComponent element, int index) { 17264 if (element == null) 17265 return; 17266 Complex t; 17267 if (Utilities.noString(parentType)) 17268 t = parent; 17269 else { 17270 t = parent.predicate("fhir:"+parentType+'.'+name); 17271 } 17272 composeBackboneElement(t, "substitution", name, element, index); 17273 if (element.hasAllowed()) { 17274 composeType(t, "MedicationRequestSubstitutionComponent", "allowed", element.getAllowed(), -1); 17275 } 17276 if (element.hasReason()) { 17277 composeCodeableConcept(t, "MedicationRequestSubstitutionComponent", "reason", element.getReason(), -1); 17278 } 17279 } 17280 17281 protected void composeMedicationUsage(Complex parent, String parentType, String name, MedicationUsage element, int index) { 17282 if (element == null) 17283 return; 17284 Complex t; 17285 if (Utilities.noString(parentType)) 17286 t = parent; 17287 else { 17288 t = parent.predicate("fhir:"+parentType+'.'+name); 17289 } 17290 composeDomainResource(t, "MedicationUsage", name, element, index); 17291 for (int i = 0; i < element.getIdentifier().size(); i++) { 17292 composeIdentifier(t, "MedicationUsage", "identifier", element.getIdentifier().get(i), i); 17293 } 17294 for (int i = 0; i < element.getPartOf().size(); i++) { 17295 composeReference(t, "MedicationUsage", "partOf", element.getPartOf().get(i), i); 17296 } 17297 if (element.hasStatusElement()) { 17298 composeEnum(t, "MedicationUsage", "status", element.getStatusElement(), -1); 17299 } 17300 for (int i = 0; i < element.getCategory().size(); i++) { 17301 composeCodeableConcept(t, "MedicationUsage", "category", element.getCategory().get(i), i); 17302 } 17303 if (element.hasMedication()) { 17304 composeCodeableReference(t, "MedicationUsage", "medication", element.getMedication(), -1); 17305 } 17306 if (element.hasSubject()) { 17307 composeReference(t, "MedicationUsage", "subject", element.getSubject(), -1); 17308 } 17309 if (element.hasEncounter()) { 17310 composeReference(t, "MedicationUsage", "encounter", element.getEncounter(), -1); 17311 } 17312 if (element.hasEffective()) { 17313 composeType(t, "MedicationUsage", "effective", element.getEffective(), -1); 17314 } 17315 if (element.hasDateAssertedElement()) { 17316 composeDateTime(t, "MedicationUsage", "dateAsserted", element.getDateAssertedElement(), -1); 17317 } 17318 for (int i = 0; i < element.getInformationSource().size(); i++) { 17319 composeReference(t, "MedicationUsage", "informationSource", element.getInformationSource().get(i), i); 17320 } 17321 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 17322 composeReference(t, "MedicationUsage", "derivedFrom", element.getDerivedFrom().get(i), i); 17323 } 17324 for (int i = 0; i < element.getReason().size(); i++) { 17325 composeCodeableReference(t, "MedicationUsage", "reason", element.getReason().get(i), i); 17326 } 17327 for (int i = 0; i < element.getNote().size(); i++) { 17328 composeAnnotation(t, "MedicationUsage", "note", element.getNote().get(i), i); 17329 } 17330 for (int i = 0; i < element.getRelatedClinicalInformation().size(); i++) { 17331 composeReference(t, "MedicationUsage", "relatedClinicalInformation", element.getRelatedClinicalInformation().get(i), i); 17332 } 17333 if (element.hasRenderedDosageInstructionElement()) { 17334 composeString(t, "MedicationUsage", "renderedDosageInstruction", element.getRenderedDosageInstructionElement(), -1); 17335 } 17336 for (int i = 0; i < element.getDosage().size(); i++) { 17337 composeDosage(t, "MedicationUsage", "dosage", element.getDosage().get(i), i); 17338 } 17339 if (element.hasAdherence()) { 17340 composeMedicationUsageAdherenceComponent(t, "MedicationUsage", "adherence", element.getAdherence(), -1); 17341 } 17342 } 17343 17344 protected void composeMedicationUsageAdherenceComponent(Complex parent, String parentType, String name, MedicationUsage.MedicationUsageAdherenceComponent 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, "adherence", name, element, index); 17354 if (element.hasCode()) { 17355 composeCodeableConcept(t, "MedicationUsageAdherenceComponent", "code", element.getCode(), -1); 17356 } 17357 if (element.hasReason()) { 17358 composeCodeableConcept(t, "MedicationUsageAdherenceComponent", "reason", element.getReason(), -1); 17359 } 17360 } 17361 17362 protected void composeMedicinalProductDefinition(Complex parent, String parentType, String name, MedicinalProductDefinition element, int index) { 17363 if (element == null) 17364 return; 17365 Complex t; 17366 if (Utilities.noString(parentType)) 17367 t = parent; 17368 else { 17369 t = parent.predicate("fhir:"+parentType+'.'+name); 17370 } 17371 composeDomainResource(t, "MedicinalProductDefinition", name, element, index); 17372 for (int i = 0; i < element.getIdentifier().size(); i++) { 17373 composeIdentifier(t, "MedicinalProductDefinition", "identifier", element.getIdentifier().get(i), i); 17374 } 17375 if (element.hasType()) { 17376 composeCodeableConcept(t, "MedicinalProductDefinition", "type", element.getType(), -1); 17377 } 17378 if (element.hasDomain()) { 17379 composeCodeableConcept(t, "MedicinalProductDefinition", "domain", element.getDomain(), -1); 17380 } 17381 if (element.hasVersionElement()) { 17382 composeString(t, "MedicinalProductDefinition", "version", element.getVersionElement(), -1); 17383 } 17384 if (element.hasStatus()) { 17385 composeCodeableConcept(t, "MedicinalProductDefinition", "status", element.getStatus(), -1); 17386 } 17387 if (element.hasStatusDateElement()) { 17388 composeDateTime(t, "MedicinalProductDefinition", "statusDate", element.getStatusDateElement(), -1); 17389 } 17390 if (element.hasDescriptionElement()) { 17391 composeMarkdown(t, "MedicinalProductDefinition", "description", element.getDescriptionElement(), -1); 17392 } 17393 if (element.hasCombinedPharmaceuticalDoseForm()) { 17394 composeCodeableConcept(t, "MedicinalProductDefinition", "combinedPharmaceuticalDoseForm", element.getCombinedPharmaceuticalDoseForm(), -1); 17395 } 17396 for (int i = 0; i < element.getRoute().size(); i++) { 17397 composeCodeableConcept(t, "MedicinalProductDefinition", "route", element.getRoute().get(i), i); 17398 } 17399 if (element.hasIndicationElement()) { 17400 composeMarkdown(t, "MedicinalProductDefinition", "indication", element.getIndicationElement(), -1); 17401 } 17402 if (element.hasLegalStatusOfSupply()) { 17403 composeCodeableConcept(t, "MedicinalProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply(), -1); 17404 } 17405 if (element.hasAdditionalMonitoringIndicator()) { 17406 composeCodeableConcept(t, "MedicinalProductDefinition", "additionalMonitoringIndicator", element.getAdditionalMonitoringIndicator(), -1); 17407 } 17408 for (int i = 0; i < element.getSpecialMeasures().size(); i++) { 17409 composeCodeableConcept(t, "MedicinalProductDefinition", "specialMeasures", element.getSpecialMeasures().get(i), i); 17410 } 17411 if (element.hasPediatricUseIndicator()) { 17412 composeCodeableConcept(t, "MedicinalProductDefinition", "pediatricUseIndicator", element.getPediatricUseIndicator(), -1); 17413 } 17414 for (int i = 0; i < element.getClassification().size(); i++) { 17415 composeCodeableConcept(t, "MedicinalProductDefinition", "classification", element.getClassification().get(i), i); 17416 } 17417 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 17418 composeMarketingStatus(t, "MedicinalProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 17419 } 17420 for (int i = 0; i < element.getPackagedMedicinalProduct().size(); i++) { 17421 composeCodeableConcept(t, "MedicinalProductDefinition", "packagedMedicinalProduct", element.getPackagedMedicinalProduct().get(i), i); 17422 } 17423 for (int i = 0; i < element.getComprisedOf().size(); i++) { 17424 composeReference(t, "MedicinalProductDefinition", "comprisedOf", element.getComprisedOf().get(i), i); 17425 } 17426 for (int i = 0; i < element.getIngredient().size(); i++) { 17427 composeCodeableConcept(t, "MedicinalProductDefinition", "ingredient", element.getIngredient().get(i), i); 17428 } 17429 for (int i = 0; i < element.getImpurity().size(); i++) { 17430 composeCodeableReference(t, "MedicinalProductDefinition", "impurity", element.getImpurity().get(i), i); 17431 } 17432 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 17433 composeReference(t, "MedicinalProductDefinition", "attachedDocument", element.getAttachedDocument().get(i), i); 17434 } 17435 for (int i = 0; i < element.getMasterFile().size(); i++) { 17436 composeReference(t, "MedicinalProductDefinition", "masterFile", element.getMasterFile().get(i), i); 17437 } 17438 for (int i = 0; i < element.getContact().size(); i++) { 17439 composeMedicinalProductDefinitionContactComponent(t, "MedicinalProductDefinition", "contact", element.getContact().get(i), i); 17440 } 17441 for (int i = 0; i < element.getClinicalTrial().size(); i++) { 17442 composeReference(t, "MedicinalProductDefinition", "clinicalTrial", element.getClinicalTrial().get(i), i); 17443 } 17444 for (int i = 0; i < element.getCode().size(); i++) { 17445 composeCoding(t, "MedicinalProductDefinition", "code", element.getCode().get(i), i); 17446 } 17447 for (int i = 0; i < element.getName().size(); i++) { 17448 composeMedicinalProductDefinitionNameComponent(t, "MedicinalProductDefinition", "name", element.getName().get(i), i); 17449 } 17450 for (int i = 0; i < element.getCrossReference().size(); i++) { 17451 composeMedicinalProductDefinitionCrossReferenceComponent(t, "MedicinalProductDefinition", "crossReference", element.getCrossReference().get(i), i); 17452 } 17453 for (int i = 0; i < element.getOperation().size(); i++) { 17454 composeMedicinalProductDefinitionOperationComponent(t, "MedicinalProductDefinition", "operation", element.getOperation().get(i), i); 17455 } 17456 for (int i = 0; i < element.getCharacteristic().size(); i++) { 17457 composeMedicinalProductDefinitionCharacteristicComponent(t, "MedicinalProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 17458 } 17459 } 17460 17461 protected void composeMedicinalProductDefinitionContactComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionContactComponent element, int index) { 17462 if (element == null) 17463 return; 17464 Complex t; 17465 if (Utilities.noString(parentType)) 17466 t = parent; 17467 else { 17468 t = parent.predicate("fhir:"+parentType+'.'+name); 17469 } 17470 composeBackboneElement(t, "contact", name, element, index); 17471 if (element.hasType()) { 17472 composeCodeableConcept(t, "MedicinalProductDefinitionContactComponent", "type", element.getType(), -1); 17473 } 17474 if (element.hasContact()) { 17475 composeReference(t, "MedicinalProductDefinitionContactComponent", "contact", element.getContact(), -1); 17476 } 17477 } 17478 17479 protected void composeMedicinalProductDefinitionNameComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameComponent element, int index) { 17480 if (element == null) 17481 return; 17482 Complex t; 17483 if (Utilities.noString(parentType)) 17484 t = parent; 17485 else { 17486 t = parent.predicate("fhir:"+parentType+'.'+name); 17487 } 17488 composeBackboneElement(t, "name", name, element, index); 17489 if (element.hasProductNameElement()) { 17490 composeString(t, "MedicinalProductDefinitionNameComponent", "productName", element.getProductNameElement(), -1); 17491 } 17492 if (element.hasType()) { 17493 composeCodeableConcept(t, "MedicinalProductDefinitionNameComponent", "type", element.getType(), -1); 17494 } 17495 for (int i = 0; i < element.getPart().size(); i++) { 17496 composeMedicinalProductDefinitionNamePartComponent(t, "MedicinalProductDefinitionNameComponent", "part", element.getPart().get(i), i); 17497 } 17498 for (int i = 0; i < element.getUsage().size(); i++) { 17499 composeMedicinalProductDefinitionNameUsageComponent(t, "MedicinalProductDefinitionNameComponent", "usage", element.getUsage().get(i), i); 17500 } 17501 } 17502 17503 protected void composeMedicinalProductDefinitionNamePartComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element, int index) { 17504 if (element == null) 17505 return; 17506 Complex t; 17507 if (Utilities.noString(parentType)) 17508 t = parent; 17509 else { 17510 t = parent.predicate("fhir:"+parentType+'.'+name); 17511 } 17512 composeBackboneElement(t, "part", name, element, index); 17513 if (element.hasPartElement()) { 17514 composeString(t, "MedicinalProductDefinitionNamePartComponent", "part", element.getPartElement(), -1); 17515 } 17516 if (element.hasType()) { 17517 composeCodeableConcept(t, "MedicinalProductDefinitionNamePartComponent", "type", element.getType(), -1); 17518 } 17519 } 17520 17521 protected void composeMedicinalProductDefinitionNameUsageComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element, int index) { 17522 if (element == null) 17523 return; 17524 Complex t; 17525 if (Utilities.noString(parentType)) 17526 t = parent; 17527 else { 17528 t = parent.predicate("fhir:"+parentType+'.'+name); 17529 } 17530 composeBackboneElement(t, "usage", name, element, index); 17531 if (element.hasCountry()) { 17532 composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "country", element.getCountry(), -1); 17533 } 17534 if (element.hasJurisdiction()) { 17535 composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "jurisdiction", element.getJurisdiction(), -1); 17536 } 17537 if (element.hasLanguage()) { 17538 composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "language", element.getLanguage(), -1); 17539 } 17540 } 17541 17542 protected void composeMedicinalProductDefinitionCrossReferenceComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent element, int index) { 17543 if (element == null) 17544 return; 17545 Complex t; 17546 if (Utilities.noString(parentType)) 17547 t = parent; 17548 else { 17549 t = parent.predicate("fhir:"+parentType+'.'+name); 17550 } 17551 composeBackboneElement(t, "crossReference", name, element, index); 17552 if (element.hasProduct()) { 17553 composeCodeableReference(t, "MedicinalProductDefinitionCrossReferenceComponent", "product", element.getProduct(), -1); 17554 } 17555 if (element.hasType()) { 17556 composeCodeableConcept(t, "MedicinalProductDefinitionCrossReferenceComponent", "type", element.getType(), -1); 17557 } 17558 } 17559 17560 protected void composeMedicinalProductDefinitionOperationComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent element, int index) { 17561 if (element == null) 17562 return; 17563 Complex t; 17564 if (Utilities.noString(parentType)) 17565 t = parent; 17566 else { 17567 t = parent.predicate("fhir:"+parentType+'.'+name); 17568 } 17569 composeBackboneElement(t, "operation", name, element, index); 17570 if (element.hasType()) { 17571 composeCodeableReference(t, "MedicinalProductDefinitionOperationComponent", "type", element.getType(), -1); 17572 } 17573 if (element.hasEffectiveDate()) { 17574 composePeriod(t, "MedicinalProductDefinitionOperationComponent", "effectiveDate", element.getEffectiveDate(), -1); 17575 } 17576 for (int i = 0; i < element.getOrganization().size(); i++) { 17577 composeReference(t, "MedicinalProductDefinitionOperationComponent", "organization", element.getOrganization().get(i), i); 17578 } 17579 if (element.hasConfidentialityIndicator()) { 17580 composeCodeableConcept(t, "MedicinalProductDefinitionOperationComponent", "confidentialityIndicator", element.getConfidentialityIndicator(), -1); 17581 } 17582 } 17583 17584 protected void composeMedicinalProductDefinitionCharacteristicComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent element, int index) { 17585 if (element == null) 17586 return; 17587 Complex t; 17588 if (Utilities.noString(parentType)) 17589 t = parent; 17590 else { 17591 t = parent.predicate("fhir:"+parentType+'.'+name); 17592 } 17593 composeBackboneElement(t, "characteristic", name, element, index); 17594 if (element.hasType()) { 17595 composeCodeableConcept(t, "MedicinalProductDefinitionCharacteristicComponent", "type", element.getType(), -1); 17596 } 17597 if (element.hasValue()) { 17598 composeType(t, "MedicinalProductDefinitionCharacteristicComponent", "value", element.getValue(), -1); 17599 } 17600 } 17601 17602 protected void composeMessageDefinition(Complex parent, String parentType, String name, MessageDefinition element, int index) { 17603 if (element == null) 17604 return; 17605 Complex t; 17606 if (Utilities.noString(parentType)) 17607 t = parent; 17608 else { 17609 t = parent.predicate("fhir:"+parentType+'.'+name); 17610 } 17611 composeCanonicalResource(t, "MessageDefinition", name, element, index); 17612 if (element.hasUrlElement()) { 17613 composeUri(t, "MessageDefinition", "url", element.getUrlElement(), -1); 17614 } 17615 for (int i = 0; i < element.getIdentifier().size(); i++) { 17616 composeIdentifier(t, "MessageDefinition", "identifier", element.getIdentifier().get(i), i); 17617 } 17618 if (element.hasVersionElement()) { 17619 composeString(t, "MessageDefinition", "version", element.getVersionElement(), -1); 17620 } 17621 if (element.hasNameElement()) { 17622 composeString(t, "MessageDefinition", "name", element.getNameElement(), -1); 17623 } 17624 if (element.hasTitleElement()) { 17625 composeString(t, "MessageDefinition", "title", element.getTitleElement(), -1); 17626 } 17627 for (int i = 0; i < element.getReplaces().size(); i++) { 17628 composeCanonical(t, "MessageDefinition", "replaces", element.getReplaces().get(i), i); 17629 } 17630 if (element.hasStatusElement()) { 17631 composeEnum(t, "MessageDefinition", "status", element.getStatusElement(), -1); 17632 } 17633 if (element.hasExperimentalElement()) { 17634 composeBoolean(t, "MessageDefinition", "experimental", element.getExperimentalElement(), -1); 17635 } 17636 if (element.hasDateElement()) { 17637 composeDateTime(t, "MessageDefinition", "date", element.getDateElement(), -1); 17638 } 17639 if (element.hasPublisherElement()) { 17640 composeString(t, "MessageDefinition", "publisher", element.getPublisherElement(), -1); 17641 } 17642 for (int i = 0; i < element.getContact().size(); i++) { 17643 composeContactDetail(t, "MessageDefinition", "contact", element.getContact().get(i), i); 17644 } 17645 if (element.hasDescriptionElement()) { 17646 composeMarkdown(t, "MessageDefinition", "description", element.getDescriptionElement(), -1); 17647 } 17648 for (int i = 0; i < element.getUseContext().size(); i++) { 17649 composeUsageContext(t, "MessageDefinition", "useContext", element.getUseContext().get(i), i); 17650 } 17651 for (int i = 0; i < element.getJurisdiction().size(); i++) { 17652 composeCodeableConcept(t, "MessageDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 17653 } 17654 if (element.hasPurposeElement()) { 17655 composeMarkdown(t, "MessageDefinition", "purpose", element.getPurposeElement(), -1); 17656 } 17657 if (element.hasCopyrightElement()) { 17658 composeMarkdown(t, "MessageDefinition", "copyright", element.getCopyrightElement(), -1); 17659 } 17660 if (element.hasBaseElement()) { 17661 composeCanonical(t, "MessageDefinition", "base", element.getBaseElement(), -1); 17662 } 17663 for (int i = 0; i < element.getParent().size(); i++) { 17664 composeCanonical(t, "MessageDefinition", "parent", element.getParent().get(i), i); 17665 } 17666 if (element.hasEvent()) { 17667 composeType(t, "MessageDefinition", "event", element.getEvent(), -1); 17668 } 17669 if (element.hasCategoryElement()) { 17670 composeEnum(t, "MessageDefinition", "category", element.getCategoryElement(), -1); 17671 } 17672 for (int i = 0; i < element.getFocus().size(); i++) { 17673 composeMessageDefinitionFocusComponent(t, "MessageDefinition", "focus", element.getFocus().get(i), i); 17674 } 17675 if (element.hasResponseRequiredElement()) { 17676 composeEnum(t, "MessageDefinition", "responseRequired", element.getResponseRequiredElement(), -1); 17677 } 17678 for (int i = 0; i < element.getAllowedResponse().size(); i++) { 17679 composeMessageDefinitionAllowedResponseComponent(t, "MessageDefinition", "allowedResponse", element.getAllowedResponse().get(i), i); 17680 } 17681 if (element.hasGraphElement()) { 17682 composeCanonical(t, "MessageDefinition", "graph", element.getGraphElement(), -1); 17683 } 17684 } 17685 17686 protected void composeMessageDefinitionFocusComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionFocusComponent element, int index) { 17687 if (element == null) 17688 return; 17689 Complex t; 17690 if (Utilities.noString(parentType)) 17691 t = parent; 17692 else { 17693 t = parent.predicate("fhir:"+parentType+'.'+name); 17694 } 17695 composeBackboneElement(t, "focus", name, element, index); 17696 if (element.hasCodeElement()) { 17697 composeCode(t, "MessageDefinitionFocusComponent", "code", element.getCodeElement(), -1); 17698 } 17699 if (element.hasProfileElement()) { 17700 composeCanonical(t, "MessageDefinitionFocusComponent", "profile", element.getProfileElement(), -1); 17701 } 17702 if (element.hasMinElement()) { 17703 composeUnsignedInt(t, "MessageDefinitionFocusComponent", "min", element.getMinElement(), -1); 17704 } 17705 if (element.hasMaxElement()) { 17706 composeString(t, "MessageDefinitionFocusComponent", "max", element.getMaxElement(), -1); 17707 } 17708 } 17709 17710 protected void composeMessageDefinitionAllowedResponseComponent(Complex parent, String parentType, String name, MessageDefinition.MessageDefinitionAllowedResponseComponent element, int index) { 17711 if (element == null) 17712 return; 17713 Complex t; 17714 if (Utilities.noString(parentType)) 17715 t = parent; 17716 else { 17717 t = parent.predicate("fhir:"+parentType+'.'+name); 17718 } 17719 composeBackboneElement(t, "allowedResponse", name, element, index); 17720 if (element.hasMessageElement()) { 17721 composeCanonical(t, "MessageDefinitionAllowedResponseComponent", "message", element.getMessageElement(), -1); 17722 } 17723 if (element.hasSituationElement()) { 17724 composeMarkdown(t, "MessageDefinitionAllowedResponseComponent", "situation", element.getSituationElement(), -1); 17725 } 17726 } 17727 17728 protected void composeMessageHeader(Complex parent, String parentType, String name, MessageHeader element, int index) { 17729 if (element == null) 17730 return; 17731 Complex t; 17732 if (Utilities.noString(parentType)) 17733 t = parent; 17734 else { 17735 t = parent.predicate("fhir:"+parentType+'.'+name); 17736 } 17737 composeDomainResource(t, "MessageHeader", name, element, index); 17738 if (element.hasEvent()) { 17739 composeType(t, "MessageHeader", "event", element.getEvent(), -1); 17740 } 17741 for (int i = 0; i < element.getDestination().size(); i++) { 17742 composeMessageHeaderMessageDestinationComponent(t, "MessageHeader", "destination", element.getDestination().get(i), i); 17743 } 17744 if (element.hasSender()) { 17745 composeReference(t, "MessageHeader", "sender", element.getSender(), -1); 17746 } 17747 if (element.hasEnterer()) { 17748 composeReference(t, "MessageHeader", "enterer", element.getEnterer(), -1); 17749 } 17750 if (element.hasAuthor()) { 17751 composeReference(t, "MessageHeader", "author", element.getAuthor(), -1); 17752 } 17753 if (element.hasSource()) { 17754 composeMessageHeaderMessageSourceComponent(t, "MessageHeader", "source", element.getSource(), -1); 17755 } 17756 if (element.hasResponsible()) { 17757 composeReference(t, "MessageHeader", "responsible", element.getResponsible(), -1); 17758 } 17759 if (element.hasReason()) { 17760 composeCodeableConcept(t, "MessageHeader", "reason", element.getReason(), -1); 17761 } 17762 if (element.hasResponse()) { 17763 composeMessageHeaderResponseComponent(t, "MessageHeader", "response", element.getResponse(), -1); 17764 } 17765 for (int i = 0; i < element.getFocus().size(); i++) { 17766 composeReference(t, "MessageHeader", "focus", element.getFocus().get(i), i); 17767 } 17768 if (element.hasDefinitionElement()) { 17769 composeCanonical(t, "MessageHeader", "definition", element.getDefinitionElement(), -1); 17770 } 17771 } 17772 17773 protected void composeMessageHeaderMessageDestinationComponent(Complex parent, String parentType, String name, MessageHeader.MessageDestinationComponent element, int index) { 17774 if (element == null) 17775 return; 17776 Complex t; 17777 if (Utilities.noString(parentType)) 17778 t = parent; 17779 else { 17780 t = parent.predicate("fhir:"+parentType+'.'+name); 17781 } 17782 composeBackboneElement(t, "destination", name, element, index); 17783 if (element.hasNameElement()) { 17784 composeString(t, "MessageDestinationComponent", "name", element.getNameElement(), -1); 17785 } 17786 if (element.hasTarget()) { 17787 composeReference(t, "MessageDestinationComponent", "target", element.getTarget(), -1); 17788 } 17789 if (element.hasEndpointElement()) { 17790 composeUrl(t, "MessageDestinationComponent", "endpoint", element.getEndpointElement(), -1); 17791 } 17792 if (element.hasReceiver()) { 17793 composeReference(t, "MessageDestinationComponent", "receiver", element.getReceiver(), -1); 17794 } 17795 } 17796 17797 protected void composeMessageHeaderMessageSourceComponent(Complex parent, String parentType, String name, MessageHeader.MessageSourceComponent element, int index) { 17798 if (element == null) 17799 return; 17800 Complex t; 17801 if (Utilities.noString(parentType)) 17802 t = parent; 17803 else { 17804 t = parent.predicate("fhir:"+parentType+'.'+name); 17805 } 17806 composeBackboneElement(t, "source", name, element, index); 17807 if (element.hasNameElement()) { 17808 composeString(t, "MessageSourceComponent", "name", element.getNameElement(), -1); 17809 } 17810 if (element.hasSoftwareElement()) { 17811 composeString(t, "MessageSourceComponent", "software", element.getSoftwareElement(), -1); 17812 } 17813 if (element.hasVersionElement()) { 17814 composeString(t, "MessageSourceComponent", "version", element.getVersionElement(), -1); 17815 } 17816 if (element.hasContact()) { 17817 composeContactPoint(t, "MessageSourceComponent", "contact", element.getContact(), -1); 17818 } 17819 if (element.hasEndpointElement()) { 17820 composeUrl(t, "MessageSourceComponent", "endpoint", element.getEndpointElement(), -1); 17821 } 17822 } 17823 17824 protected void composeMessageHeaderResponseComponent(Complex parent, String parentType, String name, MessageHeader.MessageHeaderResponseComponent element, int index) { 17825 if (element == null) 17826 return; 17827 Complex t; 17828 if (Utilities.noString(parentType)) 17829 t = parent; 17830 else { 17831 t = parent.predicate("fhir:"+parentType+'.'+name); 17832 } 17833 composeBackboneElement(t, "response", name, element, index); 17834 if (element.hasIdentifier()) { 17835 composeIdentifier(t, "MessageHeaderResponseComponent", "identifier", element.getIdentifier(), -1); 17836 } 17837 if (element.hasCodeElement()) { 17838 composeEnum(t, "MessageHeaderResponseComponent", "code", element.getCodeElement(), -1); 17839 } 17840 if (element.hasDetails()) { 17841 composeReference(t, "MessageHeaderResponseComponent", "details", element.getDetails(), -1); 17842 } 17843 } 17844 17845 protected void composeMolecularSequence(Complex parent, String parentType, String name, MolecularSequence element, int index) { 17846 if (element == null) 17847 return; 17848 Complex t; 17849 if (Utilities.noString(parentType)) 17850 t = parent; 17851 else { 17852 t = parent.predicate("fhir:"+parentType+'.'+name); 17853 } 17854 composeDomainResource(t, "MolecularSequence", name, element, index); 17855 for (int i = 0; i < element.getIdentifier().size(); i++) { 17856 composeIdentifier(t, "MolecularSequence", "identifier", element.getIdentifier().get(i), i); 17857 } 17858 if (element.hasTypeElement()) { 17859 composeEnum(t, "MolecularSequence", "type", element.getTypeElement(), -1); 17860 } 17861 if (element.hasSubject()) { 17862 composeReference(t, "MolecularSequence", "subject", element.getSubject(), -1); 17863 } 17864 if (element.hasSpecimen()) { 17865 composeReference(t, "MolecularSequence", "specimen", element.getSpecimen(), -1); 17866 } 17867 if (element.hasDevice()) { 17868 composeReference(t, "MolecularSequence", "device", element.getDevice(), -1); 17869 } 17870 if (element.hasPerformer()) { 17871 composeReference(t, "MolecularSequence", "performer", element.getPerformer(), -1); 17872 } 17873 if (element.hasLiteralElement()) { 17874 composeString(t, "MolecularSequence", "literal", element.getLiteralElement(), -1); 17875 } 17876 for (int i = 0; i < element.getFormatted().size(); i++) { 17877 composeAttachment(t, "MolecularSequence", "formatted", element.getFormatted().get(i), i); 17878 } 17879 for (int i = 0; i < element.getRelative().size(); i++) { 17880 composeMolecularSequenceRelativeComponent(t, "MolecularSequence", "relative", element.getRelative().get(i), i); 17881 } 17882 } 17883 17884 protected void composeMolecularSequenceRelativeComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRelativeComponent element, int index) { 17885 if (element == null) 17886 return; 17887 Complex t; 17888 if (Utilities.noString(parentType)) 17889 t = parent; 17890 else { 17891 t = parent.predicate("fhir:"+parentType+'.'+name); 17892 } 17893 composeBackboneElement(t, "relative", name, element, index); 17894 if (element.hasCoordinateSystem()) { 17895 composeCodeableConcept(t, "MolecularSequenceRelativeComponent", "coordinateSystem", element.getCoordinateSystem(), -1); 17896 } 17897 if (element.hasOrdinalPositionElement()) { 17898 composeInteger(t, "MolecularSequenceRelativeComponent", "ordinalPosition", element.getOrdinalPositionElement(), -1); 17899 } 17900 if (element.hasSequenceRange()) { 17901 composeRange(t, "MolecularSequenceRelativeComponent", "sequenceRange", element.getSequenceRange(), -1); 17902 } 17903 if (element.hasStartingSequence()) { 17904 composeMolecularSequenceRelativeStartingSequenceComponent(t, "MolecularSequenceRelativeComponent", "startingSequence", element.getStartingSequence(), -1); 17905 } 17906 for (int i = 0; i < element.getEdit().size(); i++) { 17907 composeMolecularSequenceRelativeEditComponent(t, "MolecularSequenceRelativeComponent", "edit", element.getEdit().get(i), i); 17908 } 17909 } 17910 17911 protected void composeMolecularSequenceRelativeStartingSequenceComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element, int index) { 17912 if (element == null) 17913 return; 17914 Complex t; 17915 if (Utilities.noString(parentType)) 17916 t = parent; 17917 else { 17918 t = parent.predicate("fhir:"+parentType+'.'+name); 17919 } 17920 composeBackboneElement(t, "startingSequence", name, element, index); 17921 if (element.hasGenomeAssembly()) { 17922 composeCodeableConcept(t, "MolecularSequenceRelativeStartingSequenceComponent", "genomeAssembly", element.getGenomeAssembly(), -1); 17923 } 17924 if (element.hasChromosome()) { 17925 composeCodeableConcept(t, "MolecularSequenceRelativeStartingSequenceComponent", "chromosome", element.getChromosome(), -1); 17926 } 17927 if (element.hasSequence()) { 17928 composeType(t, "MolecularSequenceRelativeStartingSequenceComponent", "sequence", element.getSequence(), -1); 17929 } 17930 if (element.hasWindowStartElement()) { 17931 composeInteger(t, "MolecularSequenceRelativeStartingSequenceComponent", "windowStart", element.getWindowStartElement(), -1); 17932 } 17933 if (element.hasWindowEndElement()) { 17934 composeInteger(t, "MolecularSequenceRelativeStartingSequenceComponent", "windowEnd", element.getWindowEndElement(), -1); 17935 } 17936 if (element.hasOrientationElement()) { 17937 composeEnum(t, "MolecularSequenceRelativeStartingSequenceComponent", "orientation", element.getOrientationElement(), -1); 17938 } 17939 if (element.hasStrandElement()) { 17940 composeEnum(t, "MolecularSequenceRelativeStartingSequenceComponent", "strand", element.getStrandElement(), -1); 17941 } 17942 } 17943 17944 protected void composeMolecularSequenceRelativeEditComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRelativeEditComponent element, int index) { 17945 if (element == null) 17946 return; 17947 Complex t; 17948 if (Utilities.noString(parentType)) 17949 t = parent; 17950 else { 17951 t = parent.predicate("fhir:"+parentType+'.'+name); 17952 } 17953 composeBackboneElement(t, "edit", name, element, index); 17954 if (element.hasStartElement()) { 17955 composeInteger(t, "MolecularSequenceRelativeEditComponent", "start", element.getStartElement(), -1); 17956 } 17957 if (element.hasEndElement()) { 17958 composeInteger(t, "MolecularSequenceRelativeEditComponent", "end", element.getEndElement(), -1); 17959 } 17960 if (element.hasReplacementSequenceElement()) { 17961 composeString(t, "MolecularSequenceRelativeEditComponent", "replacementSequence", element.getReplacementSequenceElement(), -1); 17962 } 17963 if (element.hasReplacedSequenceElement()) { 17964 composeString(t, "MolecularSequenceRelativeEditComponent", "replacedSequence", element.getReplacedSequenceElement(), -1); 17965 } 17966 } 17967 17968 protected void composeNamingSystem(Complex parent, String parentType, String name, NamingSystem element, int index) { 17969 if (element == null) 17970 return; 17971 Complex t; 17972 if (Utilities.noString(parentType)) 17973 t = parent; 17974 else { 17975 t = parent.predicate("fhir:"+parentType+'.'+name); 17976 } 17977 composeMetadataResource(t, "NamingSystem", name, element, index); 17978 if (element.hasUrlElement()) { 17979 composeUri(t, "NamingSystem", "url", element.getUrlElement(), -1); 17980 } 17981 for (int i = 0; i < element.getIdentifier().size(); i++) { 17982 composeIdentifier(t, "NamingSystem", "identifier", element.getIdentifier().get(i), i); 17983 } 17984 if (element.hasVersionElement()) { 17985 composeString(t, "NamingSystem", "version", element.getVersionElement(), -1); 17986 } 17987 if (element.hasNameElement()) { 17988 composeString(t, "NamingSystem", "name", element.getNameElement(), -1); 17989 } 17990 if (element.hasTitleElement()) { 17991 composeString(t, "NamingSystem", "title", element.getTitleElement(), -1); 17992 } 17993 if (element.hasStatusElement()) { 17994 composeEnum(t, "NamingSystem", "status", element.getStatusElement(), -1); 17995 } 17996 if (element.hasKindElement()) { 17997 composeEnum(t, "NamingSystem", "kind", element.getKindElement(), -1); 17998 } 17999 if (element.hasExperimentalElement()) { 18000 composeBoolean(t, "NamingSystem", "experimental", element.getExperimentalElement(), -1); 18001 } 18002 if (element.hasDateElement()) { 18003 composeDateTime(t, "NamingSystem", "date", element.getDateElement(), -1); 18004 } 18005 if (element.hasPublisherElement()) { 18006 composeString(t, "NamingSystem", "publisher", element.getPublisherElement(), -1); 18007 } 18008 for (int i = 0; i < element.getContact().size(); i++) { 18009 composeContactDetail(t, "NamingSystem", "contact", element.getContact().get(i), i); 18010 } 18011 if (element.hasResponsibleElement()) { 18012 composeString(t, "NamingSystem", "responsible", element.getResponsibleElement(), -1); 18013 } 18014 if (element.hasType()) { 18015 composeCodeableConcept(t, "NamingSystem", "type", element.getType(), -1); 18016 } 18017 if (element.hasDescriptionElement()) { 18018 composeMarkdown(t, "NamingSystem", "description", element.getDescriptionElement(), -1); 18019 } 18020 for (int i = 0; i < element.getUseContext().size(); i++) { 18021 composeUsageContext(t, "NamingSystem", "useContext", element.getUseContext().get(i), i); 18022 } 18023 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18024 composeCodeableConcept(t, "NamingSystem", "jurisdiction", element.getJurisdiction().get(i), i); 18025 } 18026 if (element.hasPurposeElement()) { 18027 composeMarkdown(t, "NamingSystem", "purpose", element.getPurposeElement(), -1); 18028 } 18029 if (element.hasCopyrightElement()) { 18030 composeMarkdown(t, "NamingSystem", "copyright", element.getCopyrightElement(), -1); 18031 } 18032 if (element.hasApprovalDateElement()) { 18033 composeDate(t, "NamingSystem", "approvalDate", element.getApprovalDateElement(), -1); 18034 } 18035 if (element.hasLastReviewDateElement()) { 18036 composeDate(t, "NamingSystem", "lastReviewDate", element.getLastReviewDateElement(), -1); 18037 } 18038 if (element.hasEffectivePeriod()) { 18039 composePeriod(t, "NamingSystem", "effectivePeriod", element.getEffectivePeriod(), -1); 18040 } 18041 for (int i = 0; i < element.getTopic().size(); i++) { 18042 composeCodeableConcept(t, "NamingSystem", "topic", element.getTopic().get(i), i); 18043 } 18044 for (int i = 0; i < element.getAuthor().size(); i++) { 18045 composeContactDetail(t, "NamingSystem", "author", element.getAuthor().get(i), i); 18046 } 18047 for (int i = 0; i < element.getEditor().size(); i++) { 18048 composeContactDetail(t, "NamingSystem", "editor", element.getEditor().get(i), i); 18049 } 18050 for (int i = 0; i < element.getReviewer().size(); i++) { 18051 composeContactDetail(t, "NamingSystem", "reviewer", element.getReviewer().get(i), i); 18052 } 18053 for (int i = 0; i < element.getEndorser().size(); i++) { 18054 composeContactDetail(t, "NamingSystem", "endorser", element.getEndorser().get(i), i); 18055 } 18056 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 18057 composeRelatedArtifact(t, "NamingSystem", "relatedArtifact", element.getRelatedArtifact().get(i), i); 18058 } 18059 if (element.hasUsageElement()) { 18060 composeString(t, "NamingSystem", "usage", element.getUsageElement(), -1); 18061 } 18062 for (int i = 0; i < element.getUniqueId().size(); i++) { 18063 composeNamingSystemUniqueIdComponent(t, "NamingSystem", "uniqueId", element.getUniqueId().get(i), i); 18064 } 18065 } 18066 18067 protected void composeNamingSystemUniqueIdComponent(Complex parent, String parentType, String name, NamingSystem.NamingSystemUniqueIdComponent element, int index) { 18068 if (element == null) 18069 return; 18070 Complex t; 18071 if (Utilities.noString(parentType)) 18072 t = parent; 18073 else { 18074 t = parent.predicate("fhir:"+parentType+'.'+name); 18075 } 18076 composeBackboneElement(t, "uniqueId", name, element, index); 18077 if (element.hasTypeElement()) { 18078 composeEnum(t, "NamingSystemUniqueIdComponent", "type", element.getTypeElement(), -1); 18079 } 18080 if (element.hasValueElement()) { 18081 composeString(t, "NamingSystemUniqueIdComponent", "value", element.getValueElement(), -1); 18082 } 18083 if (element.hasPreferredElement()) { 18084 composeBoolean(t, "NamingSystemUniqueIdComponent", "preferred", element.getPreferredElement(), -1); 18085 } 18086 if (element.hasCommentElement()) { 18087 composeString(t, "NamingSystemUniqueIdComponent", "comment", element.getCommentElement(), -1); 18088 } 18089 if (element.hasPeriod()) { 18090 composePeriod(t, "NamingSystemUniqueIdComponent", "period", element.getPeriod(), -1); 18091 } 18092 if (element.hasAuthoritativeElement()) { 18093 composeBoolean(t, "NamingSystemUniqueIdComponent", "authoritative", element.getAuthoritativeElement(), -1); 18094 } 18095 } 18096 18097 protected void composeNutritionIntake(Complex parent, String parentType, String name, NutritionIntake element, int index) { 18098 if (element == null) 18099 return; 18100 Complex t; 18101 if (Utilities.noString(parentType)) 18102 t = parent; 18103 else { 18104 t = parent.predicate("fhir:"+parentType+'.'+name); 18105 } 18106 composeDomainResource(t, "NutritionIntake", name, element, index); 18107 for (int i = 0; i < element.getIdentifier().size(); i++) { 18108 composeIdentifier(t, "NutritionIntake", "identifier", element.getIdentifier().get(i), i); 18109 } 18110 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 18111 composeCanonical(t, "NutritionIntake", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 18112 } 18113 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 18114 composeUri(t, "NutritionIntake", "instantiatesUri", element.getInstantiatesUri().get(i), i); 18115 } 18116 for (int i = 0; i < element.getBasedOn().size(); i++) { 18117 composeReference(t, "NutritionIntake", "basedOn", element.getBasedOn().get(i), i); 18118 } 18119 for (int i = 0; i < element.getPartOf().size(); i++) { 18120 composeReference(t, "NutritionIntake", "partOf", element.getPartOf().get(i), i); 18121 } 18122 if (element.hasStatusElement()) { 18123 composeEnum(t, "NutritionIntake", "status", element.getStatusElement(), -1); 18124 } 18125 for (int i = 0; i < element.getStatusReason().size(); i++) { 18126 composeCodeableConcept(t, "NutritionIntake", "statusReason", element.getStatusReason().get(i), i); 18127 } 18128 if (element.hasCode()) { 18129 composeCodeableConcept(t, "NutritionIntake", "code", element.getCode(), -1); 18130 } 18131 if (element.hasSubject()) { 18132 composeReference(t, "NutritionIntake", "subject", element.getSubject(), -1); 18133 } 18134 if (element.hasEncounter()) { 18135 composeReference(t, "NutritionIntake", "encounter", element.getEncounter(), -1); 18136 } 18137 if (element.hasOccurrence()) { 18138 composeType(t, "NutritionIntake", "occurrence", element.getOccurrence(), -1); 18139 } 18140 if (element.hasRecordedElement()) { 18141 composeDateTime(t, "NutritionIntake", "recorded", element.getRecordedElement(), -1); 18142 } 18143 if (element.hasReported()) { 18144 composeType(t, "NutritionIntake", "reported", element.getReported(), -1); 18145 } 18146 for (int i = 0; i < element.getConsumedItem().size(); i++) { 18147 composeNutritionIntakeConsumedItemComponent(t, "NutritionIntake", "consumedItem", element.getConsumedItem().get(i), i); 18148 } 18149 for (int i = 0; i < element.getIngredientLabel().size(); i++) { 18150 composeNutritionIntakeIngredientLabelComponent(t, "NutritionIntake", "ingredientLabel", element.getIngredientLabel().get(i), i); 18151 } 18152 for (int i = 0; i < element.getPerformer().size(); i++) { 18153 composeNutritionIntakePerformerComponent(t, "NutritionIntake", "performer", element.getPerformer().get(i), i); 18154 } 18155 if (element.hasLocation()) { 18156 composeReference(t, "NutritionIntake", "location", element.getLocation(), -1); 18157 } 18158 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 18159 composeReference(t, "NutritionIntake", "derivedFrom", element.getDerivedFrom().get(i), i); 18160 } 18161 for (int i = 0; i < element.getReason().size(); i++) { 18162 composeCodeableReference(t, "NutritionIntake", "reason", element.getReason().get(i), i); 18163 } 18164 for (int i = 0; i < element.getNote().size(); i++) { 18165 composeAnnotation(t, "NutritionIntake", "note", element.getNote().get(i), i); 18166 } 18167 } 18168 18169 protected void composeNutritionIntakeConsumedItemComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakeConsumedItemComponent element, int index) { 18170 if (element == null) 18171 return; 18172 Complex t; 18173 if (Utilities.noString(parentType)) 18174 t = parent; 18175 else { 18176 t = parent.predicate("fhir:"+parentType+'.'+name); 18177 } 18178 composeBackboneElement(t, "consumedItem", name, element, index); 18179 if (element.hasType()) { 18180 composeCodeableConcept(t, "NutritionIntakeConsumedItemComponent", "type", element.getType(), -1); 18181 } 18182 if (element.hasNutritionProduct()) { 18183 composeCodeableReference(t, "NutritionIntakeConsumedItemComponent", "nutritionProduct", element.getNutritionProduct(), -1); 18184 } 18185 if (element.hasSchedule()) { 18186 composeTiming(t, "NutritionIntakeConsumedItemComponent", "schedule", element.getSchedule(), -1); 18187 } 18188 if (element.hasAmount()) { 18189 composeQuantity(t, "NutritionIntakeConsumedItemComponent", "amount", element.getAmount(), -1); 18190 } 18191 if (element.hasRate()) { 18192 composeQuantity(t, "NutritionIntakeConsumedItemComponent", "rate", element.getRate(), -1); 18193 } 18194 if (element.hasNotConsumedElement()) { 18195 composeBoolean(t, "NutritionIntakeConsumedItemComponent", "notConsumed", element.getNotConsumedElement(), -1); 18196 } 18197 if (element.hasNotConsumedReason()) { 18198 composeCodeableConcept(t, "NutritionIntakeConsumedItemComponent", "notConsumedReason", element.getNotConsumedReason(), -1); 18199 } 18200 } 18201 18202 protected void composeNutritionIntakeIngredientLabelComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakeIngredientLabelComponent element, int index) { 18203 if (element == null) 18204 return; 18205 Complex t; 18206 if (Utilities.noString(parentType)) 18207 t = parent; 18208 else { 18209 t = parent.predicate("fhir:"+parentType+'.'+name); 18210 } 18211 composeBackboneElement(t, "ingredientLabel", name, element, index); 18212 if (element.hasNutrient()) { 18213 composeCodeableReference(t, "NutritionIntakeIngredientLabelComponent", "nutrient", element.getNutrient(), -1); 18214 } 18215 if (element.hasAmount()) { 18216 composeQuantity(t, "NutritionIntakeIngredientLabelComponent", "amount", element.getAmount(), -1); 18217 } 18218 } 18219 18220 protected void composeNutritionIntakePerformerComponent(Complex parent, String parentType, String name, NutritionIntake.NutritionIntakePerformerComponent element, int index) { 18221 if (element == null) 18222 return; 18223 Complex t; 18224 if (Utilities.noString(parentType)) 18225 t = parent; 18226 else { 18227 t = parent.predicate("fhir:"+parentType+'.'+name); 18228 } 18229 composeBackboneElement(t, "performer", name, element, index); 18230 if (element.hasFunction()) { 18231 composeCodeableConcept(t, "NutritionIntakePerformerComponent", "function", element.getFunction(), -1); 18232 } 18233 if (element.hasActor()) { 18234 composeReference(t, "NutritionIntakePerformerComponent", "actor", element.getActor(), -1); 18235 } 18236 } 18237 18238 protected void composeNutritionOrder(Complex parent, String parentType, String name, NutritionOrder element, int index) { 18239 if (element == null) 18240 return; 18241 Complex t; 18242 if (Utilities.noString(parentType)) 18243 t = parent; 18244 else { 18245 t = parent.predicate("fhir:"+parentType+'.'+name); 18246 } 18247 composeDomainResource(t, "NutritionOrder", name, element, index); 18248 for (int i = 0; i < element.getIdentifier().size(); i++) { 18249 composeIdentifier(t, "NutritionOrder", "identifier", element.getIdentifier().get(i), i); 18250 } 18251 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 18252 composeCanonical(t, "NutritionOrder", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 18253 } 18254 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 18255 composeUri(t, "NutritionOrder", "instantiatesUri", element.getInstantiatesUri().get(i), i); 18256 } 18257 for (int i = 0; i < element.getInstantiates().size(); i++) { 18258 composeUri(t, "NutritionOrder", "instantiates", element.getInstantiates().get(i), i); 18259 } 18260 for (int i = 0; i < element.getBasedOn().size(); i++) { 18261 composeReference(t, "NutritionOrder", "basedOn", element.getBasedOn().get(i), i); 18262 } 18263 if (element.hasStatusElement()) { 18264 composeEnum(t, "NutritionOrder", "status", element.getStatusElement(), -1); 18265 } 18266 if (element.hasIntentElement()) { 18267 composeEnum(t, "NutritionOrder", "intent", element.getIntentElement(), -1); 18268 } 18269 if (element.hasPriorityElement()) { 18270 composeCode(t, "NutritionOrder", "priority", element.getPriorityElement(), -1); 18271 } 18272 if (element.hasSubject()) { 18273 composeReference(t, "NutritionOrder", "subject", element.getSubject(), -1); 18274 } 18275 if (element.hasEncounter()) { 18276 composeReference(t, "NutritionOrder", "encounter", element.getEncounter(), -1); 18277 } 18278 for (int i = 0; i < element.getSupportingInformation().size(); i++) { 18279 composeReference(t, "NutritionOrder", "supportingInformation", element.getSupportingInformation().get(i), i); 18280 } 18281 if (element.hasDateTimeElement()) { 18282 composeDateTime(t, "NutritionOrder", "dateTime", element.getDateTimeElement(), -1); 18283 } 18284 if (element.hasOrderer()) { 18285 composeReference(t, "NutritionOrder", "orderer", element.getOrderer(), -1); 18286 } 18287 for (int i = 0; i < element.getPerformer().size(); i++) { 18288 composeCodeableReference(t, "NutritionOrder", "performer", element.getPerformer().get(i), i); 18289 } 18290 for (int i = 0; i < element.getAllergyIntolerance().size(); i++) { 18291 composeReference(t, "NutritionOrder", "allergyIntolerance", element.getAllergyIntolerance().get(i), i); 18292 } 18293 for (int i = 0; i < element.getFoodPreferenceModifier().size(); i++) { 18294 composeCodeableConcept(t, "NutritionOrder", "foodPreferenceModifier", element.getFoodPreferenceModifier().get(i), i); 18295 } 18296 for (int i = 0; i < element.getExcludeFoodModifier().size(); i++) { 18297 composeCodeableConcept(t, "NutritionOrder", "excludeFoodModifier", element.getExcludeFoodModifier().get(i), i); 18298 } 18299 if (element.hasOutsideFoodAllowedElement()) { 18300 composeBoolean(t, "NutritionOrder", "outsideFoodAllowed", element.getOutsideFoodAllowedElement(), -1); 18301 } 18302 if (element.hasOralDiet()) { 18303 composeNutritionOrderOralDietComponent(t, "NutritionOrder", "oralDiet", element.getOralDiet(), -1); 18304 } 18305 for (int i = 0; i < element.getSupplement().size(); i++) { 18306 composeNutritionOrderSupplementComponent(t, "NutritionOrder", "supplement", element.getSupplement().get(i), i); 18307 } 18308 if (element.hasEnteralFormula()) { 18309 composeNutritionOrderEnteralFormulaComponent(t, "NutritionOrder", "enteralFormula", element.getEnteralFormula(), -1); 18310 } 18311 for (int i = 0; i < element.getNote().size(); i++) { 18312 composeAnnotation(t, "NutritionOrder", "note", element.getNote().get(i), i); 18313 } 18314 } 18315 18316 protected void composeNutritionOrderOralDietComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietComponent element, int index) { 18317 if (element == null) 18318 return; 18319 Complex t; 18320 if (Utilities.noString(parentType)) 18321 t = parent; 18322 else { 18323 t = parent.predicate("fhir:"+parentType+'.'+name); 18324 } 18325 composeBackboneElement(t, "oralDiet", name, element, index); 18326 for (int i = 0; i < element.getType().size(); i++) { 18327 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "type", element.getType().get(i), i); 18328 } 18329 if (element.hasSchedule()) { 18330 composeNutritionOrderOralDietScheduleComponent(t, "NutritionOrderOralDietComponent", "schedule", element.getSchedule(), -1); 18331 } 18332 for (int i = 0; i < element.getNutrient().size(); i++) { 18333 composeNutritionOrderOralDietNutrientComponent(t, "NutritionOrderOralDietComponent", "nutrient", element.getNutrient().get(i), i); 18334 } 18335 for (int i = 0; i < element.getTexture().size(); i++) { 18336 composeNutritionOrderOralDietTextureComponent(t, "NutritionOrderOralDietComponent", "texture", element.getTexture().get(i), i); 18337 } 18338 for (int i = 0; i < element.getFluidConsistencyType().size(); i++) { 18339 composeCodeableConcept(t, "NutritionOrderOralDietComponent", "fluidConsistencyType", element.getFluidConsistencyType().get(i), i); 18340 } 18341 if (element.hasInstructionElement()) { 18342 composeString(t, "NutritionOrderOralDietComponent", "instruction", element.getInstructionElement(), -1); 18343 } 18344 } 18345 18346 protected void composeNutritionOrderOralDietScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.OralDietScheduleComponent element, int index) { 18347 if (element == null) 18348 return; 18349 Complex t; 18350 if (Utilities.noString(parentType)) 18351 t = parent; 18352 else { 18353 t = parent.predicate("fhir:"+parentType+'.'+name); 18354 } 18355 composeBackboneElement(t, "schedule", name, element, index); 18356 for (int i = 0; i < element.getTiming().size(); i++) { 18357 composeTiming(t, "OralDietScheduleComponent", "timing", element.getTiming().get(i), i); 18358 } 18359 if (element.hasAsNeededElement()) { 18360 composeBoolean(t, "OralDietScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); 18361 } 18362 if (element.hasAsNeededFor()) { 18363 composeCodeableConcept(t, "OralDietScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); 18364 } 18365 } 18366 18367 protected void composeNutritionOrderOralDietNutrientComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element, int index) { 18368 if (element == null) 18369 return; 18370 Complex t; 18371 if (Utilities.noString(parentType)) 18372 t = parent; 18373 else { 18374 t = parent.predicate("fhir:"+parentType+'.'+name); 18375 } 18376 composeBackboneElement(t, "nutrient", name, element, index); 18377 if (element.hasModifier()) { 18378 composeCodeableConcept(t, "NutritionOrderOralDietNutrientComponent", "modifier", element.getModifier(), -1); 18379 } 18380 if (element.hasAmount()) { 18381 composeQuantity(t, "NutritionOrderOralDietNutrientComponent", "amount", element.getAmount(), -1); 18382 } 18383 } 18384 18385 protected void composeNutritionOrderOralDietTextureComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietTextureComponent 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, "texture", name, element, index); 18395 if (element.hasModifier()) { 18396 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "modifier", element.getModifier(), -1); 18397 } 18398 if (element.hasFoodType()) { 18399 composeCodeableConcept(t, "NutritionOrderOralDietTextureComponent", "foodType", element.getFoodType(), -1); 18400 } 18401 } 18402 18403 protected void composeNutritionOrderSupplementComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderSupplementComponent element, int index) { 18404 if (element == null) 18405 return; 18406 Complex t; 18407 if (Utilities.noString(parentType)) 18408 t = parent; 18409 else { 18410 t = parent.predicate("fhir:"+parentType+'.'+name); 18411 } 18412 composeBackboneElement(t, "supplement", name, element, index); 18413 if (element.hasType()) { 18414 composeCodeableReference(t, "NutritionOrderSupplementComponent", "type", element.getType(), -1); 18415 } 18416 if (element.hasProductNameElement()) { 18417 composeString(t, "NutritionOrderSupplementComponent", "productName", element.getProductNameElement(), -1); 18418 } 18419 if (element.hasSchedule()) { 18420 composeNutritionOrderSupplementScheduleComponent(t, "NutritionOrderSupplementComponent", "schedule", element.getSchedule(), -1); 18421 } 18422 if (element.hasQuantity()) { 18423 composeQuantity(t, "NutritionOrderSupplementComponent", "quantity", element.getQuantity(), -1); 18424 } 18425 if (element.hasInstructionElement()) { 18426 composeString(t, "NutritionOrderSupplementComponent", "instruction", element.getInstructionElement(), -1); 18427 } 18428 } 18429 18430 protected void composeNutritionOrderSupplementScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.SupplementScheduleComponent element, int index) { 18431 if (element == null) 18432 return; 18433 Complex t; 18434 if (Utilities.noString(parentType)) 18435 t = parent; 18436 else { 18437 t = parent.predicate("fhir:"+parentType+'.'+name); 18438 } 18439 composeBackboneElement(t, "schedule", name, element, index); 18440 for (int i = 0; i < element.getTiming().size(); i++) { 18441 composeTiming(t, "SupplementScheduleComponent", "timing", element.getTiming().get(i), i); 18442 } 18443 if (element.hasAsNeededElement()) { 18444 composeBoolean(t, "SupplementScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); 18445 } 18446 if (element.hasAsNeededFor()) { 18447 composeCodeableConcept(t, "SupplementScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); 18448 } 18449 } 18450 18451 protected void composeNutritionOrderEnteralFormulaComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element, int index) { 18452 if (element == null) 18453 return; 18454 Complex t; 18455 if (Utilities.noString(parentType)) 18456 t = parent; 18457 else { 18458 t = parent.predicate("fhir:"+parentType+'.'+name); 18459 } 18460 composeBackboneElement(t, "enteralFormula", name, element, index); 18461 if (element.hasBaseFormulaType()) { 18462 composeCodeableReference(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaType", element.getBaseFormulaType(), -1); 18463 } 18464 if (element.hasBaseFormulaProductNameElement()) { 18465 composeString(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaProductName", element.getBaseFormulaProductNameElement(), -1); 18466 } 18467 for (int i = 0; i < element.getDeliveryDevice().size(); i++) { 18468 composeCodeableReference(t, "NutritionOrderEnteralFormulaComponent", "deliveryDevice", element.getDeliveryDevice().get(i), i); 18469 } 18470 for (int i = 0; i < element.getAdditive().size(); i++) { 18471 composeNutritionOrderEnteralFormulaAdditiveComponent(t, "NutritionOrderEnteralFormulaComponent", "additive", element.getAdditive().get(i), i); 18472 } 18473 if (element.hasCaloricDensity()) { 18474 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "caloricDensity", element.getCaloricDensity(), -1); 18475 } 18476 if (element.hasRouteOfAdministration()) { 18477 composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "routeOfAdministration", element.getRouteOfAdministration(), -1); 18478 } 18479 for (int i = 0; i < element.getAdministration().size(); i++) { 18480 composeNutritionOrderEnteralFormulaAdministrationComponent(t, "NutritionOrderEnteralFormulaComponent", "administration", element.getAdministration().get(i), i); 18481 } 18482 if (element.hasMaxVolumeToDeliver()) { 18483 composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "maxVolumeToDeliver", element.getMaxVolumeToDeliver(), -1); 18484 } 18485 if (element.hasAdministrationInstructionElement()) { 18486 composeString(t, "NutritionOrderEnteralFormulaComponent", "administrationInstruction", element.getAdministrationInstructionElement(), -1); 18487 } 18488 } 18489 18490 protected void composeNutritionOrderEnteralFormulaAdditiveComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element, int index) { 18491 if (element == null) 18492 return; 18493 Complex t; 18494 if (Utilities.noString(parentType)) 18495 t = parent; 18496 else { 18497 t = parent.predicate("fhir:"+parentType+'.'+name); 18498 } 18499 composeBackboneElement(t, "additive", name, element, index); 18500 if (element.hasType()) { 18501 composeCodeableReference(t, "NutritionOrderEnteralFormulaAdditiveComponent", "type", element.getType(), -1); 18502 } 18503 if (element.hasProductNameElement()) { 18504 composeString(t, "NutritionOrderEnteralFormulaAdditiveComponent", "productName", element.getProductNameElement(), -1); 18505 } 18506 if (element.hasQuantity()) { 18507 composeQuantity(t, "NutritionOrderEnteralFormulaAdditiveComponent", "quantity", element.getQuantity(), -1); 18508 } 18509 } 18510 18511 protected void composeNutritionOrderEnteralFormulaAdministrationComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element, int index) { 18512 if (element == null) 18513 return; 18514 Complex t; 18515 if (Utilities.noString(parentType)) 18516 t = parent; 18517 else { 18518 t = parent.predicate("fhir:"+parentType+'.'+name); 18519 } 18520 composeBackboneElement(t, "administration", name, element, index); 18521 if (element.hasSchedule()) { 18522 composeNutritionOrderEnteralFormulaScheduleComponent(t, "NutritionOrderEnteralFormulaAdministrationComponent", "schedule", element.getSchedule(), -1); 18523 } 18524 if (element.hasQuantity()) { 18525 composeQuantity(t, "NutritionOrderEnteralFormulaAdministrationComponent", "quantity", element.getQuantity(), -1); 18526 } 18527 if (element.hasRate()) { 18528 composeType(t, "NutritionOrderEnteralFormulaAdministrationComponent", "rate", element.getRate(), -1); 18529 } 18530 } 18531 18532 protected void composeNutritionOrderEnteralFormulaScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.EnteralFormulaScheduleComponent element, int index) { 18533 if (element == null) 18534 return; 18535 Complex t; 18536 if (Utilities.noString(parentType)) 18537 t = parent; 18538 else { 18539 t = parent.predicate("fhir:"+parentType+'.'+name); 18540 } 18541 composeBackboneElement(t, "schedule", name, element, index); 18542 for (int i = 0; i < element.getTiming().size(); i++) { 18543 composeTiming(t, "EnteralFormulaScheduleComponent", "timing", element.getTiming().get(i), i); 18544 } 18545 if (element.hasAsNeededElement()) { 18546 composeBoolean(t, "EnteralFormulaScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); 18547 } 18548 if (element.hasAsNeededFor()) { 18549 composeCodeableConcept(t, "EnteralFormulaScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); 18550 } 18551 } 18552 18553 protected void composeNutritionProduct(Complex parent, String parentType, String name, NutritionProduct element, int index) { 18554 if (element == null) 18555 return; 18556 Complex t; 18557 if (Utilities.noString(parentType)) 18558 t = parent; 18559 else { 18560 t = parent.predicate("fhir:"+parentType+'.'+name); 18561 } 18562 composeDomainResource(t, "NutritionProduct", name, element, index); 18563 if (element.hasCode()) { 18564 composeCodeableConcept(t, "NutritionProduct", "code", element.getCode(), -1); 18565 } 18566 if (element.hasStatusElement()) { 18567 composeEnum(t, "NutritionProduct", "status", element.getStatusElement(), -1); 18568 } 18569 for (int i = 0; i < element.getCategory().size(); i++) { 18570 composeCodeableConcept(t, "NutritionProduct", "category", element.getCategory().get(i), i); 18571 } 18572 for (int i = 0; i < element.getManufacturer().size(); i++) { 18573 composeReference(t, "NutritionProduct", "manufacturer", element.getManufacturer().get(i), i); 18574 } 18575 for (int i = 0; i < element.getNutrient().size(); i++) { 18576 composeNutritionProductNutrientComponent(t, "NutritionProduct", "nutrient", element.getNutrient().get(i), i); 18577 } 18578 for (int i = 0; i < element.getIngredient().size(); i++) { 18579 composeNutritionProductIngredientComponent(t, "NutritionProduct", "ingredient", element.getIngredient().get(i), i); 18580 } 18581 for (int i = 0; i < element.getKnownAllergen().size(); i++) { 18582 composeCodeableReference(t, "NutritionProduct", "knownAllergen", element.getKnownAllergen().get(i), i); 18583 } 18584 for (int i = 0; i < element.getCharacteristic().size(); i++) { 18585 composeNutritionProductCharacteristicComponent(t, "NutritionProduct", "characteristic", element.getCharacteristic().get(i), i); 18586 } 18587 for (int i = 0; i < element.getInstance().size(); i++) { 18588 composeNutritionProductInstanceComponent(t, "NutritionProduct", "instance", element.getInstance().get(i), i); 18589 } 18590 for (int i = 0; i < element.getNote().size(); i++) { 18591 composeAnnotation(t, "NutritionProduct", "note", element.getNote().get(i), i); 18592 } 18593 } 18594 18595 protected void composeNutritionProductNutrientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductNutrientComponent element, int index) { 18596 if (element == null) 18597 return; 18598 Complex t; 18599 if (Utilities.noString(parentType)) 18600 t = parent; 18601 else { 18602 t = parent.predicate("fhir:"+parentType+'.'+name); 18603 } 18604 composeBackboneElement(t, "nutrient", name, element, index); 18605 if (element.hasItem()) { 18606 composeCodeableReference(t, "NutritionProductNutrientComponent", "item", element.getItem(), -1); 18607 } 18608 for (int i = 0; i < element.getAmount().size(); i++) { 18609 composeRatio(t, "NutritionProductNutrientComponent", "amount", element.getAmount().get(i), i); 18610 } 18611 } 18612 18613 protected void composeNutritionProductIngredientComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductIngredientComponent element, int index) { 18614 if (element == null) 18615 return; 18616 Complex t; 18617 if (Utilities.noString(parentType)) 18618 t = parent; 18619 else { 18620 t = parent.predicate("fhir:"+parentType+'.'+name); 18621 } 18622 composeBackboneElement(t, "ingredient", name, element, index); 18623 if (element.hasItem()) { 18624 composeCodeableReference(t, "NutritionProductIngredientComponent", "item", element.getItem(), -1); 18625 } 18626 for (int i = 0; i < element.getAmount().size(); i++) { 18627 composeRatio(t, "NutritionProductIngredientComponent", "amount", element.getAmount().get(i), i); 18628 } 18629 } 18630 18631 protected void composeNutritionProductCharacteristicComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductCharacteristicComponent element, int index) { 18632 if (element == null) 18633 return; 18634 Complex t; 18635 if (Utilities.noString(parentType)) 18636 t = parent; 18637 else { 18638 t = parent.predicate("fhir:"+parentType+'.'+name); 18639 } 18640 composeBackboneElement(t, "characteristic", name, element, index); 18641 if (element.hasType()) { 18642 composeCodeableConcept(t, "NutritionProductCharacteristicComponent", "type", element.getType(), -1); 18643 } 18644 if (element.hasValue()) { 18645 composeType(t, "NutritionProductCharacteristicComponent", "value", element.getValue(), -1); 18646 } 18647 } 18648 18649 protected void composeNutritionProductInstanceComponent(Complex parent, String parentType, String name, NutritionProduct.NutritionProductInstanceComponent element, int index) { 18650 if (element == null) 18651 return; 18652 Complex t; 18653 if (Utilities.noString(parentType)) 18654 t = parent; 18655 else { 18656 t = parent.predicate("fhir:"+parentType+'.'+name); 18657 } 18658 composeBackboneElement(t, "instance", name, element, index); 18659 if (element.hasQuantity()) { 18660 composeQuantity(t, "NutritionProductInstanceComponent", "quantity", element.getQuantity(), -1); 18661 } 18662 for (int i = 0; i < element.getIdentifier().size(); i++) { 18663 composeIdentifier(t, "NutritionProductInstanceComponent", "identifier", element.getIdentifier().get(i), i); 18664 } 18665 if (element.hasNameElement()) { 18666 composeString(t, "NutritionProductInstanceComponent", "name", element.getNameElement(), -1); 18667 } 18668 if (element.hasLotNumberElement()) { 18669 composeString(t, "NutritionProductInstanceComponent", "lotNumber", element.getLotNumberElement(), -1); 18670 } 18671 if (element.hasExpiryElement()) { 18672 composeDateTime(t, "NutritionProductInstanceComponent", "expiry", element.getExpiryElement(), -1); 18673 } 18674 if (element.hasUseByElement()) { 18675 composeDateTime(t, "NutritionProductInstanceComponent", "useBy", element.getUseByElement(), -1); 18676 } 18677 if (element.hasBiologicalSourceEvent()) { 18678 composeIdentifier(t, "NutritionProductInstanceComponent", "biologicalSourceEvent", element.getBiologicalSourceEvent(), -1); 18679 } 18680 } 18681 18682 protected void composeObservation(Complex parent, String parentType, String name, Observation element, int index) { 18683 if (element == null) 18684 return; 18685 Complex t; 18686 if (Utilities.noString(parentType)) 18687 t = parent; 18688 else { 18689 t = parent.predicate("fhir:"+parentType+'.'+name); 18690 } 18691 composeDomainResource(t, "Observation", name, element, index); 18692 for (int i = 0; i < element.getIdentifier().size(); i++) { 18693 composeIdentifier(t, "Observation", "identifier", element.getIdentifier().get(i), i); 18694 } 18695 if (element.hasInstantiates()) { 18696 composeType(t, "Observation", "instantiates", element.getInstantiates(), -1); 18697 } 18698 for (int i = 0; i < element.getBasedOn().size(); i++) { 18699 composeReference(t, "Observation", "basedOn", element.getBasedOn().get(i), i); 18700 } 18701 for (int i = 0; i < element.getTriggeredBy().size(); i++) { 18702 composeObservationTriggeredByComponent(t, "Observation", "triggeredBy", element.getTriggeredBy().get(i), i); 18703 } 18704 for (int i = 0; i < element.getPartOf().size(); i++) { 18705 composeReference(t, "Observation", "partOf", element.getPartOf().get(i), i); 18706 } 18707 if (element.hasStatusElement()) { 18708 composeEnum(t, "Observation", "status", element.getStatusElement(), -1); 18709 } 18710 for (int i = 0; i < element.getCategory().size(); i++) { 18711 composeCodeableConcept(t, "Observation", "category", element.getCategory().get(i), i); 18712 } 18713 if (element.hasCode()) { 18714 composeCodeableConcept(t, "Observation", "code", element.getCode(), -1); 18715 } 18716 if (element.hasSubject()) { 18717 composeReference(t, "Observation", "subject", element.getSubject(), -1); 18718 } 18719 for (int i = 0; i < element.getFocus().size(); i++) { 18720 composeReference(t, "Observation", "focus", element.getFocus().get(i), i); 18721 } 18722 if (element.hasEncounter()) { 18723 composeReference(t, "Observation", "encounter", element.getEncounter(), -1); 18724 } 18725 if (element.hasEffective()) { 18726 composeType(t, "Observation", "effective", element.getEffective(), -1); 18727 } 18728 if (element.hasIssuedElement()) { 18729 composeInstant(t, "Observation", "issued", element.getIssuedElement(), -1); 18730 } 18731 for (int i = 0; i < element.getPerformer().size(); i++) { 18732 composeReference(t, "Observation", "performer", element.getPerformer().get(i), i); 18733 } 18734 if (element.hasValue()) { 18735 composeType(t, "Observation", "value", element.getValue(), -1); 18736 } 18737 if (element.hasDataAbsentReason()) { 18738 composeCodeableConcept(t, "Observation", "dataAbsentReason", element.getDataAbsentReason(), -1); 18739 } 18740 for (int i = 0; i < element.getInterpretation().size(); i++) { 18741 composeCodeableConcept(t, "Observation", "interpretation", element.getInterpretation().get(i), i); 18742 } 18743 for (int i = 0; i < element.getNote().size(); i++) { 18744 composeAnnotation(t, "Observation", "note", element.getNote().get(i), i); 18745 } 18746 if (element.hasBodySite()) { 18747 composeCodeableConcept(t, "Observation", "bodySite", element.getBodySite(), -1); 18748 } 18749 if (element.hasBodyStructure()) { 18750 composeReference(t, "Observation", "bodyStructure", element.getBodyStructure(), -1); 18751 } 18752 if (element.hasMethod()) { 18753 composeCodeableConcept(t, "Observation", "method", element.getMethod(), -1); 18754 } 18755 if (element.hasSpecimen()) { 18756 composeReference(t, "Observation", "specimen", element.getSpecimen(), -1); 18757 } 18758 if (element.hasDevice()) { 18759 composeReference(t, "Observation", "device", element.getDevice(), -1); 18760 } 18761 for (int i = 0; i < element.getReferenceRange().size(); i++) { 18762 composeObservationReferenceRangeComponent(t, "Observation", "referenceRange", element.getReferenceRange().get(i), i); 18763 } 18764 for (int i = 0; i < element.getHasMember().size(); i++) { 18765 composeReference(t, "Observation", "hasMember", element.getHasMember().get(i), i); 18766 } 18767 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 18768 composeReference(t, "Observation", "derivedFrom", element.getDerivedFrom().get(i), i); 18769 } 18770 for (int i = 0; i < element.getComponent().size(); i++) { 18771 composeObservationComponentComponent(t, "Observation", "component", element.getComponent().get(i), i); 18772 } 18773 } 18774 18775 protected void composeObservationTriggeredByComponent(Complex parent, String parentType, String name, Observation.ObservationTriggeredByComponent element, int index) { 18776 if (element == null) 18777 return; 18778 Complex t; 18779 if (Utilities.noString(parentType)) 18780 t = parent; 18781 else { 18782 t = parent.predicate("fhir:"+parentType+'.'+name); 18783 } 18784 composeBackboneElement(t, "triggeredBy", name, element, index); 18785 if (element.hasObservation()) { 18786 composeReference(t, "ObservationTriggeredByComponent", "observation", element.getObservation(), -1); 18787 } 18788 if (element.hasTypeElement()) { 18789 composeEnum(t, "ObservationTriggeredByComponent", "type", element.getTypeElement(), -1); 18790 } 18791 if (element.hasReasonElement()) { 18792 composeString(t, "ObservationTriggeredByComponent", "reason", element.getReasonElement(), -1); 18793 } 18794 } 18795 18796 protected void composeObservationReferenceRangeComponent(Complex parent, String parentType, String name, Observation.ObservationReferenceRangeComponent element, int index) { 18797 if (element == null) 18798 return; 18799 Complex t; 18800 if (Utilities.noString(parentType)) 18801 t = parent; 18802 else { 18803 t = parent.predicate("fhir:"+parentType+'.'+name); 18804 } 18805 composeBackboneElement(t, "referenceRange", name, element, index); 18806 if (element.hasLow()) { 18807 composeQuantity(t, "ObservationReferenceRangeComponent", "low", element.getLow(), -1); 18808 } 18809 if (element.hasHigh()) { 18810 composeQuantity(t, "ObservationReferenceRangeComponent", "high", element.getHigh(), -1); 18811 } 18812 if (element.hasNormalValue()) { 18813 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "normalValue", element.getNormalValue(), -1); 18814 } 18815 if (element.hasType()) { 18816 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "type", element.getType(), -1); 18817 } 18818 for (int i = 0; i < element.getAppliesTo().size(); i++) { 18819 composeCodeableConcept(t, "ObservationReferenceRangeComponent", "appliesTo", element.getAppliesTo().get(i), i); 18820 } 18821 if (element.hasAge()) { 18822 composeRange(t, "ObservationReferenceRangeComponent", "age", element.getAge(), -1); 18823 } 18824 if (element.hasTextElement()) { 18825 composeString(t, "ObservationReferenceRangeComponent", "text", element.getTextElement(), -1); 18826 } 18827 } 18828 18829 protected void composeObservationComponentComponent(Complex parent, String parentType, String name, Observation.ObservationComponentComponent element, int index) { 18830 if (element == null) 18831 return; 18832 Complex t; 18833 if (Utilities.noString(parentType)) 18834 t = parent; 18835 else { 18836 t = parent.predicate("fhir:"+parentType+'.'+name); 18837 } 18838 composeBackboneElement(t, "component", name, element, index); 18839 if (element.hasCode()) { 18840 composeCodeableConcept(t, "ObservationComponentComponent", "code", element.getCode(), -1); 18841 } 18842 if (element.hasValue()) { 18843 composeType(t, "ObservationComponentComponent", "value", element.getValue(), -1); 18844 } 18845 if (element.hasDataAbsentReason()) { 18846 composeCodeableConcept(t, "ObservationComponentComponent", "dataAbsentReason", element.getDataAbsentReason(), -1); 18847 } 18848 for (int i = 0; i < element.getInterpretation().size(); i++) { 18849 composeCodeableConcept(t, "ObservationComponentComponent", "interpretation", element.getInterpretation().get(i), i); 18850 } 18851 for (int i = 0; i < element.getReferenceRange().size(); i++) { 18852 composeObservationReferenceRangeComponent(t, "ObservationComponentComponent", "referenceRange", element.getReferenceRange().get(i), i); 18853 } 18854 } 18855 18856 protected void composeObservationDefinition(Complex parent, String parentType, String name, ObservationDefinition element, int index) { 18857 if (element == null) 18858 return; 18859 Complex t; 18860 if (Utilities.noString(parentType)) 18861 t = parent; 18862 else { 18863 t = parent.predicate("fhir:"+parentType+'.'+name); 18864 } 18865 composeDomainResource(t, "ObservationDefinition", name, element, index); 18866 if (element.hasUrlElement()) { 18867 composeUri(t, "ObservationDefinition", "url", element.getUrlElement(), -1); 18868 } 18869 if (element.hasIdentifier()) { 18870 composeIdentifier(t, "ObservationDefinition", "identifier", element.getIdentifier(), -1); 18871 } 18872 if (element.hasVersionElement()) { 18873 composeString(t, "ObservationDefinition", "version", element.getVersionElement(), -1); 18874 } 18875 if (element.hasNameElement()) { 18876 composeString(t, "ObservationDefinition", "name", element.getNameElement(), -1); 18877 } 18878 if (element.hasTitleElement()) { 18879 composeString(t, "ObservationDefinition", "title", element.getTitleElement(), -1); 18880 } 18881 if (element.hasStatusElement()) { 18882 composeEnum(t, "ObservationDefinition", "status", element.getStatusElement(), -1); 18883 } 18884 if (element.hasExperimentalElement()) { 18885 composeBoolean(t, "ObservationDefinition", "experimental", element.getExperimentalElement(), -1); 18886 } 18887 if (element.hasDateElement()) { 18888 composeDateTime(t, "ObservationDefinition", "date", element.getDateElement(), -1); 18889 } 18890 if (element.hasPublisherElement()) { 18891 composeString(t, "ObservationDefinition", "publisher", element.getPublisherElement(), -1); 18892 } 18893 for (int i = 0; i < element.getContact().size(); i++) { 18894 composeContactDetail(t, "ObservationDefinition", "contact", element.getContact().get(i), i); 18895 } 18896 if (element.hasDescriptionElement()) { 18897 composeMarkdown(t, "ObservationDefinition", "description", element.getDescriptionElement(), -1); 18898 } 18899 for (int i = 0; i < element.getUseContext().size(); i++) { 18900 composeUsageContext(t, "ObservationDefinition", "useContext", element.getUseContext().get(i), i); 18901 } 18902 for (int i = 0; i < element.getJurisdiction().size(); i++) { 18903 composeCodeableConcept(t, "ObservationDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 18904 } 18905 if (element.hasPurposeElement()) { 18906 composeMarkdown(t, "ObservationDefinition", "purpose", element.getPurposeElement(), -1); 18907 } 18908 if (element.hasCopyrightElement()) { 18909 composeMarkdown(t, "ObservationDefinition", "copyright", element.getCopyrightElement(), -1); 18910 } 18911 if (element.hasApprovalDateElement()) { 18912 composeDate(t, "ObservationDefinition", "approvalDate", element.getApprovalDateElement(), -1); 18913 } 18914 if (element.hasLastReviewDateElement()) { 18915 composeDate(t, "ObservationDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 18916 } 18917 if (element.hasEffectivePeriod()) { 18918 composePeriod(t, "ObservationDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 18919 } 18920 for (int i = 0; i < element.getDerivedFromCanonical().size(); i++) { 18921 composeCanonical(t, "ObservationDefinition", "derivedFromCanonical", element.getDerivedFromCanonical().get(i), i); 18922 } 18923 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 18924 composeUri(t, "ObservationDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 18925 } 18926 for (int i = 0; i < element.getSubject().size(); i++) { 18927 composeCodeableConcept(t, "ObservationDefinition", "subject", element.getSubject().get(i), i); 18928 } 18929 if (element.hasPerformerType()) { 18930 composeCodeableConcept(t, "ObservationDefinition", "performerType", element.getPerformerType(), -1); 18931 } 18932 for (int i = 0; i < element.getCategory().size(); i++) { 18933 composeCodeableConcept(t, "ObservationDefinition", "category", element.getCategory().get(i), i); 18934 } 18935 if (element.hasCode()) { 18936 composeCodeableConcept(t, "ObservationDefinition", "code", element.getCode(), -1); 18937 } 18938 for (int i = 0; i < element.getPermittedDataType().size(); i++) { 18939 composeEnum(t, "ObservationDefinition", "permittedDataType", element.getPermittedDataType().get(i), i); 18940 } 18941 if (element.hasMultipleResultsAllowedElement()) { 18942 composeBoolean(t, "ObservationDefinition", "multipleResultsAllowed", element.getMultipleResultsAllowedElement(), -1); 18943 } 18944 if (element.hasBodySite()) { 18945 composeCodeableConcept(t, "ObservationDefinition", "bodySite", element.getBodySite(), -1); 18946 } 18947 if (element.hasMethod()) { 18948 composeCodeableConcept(t, "ObservationDefinition", "method", element.getMethod(), -1); 18949 } 18950 for (int i = 0; i < element.getSpecimen().size(); i++) { 18951 composeReference(t, "ObservationDefinition", "specimen", element.getSpecimen().get(i), i); 18952 } 18953 for (int i = 0; i < element.getDevice().size(); i++) { 18954 composeReference(t, "ObservationDefinition", "device", element.getDevice().get(i), i); 18955 } 18956 if (element.hasPreferredReportNameElement()) { 18957 composeString(t, "ObservationDefinition", "preferredReportName", element.getPreferredReportNameElement(), -1); 18958 } 18959 if (element.hasQuantitativeDetails()) { 18960 composeObservationDefinitionQuantitativeDetailsComponent(t, "ObservationDefinition", "quantitativeDetails", element.getQuantitativeDetails(), -1); 18961 } 18962 for (int i = 0; i < element.getQualifiedValue().size(); i++) { 18963 composeObservationDefinitionQualifiedValueComponent(t, "ObservationDefinition", "qualifiedValue", element.getQualifiedValue().get(i), i); 18964 } 18965 for (int i = 0; i < element.getHasMember().size(); i++) { 18966 composeReference(t, "ObservationDefinition", "hasMember", element.getHasMember().get(i), i); 18967 } 18968 for (int i = 0; i < element.getComponent().size(); i++) { 18969 composeObservationDefinitionComponentComponent(t, "ObservationDefinition", "component", element.getComponent().get(i), i); 18970 } 18971 } 18972 18973 protected void composeObservationDefinitionQuantitativeDetailsComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent 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, "quantitativeDetails", name, element, index); 18983 if (element.hasUnit()) { 18984 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "unit", element.getUnit(), -1); 18985 } 18986 if (element.hasCustomaryUnit()) { 18987 composeCodeableConcept(t, "ObservationDefinitionQuantitativeDetailsComponent", "customaryUnit", element.getCustomaryUnit(), -1); 18988 } 18989 if (element.hasConversionFactorElement()) { 18990 composeDecimal(t, "ObservationDefinitionQuantitativeDetailsComponent", "conversionFactor", element.getConversionFactorElement(), -1); 18991 } 18992 if (element.hasDecimalPrecisionElement()) { 18993 composeInteger(t, "ObservationDefinitionQuantitativeDetailsComponent", "decimalPrecision", element.getDecimalPrecisionElement(), -1); 18994 } 18995 } 18996 18997 protected void composeObservationDefinitionQualifiedValueComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionQualifiedValueComponent 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 composeBackboneElement(t, "qualifiedValue", name, element, index); 19007 if (element.hasContext()) { 19008 composeCodeableConcept(t, "ObservationDefinitionQualifiedValueComponent", "context", element.getContext(), -1); 19009 } 19010 for (int i = 0; i < element.getAppliesTo().size(); i++) { 19011 composeCodeableConcept(t, "ObservationDefinitionQualifiedValueComponent", "appliesTo", element.getAppliesTo().get(i), i); 19012 } 19013 if (element.hasGenderElement()) { 19014 composeEnum(t, "ObservationDefinitionQualifiedValueComponent", "gender", element.getGenderElement(), -1); 19015 } 19016 if (element.hasAge()) { 19017 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "age", element.getAge(), -1); 19018 } 19019 if (element.hasGestationalAge()) { 19020 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "gestationalAge", element.getGestationalAge(), -1); 19021 } 19022 if (element.hasConditionElement()) { 19023 composeString(t, "ObservationDefinitionQualifiedValueComponent", "condition", element.getConditionElement(), -1); 19024 } 19025 if (element.hasRangeCategoryElement()) { 19026 composeEnum(t, "ObservationDefinitionQualifiedValueComponent", "rangeCategory", element.getRangeCategoryElement(), -1); 19027 } 19028 if (element.hasRange()) { 19029 composeRange(t, "ObservationDefinitionQualifiedValueComponent", "range", element.getRange(), -1); 19030 } 19031 if (element.hasValidCodedValueSetElement()) { 19032 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "validCodedValueSet", element.getValidCodedValueSetElement(), -1); 19033 } 19034 if (element.hasNormalCodedValueSetElement()) { 19035 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "normalCodedValueSet", element.getNormalCodedValueSetElement(), -1); 19036 } 19037 if (element.hasAbnormalCodedValueSetElement()) { 19038 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "abnormalCodedValueSet", element.getAbnormalCodedValueSetElement(), -1); 19039 } 19040 if (element.hasCriticalCodedValueSetElement()) { 19041 composeCanonical(t, "ObservationDefinitionQualifiedValueComponent", "criticalCodedValueSet", element.getCriticalCodedValueSetElement(), -1); 19042 } 19043 } 19044 19045 protected void composeObservationDefinitionComponentComponent(Complex parent, String parentType, String name, ObservationDefinition.ObservationDefinitionComponentComponent element, int index) { 19046 if (element == null) 19047 return; 19048 Complex t; 19049 if (Utilities.noString(parentType)) 19050 t = parent; 19051 else { 19052 t = parent.predicate("fhir:"+parentType+'.'+name); 19053 } 19054 composeBackboneElement(t, "component", name, element, index); 19055 if (element.hasCode()) { 19056 composeCodeableConcept(t, "ObservationDefinitionComponentComponent", "code", element.getCode(), -1); 19057 } 19058 for (int i = 0; i < element.getPermittedDataType().size(); i++) { 19059 composeEnum(t, "ObservationDefinitionComponentComponent", "permittedDataType", element.getPermittedDataType().get(i), i); 19060 } 19061 if (element.hasQuantitativeDetails()) { 19062 composeObservationDefinitionQuantitativeDetailsComponent(t, "ObservationDefinitionComponentComponent", "quantitativeDetails", element.getQuantitativeDetails(), -1); 19063 } 19064 for (int i = 0; i < element.getQualifiedValue().size(); i++) { 19065 composeObservationDefinitionQualifiedValueComponent(t, "ObservationDefinitionComponentComponent", "qualifiedValue", element.getQualifiedValue().get(i), i); 19066 } 19067 } 19068 19069 protected void composeOperationDefinition(Complex parent, String parentType, String name, OperationDefinition element, int index) { 19070 if (element == null) 19071 return; 19072 Complex t; 19073 if (Utilities.noString(parentType)) 19074 t = parent; 19075 else { 19076 t = parent.predicate("fhir:"+parentType+'.'+name); 19077 } 19078 composeCanonicalResource(t, "OperationDefinition", name, element, index); 19079 if (element.hasUrlElement()) { 19080 composeUri(t, "OperationDefinition", "url", element.getUrlElement(), -1); 19081 } 19082 if (element.hasVersionElement()) { 19083 composeString(t, "OperationDefinition", "version", element.getVersionElement(), -1); 19084 } 19085 if (element.hasVersionAlgorithm()) { 19086 composeType(t, "OperationDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); 19087 } 19088 if (element.hasNameElement()) { 19089 composeString(t, "OperationDefinition", "name", element.getNameElement(), -1); 19090 } 19091 if (element.hasTitleElement()) { 19092 composeString(t, "OperationDefinition", "title", element.getTitleElement(), -1); 19093 } 19094 if (element.hasStatusElement()) { 19095 composeEnum(t, "OperationDefinition", "status", element.getStatusElement(), -1); 19096 } 19097 if (element.hasKindElement()) { 19098 composeEnum(t, "OperationDefinition", "kind", element.getKindElement(), -1); 19099 } 19100 if (element.hasExperimentalElement()) { 19101 composeBoolean(t, "OperationDefinition", "experimental", element.getExperimentalElement(), -1); 19102 } 19103 if (element.hasDateElement()) { 19104 composeDateTime(t, "OperationDefinition", "date", element.getDateElement(), -1); 19105 } 19106 if (element.hasPublisherElement()) { 19107 composeString(t, "OperationDefinition", "publisher", element.getPublisherElement(), -1); 19108 } 19109 for (int i = 0; i < element.getContact().size(); i++) { 19110 composeContactDetail(t, "OperationDefinition", "contact", element.getContact().get(i), i); 19111 } 19112 if (element.hasDescriptionElement()) { 19113 composeMarkdown(t, "OperationDefinition", "description", element.getDescriptionElement(), -1); 19114 } 19115 for (int i = 0; i < element.getUseContext().size(); i++) { 19116 composeUsageContext(t, "OperationDefinition", "useContext", element.getUseContext().get(i), i); 19117 } 19118 for (int i = 0; i < element.getJurisdiction().size(); i++) { 19119 composeCodeableConcept(t, "OperationDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 19120 } 19121 if (element.hasPurposeElement()) { 19122 composeMarkdown(t, "OperationDefinition", "purpose", element.getPurposeElement(), -1); 19123 } 19124 if (element.hasCopyrightElement()) { 19125 composeMarkdown(t, "OperationDefinition", "copyright", element.getCopyrightElement(), -1); 19126 } 19127 if (element.hasCopyrightLabelElement()) { 19128 composeString(t, "OperationDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); 19129 } 19130 if (element.hasAffectsStateElement()) { 19131 composeBoolean(t, "OperationDefinition", "affectsState", element.getAffectsStateElement(), -1); 19132 } 19133 if (element.hasCodeElement()) { 19134 composeCode(t, "OperationDefinition", "code", element.getCodeElement(), -1); 19135 } 19136 if (element.hasCommentElement()) { 19137 composeMarkdown(t, "OperationDefinition", "comment", element.getCommentElement(), -1); 19138 } 19139 if (element.hasBaseElement()) { 19140 composeCanonical(t, "OperationDefinition", "base", element.getBaseElement(), -1); 19141 } 19142 for (int i = 0; i < element.getResource().size(); i++) { 19143 composeCode(t, "OperationDefinition", "resource", element.getResource().get(i), i); 19144 } 19145 if (element.hasSystemElement()) { 19146 composeBoolean(t, "OperationDefinition", "system", element.getSystemElement(), -1); 19147 } 19148 if (element.hasTypeElement()) { 19149 composeBoolean(t, "OperationDefinition", "type", element.getTypeElement(), -1); 19150 } 19151 if (element.hasInstanceElement()) { 19152 composeBoolean(t, "OperationDefinition", "instance", element.getInstanceElement(), -1); 19153 } 19154 if (element.hasInputProfileElement()) { 19155 composeCanonical(t, "OperationDefinition", "inputProfile", element.getInputProfileElement(), -1); 19156 } 19157 if (element.hasOutputProfileElement()) { 19158 composeCanonical(t, "OperationDefinition", "outputProfile", element.getOutputProfileElement(), -1); 19159 } 19160 for (int i = 0; i < element.getParameter().size(); i++) { 19161 composeOperationDefinitionParameterComponent(t, "OperationDefinition", "parameter", element.getParameter().get(i), i); 19162 } 19163 for (int i = 0; i < element.getOverload().size(); i++) { 19164 composeOperationDefinitionOverloadComponent(t, "OperationDefinition", "overload", element.getOverload().get(i), i); 19165 } 19166 } 19167 19168 protected void composeOperationDefinitionParameterComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterComponent element, int index) { 19169 if (element == null) 19170 return; 19171 Complex t; 19172 if (Utilities.noString(parentType)) 19173 t = parent; 19174 else { 19175 t = parent.predicate("fhir:"+parentType+'.'+name); 19176 } 19177 composeBackboneElement(t, "parameter", name, element, index); 19178 if (element.hasNameElement()) { 19179 composeCode(t, "OperationDefinitionParameterComponent", "name", element.getNameElement(), -1); 19180 } 19181 if (element.hasUseElement()) { 19182 composeEnum(t, "OperationDefinitionParameterComponent", "use", element.getUseElement(), -1); 19183 } 19184 for (int i = 0; i < element.getScope().size(); i++) { 19185 composeEnum(t, "OperationDefinitionParameterComponent", "scope", element.getScope().get(i), i); 19186 } 19187 if (element.hasMinElement()) { 19188 composeInteger(t, "OperationDefinitionParameterComponent", "min", element.getMinElement(), -1); 19189 } 19190 if (element.hasMaxElement()) { 19191 composeString(t, "OperationDefinitionParameterComponent", "max", element.getMaxElement(), -1); 19192 } 19193 if (element.hasDocumentationElement()) { 19194 composeMarkdown(t, "OperationDefinitionParameterComponent", "documentation", element.getDocumentationElement(), -1); 19195 } 19196 if (element.hasTypeElement()) { 19197 composeEnum(t, "OperationDefinitionParameterComponent", "type", element.getTypeElement(), -1); 19198 } 19199 for (int i = 0; i < element.getAllowedType().size(); i++) { 19200 composeEnum(t, "OperationDefinitionParameterComponent", "allowedType", element.getAllowedType().get(i), i); 19201 } 19202 for (int i = 0; i < element.getTargetProfile().size(); i++) { 19203 composeCanonical(t, "OperationDefinitionParameterComponent", "targetProfile", element.getTargetProfile().get(i), i); 19204 } 19205 if (element.hasSearchTypeElement()) { 19206 composeEnum(t, "OperationDefinitionParameterComponent", "searchType", element.getSearchTypeElement(), -1); 19207 } 19208 if (element.hasBinding()) { 19209 composeOperationDefinitionParameterBindingComponent(t, "OperationDefinitionParameterComponent", "binding", element.getBinding(), -1); 19210 } 19211 for (int i = 0; i < element.getReferencedFrom().size(); i++) { 19212 composeOperationDefinitionParameterReferencedFromComponent(t, "OperationDefinitionParameterComponent", "referencedFrom", element.getReferencedFrom().get(i), i); 19213 } 19214 for (int i = 0; i < element.getPart().size(); i++) { 19215 composeOperationDefinitionParameterComponent(t, "OperationDefinitionParameterComponent", "part", element.getPart().get(i), i); 19216 } 19217 } 19218 19219 protected void composeOperationDefinitionParameterBindingComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterBindingComponent element, int index) { 19220 if (element == null) 19221 return; 19222 Complex t; 19223 if (Utilities.noString(parentType)) 19224 t = parent; 19225 else { 19226 t = parent.predicate("fhir:"+parentType+'.'+name); 19227 } 19228 composeBackboneElement(t, "binding", name, element, index); 19229 if (element.hasStrengthElement()) { 19230 composeEnum(t, "OperationDefinitionParameterBindingComponent", "strength", element.getStrengthElement(), -1); 19231 } 19232 if (element.hasValueSetElement()) { 19233 composeCanonical(t, "OperationDefinitionParameterBindingComponent", "valueSet", element.getValueSetElement(), -1); 19234 } 19235 } 19236 19237 protected void composeOperationDefinitionParameterReferencedFromComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionParameterReferencedFromComponent element, int index) { 19238 if (element == null) 19239 return; 19240 Complex t; 19241 if (Utilities.noString(parentType)) 19242 t = parent; 19243 else { 19244 t = parent.predicate("fhir:"+parentType+'.'+name); 19245 } 19246 composeBackboneElement(t, "referencedFrom", name, element, index); 19247 if (element.hasSourceElement()) { 19248 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "source", element.getSourceElement(), -1); 19249 } 19250 if (element.hasSourceIdElement()) { 19251 composeString(t, "OperationDefinitionParameterReferencedFromComponent", "sourceId", element.getSourceIdElement(), -1); 19252 } 19253 } 19254 19255 protected void composeOperationDefinitionOverloadComponent(Complex parent, String parentType, String name, OperationDefinition.OperationDefinitionOverloadComponent element, int index) { 19256 if (element == null) 19257 return; 19258 Complex t; 19259 if (Utilities.noString(parentType)) 19260 t = parent; 19261 else { 19262 t = parent.predicate("fhir:"+parentType+'.'+name); 19263 } 19264 composeBackboneElement(t, "overload", name, element, index); 19265 for (int i = 0; i < element.getParameterName().size(); i++) { 19266 composeString(t, "OperationDefinitionOverloadComponent", "parameterName", element.getParameterName().get(i), i); 19267 } 19268 if (element.hasCommentElement()) { 19269 composeString(t, "OperationDefinitionOverloadComponent", "comment", element.getCommentElement(), -1); 19270 } 19271 } 19272 19273 protected void composeOperationOutcome(Complex parent, String parentType, String name, OperationOutcome 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 composeDomainResource(t, "OperationOutcome", name, element, index); 19283 for (int i = 0; i < element.getIssue().size(); i++) { 19284 composeOperationOutcomeIssueComponent(t, "OperationOutcome", "issue", element.getIssue().get(i), i); 19285 } 19286 } 19287 19288 protected void composeOperationOutcomeIssueComponent(Complex parent, String parentType, String name, OperationOutcome.OperationOutcomeIssueComponent element, int index) { 19289 if (element == null) 19290 return; 19291 Complex t; 19292 if (Utilities.noString(parentType)) 19293 t = parent; 19294 else { 19295 t = parent.predicate("fhir:"+parentType+'.'+name); 19296 } 19297 composeBackboneElement(t, "issue", name, element, index); 19298 if (element.hasSeverityElement()) { 19299 composeEnum(t, "OperationOutcomeIssueComponent", "severity", element.getSeverityElement(), -1); 19300 } 19301 if (element.hasCodeElement()) { 19302 composeEnum(t, "OperationOutcomeIssueComponent", "code", element.getCodeElement(), -1); 19303 } 19304 if (element.hasDetails()) { 19305 composeCodeableConcept(t, "OperationOutcomeIssueComponent", "details", element.getDetails(), -1); 19306 } 19307 if (element.hasDiagnosticsElement()) { 19308 composeString(t, "OperationOutcomeIssueComponent", "diagnostics", element.getDiagnosticsElement(), -1); 19309 } 19310 for (int i = 0; i < element.getLocation().size(); i++) { 19311 composeString(t, "OperationOutcomeIssueComponent", "location", element.getLocation().get(i), i); 19312 } 19313 for (int i = 0; i < element.getExpression().size(); i++) { 19314 composeString(t, "OperationOutcomeIssueComponent", "expression", element.getExpression().get(i), i); 19315 } 19316 } 19317 19318 protected void composeOrganization(Complex parent, String parentType, String name, Organization element, int index) { 19319 if (element == null) 19320 return; 19321 Complex t; 19322 if (Utilities.noString(parentType)) 19323 t = parent; 19324 else { 19325 t = parent.predicate("fhir:"+parentType+'.'+name); 19326 } 19327 composeDomainResource(t, "Organization", name, element, index); 19328 for (int i = 0; i < element.getIdentifier().size(); i++) { 19329 composeIdentifier(t, "Organization", "identifier", element.getIdentifier().get(i), i); 19330 } 19331 if (element.hasActiveElement()) { 19332 composeBoolean(t, "Organization", "active", element.getActiveElement(), -1); 19333 } 19334 for (int i = 0; i < element.getType().size(); i++) { 19335 composeCodeableConcept(t, "Organization", "type", element.getType().get(i), i); 19336 } 19337 if (element.hasNameElement()) { 19338 composeString(t, "Organization", "name", element.getNameElement(), -1); 19339 } 19340 for (int i = 0; i < element.getAlias().size(); i++) { 19341 composeString(t, "Organization", "alias", element.getAlias().get(i), i); 19342 } 19343 if (element.hasDescriptionElement()) { 19344 composeString(t, "Organization", "description", element.getDescriptionElement(), -1); 19345 } 19346 for (int i = 0; i < element.getContact().size(); i++) { 19347 composeExtendedContactDetail(t, "Organization", "contact", element.getContact().get(i), i); 19348 } 19349 if (element.hasPartOf()) { 19350 composeReference(t, "Organization", "partOf", element.getPartOf(), -1); 19351 } 19352 for (int i = 0; i < element.getEndpoint().size(); i++) { 19353 composeReference(t, "Organization", "endpoint", element.getEndpoint().get(i), i); 19354 } 19355 for (int i = 0; i < element.getQualification().size(); i++) { 19356 composeOrganizationQualificationComponent(t, "Organization", "qualification", element.getQualification().get(i), i); 19357 } 19358 } 19359 19360 protected void composeOrganizationQualificationComponent(Complex parent, String parentType, String name, Organization.OrganizationQualificationComponent element, int index) { 19361 if (element == null) 19362 return; 19363 Complex t; 19364 if (Utilities.noString(parentType)) 19365 t = parent; 19366 else { 19367 t = parent.predicate("fhir:"+parentType+'.'+name); 19368 } 19369 composeBackboneElement(t, "qualification", name, element, index); 19370 for (int i = 0; i < element.getIdentifier().size(); i++) { 19371 composeIdentifier(t, "OrganizationQualificationComponent", "identifier", element.getIdentifier().get(i), i); 19372 } 19373 if (element.hasCode()) { 19374 composeCodeableConcept(t, "OrganizationQualificationComponent", "code", element.getCode(), -1); 19375 } 19376 if (element.hasPeriod()) { 19377 composePeriod(t, "OrganizationQualificationComponent", "period", element.getPeriod(), -1); 19378 } 19379 if (element.hasIssuer()) { 19380 composeReference(t, "OrganizationQualificationComponent", "issuer", element.getIssuer(), -1); 19381 } 19382 } 19383 19384 protected void composeOrganizationAffiliation(Complex parent, String parentType, String name, OrganizationAffiliation element, int index) { 19385 if (element == null) 19386 return; 19387 Complex t; 19388 if (Utilities.noString(parentType)) 19389 t = parent; 19390 else { 19391 t = parent.predicate("fhir:"+parentType+'.'+name); 19392 } 19393 composeDomainResource(t, "OrganizationAffiliation", name, element, index); 19394 for (int i = 0; i < element.getIdentifier().size(); i++) { 19395 composeIdentifier(t, "OrganizationAffiliation", "identifier", element.getIdentifier().get(i), i); 19396 } 19397 if (element.hasActiveElement()) { 19398 composeBoolean(t, "OrganizationAffiliation", "active", element.getActiveElement(), -1); 19399 } 19400 if (element.hasPeriod()) { 19401 composePeriod(t, "OrganizationAffiliation", "period", element.getPeriod(), -1); 19402 } 19403 if (element.hasOrganization()) { 19404 composeReference(t, "OrganizationAffiliation", "organization", element.getOrganization(), -1); 19405 } 19406 if (element.hasParticipatingOrganization()) { 19407 composeReference(t, "OrganizationAffiliation", "participatingOrganization", element.getParticipatingOrganization(), -1); 19408 } 19409 for (int i = 0; i < element.getNetwork().size(); i++) { 19410 composeReference(t, "OrganizationAffiliation", "network", element.getNetwork().get(i), i); 19411 } 19412 for (int i = 0; i < element.getCode().size(); i++) { 19413 composeCodeableConcept(t, "OrganizationAffiliation", "code", element.getCode().get(i), i); 19414 } 19415 for (int i = 0; i < element.getSpecialty().size(); i++) { 19416 composeCodeableConcept(t, "OrganizationAffiliation", "specialty", element.getSpecialty().get(i), i); 19417 } 19418 for (int i = 0; i < element.getLocation().size(); i++) { 19419 composeReference(t, "OrganizationAffiliation", "location", element.getLocation().get(i), i); 19420 } 19421 for (int i = 0; i < element.getHealthcareService().size(); i++) { 19422 composeReference(t, "OrganizationAffiliation", "healthcareService", element.getHealthcareService().get(i), i); 19423 } 19424 for (int i = 0; i < element.getContact().size(); i++) { 19425 composeExtendedContactDetail(t, "OrganizationAffiliation", "contact", element.getContact().get(i), i); 19426 } 19427 for (int i = 0; i < element.getEndpoint().size(); i++) { 19428 composeReference(t, "OrganizationAffiliation", "endpoint", element.getEndpoint().get(i), i); 19429 } 19430 } 19431 19432 protected void composePackagedProductDefinition(Complex parent, String parentType, String name, PackagedProductDefinition element, int index) { 19433 if (element == null) 19434 return; 19435 Complex t; 19436 if (Utilities.noString(parentType)) 19437 t = parent; 19438 else { 19439 t = parent.predicate("fhir:"+parentType+'.'+name); 19440 } 19441 composeDomainResource(t, "PackagedProductDefinition", name, element, index); 19442 for (int i = 0; i < element.getIdentifier().size(); i++) { 19443 composeIdentifier(t, "PackagedProductDefinition", "identifier", element.getIdentifier().get(i), i); 19444 } 19445 if (element.hasNameElement()) { 19446 composeString(t, "PackagedProductDefinition", "name", element.getNameElement(), -1); 19447 } 19448 if (element.hasType()) { 19449 composeCodeableConcept(t, "PackagedProductDefinition", "type", element.getType(), -1); 19450 } 19451 for (int i = 0; i < element.getPackageFor().size(); i++) { 19452 composeReference(t, "PackagedProductDefinition", "packageFor", element.getPackageFor().get(i), i); 19453 } 19454 if (element.hasStatus()) { 19455 composeCodeableConcept(t, "PackagedProductDefinition", "status", element.getStatus(), -1); 19456 } 19457 if (element.hasStatusDateElement()) { 19458 composeDateTime(t, "PackagedProductDefinition", "statusDate", element.getStatusDateElement(), -1); 19459 } 19460 for (int i = 0; i < element.getContainedItemQuantity().size(); i++) { 19461 composeQuantity(t, "PackagedProductDefinition", "containedItemQuantity", element.getContainedItemQuantity().get(i), i); 19462 } 19463 if (element.hasDescriptionElement()) { 19464 composeMarkdown(t, "PackagedProductDefinition", "description", element.getDescriptionElement(), -1); 19465 } 19466 for (int i = 0; i < element.getLegalStatusOfSupply().size(); i++) { 19467 composePackagedProductDefinitionLegalStatusOfSupplyComponent(t, "PackagedProductDefinition", "legalStatusOfSupply", element.getLegalStatusOfSupply().get(i), i); 19468 } 19469 for (int i = 0; i < element.getMarketingStatus().size(); i++) { 19470 composeMarketingStatus(t, "PackagedProductDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); 19471 } 19472 if (element.hasCopackagedIndicatorElement()) { 19473 composeBoolean(t, "PackagedProductDefinition", "copackagedIndicator", element.getCopackagedIndicatorElement(), -1); 19474 } 19475 for (int i = 0; i < element.getManufacturer().size(); i++) { 19476 composeReference(t, "PackagedProductDefinition", "manufacturer", element.getManufacturer().get(i), i); 19477 } 19478 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 19479 composeReference(t, "PackagedProductDefinition", "attachedDocument", element.getAttachedDocument().get(i), i); 19480 } 19481 if (element.hasPackaging()) { 19482 composePackagedProductDefinitionPackagingComponent(t, "PackagedProductDefinition", "packaging", element.getPackaging(), -1); 19483 } 19484 for (int i = 0; i < element.getCharacteristic().size(); i++) { 19485 composePackagedProductDefinitionPackagingPropertyComponent(t, "PackagedProductDefinition", "characteristic", element.getCharacteristic().get(i), i); 19486 } 19487 } 19488 19489 protected void composePackagedProductDefinitionLegalStatusOfSupplyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent element, int index) { 19490 if (element == null) 19491 return; 19492 Complex t; 19493 if (Utilities.noString(parentType)) 19494 t = parent; 19495 else { 19496 t = parent.predicate("fhir:"+parentType+'.'+name); 19497 } 19498 composeBackboneElement(t, "legalStatusOfSupply", name, element, index); 19499 if (element.hasCode()) { 19500 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "code", element.getCode(), -1); 19501 } 19502 if (element.hasJurisdiction()) { 19503 composeCodeableConcept(t, "PackagedProductDefinitionLegalStatusOfSupplyComponent", "jurisdiction", element.getJurisdiction(), -1); 19504 } 19505 } 19506 19507 protected void composePackagedProductDefinitionPackagingComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackagingComponent element, int index) { 19508 if (element == null) 19509 return; 19510 Complex t; 19511 if (Utilities.noString(parentType)) 19512 t = parent; 19513 else { 19514 t = parent.predicate("fhir:"+parentType+'.'+name); 19515 } 19516 composeBackboneElement(t, "packaging", name, element, index); 19517 for (int i = 0; i < element.getIdentifier().size(); i++) { 19518 composeIdentifier(t, "PackagedProductDefinitionPackagingComponent", "identifier", element.getIdentifier().get(i), i); 19519 } 19520 if (element.hasType()) { 19521 composeCodeableConcept(t, "PackagedProductDefinitionPackagingComponent", "type", element.getType(), -1); 19522 } 19523 if (element.hasComponentPartElement()) { 19524 composeBoolean(t, "PackagedProductDefinitionPackagingComponent", "componentPart", element.getComponentPartElement(), -1); 19525 } 19526 if (element.hasQuantityElement()) { 19527 composeInteger(t, "PackagedProductDefinitionPackagingComponent", "quantity", element.getQuantityElement(), -1); 19528 } 19529 for (int i = 0; i < element.getMaterial().size(); i++) { 19530 composeCodeableConcept(t, "PackagedProductDefinitionPackagingComponent", "material", element.getMaterial().get(i), i); 19531 } 19532 for (int i = 0; i < element.getAlternateMaterial().size(); i++) { 19533 composeCodeableConcept(t, "PackagedProductDefinitionPackagingComponent", "alternateMaterial", element.getAlternateMaterial().get(i), i); 19534 } 19535 for (int i = 0; i < element.getShelfLifeStorage().size(); i++) { 19536 composeProductShelfLife(t, "PackagedProductDefinitionPackagingComponent", "shelfLifeStorage", element.getShelfLifeStorage().get(i), i); 19537 } 19538 for (int i = 0; i < element.getManufacturer().size(); i++) { 19539 composeReference(t, "PackagedProductDefinitionPackagingComponent", "manufacturer", element.getManufacturer().get(i), i); 19540 } 19541 for (int i = 0; i < element.getProperty().size(); i++) { 19542 composePackagedProductDefinitionPackagingPropertyComponent(t, "PackagedProductDefinitionPackagingComponent", "property", element.getProperty().get(i), i); 19543 } 19544 for (int i = 0; i < element.getContainedItem().size(); i++) { 19545 composePackagedProductDefinitionPackagingContainedItemComponent(t, "PackagedProductDefinitionPackagingComponent", "containedItem", element.getContainedItem().get(i), i); 19546 } 19547 for (int i = 0; i < element.getPackaging().size(); i++) { 19548 composePackagedProductDefinitionPackagingComponent(t, "PackagedProductDefinitionPackagingComponent", "packaging", element.getPackaging().get(i), i); 19549 } 19550 } 19551 19552 protected void composePackagedProductDefinitionPackagingPropertyComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackagingPropertyComponent element, int index) { 19553 if (element == null) 19554 return; 19555 Complex t; 19556 if (Utilities.noString(parentType)) 19557 t = parent; 19558 else { 19559 t = parent.predicate("fhir:"+parentType+'.'+name); 19560 } 19561 composeBackboneElement(t, "property", name, element, index); 19562 if (element.hasType()) { 19563 composeCodeableConcept(t, "PackagedProductDefinitionPackagingPropertyComponent", "type", element.getType(), -1); 19564 } 19565 if (element.hasValue()) { 19566 composeType(t, "PackagedProductDefinitionPackagingPropertyComponent", "value", element.getValue(), -1); 19567 } 19568 } 19569 19570 protected void composePackagedProductDefinitionPackagingContainedItemComponent(Complex parent, String parentType, String name, PackagedProductDefinition.PackagedProductDefinitionPackagingContainedItemComponent element, int index) { 19571 if (element == null) 19572 return; 19573 Complex t; 19574 if (Utilities.noString(parentType)) 19575 t = parent; 19576 else { 19577 t = parent.predicate("fhir:"+parentType+'.'+name); 19578 } 19579 composeBackboneElement(t, "containedItem", name, element, index); 19580 if (element.hasItem()) { 19581 composeCodeableReference(t, "PackagedProductDefinitionPackagingContainedItemComponent", "item", element.getItem(), -1); 19582 } 19583 if (element.hasAmount()) { 19584 composeQuantity(t, "PackagedProductDefinitionPackagingContainedItemComponent", "amount", element.getAmount(), -1); 19585 } 19586 } 19587 19588 protected void composeParameters(Complex parent, String parentType, String name, Parameters element, int index) { 19589 if (element == null) 19590 return; 19591 Complex t; 19592 if (Utilities.noString(parentType)) 19593 t = parent; 19594 else { 19595 t = parent.predicate("fhir:"+parentType+'.'+name); 19596 } 19597 composeResource(t, "Parameters", name, element, index); 19598 for (int i = 0; i < element.getParameter().size(); i++) { 19599 composeParametersParameterComponent(t, "Parameters", "parameter", element.getParameter().get(i), i); 19600 } 19601 } 19602 19603 protected void composeParametersParameterComponent(Complex parent, String parentType, String name, Parameters.ParametersParameterComponent element, int index) { 19604 if (element == null) 19605 return; 19606 Complex t; 19607 if (Utilities.noString(parentType)) 19608 t = parent; 19609 else { 19610 t = parent.predicate("fhir:"+parentType+'.'+name); 19611 } 19612 composeBackboneElement(t, "parameter", name, element, index); 19613 if (element.hasNameElement()) { 19614 composeString(t, "ParametersParameterComponent", "name", element.getNameElement(), -1); 19615 } 19616 if (element.hasValue()) { 19617 composeType(t, "ParametersParameterComponent", "value", element.getValue(), -1); 19618 } 19619 if (element.hasResource()) { 19620 composeResource(t, "ParametersParameterComponent", "resource", element.getResource(), -1); 19621 } 19622 for (int i = 0; i < element.getPart().size(); i++) { 19623 composeParametersParameterComponent(t, "ParametersParameterComponent", "part", element.getPart().get(i), i); 19624 } 19625 } 19626 19627 protected void composePatient(Complex parent, String parentType, String name, Patient element, int index) { 19628 if (element == null) 19629 return; 19630 Complex t; 19631 if (Utilities.noString(parentType)) 19632 t = parent; 19633 else { 19634 t = parent.predicate("fhir:"+parentType+'.'+name); 19635 } 19636 composeDomainResource(t, "Patient", name, element, index); 19637 for (int i = 0; i < element.getIdentifier().size(); i++) { 19638 composeIdentifier(t, "Patient", "identifier", element.getIdentifier().get(i), i); 19639 } 19640 if (element.hasActiveElement()) { 19641 composeBoolean(t, "Patient", "active", element.getActiveElement(), -1); 19642 } 19643 for (int i = 0; i < element.getName().size(); i++) { 19644 composeHumanName(t, "Patient", "name", element.getName().get(i), i); 19645 } 19646 for (int i = 0; i < element.getTelecom().size(); i++) { 19647 composeContactPoint(t, "Patient", "telecom", element.getTelecom().get(i), i); 19648 } 19649 if (element.hasGenderElement()) { 19650 composeEnum(t, "Patient", "gender", element.getGenderElement(), -1); 19651 } 19652 if (element.hasBirthDateElement()) { 19653 composeDate(t, "Patient", "birthDate", element.getBirthDateElement(), -1); 19654 } 19655 if (element.hasDeceased()) { 19656 composeType(t, "Patient", "deceased", element.getDeceased(), -1); 19657 } 19658 for (int i = 0; i < element.getAddress().size(); i++) { 19659 composeAddress(t, "Patient", "address", element.getAddress().get(i), i); 19660 } 19661 if (element.hasMaritalStatus()) { 19662 composeCodeableConcept(t, "Patient", "maritalStatus", element.getMaritalStatus(), -1); 19663 } 19664 if (element.hasMultipleBirth()) { 19665 composeType(t, "Patient", "multipleBirth", element.getMultipleBirth(), -1); 19666 } 19667 for (int i = 0; i < element.getPhoto().size(); i++) { 19668 composeAttachment(t, "Patient", "photo", element.getPhoto().get(i), i); 19669 } 19670 for (int i = 0; i < element.getContact().size(); i++) { 19671 composePatientContactComponent(t, "Patient", "contact", element.getContact().get(i), i); 19672 } 19673 for (int i = 0; i < element.getCommunication().size(); i++) { 19674 composePatientCommunicationComponent(t, "Patient", "communication", element.getCommunication().get(i), i); 19675 } 19676 for (int i = 0; i < element.getGeneralPractitioner().size(); i++) { 19677 composeReference(t, "Patient", "generalPractitioner", element.getGeneralPractitioner().get(i), i); 19678 } 19679 if (element.hasManagingOrganization()) { 19680 composeReference(t, "Patient", "managingOrganization", element.getManagingOrganization(), -1); 19681 } 19682 for (int i = 0; i < element.getLink().size(); i++) { 19683 composePatientLinkComponent(t, "Patient", "link", element.getLink().get(i), i); 19684 } 19685 } 19686 19687 protected void composePatientContactComponent(Complex parent, String parentType, String name, Patient.ContactComponent element, int index) { 19688 if (element == null) 19689 return; 19690 Complex t; 19691 if (Utilities.noString(parentType)) 19692 t = parent; 19693 else { 19694 t = parent.predicate("fhir:"+parentType+'.'+name); 19695 } 19696 composeBackboneElement(t, "contact", name, element, index); 19697 for (int i = 0; i < element.getRelationship().size(); i++) { 19698 composeCodeableConcept(t, "ContactComponent", "relationship", element.getRelationship().get(i), i); 19699 } 19700 if (element.hasName()) { 19701 composeHumanName(t, "ContactComponent", "name", element.getName(), -1); 19702 } 19703 for (int i = 0; i < element.getTelecom().size(); i++) { 19704 composeContactPoint(t, "ContactComponent", "telecom", element.getTelecom().get(i), i); 19705 } 19706 if (element.hasAddress()) { 19707 composeAddress(t, "ContactComponent", "address", element.getAddress(), -1); 19708 } 19709 if (element.hasGenderElement()) { 19710 composeEnum(t, "ContactComponent", "gender", element.getGenderElement(), -1); 19711 } 19712 if (element.hasOrganization()) { 19713 composeReference(t, "ContactComponent", "organization", element.getOrganization(), -1); 19714 } 19715 if (element.hasPeriod()) { 19716 composePeriod(t, "ContactComponent", "period", element.getPeriod(), -1); 19717 } 19718 } 19719 19720 protected void composePatientCommunicationComponent(Complex parent, String parentType, String name, Patient.PatientCommunicationComponent element, int index) { 19721 if (element == null) 19722 return; 19723 Complex t; 19724 if (Utilities.noString(parentType)) 19725 t = parent; 19726 else { 19727 t = parent.predicate("fhir:"+parentType+'.'+name); 19728 } 19729 composeBackboneElement(t, "communication", name, element, index); 19730 if (element.hasLanguage()) { 19731 composeCodeableConcept(t, "PatientCommunicationComponent", "language", element.getLanguage(), -1); 19732 } 19733 if (element.hasPreferredElement()) { 19734 composeBoolean(t, "PatientCommunicationComponent", "preferred", element.getPreferredElement(), -1); 19735 } 19736 } 19737 19738 protected void composePatientLinkComponent(Complex parent, String parentType, String name, Patient.PatientLinkComponent element, int index) { 19739 if (element == null) 19740 return; 19741 Complex t; 19742 if (Utilities.noString(parentType)) 19743 t = parent; 19744 else { 19745 t = parent.predicate("fhir:"+parentType+'.'+name); 19746 } 19747 composeBackboneElement(t, "link", name, element, index); 19748 if (element.hasOther()) { 19749 composeReference(t, "PatientLinkComponent", "other", element.getOther(), -1); 19750 } 19751 if (element.hasTypeElement()) { 19752 composeEnum(t, "PatientLinkComponent", "type", element.getTypeElement(), -1); 19753 } 19754 } 19755 19756 protected void composePaymentNotice(Complex parent, String parentType, String name, PaymentNotice element, int index) { 19757 if (element == null) 19758 return; 19759 Complex t; 19760 if (Utilities.noString(parentType)) 19761 t = parent; 19762 else { 19763 t = parent.predicate("fhir:"+parentType+'.'+name); 19764 } 19765 composeDomainResource(t, "PaymentNotice", name, element, index); 19766 for (int i = 0; i < element.getIdentifier().size(); i++) { 19767 composeIdentifier(t, "PaymentNotice", "identifier", element.getIdentifier().get(i), i); 19768 } 19769 if (element.hasStatusElement()) { 19770 composeEnum(t, "PaymentNotice", "status", element.getStatusElement(), -1); 19771 } 19772 if (element.hasRequest()) { 19773 composeReference(t, "PaymentNotice", "request", element.getRequest(), -1); 19774 } 19775 if (element.hasResponse()) { 19776 composeReference(t, "PaymentNotice", "response", element.getResponse(), -1); 19777 } 19778 if (element.hasCreatedElement()) { 19779 composeDateTime(t, "PaymentNotice", "created", element.getCreatedElement(), -1); 19780 } 19781 if (element.hasProvider()) { 19782 composeReference(t, "PaymentNotice", "provider", element.getProvider(), -1); 19783 } 19784 if (element.hasPayment()) { 19785 composeReference(t, "PaymentNotice", "payment", element.getPayment(), -1); 19786 } 19787 if (element.hasPaymentDateElement()) { 19788 composeDate(t, "PaymentNotice", "paymentDate", element.getPaymentDateElement(), -1); 19789 } 19790 if (element.hasPayee()) { 19791 composeReference(t, "PaymentNotice", "payee", element.getPayee(), -1); 19792 } 19793 if (element.hasRecipient()) { 19794 composeReference(t, "PaymentNotice", "recipient", element.getRecipient(), -1); 19795 } 19796 if (element.hasAmount()) { 19797 composeMoney(t, "PaymentNotice", "amount", element.getAmount(), -1); 19798 } 19799 if (element.hasPaymentStatus()) { 19800 composeCodeableConcept(t, "PaymentNotice", "paymentStatus", element.getPaymentStatus(), -1); 19801 } 19802 } 19803 19804 protected void composePaymentReconciliation(Complex parent, String parentType, String name, PaymentReconciliation element, int index) { 19805 if (element == null) 19806 return; 19807 Complex t; 19808 if (Utilities.noString(parentType)) 19809 t = parent; 19810 else { 19811 t = parent.predicate("fhir:"+parentType+'.'+name); 19812 } 19813 composeDomainResource(t, "PaymentReconciliation", name, element, index); 19814 for (int i = 0; i < element.getIdentifier().size(); i++) { 19815 composeIdentifier(t, "PaymentReconciliation", "identifier", element.getIdentifier().get(i), i); 19816 } 19817 if (element.hasType()) { 19818 composeCodeableConcept(t, "PaymentReconciliation", "type", element.getType(), -1); 19819 } 19820 if (element.hasStatusElement()) { 19821 composeEnum(t, "PaymentReconciliation", "status", element.getStatusElement(), -1); 19822 } 19823 if (element.hasKind()) { 19824 composeCodeableConcept(t, "PaymentReconciliation", "kind", element.getKind(), -1); 19825 } 19826 if (element.hasPeriod()) { 19827 composePeriod(t, "PaymentReconciliation", "period", element.getPeriod(), -1); 19828 } 19829 if (element.hasCreatedElement()) { 19830 composeDateTime(t, "PaymentReconciliation", "created", element.getCreatedElement(), -1); 19831 } 19832 if (element.hasEnterer()) { 19833 composeReference(t, "PaymentReconciliation", "enterer", element.getEnterer(), -1); 19834 } 19835 if (element.hasIssuerType()) { 19836 composeCodeableConcept(t, "PaymentReconciliation", "issuerType", element.getIssuerType(), -1); 19837 } 19838 if (element.hasPaymentIssuer()) { 19839 composeReference(t, "PaymentReconciliation", "paymentIssuer", element.getPaymentIssuer(), -1); 19840 } 19841 if (element.hasRequest()) { 19842 composeReference(t, "PaymentReconciliation", "request", element.getRequest(), -1); 19843 } 19844 if (element.hasRequestor()) { 19845 composeReference(t, "PaymentReconciliation", "requestor", element.getRequestor(), -1); 19846 } 19847 if (element.hasOutcomeElement()) { 19848 composeEnum(t, "PaymentReconciliation", "outcome", element.getOutcomeElement(), -1); 19849 } 19850 if (element.hasDispositionElement()) { 19851 composeString(t, "PaymentReconciliation", "disposition", element.getDispositionElement(), -1); 19852 } 19853 if (element.hasDateElement()) { 19854 composeDate(t, "PaymentReconciliation", "date", element.getDateElement(), -1); 19855 } 19856 if (element.hasLocation()) { 19857 composeReference(t, "PaymentReconciliation", "location", element.getLocation(), -1); 19858 } 19859 if (element.hasMethod()) { 19860 composeCodeableConcept(t, "PaymentReconciliation", "method", element.getMethod(), -1); 19861 } 19862 if (element.hasCardBrandElement()) { 19863 composeString(t, "PaymentReconciliation", "cardBrand", element.getCardBrandElement(), -1); 19864 } 19865 if (element.hasAccountNumberElement()) { 19866 composeString(t, "PaymentReconciliation", "accountNumber", element.getAccountNumberElement(), -1); 19867 } 19868 if (element.hasExpirationDateElement()) { 19869 composeDate(t, "PaymentReconciliation", "expirationDate", element.getExpirationDateElement(), -1); 19870 } 19871 if (element.hasProcessorElement()) { 19872 composeString(t, "PaymentReconciliation", "processor", element.getProcessorElement(), -1); 19873 } 19874 if (element.hasReferenceNumberElement()) { 19875 composeString(t, "PaymentReconciliation", "referenceNumber", element.getReferenceNumberElement(), -1); 19876 } 19877 if (element.hasAuthorizationElement()) { 19878 composeString(t, "PaymentReconciliation", "authorization", element.getAuthorizationElement(), -1); 19879 } 19880 if (element.hasTenderedAmount()) { 19881 composeMoney(t, "PaymentReconciliation", "tenderedAmount", element.getTenderedAmount(), -1); 19882 } 19883 if (element.hasReturnedAmount()) { 19884 composeMoney(t, "PaymentReconciliation", "returnedAmount", element.getReturnedAmount(), -1); 19885 } 19886 if (element.hasAmount()) { 19887 composeMoney(t, "PaymentReconciliation", "amount", element.getAmount(), -1); 19888 } 19889 if (element.hasPaymentIdentifier()) { 19890 composeIdentifier(t, "PaymentReconciliation", "paymentIdentifier", element.getPaymentIdentifier(), -1); 19891 } 19892 for (int i = 0; i < element.getAllocation().size(); i++) { 19893 composePaymentReconciliationAllocationComponent(t, "PaymentReconciliation", "allocation", element.getAllocation().get(i), i); 19894 } 19895 if (element.hasFormCode()) { 19896 composeCodeableConcept(t, "PaymentReconciliation", "formCode", element.getFormCode(), -1); 19897 } 19898 for (int i = 0; i < element.getProcessNote().size(); i++) { 19899 composePaymentReconciliationNotesComponent(t, "PaymentReconciliation", "processNote", element.getProcessNote().get(i), i); 19900 } 19901 } 19902 19903 protected void composePaymentReconciliationAllocationComponent(Complex parent, String parentType, String name, PaymentReconciliation.PaymentReconciliationAllocationComponent element, int index) { 19904 if (element == null) 19905 return; 19906 Complex t; 19907 if (Utilities.noString(parentType)) 19908 t = parent; 19909 else { 19910 t = parent.predicate("fhir:"+parentType+'.'+name); 19911 } 19912 composeBackboneElement(t, "allocation", name, element, index); 19913 if (element.hasIdentifier()) { 19914 composeIdentifier(t, "PaymentReconciliationAllocationComponent", "identifier", element.getIdentifier(), -1); 19915 } 19916 if (element.hasPredecessor()) { 19917 composeIdentifier(t, "PaymentReconciliationAllocationComponent", "predecessor", element.getPredecessor(), -1); 19918 } 19919 if (element.hasTarget()) { 19920 composeReference(t, "PaymentReconciliationAllocationComponent", "target", element.getTarget(), -1); 19921 } 19922 if (element.hasTargetItem()) { 19923 composeType(t, "PaymentReconciliationAllocationComponent", "targetItem", element.getTargetItem(), -1); 19924 } 19925 if (element.hasEncounter()) { 19926 composeReference(t, "PaymentReconciliationAllocationComponent", "encounter", element.getEncounter(), -1); 19927 } 19928 if (element.hasAccount()) { 19929 composeReference(t, "PaymentReconciliationAllocationComponent", "account", element.getAccount(), -1); 19930 } 19931 if (element.hasType()) { 19932 composeCodeableConcept(t, "PaymentReconciliationAllocationComponent", "type", element.getType(), -1); 19933 } 19934 if (element.hasSubmitter()) { 19935 composeReference(t, "PaymentReconciliationAllocationComponent", "submitter", element.getSubmitter(), -1); 19936 } 19937 if (element.hasResponse()) { 19938 composeReference(t, "PaymentReconciliationAllocationComponent", "response", element.getResponse(), -1); 19939 } 19940 if (element.hasDateElement()) { 19941 composeDate(t, "PaymentReconciliationAllocationComponent", "date", element.getDateElement(), -1); 19942 } 19943 if (element.hasResponsible()) { 19944 composeReference(t, "PaymentReconciliationAllocationComponent", "responsible", element.getResponsible(), -1); 19945 } 19946 if (element.hasPayee()) { 19947 composeReference(t, "PaymentReconciliationAllocationComponent", "payee", element.getPayee(), -1); 19948 } 19949 if (element.hasAmount()) { 19950 composeMoney(t, "PaymentReconciliationAllocationComponent", "amount", element.getAmount(), -1); 19951 } 19952 } 19953 19954 protected void composePaymentReconciliationNotesComponent(Complex parent, String parentType, String name, PaymentReconciliation.NotesComponent element, int index) { 19955 if (element == null) 19956 return; 19957 Complex t; 19958 if (Utilities.noString(parentType)) 19959 t = parent; 19960 else { 19961 t = parent.predicate("fhir:"+parentType+'.'+name); 19962 } 19963 composeBackboneElement(t, "processNote", name, element, index); 19964 if (element.hasTypeElement()) { 19965 composeEnum(t, "NotesComponent", "type", element.getTypeElement(), -1); 19966 } 19967 if (element.hasTextElement()) { 19968 composeString(t, "NotesComponent", "text", element.getTextElement(), -1); 19969 } 19970 } 19971 19972 protected void composePermission(Complex parent, String parentType, String name, Permission element, int index) { 19973 if (element == null) 19974 return; 19975 Complex t; 19976 if (Utilities.noString(parentType)) 19977 t = parent; 19978 else { 19979 t = parent.predicate("fhir:"+parentType+'.'+name); 19980 } 19981 composeDomainResource(t, "Permission", name, element, index); 19982 if (element.hasStatusElement()) { 19983 composeEnum(t, "Permission", "status", element.getStatusElement(), -1); 19984 } 19985 if (element.hasAsserter()) { 19986 composeReference(t, "Permission", "asserter", element.getAsserter(), -1); 19987 } 19988 for (int i = 0; i < element.getDate().size(); i++) { 19989 composeDateTime(t, "Permission", "date", element.getDate().get(i), i); 19990 } 19991 if (element.hasValidity()) { 19992 composePeriod(t, "Permission", "validity", element.getValidity(), -1); 19993 } 19994 if (element.hasJustification()) { 19995 composePermissionJustificationComponent(t, "Permission", "justification", element.getJustification(), -1); 19996 } 19997 if (element.hasCombiningElement()) { 19998 composeEnum(t, "Permission", "combining", element.getCombiningElement(), -1); 19999 } 20000 for (int i = 0; i < element.getRule().size(); i++) { 20001 composePermissionrRuleComponent(t, "Permission", "rule", element.getRule().get(i), i); 20002 } 20003 } 20004 20005 protected void composePermissionJustificationComponent(Complex parent, String parentType, String name, Permission.PermissionJustificationComponent element, int index) { 20006 if (element == null) 20007 return; 20008 Complex t; 20009 if (Utilities.noString(parentType)) 20010 t = parent; 20011 else { 20012 t = parent.predicate("fhir:"+parentType+'.'+name); 20013 } 20014 composeBackboneElement(t, "justification", name, element, index); 20015 for (int i = 0; i < element.getBasis().size(); i++) { 20016 composeCodeableConcept(t, "PermissionJustificationComponent", "basis", element.getBasis().get(i), i); 20017 } 20018 for (int i = 0; i < element.getEvidence().size(); i++) { 20019 composeReference(t, "PermissionJustificationComponent", "evidence", element.getEvidence().get(i), i); 20020 } 20021 } 20022 20023 protected void composePermissionrRuleComponent(Complex parent, String parentType, String name, Permission.RuleComponent element, int index) { 20024 if (element == null) 20025 return; 20026 Complex t; 20027 if (Utilities.noString(parentType)) 20028 t = parent; 20029 else { 20030 t = parent.predicate("fhir:"+parentType+'.'+name); 20031 } 20032 composeBackboneElement(t, "rule", name, element, index); 20033 if (element.hasTypeElement()) { 20034 composeEnum(t, "RuleComponent", "type", element.getTypeElement(), -1); 20035 } 20036 for (int i = 0; i < element.getData().size(); i++) { 20037 composePermissionrRuleDataComponent(t, "RuleComponent", "data", element.getData().get(i), i); 20038 } 20039 for (int i = 0; i < element.getActivity().size(); i++) { 20040 composePermissionrRuleActivityComponent(t, "RuleComponent", "activity", element.getActivity().get(i), i); 20041 } 20042 for (int i = 0; i < element.getLimit().size(); i++) { 20043 composeCodeableConcept(t, "RuleComponent", "limit", element.getLimit().get(i), i); 20044 } 20045 } 20046 20047 protected void composePermissionrRuleDataComponent(Complex parent, String parentType, String name, Permission.RuleDataComponent element, int index) { 20048 if (element == null) 20049 return; 20050 Complex t; 20051 if (Utilities.noString(parentType)) 20052 t = parent; 20053 else { 20054 t = parent.predicate("fhir:"+parentType+'.'+name); 20055 } 20056 composeBackboneElement(t, "data", name, element, index); 20057 for (int i = 0; i < element.getResource().size(); i++) { 20058 composePermissionrRuleDataResourceComponent(t, "RuleDataComponent", "resource", element.getResource().get(i), i); 20059 } 20060 for (int i = 0; i < element.getSecurity().size(); i++) { 20061 composeCoding(t, "RuleDataComponent", "security", element.getSecurity().get(i), i); 20062 } 20063 for (int i = 0; i < element.getPeriod().size(); i++) { 20064 composePeriod(t, "RuleDataComponent", "period", element.getPeriod().get(i), i); 20065 } 20066 if (element.hasExpression()) { 20067 composeExpression(t, "RuleDataComponent", "expression", element.getExpression(), -1); 20068 } 20069 } 20070 20071 protected void composePermissionrRuleDataResourceComponent(Complex parent, String parentType, String name, Permission.RuleDataResourceComponent element, int index) { 20072 if (element == null) 20073 return; 20074 Complex t; 20075 if (Utilities.noString(parentType)) 20076 t = parent; 20077 else { 20078 t = parent.predicate("fhir:"+parentType+'.'+name); 20079 } 20080 composeBackboneElement(t, "resource", name, element, index); 20081 if (element.hasMeaningElement()) { 20082 composeEnum(t, "RuleDataResourceComponent", "meaning", element.getMeaningElement(), -1); 20083 } 20084 if (element.hasReference()) { 20085 composeReference(t, "RuleDataResourceComponent", "reference", element.getReference(), -1); 20086 } 20087 } 20088 20089 protected void composePermissionrRuleActivityComponent(Complex parent, String parentType, String name, Permission.RuleActivityComponent element, int index) { 20090 if (element == null) 20091 return; 20092 Complex t; 20093 if (Utilities.noString(parentType)) 20094 t = parent; 20095 else { 20096 t = parent.predicate("fhir:"+parentType+'.'+name); 20097 } 20098 composeBackboneElement(t, "activity", name, element, index); 20099 for (int i = 0; i < element.getActor().size(); i++) { 20100 composeReference(t, "RuleActivityComponent", "actor", element.getActor().get(i), i); 20101 } 20102 for (int i = 0; i < element.getAction().size(); i++) { 20103 composeCodeableConcept(t, "RuleActivityComponent", "action", element.getAction().get(i), i); 20104 } 20105 for (int i = 0; i < element.getPurpose().size(); i++) { 20106 composeCodeableConcept(t, "RuleActivityComponent", "purpose", element.getPurpose().get(i), i); 20107 } 20108 } 20109 20110 protected void composePerson(Complex parent, String parentType, String name, Person element, int index) { 20111 if (element == null) 20112 return; 20113 Complex t; 20114 if (Utilities.noString(parentType)) 20115 t = parent; 20116 else { 20117 t = parent.predicate("fhir:"+parentType+'.'+name); 20118 } 20119 composeDomainResource(t, "Person", name, element, index); 20120 for (int i = 0; i < element.getIdentifier().size(); i++) { 20121 composeIdentifier(t, "Person", "identifier", element.getIdentifier().get(i), i); 20122 } 20123 if (element.hasActiveElement()) { 20124 composeBoolean(t, "Person", "active", element.getActiveElement(), -1); 20125 } 20126 for (int i = 0; i < element.getName().size(); i++) { 20127 composeHumanName(t, "Person", "name", element.getName().get(i), i); 20128 } 20129 for (int i = 0; i < element.getTelecom().size(); i++) { 20130 composeContactPoint(t, "Person", "telecom", element.getTelecom().get(i), i); 20131 } 20132 if (element.hasGenderElement()) { 20133 composeEnum(t, "Person", "gender", element.getGenderElement(), -1); 20134 } 20135 if (element.hasBirthDateElement()) { 20136 composeDate(t, "Person", "birthDate", element.getBirthDateElement(), -1); 20137 } 20138 if (element.hasDeceased()) { 20139 composeType(t, "Person", "deceased", element.getDeceased(), -1); 20140 } 20141 for (int i = 0; i < element.getAddress().size(); i++) { 20142 composeAddress(t, "Person", "address", element.getAddress().get(i), i); 20143 } 20144 if (element.hasMaritalStatus()) { 20145 composeCodeableConcept(t, "Person", "maritalStatus", element.getMaritalStatus(), -1); 20146 } 20147 for (int i = 0; i < element.getPhoto().size(); i++) { 20148 composeAttachment(t, "Person", "photo", element.getPhoto().get(i), i); 20149 } 20150 for (int i = 0; i < element.getCommunication().size(); i++) { 20151 composePersonCommunicationComponent(t, "Person", "communication", element.getCommunication().get(i), i); 20152 } 20153 if (element.hasManagingOrganization()) { 20154 composeReference(t, "Person", "managingOrganization", element.getManagingOrganization(), -1); 20155 } 20156 for (int i = 0; i < element.getLink().size(); i++) { 20157 composePersonLinkComponent(t, "Person", "link", element.getLink().get(i), i); 20158 } 20159 } 20160 20161 protected void composePersonCommunicationComponent(Complex parent, String parentType, String name, Person.PersonCommunicationComponent element, int index) { 20162 if (element == null) 20163 return; 20164 Complex t; 20165 if (Utilities.noString(parentType)) 20166 t = parent; 20167 else { 20168 t = parent.predicate("fhir:"+parentType+'.'+name); 20169 } 20170 composeBackboneElement(t, "communication", name, element, index); 20171 if (element.hasLanguage()) { 20172 composeCodeableConcept(t, "PersonCommunicationComponent", "language", element.getLanguage(), -1); 20173 } 20174 if (element.hasPreferredElement()) { 20175 composeBoolean(t, "PersonCommunicationComponent", "preferred", element.getPreferredElement(), -1); 20176 } 20177 } 20178 20179 protected void composePersonLinkComponent(Complex parent, String parentType, String name, Person.PersonLinkComponent element, int index) { 20180 if (element == null) 20181 return; 20182 Complex t; 20183 if (Utilities.noString(parentType)) 20184 t = parent; 20185 else { 20186 t = parent.predicate("fhir:"+parentType+'.'+name); 20187 } 20188 composeBackboneElement(t, "link", name, element, index); 20189 if (element.hasTarget()) { 20190 composeReference(t, "PersonLinkComponent", "target", element.getTarget(), -1); 20191 } 20192 if (element.hasAssuranceElement()) { 20193 composeEnum(t, "PersonLinkComponent", "assurance", element.getAssuranceElement(), -1); 20194 } 20195 } 20196 20197 protected void composePlanDefinition(Complex parent, String parentType, String name, PlanDefinition element, int index) { 20198 if (element == null) 20199 return; 20200 Complex t; 20201 if (Utilities.noString(parentType)) 20202 t = parent; 20203 else { 20204 t = parent.predicate("fhir:"+parentType+'.'+name); 20205 } 20206 composeMetadataResource(t, "PlanDefinition", name, element, index); 20207 if (element.hasUrlElement()) { 20208 composeUri(t, "PlanDefinition", "url", element.getUrlElement(), -1); 20209 } 20210 for (int i = 0; i < element.getIdentifier().size(); i++) { 20211 composeIdentifier(t, "PlanDefinition", "identifier", element.getIdentifier().get(i), i); 20212 } 20213 if (element.hasVersionElement()) { 20214 composeString(t, "PlanDefinition", "version", element.getVersionElement(), -1); 20215 } 20216 if (element.hasNameElement()) { 20217 composeString(t, "PlanDefinition", "name", element.getNameElement(), -1); 20218 } 20219 if (element.hasTitleElement()) { 20220 composeString(t, "PlanDefinition", "title", element.getTitleElement(), -1); 20221 } 20222 if (element.hasSubtitleElement()) { 20223 composeString(t, "PlanDefinition", "subtitle", element.getSubtitleElement(), -1); 20224 } 20225 if (element.hasType()) { 20226 composeCodeableConcept(t, "PlanDefinition", "type", element.getType(), -1); 20227 } 20228 if (element.hasStatusElement()) { 20229 composeEnum(t, "PlanDefinition", "status", element.getStatusElement(), -1); 20230 } 20231 if (element.hasExperimentalElement()) { 20232 composeBoolean(t, "PlanDefinition", "experimental", element.getExperimentalElement(), -1); 20233 } 20234 if (element.hasSubject()) { 20235 composeType(t, "PlanDefinition", "subject", element.getSubject(), -1); 20236 } 20237 if (element.hasDateElement()) { 20238 composeDateTime(t, "PlanDefinition", "date", element.getDateElement(), -1); 20239 } 20240 if (element.hasPublisherElement()) { 20241 composeString(t, "PlanDefinition", "publisher", element.getPublisherElement(), -1); 20242 } 20243 for (int i = 0; i < element.getContact().size(); i++) { 20244 composeContactDetail(t, "PlanDefinition", "contact", element.getContact().get(i), i); 20245 } 20246 if (element.hasDescriptionElement()) { 20247 composeMarkdown(t, "PlanDefinition", "description", element.getDescriptionElement(), -1); 20248 } 20249 for (int i = 0; i < element.getUseContext().size(); i++) { 20250 composeUsageContext(t, "PlanDefinition", "useContext", element.getUseContext().get(i), i); 20251 } 20252 for (int i = 0; i < element.getJurisdiction().size(); i++) { 20253 composeCodeableConcept(t, "PlanDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 20254 } 20255 if (element.hasPurposeElement()) { 20256 composeMarkdown(t, "PlanDefinition", "purpose", element.getPurposeElement(), -1); 20257 } 20258 if (element.hasUsageElement()) { 20259 composeString(t, "PlanDefinition", "usage", element.getUsageElement(), -1); 20260 } 20261 if (element.hasCopyrightElement()) { 20262 composeMarkdown(t, "PlanDefinition", "copyright", element.getCopyrightElement(), -1); 20263 } 20264 if (element.hasApprovalDateElement()) { 20265 composeDate(t, "PlanDefinition", "approvalDate", element.getApprovalDateElement(), -1); 20266 } 20267 if (element.hasLastReviewDateElement()) { 20268 composeDate(t, "PlanDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 20269 } 20270 if (element.hasEffectivePeriod()) { 20271 composePeriod(t, "PlanDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 20272 } 20273 for (int i = 0; i < element.getTopic().size(); i++) { 20274 composeCodeableConcept(t, "PlanDefinition", "topic", element.getTopic().get(i), i); 20275 } 20276 for (int i = 0; i < element.getAuthor().size(); i++) { 20277 composeContactDetail(t, "PlanDefinition", "author", element.getAuthor().get(i), i); 20278 } 20279 for (int i = 0; i < element.getEditor().size(); i++) { 20280 composeContactDetail(t, "PlanDefinition", "editor", element.getEditor().get(i), i); 20281 } 20282 for (int i = 0; i < element.getReviewer().size(); i++) { 20283 composeContactDetail(t, "PlanDefinition", "reviewer", element.getReviewer().get(i), i); 20284 } 20285 for (int i = 0; i < element.getEndorser().size(); i++) { 20286 composeContactDetail(t, "PlanDefinition", "endorser", element.getEndorser().get(i), i); 20287 } 20288 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 20289 composeRelatedArtifact(t, "PlanDefinition", "relatedArtifact", element.getRelatedArtifact().get(i), i); 20290 } 20291 for (int i = 0; i < element.getLibrary().size(); i++) { 20292 composeCanonical(t, "PlanDefinition", "library", element.getLibrary().get(i), i); 20293 } 20294 for (int i = 0; i < element.getGoal().size(); i++) { 20295 composePlanDefinitionGoalComponent(t, "PlanDefinition", "goal", element.getGoal().get(i), i); 20296 } 20297 for (int i = 0; i < element.getActor().size(); i++) { 20298 composePlanDefinitionActorComponent(t, "PlanDefinition", "actor", element.getActor().get(i), i); 20299 } 20300 for (int i = 0; i < element.getAction().size(); i++) { 20301 composePlanDefinitionActionComponent(t, "PlanDefinition", "action", element.getAction().get(i), i); 20302 } 20303 if (element.hasAsNeeded()) { 20304 composeType(t, "PlanDefinition", "asNeeded", element.getAsNeeded(), -1); 20305 } 20306 } 20307 20308 protected void composePlanDefinitionGoalComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalComponent element, int index) { 20309 if (element == null) 20310 return; 20311 Complex t; 20312 if (Utilities.noString(parentType)) 20313 t = parent; 20314 else { 20315 t = parent.predicate("fhir:"+parentType+'.'+name); 20316 } 20317 composeBackboneElement(t, "goal", name, element, index); 20318 if (element.hasCategory()) { 20319 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "category", element.getCategory(), -1); 20320 } 20321 if (element.hasDescription()) { 20322 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "description", element.getDescription(), -1); 20323 } 20324 if (element.hasPriority()) { 20325 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "priority", element.getPriority(), -1); 20326 } 20327 if (element.hasStart()) { 20328 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "start", element.getStart(), -1); 20329 } 20330 for (int i = 0; i < element.getAddresses().size(); i++) { 20331 composeCodeableConcept(t, "PlanDefinitionGoalComponent", "addresses", element.getAddresses().get(i), i); 20332 } 20333 for (int i = 0; i < element.getDocumentation().size(); i++) { 20334 composeRelatedArtifact(t, "PlanDefinitionGoalComponent", "documentation", element.getDocumentation().get(i), i); 20335 } 20336 for (int i = 0; i < element.getTarget().size(); i++) { 20337 composePlanDefinitionGoalTargetComponent(t, "PlanDefinitionGoalComponent", "target", element.getTarget().get(i), i); 20338 } 20339 } 20340 20341 protected void composePlanDefinitionGoalTargetComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalTargetComponent element, int index) { 20342 if (element == null) 20343 return; 20344 Complex t; 20345 if (Utilities.noString(parentType)) 20346 t = parent; 20347 else { 20348 t = parent.predicate("fhir:"+parentType+'.'+name); 20349 } 20350 composeBackboneElement(t, "target", name, element, index); 20351 if (element.hasMeasure()) { 20352 composeCodeableConcept(t, "PlanDefinitionGoalTargetComponent", "measure", element.getMeasure(), -1); 20353 } 20354 if (element.hasDetail()) { 20355 composeType(t, "PlanDefinitionGoalTargetComponent", "detail", element.getDetail(), -1); 20356 } 20357 if (element.hasDue()) { 20358 composeDuration(t, "PlanDefinitionGoalTargetComponent", "due", element.getDue(), -1); 20359 } 20360 } 20361 20362 protected void composePlanDefinitionActorComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActorComponent element, int index) { 20363 if (element == null) 20364 return; 20365 Complex t; 20366 if (Utilities.noString(parentType)) 20367 t = parent; 20368 else { 20369 t = parent.predicate("fhir:"+parentType+'.'+name); 20370 } 20371 composeBackboneElement(t, "actor", name, element, index); 20372 if (element.hasTitleElement()) { 20373 composeString(t, "PlanDefinitionActorComponent", "title", element.getTitleElement(), -1); 20374 } 20375 if (element.hasDescriptionElement()) { 20376 composeMarkdown(t, "PlanDefinitionActorComponent", "description", element.getDescriptionElement(), -1); 20377 } 20378 for (int i = 0; i < element.getOption().size(); i++) { 20379 composePlanDefinitionActorOptionComponent(t, "PlanDefinitionActorComponent", "option", element.getOption().get(i), i); 20380 } 20381 } 20382 20383 protected void composePlanDefinitionActorOptionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActorOptionComponent element, int index) { 20384 if (element == null) 20385 return; 20386 Complex t; 20387 if (Utilities.noString(parentType)) 20388 t = parent; 20389 else { 20390 t = parent.predicate("fhir:"+parentType+'.'+name); 20391 } 20392 composeBackboneElement(t, "option", name, element, index); 20393 if (element.hasTypeElement()) { 20394 composeEnum(t, "PlanDefinitionActorOptionComponent", "type", element.getTypeElement(), -1); 20395 } 20396 if (element.hasTypeCanonicalElement()) { 20397 composeCanonical(t, "PlanDefinitionActorOptionComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); 20398 } 20399 if (element.hasTypeReference()) { 20400 composeReference(t, "PlanDefinitionActorOptionComponent", "typeReference", element.getTypeReference(), -1); 20401 } 20402 if (element.hasRole()) { 20403 composeCodeableConcept(t, "PlanDefinitionActorOptionComponent", "role", element.getRole(), -1); 20404 } 20405 } 20406 20407 protected void composePlanDefinitionActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionComponent element, int index) { 20408 if (element == null) 20409 return; 20410 Complex t; 20411 if (Utilities.noString(parentType)) 20412 t = parent; 20413 else { 20414 t = parent.predicate("fhir:"+parentType+'.'+name); 20415 } 20416 composeBackboneElement(t, "action", name, element, index); 20417 if (element.hasLinkIdElement()) { 20418 composeString(t, "PlanDefinitionActionComponent", "linkId", element.getLinkIdElement(), -1); 20419 } 20420 if (element.hasPrefixElement()) { 20421 composeString(t, "PlanDefinitionActionComponent", "prefix", element.getPrefixElement(), -1); 20422 } 20423 if (element.hasTitleElement()) { 20424 composeString(t, "PlanDefinitionActionComponent", "title", element.getTitleElement(), -1); 20425 } 20426 if (element.hasDescriptionElement()) { 20427 composeString(t, "PlanDefinitionActionComponent", "description", element.getDescriptionElement(), -1); 20428 } 20429 if (element.hasTextEquivalentElement()) { 20430 composeString(t, "PlanDefinitionActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 20431 } 20432 if (element.hasPriorityElement()) { 20433 composeEnum(t, "PlanDefinitionActionComponent", "priority", element.getPriorityElement(), -1); 20434 } 20435 if (element.hasCode()) { 20436 composeCodeableConcept(t, "PlanDefinitionActionComponent", "code", element.getCode(), -1); 20437 } 20438 for (int i = 0; i < element.getReason().size(); i++) { 20439 composeCodeableConcept(t, "PlanDefinitionActionComponent", "reason", element.getReason().get(i), i); 20440 } 20441 for (int i = 0; i < element.getDocumentation().size(); i++) { 20442 composeRelatedArtifact(t, "PlanDefinitionActionComponent", "documentation", element.getDocumentation().get(i), i); 20443 } 20444 for (int i = 0; i < element.getGoalId().size(); i++) { 20445 composeId(t, "PlanDefinitionActionComponent", "goalId", element.getGoalId().get(i), i); 20446 } 20447 if (element.hasSubject()) { 20448 composeType(t, "PlanDefinitionActionComponent", "subject", element.getSubject(), -1); 20449 } 20450 for (int i = 0; i < element.getTrigger().size(); i++) { 20451 composeTriggerDefinition(t, "PlanDefinitionActionComponent", "trigger", element.getTrigger().get(i), i); 20452 } 20453 for (int i = 0; i < element.getCondition().size(); i++) { 20454 composePlanDefinitionActionConditionComponent(t, "PlanDefinitionActionComponent", "condition", element.getCondition().get(i), i); 20455 } 20456 for (int i = 0; i < element.getInput().size(); i++) { 20457 composePlanDefinitionActionInputComponent(t, "PlanDefinitionActionComponent", "input", element.getInput().get(i), i); 20458 } 20459 for (int i = 0; i < element.getOutput().size(); i++) { 20460 composePlanDefinitionActionOutputComponent(t, "PlanDefinitionActionComponent", "output", element.getOutput().get(i), i); 20461 } 20462 for (int i = 0; i < element.getRelatedAction().size(); i++) { 20463 composePlanDefinitionActionRelatedActionComponent(t, "PlanDefinitionActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 20464 } 20465 if (element.hasTiming()) { 20466 composeType(t, "PlanDefinitionActionComponent", "timing", element.getTiming(), -1); 20467 } 20468 if (element.hasLocation()) { 20469 composeCodeableReference(t, "PlanDefinitionActionComponent", "location", element.getLocation(), -1); 20470 } 20471 for (int i = 0; i < element.getParticipant().size(); i++) { 20472 composePlanDefinitionActionParticipantComponent(t, "PlanDefinitionActionComponent", "participant", element.getParticipant().get(i), i); 20473 } 20474 if (element.hasType()) { 20475 composeCodeableConcept(t, "PlanDefinitionActionComponent", "type", element.getType(), -1); 20476 } 20477 if (element.hasGroupingBehaviorElement()) { 20478 composeEnum(t, "PlanDefinitionActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 20479 } 20480 if (element.hasSelectionBehaviorElement()) { 20481 composeEnum(t, "PlanDefinitionActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 20482 } 20483 if (element.hasRequiredBehaviorElement()) { 20484 composeEnum(t, "PlanDefinitionActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 20485 } 20486 if (element.hasPrecheckBehaviorElement()) { 20487 composeEnum(t, "PlanDefinitionActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 20488 } 20489 if (element.hasCardinalityBehaviorElement()) { 20490 composeEnum(t, "PlanDefinitionActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 20491 } 20492 if (element.hasDefinition()) { 20493 composeType(t, "PlanDefinitionActionComponent", "definition", element.getDefinition(), -1); 20494 } 20495 if (element.hasTransformElement()) { 20496 composeCanonical(t, "PlanDefinitionActionComponent", "transform", element.getTransformElement(), -1); 20497 } 20498 for (int i = 0; i < element.getDynamicValue().size(); i++) { 20499 composePlanDefinitionActionDynamicValueComponent(t, "PlanDefinitionActionComponent", "dynamicValue", element.getDynamicValue().get(i), i); 20500 } 20501 for (int i = 0; i < element.getAction().size(); i++) { 20502 composePlanDefinitionActionComponent(t, "PlanDefinitionActionComponent", "action", element.getAction().get(i), i); 20503 } 20504 } 20505 20506 protected void composePlanDefinitionActionConditionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionConditionComponent element, int index) { 20507 if (element == null) 20508 return; 20509 Complex t; 20510 if (Utilities.noString(parentType)) 20511 t = parent; 20512 else { 20513 t = parent.predicate("fhir:"+parentType+'.'+name); 20514 } 20515 composeBackboneElement(t, "condition", name, element, index); 20516 if (element.hasKindElement()) { 20517 composeEnum(t, "PlanDefinitionActionConditionComponent", "kind", element.getKindElement(), -1); 20518 } 20519 if (element.hasExpression()) { 20520 composeExpression(t, "PlanDefinitionActionConditionComponent", "expression", element.getExpression(), -1); 20521 } 20522 } 20523 20524 protected void composePlanDefinitionActionInputComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionInputComponent 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, "input", name, element, index); 20534 if (element.hasTitleElement()) { 20535 composeString(t, "PlanDefinitionActionInputComponent", "title", element.getTitleElement(), -1); 20536 } 20537 if (element.hasRequirement()) { 20538 composeDataRequirement(t, "PlanDefinitionActionInputComponent", "requirement", element.getRequirement(), -1); 20539 } 20540 if (element.hasRelatedDataElement()) { 20541 composeId(t, "PlanDefinitionActionInputComponent", "relatedData", element.getRelatedDataElement(), -1); 20542 } 20543 } 20544 20545 protected void composePlanDefinitionActionOutputComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionOutputComponent element, int index) { 20546 if (element == null) 20547 return; 20548 Complex t; 20549 if (Utilities.noString(parentType)) 20550 t = parent; 20551 else { 20552 t = parent.predicate("fhir:"+parentType+'.'+name); 20553 } 20554 composeBackboneElement(t, "output", name, element, index); 20555 if (element.hasTitleElement()) { 20556 composeString(t, "PlanDefinitionActionOutputComponent", "title", element.getTitleElement(), -1); 20557 } 20558 if (element.hasRequirement()) { 20559 composeDataRequirement(t, "PlanDefinitionActionOutputComponent", "requirement", element.getRequirement(), -1); 20560 } 20561 if (element.hasRelatedDataElement()) { 20562 composeString(t, "PlanDefinitionActionOutputComponent", "relatedData", element.getRelatedDataElement(), -1); 20563 } 20564 } 20565 20566 protected void composePlanDefinitionActionRelatedActionComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionRelatedActionComponent element, int index) { 20567 if (element == null) 20568 return; 20569 Complex t; 20570 if (Utilities.noString(parentType)) 20571 t = parent; 20572 else { 20573 t = parent.predicate("fhir:"+parentType+'.'+name); 20574 } 20575 composeBackboneElement(t, "relatedAction", name, element, index); 20576 if (element.hasTargetIdElement()) { 20577 composeId(t, "PlanDefinitionActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); 20578 } 20579 if (element.hasRelationshipElement()) { 20580 composeEnum(t, "PlanDefinitionActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 20581 } 20582 if (element.hasOffset()) { 20583 composeType(t, "PlanDefinitionActionRelatedActionComponent", "offset", element.getOffset(), -1); 20584 } 20585 } 20586 20587 protected void composePlanDefinitionActionParticipantComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionParticipantComponent element, int index) { 20588 if (element == null) 20589 return; 20590 Complex t; 20591 if (Utilities.noString(parentType)) 20592 t = parent; 20593 else { 20594 t = parent.predicate("fhir:"+parentType+'.'+name); 20595 } 20596 composeBackboneElement(t, "participant", name, element, index); 20597 if (element.hasActorIdElement()) { 20598 composeString(t, "PlanDefinitionActionParticipantComponent", "actorId", element.getActorIdElement(), -1); 20599 } 20600 if (element.hasTypeElement()) { 20601 composeEnum(t, "PlanDefinitionActionParticipantComponent", "type", element.getTypeElement(), -1); 20602 } 20603 if (element.hasTypeCanonicalElement()) { 20604 composeCanonical(t, "PlanDefinitionActionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); 20605 } 20606 if (element.hasTypeReference()) { 20607 composeReference(t, "PlanDefinitionActionParticipantComponent", "typeReference", element.getTypeReference(), -1); 20608 } 20609 if (element.hasRole()) { 20610 composeCodeableConcept(t, "PlanDefinitionActionParticipantComponent", "role", element.getRole(), -1); 20611 } 20612 if (element.hasFunction()) { 20613 composeCodeableConcept(t, "PlanDefinitionActionParticipantComponent", "function", element.getFunction(), -1); 20614 } 20615 } 20616 20617 protected void composePlanDefinitionActionDynamicValueComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionActionDynamicValueComponent element, int index) { 20618 if (element == null) 20619 return; 20620 Complex t; 20621 if (Utilities.noString(parentType)) 20622 t = parent; 20623 else { 20624 t = parent.predicate("fhir:"+parentType+'.'+name); 20625 } 20626 composeBackboneElement(t, "dynamicValue", name, element, index); 20627 if (element.hasPathElement()) { 20628 composeString(t, "PlanDefinitionActionDynamicValueComponent", "path", element.getPathElement(), -1); 20629 } 20630 if (element.hasExpression()) { 20631 composeExpression(t, "PlanDefinitionActionDynamicValueComponent", "expression", element.getExpression(), -1); 20632 } 20633 } 20634 20635 protected void composePractitioner(Complex parent, String parentType, String name, Practitioner element, int index) { 20636 if (element == null) 20637 return; 20638 Complex t; 20639 if (Utilities.noString(parentType)) 20640 t = parent; 20641 else { 20642 t = parent.predicate("fhir:"+parentType+'.'+name); 20643 } 20644 composeDomainResource(t, "Practitioner", name, element, index); 20645 for (int i = 0; i < element.getIdentifier().size(); i++) { 20646 composeIdentifier(t, "Practitioner", "identifier", element.getIdentifier().get(i), i); 20647 } 20648 if (element.hasActiveElement()) { 20649 composeBoolean(t, "Practitioner", "active", element.getActiveElement(), -1); 20650 } 20651 for (int i = 0; i < element.getName().size(); i++) { 20652 composeHumanName(t, "Practitioner", "name", element.getName().get(i), i); 20653 } 20654 for (int i = 0; i < element.getTelecom().size(); i++) { 20655 composeContactPoint(t, "Practitioner", "telecom", element.getTelecom().get(i), i); 20656 } 20657 if (element.hasGenderElement()) { 20658 composeEnum(t, "Practitioner", "gender", element.getGenderElement(), -1); 20659 } 20660 if (element.hasBirthDateElement()) { 20661 composeDate(t, "Practitioner", "birthDate", element.getBirthDateElement(), -1); 20662 } 20663 if (element.hasDeceased()) { 20664 composeType(t, "Practitioner", "deceased", element.getDeceased(), -1); 20665 } 20666 for (int i = 0; i < element.getAddress().size(); i++) { 20667 composeAddress(t, "Practitioner", "address", element.getAddress().get(i), i); 20668 } 20669 for (int i = 0; i < element.getPhoto().size(); i++) { 20670 composeAttachment(t, "Practitioner", "photo", element.getPhoto().get(i), i); 20671 } 20672 for (int i = 0; i < element.getQualification().size(); i++) { 20673 composePractitionerQualificationComponent(t, "Practitioner", "qualification", element.getQualification().get(i), i); 20674 } 20675 for (int i = 0; i < element.getCommunication().size(); i++) { 20676 composeCodeableConcept(t, "Practitioner", "communication", element.getCommunication().get(i), i); 20677 } 20678 } 20679 20680 protected void composePractitionerQualificationComponent(Complex parent, String parentType, String name, Practitioner.PractitionerQualificationComponent element, int index) { 20681 if (element == null) 20682 return; 20683 Complex t; 20684 if (Utilities.noString(parentType)) 20685 t = parent; 20686 else { 20687 t = parent.predicate("fhir:"+parentType+'.'+name); 20688 } 20689 composeBackboneElement(t, "qualification", name, element, index); 20690 for (int i = 0; i < element.getIdentifier().size(); i++) { 20691 composeIdentifier(t, "PractitionerQualificationComponent", "identifier", element.getIdentifier().get(i), i); 20692 } 20693 if (element.hasCode()) { 20694 composeCodeableConcept(t, "PractitionerQualificationComponent", "code", element.getCode(), -1); 20695 } 20696 if (element.hasPeriod()) { 20697 composePeriod(t, "PractitionerQualificationComponent", "period", element.getPeriod(), -1); 20698 } 20699 if (element.hasIssuer()) { 20700 composeReference(t, "PractitionerQualificationComponent", "issuer", element.getIssuer(), -1); 20701 } 20702 } 20703 20704 protected void composePractitionerRole(Complex parent, String parentType, String name, PractitionerRole element, int index) { 20705 if (element == null) 20706 return; 20707 Complex t; 20708 if (Utilities.noString(parentType)) 20709 t = parent; 20710 else { 20711 t = parent.predicate("fhir:"+parentType+'.'+name); 20712 } 20713 composeDomainResource(t, "PractitionerRole", name, element, index); 20714 for (int i = 0; i < element.getIdentifier().size(); i++) { 20715 composeIdentifier(t, "PractitionerRole", "identifier", element.getIdentifier().get(i), i); 20716 } 20717 if (element.hasActiveElement()) { 20718 composeBoolean(t, "PractitionerRole", "active", element.getActiveElement(), -1); 20719 } 20720 if (element.hasPeriod()) { 20721 composePeriod(t, "PractitionerRole", "period", element.getPeriod(), -1); 20722 } 20723 if (element.hasPractitioner()) { 20724 composeReference(t, "PractitionerRole", "practitioner", element.getPractitioner(), -1); 20725 } 20726 if (element.hasOrganization()) { 20727 composeReference(t, "PractitionerRole", "organization", element.getOrganization(), -1); 20728 } 20729 for (int i = 0; i < element.getCode().size(); i++) { 20730 composeCodeableConcept(t, "PractitionerRole", "code", element.getCode().get(i), i); 20731 } 20732 for (int i = 0; i < element.getSpecialty().size(); i++) { 20733 composeCodeableConcept(t, "PractitionerRole", "specialty", element.getSpecialty().get(i), i); 20734 } 20735 for (int i = 0; i < element.getLocation().size(); i++) { 20736 composeReference(t, "PractitionerRole", "location", element.getLocation().get(i), i); 20737 } 20738 for (int i = 0; i < element.getHealthcareService().size(); i++) { 20739 composeReference(t, "PractitionerRole", "healthcareService", element.getHealthcareService().get(i), i); 20740 } 20741 for (int i = 0; i < element.getContact().size(); i++) { 20742 composeExtendedContactDetail(t, "PractitionerRole", "contact", element.getContact().get(i), i); 20743 } 20744 for (int i = 0; i < element.getAvailability().size(); i++) { 20745 composeAvailability(t, "PractitionerRole", "availability", element.getAvailability().get(i), i); 20746 } 20747 for (int i = 0; i < element.getEndpoint().size(); i++) { 20748 composeReference(t, "PractitionerRole", "endpoint", element.getEndpoint().get(i), i); 20749 } 20750 } 20751 20752 protected void composeProcedure(Complex parent, String parentType, String name, Procedure element, int index) { 20753 if (element == null) 20754 return; 20755 Complex t; 20756 if (Utilities.noString(parentType)) 20757 t = parent; 20758 else { 20759 t = parent.predicate("fhir:"+parentType+'.'+name); 20760 } 20761 composeDomainResource(t, "Procedure", name, element, index); 20762 for (int i = 0; i < element.getIdentifier().size(); i++) { 20763 composeIdentifier(t, "Procedure", "identifier", element.getIdentifier().get(i), i); 20764 } 20765 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 20766 composeCanonical(t, "Procedure", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 20767 } 20768 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 20769 composeUri(t, "Procedure", "instantiatesUri", element.getInstantiatesUri().get(i), i); 20770 } 20771 for (int i = 0; i < element.getBasedOn().size(); i++) { 20772 composeReference(t, "Procedure", "basedOn", element.getBasedOn().get(i), i); 20773 } 20774 for (int i = 0; i < element.getPartOf().size(); i++) { 20775 composeReference(t, "Procedure", "partOf", element.getPartOf().get(i), i); 20776 } 20777 if (element.hasStatusElement()) { 20778 composeEnum(t, "Procedure", "status", element.getStatusElement(), -1); 20779 } 20780 if (element.hasStatusReason()) { 20781 composeCodeableConcept(t, "Procedure", "statusReason", element.getStatusReason(), -1); 20782 } 20783 for (int i = 0; i < element.getCategory().size(); i++) { 20784 composeCodeableConcept(t, "Procedure", "category", element.getCategory().get(i), i); 20785 } 20786 if (element.hasCode()) { 20787 composeCodeableConcept(t, "Procedure", "code", element.getCode(), -1); 20788 } 20789 if (element.hasSubject()) { 20790 composeReference(t, "Procedure", "subject", element.getSubject(), -1); 20791 } 20792 if (element.hasFocus()) { 20793 composeReference(t, "Procedure", "focus", element.getFocus(), -1); 20794 } 20795 if (element.hasEncounter()) { 20796 composeReference(t, "Procedure", "encounter", element.getEncounter(), -1); 20797 } 20798 if (element.hasOccurrence()) { 20799 composeType(t, "Procedure", "occurrence", element.getOccurrence(), -1); 20800 } 20801 if (element.hasRecordedElement()) { 20802 composeDateTime(t, "Procedure", "recorded", element.getRecordedElement(), -1); 20803 } 20804 if (element.hasRecorder()) { 20805 composeReference(t, "Procedure", "recorder", element.getRecorder(), -1); 20806 } 20807 if (element.hasReported()) { 20808 composeType(t, "Procedure", "reported", element.getReported(), -1); 20809 } 20810 for (int i = 0; i < element.getPerformer().size(); i++) { 20811 composeProcedurePerformerComponent(t, "Procedure", "performer", element.getPerformer().get(i), i); 20812 } 20813 if (element.hasLocation()) { 20814 composeReference(t, "Procedure", "location", element.getLocation(), -1); 20815 } 20816 for (int i = 0; i < element.getReason().size(); i++) { 20817 composeCodeableReference(t, "Procedure", "reason", element.getReason().get(i), i); 20818 } 20819 for (int i = 0; i < element.getBodySite().size(); i++) { 20820 composeCodeableConcept(t, "Procedure", "bodySite", element.getBodySite().get(i), i); 20821 } 20822 if (element.hasOutcome()) { 20823 composeCodeableConcept(t, "Procedure", "outcome", element.getOutcome(), -1); 20824 } 20825 for (int i = 0; i < element.getReport().size(); i++) { 20826 composeReference(t, "Procedure", "report", element.getReport().get(i), i); 20827 } 20828 for (int i = 0; i < element.getComplication().size(); i++) { 20829 composeCodeableReference(t, "Procedure", "complication", element.getComplication().get(i), i); 20830 } 20831 for (int i = 0; i < element.getFollowUp().size(); i++) { 20832 composeCodeableConcept(t, "Procedure", "followUp", element.getFollowUp().get(i), i); 20833 } 20834 for (int i = 0; i < element.getNote().size(); i++) { 20835 composeAnnotation(t, "Procedure", "note", element.getNote().get(i), i); 20836 } 20837 for (int i = 0; i < element.getFocalDevice().size(); i++) { 20838 composeProcedureFocalDeviceComponent(t, "Procedure", "focalDevice", element.getFocalDevice().get(i), i); 20839 } 20840 for (int i = 0; i < element.getUsed().size(); i++) { 20841 composeCodeableReference(t, "Procedure", "used", element.getUsed().get(i), i); 20842 } 20843 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 20844 composeReference(t, "Procedure", "supportingInfo", element.getSupportingInfo().get(i), i); 20845 } 20846 } 20847 20848 protected void composeProcedurePerformerComponent(Complex parent, String parentType, String name, Procedure.ProcedurePerformerComponent element, int index) { 20849 if (element == null) 20850 return; 20851 Complex t; 20852 if (Utilities.noString(parentType)) 20853 t = parent; 20854 else { 20855 t = parent.predicate("fhir:"+parentType+'.'+name); 20856 } 20857 composeBackboneElement(t, "performer", name, element, index); 20858 if (element.hasFunction()) { 20859 composeCodeableConcept(t, "ProcedurePerformerComponent", "function", element.getFunction(), -1); 20860 } 20861 if (element.hasActor()) { 20862 composeReference(t, "ProcedurePerformerComponent", "actor", element.getActor(), -1); 20863 } 20864 if (element.hasOnBehalfOf()) { 20865 composeReference(t, "ProcedurePerformerComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 20866 } 20867 if (element.hasPeriod()) { 20868 composePeriod(t, "ProcedurePerformerComponent", "period", element.getPeriod(), -1); 20869 } 20870 } 20871 20872 protected void composeProcedureFocalDeviceComponent(Complex parent, String parentType, String name, Procedure.ProcedureFocalDeviceComponent element, int index) { 20873 if (element == null) 20874 return; 20875 Complex t; 20876 if (Utilities.noString(parentType)) 20877 t = parent; 20878 else { 20879 t = parent.predicate("fhir:"+parentType+'.'+name); 20880 } 20881 composeBackboneElement(t, "focalDevice", name, element, index); 20882 if (element.hasAction()) { 20883 composeCodeableConcept(t, "ProcedureFocalDeviceComponent", "action", element.getAction(), -1); 20884 } 20885 if (element.hasManipulated()) { 20886 composeReference(t, "ProcedureFocalDeviceComponent", "manipulated", element.getManipulated(), -1); 20887 } 20888 } 20889 20890 protected void composeProvenance(Complex parent, String parentType, String name, Provenance element, int index) { 20891 if (element == null) 20892 return; 20893 Complex t; 20894 if (Utilities.noString(parentType)) 20895 t = parent; 20896 else { 20897 t = parent.predicate("fhir:"+parentType+'.'+name); 20898 } 20899 composeDomainResource(t, "Provenance", name, element, index); 20900 for (int i = 0; i < element.getTarget().size(); i++) { 20901 composeReference(t, "Provenance", "target", element.getTarget().get(i), i); 20902 } 20903 if (element.hasOccurred()) { 20904 composeType(t, "Provenance", "occurred", element.getOccurred(), -1); 20905 } 20906 if (element.hasRecordedElement()) { 20907 composeInstant(t, "Provenance", "recorded", element.getRecordedElement(), -1); 20908 } 20909 for (int i = 0; i < element.getPolicy().size(); i++) { 20910 composeUri(t, "Provenance", "policy", element.getPolicy().get(i), i); 20911 } 20912 if (element.hasLocation()) { 20913 composeReference(t, "Provenance", "location", element.getLocation(), -1); 20914 } 20915 for (int i = 0; i < element.getAuthorization().size(); i++) { 20916 composeCodeableReference(t, "Provenance", "authorization", element.getAuthorization().get(i), i); 20917 } 20918 if (element.hasActivity()) { 20919 composeCodeableConcept(t, "Provenance", "activity", element.getActivity(), -1); 20920 } 20921 for (int i = 0; i < element.getBasedOn().size(); i++) { 20922 composeReference(t, "Provenance", "basedOn", element.getBasedOn().get(i), i); 20923 } 20924 if (element.hasPatient()) { 20925 composeReference(t, "Provenance", "patient", element.getPatient(), -1); 20926 } 20927 if (element.hasEncounter()) { 20928 composeReference(t, "Provenance", "encounter", element.getEncounter(), -1); 20929 } 20930 for (int i = 0; i < element.getAgent().size(); i++) { 20931 composeProvenanceAgentComponent(t, "Provenance", "agent", element.getAgent().get(i), i); 20932 } 20933 for (int i = 0; i < element.getEntity().size(); i++) { 20934 composeProvenanceEntityComponent(t, "Provenance", "entity", element.getEntity().get(i), i); 20935 } 20936 for (int i = 0; i < element.getSignature().size(); i++) { 20937 composeSignature(t, "Provenance", "signature", element.getSignature().get(i), i); 20938 } 20939 } 20940 20941 protected void composeProvenanceAgentComponent(Complex parent, String parentType, String name, Provenance.ProvenanceAgentComponent element, int index) { 20942 if (element == null) 20943 return; 20944 Complex t; 20945 if (Utilities.noString(parentType)) 20946 t = parent; 20947 else { 20948 t = parent.predicate("fhir:"+parentType+'.'+name); 20949 } 20950 composeBackboneElement(t, "agent", name, element, index); 20951 if (element.hasType()) { 20952 composeCodeableConcept(t, "ProvenanceAgentComponent", "type", element.getType(), -1); 20953 } 20954 for (int i = 0; i < element.getRole().size(); i++) { 20955 composeCodeableConcept(t, "ProvenanceAgentComponent", "role", element.getRole().get(i), i); 20956 } 20957 if (element.hasWho()) { 20958 composeReference(t, "ProvenanceAgentComponent", "who", element.getWho(), -1); 20959 } 20960 if (element.hasOnBehalfOf()) { 20961 composeReference(t, "ProvenanceAgentComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 20962 } 20963 } 20964 20965 protected void composeProvenanceEntityComponent(Complex parent, String parentType, String name, Provenance.ProvenanceEntityComponent element, int index) { 20966 if (element == null) 20967 return; 20968 Complex t; 20969 if (Utilities.noString(parentType)) 20970 t = parent; 20971 else { 20972 t = parent.predicate("fhir:"+parentType+'.'+name); 20973 } 20974 composeBackboneElement(t, "entity", name, element, index); 20975 if (element.hasRoleElement()) { 20976 composeEnum(t, "ProvenanceEntityComponent", "role", element.getRoleElement(), -1); 20977 } 20978 if (element.hasWhat()) { 20979 composeReference(t, "ProvenanceEntityComponent", "what", element.getWhat(), -1); 20980 } 20981 for (int i = 0; i < element.getAgent().size(); i++) { 20982 composeProvenanceAgentComponent(t, "ProvenanceEntityComponent", "agent", element.getAgent().get(i), i); 20983 } 20984 } 20985 20986 protected void composeQuestionnaire(Complex parent, String parentType, String name, Questionnaire element, int index) { 20987 if (element == null) 20988 return; 20989 Complex t; 20990 if (Utilities.noString(parentType)) 20991 t = parent; 20992 else { 20993 t = parent.predicate("fhir:"+parentType+'.'+name); 20994 } 20995 composeMetadataResource(t, "Questionnaire", name, element, index); 20996 if (element.hasUrlElement()) { 20997 composeUri(t, "Questionnaire", "url", element.getUrlElement(), -1); 20998 } 20999 for (int i = 0; i < element.getIdentifier().size(); i++) { 21000 composeIdentifier(t, "Questionnaire", "identifier", element.getIdentifier().get(i), i); 21001 } 21002 if (element.hasVersionElement()) { 21003 composeString(t, "Questionnaire", "version", element.getVersionElement(), -1); 21004 } 21005 if (element.hasVersionAlgorithm()) { 21006 composeType(t, "Questionnaire", "versionAlgorithm", element.getVersionAlgorithm(), -1); 21007 } 21008 if (element.hasNameElement()) { 21009 composeString(t, "Questionnaire", "name", element.getNameElement(), -1); 21010 } 21011 if (element.hasTitleElement()) { 21012 composeString(t, "Questionnaire", "title", element.getTitleElement(), -1); 21013 } 21014 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 21015 composeCanonical(t, "Questionnaire", "derivedFrom", element.getDerivedFrom().get(i), i); 21016 } 21017 if (element.hasStatusElement()) { 21018 composeEnum(t, "Questionnaire", "status", element.getStatusElement(), -1); 21019 } 21020 if (element.hasExperimentalElement()) { 21021 composeBoolean(t, "Questionnaire", "experimental", element.getExperimentalElement(), -1); 21022 } 21023 for (int i = 0; i < element.getSubjectType().size(); i++) { 21024 composeCode(t, "Questionnaire", "subjectType", element.getSubjectType().get(i), i); 21025 } 21026 if (element.hasDateElement()) { 21027 composeDateTime(t, "Questionnaire", "date", element.getDateElement(), -1); 21028 } 21029 if (element.hasPublisherElement()) { 21030 composeString(t, "Questionnaire", "publisher", element.getPublisherElement(), -1); 21031 } 21032 for (int i = 0; i < element.getContact().size(); i++) { 21033 composeContactDetail(t, "Questionnaire", "contact", element.getContact().get(i), i); 21034 } 21035 if (element.hasDescriptionElement()) { 21036 composeMarkdown(t, "Questionnaire", "description", element.getDescriptionElement(), -1); 21037 } 21038 for (int i = 0; i < element.getUseContext().size(); i++) { 21039 composeUsageContext(t, "Questionnaire", "useContext", element.getUseContext().get(i), i); 21040 } 21041 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21042 composeCodeableConcept(t, "Questionnaire", "jurisdiction", element.getJurisdiction().get(i), i); 21043 } 21044 if (element.hasPurposeElement()) { 21045 composeMarkdown(t, "Questionnaire", "purpose", element.getPurposeElement(), -1); 21046 } 21047 if (element.hasCopyrightElement()) { 21048 composeMarkdown(t, "Questionnaire", "copyright", element.getCopyrightElement(), -1); 21049 } 21050 if (element.hasCopyrightLabelElement()) { 21051 composeString(t, "Questionnaire", "copyrightLabel", element.getCopyrightLabelElement(), -1); 21052 } 21053 if (element.hasApprovalDateElement()) { 21054 composeDate(t, "Questionnaire", "approvalDate", element.getApprovalDateElement(), -1); 21055 } 21056 if (element.hasLastReviewDateElement()) { 21057 composeDate(t, "Questionnaire", "lastReviewDate", element.getLastReviewDateElement(), -1); 21058 } 21059 if (element.hasEffectivePeriod()) { 21060 composePeriod(t, "Questionnaire", "effectivePeriod", element.getEffectivePeriod(), -1); 21061 } 21062 for (int i = 0; i < element.getCode().size(); i++) { 21063 composeCoding(t, "Questionnaire", "code", element.getCode().get(i), i); 21064 } 21065 for (int i = 0; i < element.getItem().size(); i++) { 21066 composeQuestionnaireItemComponent(t, "Questionnaire", "item", element.getItem().get(i), i); 21067 } 21068 } 21069 21070 protected void composeQuestionnaireItemComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemComponent 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, "item", name, element, index); 21080 if (element.hasLinkIdElement()) { 21081 composeString(t, "QuestionnaireItemComponent", "linkId", element.getLinkIdElement(), -1); 21082 } 21083 if (element.hasDefinitionElement()) { 21084 composeUri(t, "QuestionnaireItemComponent", "definition", element.getDefinitionElement(), -1); 21085 } 21086 for (int i = 0; i < element.getCode().size(); i++) { 21087 composeCoding(t, "QuestionnaireItemComponent", "code", element.getCode().get(i), i); 21088 } 21089 if (element.hasPrefixElement()) { 21090 composeString(t, "QuestionnaireItemComponent", "prefix", element.getPrefixElement(), -1); 21091 } 21092 if (element.hasTextElement()) { 21093 composeString(t, "QuestionnaireItemComponent", "text", element.getTextElement(), -1); 21094 } 21095 if (element.hasTypeElement()) { 21096 composeEnum(t, "QuestionnaireItemComponent", "type", element.getTypeElement(), -1); 21097 } 21098 for (int i = 0; i < element.getEnableWhen().size(); i++) { 21099 composeQuestionnaireItemEnableWhenComponent(t, "QuestionnaireItemComponent", "enableWhen", element.getEnableWhen().get(i), i); 21100 } 21101 if (element.hasEnableBehaviorElement()) { 21102 composeEnum(t, "QuestionnaireItemComponent", "enableBehavior", element.getEnableBehaviorElement(), -1); 21103 } 21104 if (element.hasDisabledDisplayElement()) { 21105 composeEnum(t, "QuestionnaireItemComponent", "disabledDisplay", element.getDisabledDisplayElement(), -1); 21106 } 21107 if (element.hasRequiredElement()) { 21108 composeBoolean(t, "QuestionnaireItemComponent", "required", element.getRequiredElement(), -1); 21109 } 21110 if (element.hasRepeatsElement()) { 21111 composeBoolean(t, "QuestionnaireItemComponent", "repeats", element.getRepeatsElement(), -1); 21112 } 21113 if (element.hasReadOnlyElement()) { 21114 composeBoolean(t, "QuestionnaireItemComponent", "readOnly", element.getReadOnlyElement(), -1); 21115 } 21116 if (element.hasMaxLengthElement()) { 21117 composeInteger(t, "QuestionnaireItemComponent", "maxLength", element.getMaxLengthElement(), -1); 21118 } 21119 if (element.hasAnswerConstraintElement()) { 21120 composeEnum(t, "QuestionnaireItemComponent", "answerConstraint", element.getAnswerConstraintElement(), -1); 21121 } 21122 if (element.hasAnswerValueSetElement()) { 21123 composeCanonical(t, "QuestionnaireItemComponent", "answerValueSet", element.getAnswerValueSetElement(), -1); 21124 } 21125 for (int i = 0; i < element.getAnswerOption().size(); i++) { 21126 composeQuestionnaireItemAnswerOptionComponent(t, "QuestionnaireItemComponent", "answerOption", element.getAnswerOption().get(i), i); 21127 } 21128 for (int i = 0; i < element.getInitial().size(); i++) { 21129 composeQuestionnaireItemInitialComponent(t, "QuestionnaireItemComponent", "initial", element.getInitial().get(i), i); 21130 } 21131 for (int i = 0; i < element.getItem().size(); i++) { 21132 composeQuestionnaireItemComponent(t, "QuestionnaireItemComponent", "item", element.getItem().get(i), i); 21133 } 21134 } 21135 21136 protected void composeQuestionnaireItemEnableWhenComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemEnableWhenComponent element, int index) { 21137 if (element == null) 21138 return; 21139 Complex t; 21140 if (Utilities.noString(parentType)) 21141 t = parent; 21142 else { 21143 t = parent.predicate("fhir:"+parentType+'.'+name); 21144 } 21145 composeBackboneElement(t, "enableWhen", name, element, index); 21146 if (element.hasQuestionElement()) { 21147 composeString(t, "QuestionnaireItemEnableWhenComponent", "question", element.getQuestionElement(), -1); 21148 } 21149 if (element.hasOperatorElement()) { 21150 composeEnum(t, "QuestionnaireItemEnableWhenComponent", "operator", element.getOperatorElement(), -1); 21151 } 21152 if (element.hasAnswer()) { 21153 composeType(t, "QuestionnaireItemEnableWhenComponent", "answer", element.getAnswer(), -1); 21154 } 21155 } 21156 21157 protected void composeQuestionnaireItemAnswerOptionComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemAnswerOptionComponent element, int index) { 21158 if (element == null) 21159 return; 21160 Complex t; 21161 if (Utilities.noString(parentType)) 21162 t = parent; 21163 else { 21164 t = parent.predicate("fhir:"+parentType+'.'+name); 21165 } 21166 composeBackboneElement(t, "answerOption", name, element, index); 21167 if (element.hasValue()) { 21168 composeType(t, "QuestionnaireItemAnswerOptionComponent", "value", element.getValue(), -1); 21169 } 21170 if (element.hasInitialSelectedElement()) { 21171 composeBoolean(t, "QuestionnaireItemAnswerOptionComponent", "initialSelected", element.getInitialSelectedElement(), -1); 21172 } 21173 } 21174 21175 protected void composeQuestionnaireItemInitialComponent(Complex parent, String parentType, String name, Questionnaire.QuestionnaireItemInitialComponent element, int index) { 21176 if (element == null) 21177 return; 21178 Complex t; 21179 if (Utilities.noString(parentType)) 21180 t = parent; 21181 else { 21182 t = parent.predicate("fhir:"+parentType+'.'+name); 21183 } 21184 composeBackboneElement(t, "initial", name, element, index); 21185 if (element.hasValue()) { 21186 composeType(t, "QuestionnaireItemInitialComponent", "value", element.getValue(), -1); 21187 } 21188 } 21189 21190 protected void composeQuestionnaireResponse(Complex parent, String parentType, String name, QuestionnaireResponse element, int index) { 21191 if (element == null) 21192 return; 21193 Complex t; 21194 if (Utilities.noString(parentType)) 21195 t = parent; 21196 else { 21197 t = parent.predicate("fhir:"+parentType+'.'+name); 21198 } 21199 composeDomainResource(t, "QuestionnaireResponse", name, element, index); 21200 for (int i = 0; i < element.getIdentifier().size(); i++) { 21201 composeIdentifier(t, "QuestionnaireResponse", "identifier", element.getIdentifier().get(i), i); 21202 } 21203 for (int i = 0; i < element.getBasedOn().size(); i++) { 21204 composeReference(t, "QuestionnaireResponse", "basedOn", element.getBasedOn().get(i), i); 21205 } 21206 for (int i = 0; i < element.getPartOf().size(); i++) { 21207 composeReference(t, "QuestionnaireResponse", "partOf", element.getPartOf().get(i), i); 21208 } 21209 if (element.hasQuestionnaireElement()) { 21210 composeCanonical(t, "QuestionnaireResponse", "questionnaire", element.getQuestionnaireElement(), -1); 21211 } 21212 if (element.hasStatusElement()) { 21213 composeEnum(t, "QuestionnaireResponse", "status", element.getStatusElement(), -1); 21214 } 21215 if (element.hasSubject()) { 21216 composeReference(t, "QuestionnaireResponse", "subject", element.getSubject(), -1); 21217 } 21218 if (element.hasEncounter()) { 21219 composeReference(t, "QuestionnaireResponse", "encounter", element.getEncounter(), -1); 21220 } 21221 if (element.hasAuthoredElement()) { 21222 composeDateTime(t, "QuestionnaireResponse", "authored", element.getAuthoredElement(), -1); 21223 } 21224 if (element.hasAuthor()) { 21225 composeReference(t, "QuestionnaireResponse", "author", element.getAuthor(), -1); 21226 } 21227 if (element.hasSource()) { 21228 composeReference(t, "QuestionnaireResponse", "source", element.getSource(), -1); 21229 } 21230 for (int i = 0; i < element.getItem().size(); i++) { 21231 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponse", "item", element.getItem().get(i), i); 21232 } 21233 } 21234 21235 protected void composeQuestionnaireResponseItemComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemComponent element, int index) { 21236 if (element == null) 21237 return; 21238 Complex t; 21239 if (Utilities.noString(parentType)) 21240 t = parent; 21241 else { 21242 t = parent.predicate("fhir:"+parentType+'.'+name); 21243 } 21244 composeBackboneElement(t, "item", name, element, index); 21245 if (element.hasLinkIdElement()) { 21246 composeString(t, "QuestionnaireResponseItemComponent", "linkId", element.getLinkIdElement(), -1); 21247 } 21248 if (element.hasDefinitionElement()) { 21249 composeUri(t, "QuestionnaireResponseItemComponent", "definition", element.getDefinitionElement(), -1); 21250 } 21251 if (element.hasTextElement()) { 21252 composeString(t, "QuestionnaireResponseItemComponent", "text", element.getTextElement(), -1); 21253 } 21254 for (int i = 0; i < element.getAnswer().size(); i++) { 21255 composeQuestionnaireResponseItemAnswerComponent(t, "QuestionnaireResponseItemComponent", "answer", element.getAnswer().get(i), i); 21256 } 21257 for (int i = 0; i < element.getItem().size(); i++) { 21258 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemComponent", "item", element.getItem().get(i), i); 21259 } 21260 } 21261 21262 protected void composeQuestionnaireResponseItemAnswerComponent(Complex parent, String parentType, String name, QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent element, int index) { 21263 if (element == null) 21264 return; 21265 Complex t; 21266 if (Utilities.noString(parentType)) 21267 t = parent; 21268 else { 21269 t = parent.predicate("fhir:"+parentType+'.'+name); 21270 } 21271 composeBackboneElement(t, "answer", name, element, index); 21272 if (element.hasValue()) { 21273 composeType(t, "QuestionnaireResponseItemAnswerComponent", "value", element.getValue(), -1); 21274 } 21275 for (int i = 0; i < element.getItem().size(); i++) { 21276 composeQuestionnaireResponseItemComponent(t, "QuestionnaireResponseItemAnswerComponent", "item", element.getItem().get(i), i); 21277 } 21278 } 21279 21280 protected void composeRegulatedAuthorization(Complex parent, String parentType, String name, RegulatedAuthorization element, int index) { 21281 if (element == null) 21282 return; 21283 Complex t; 21284 if (Utilities.noString(parentType)) 21285 t = parent; 21286 else { 21287 t = parent.predicate("fhir:"+parentType+'.'+name); 21288 } 21289 composeDomainResource(t, "RegulatedAuthorization", name, element, index); 21290 for (int i = 0; i < element.getIdentifier().size(); i++) { 21291 composeIdentifier(t, "RegulatedAuthorization", "identifier", element.getIdentifier().get(i), i); 21292 } 21293 for (int i = 0; i < element.getSubject().size(); i++) { 21294 composeReference(t, "RegulatedAuthorization", "subject", element.getSubject().get(i), i); 21295 } 21296 if (element.hasType()) { 21297 composeCodeableConcept(t, "RegulatedAuthorization", "type", element.getType(), -1); 21298 } 21299 if (element.hasDescriptionElement()) { 21300 composeMarkdown(t, "RegulatedAuthorization", "description", element.getDescriptionElement(), -1); 21301 } 21302 for (int i = 0; i < element.getRegion().size(); i++) { 21303 composeCodeableConcept(t, "RegulatedAuthorization", "region", element.getRegion().get(i), i); 21304 } 21305 if (element.hasStatus()) { 21306 composeCodeableConcept(t, "RegulatedAuthorization", "status", element.getStatus(), -1); 21307 } 21308 if (element.hasStatusDateElement()) { 21309 composeDateTime(t, "RegulatedAuthorization", "statusDate", element.getStatusDateElement(), -1); 21310 } 21311 if (element.hasValidityPeriod()) { 21312 composePeriod(t, "RegulatedAuthorization", "validityPeriod", element.getValidityPeriod(), -1); 21313 } 21314 for (int i = 0; i < element.getIndication().size(); i++) { 21315 composeCodeableReference(t, "RegulatedAuthorization", "indication", element.getIndication().get(i), i); 21316 } 21317 if (element.hasIntendedUse()) { 21318 composeCodeableConcept(t, "RegulatedAuthorization", "intendedUse", element.getIntendedUse(), -1); 21319 } 21320 for (int i = 0; i < element.getBasis().size(); i++) { 21321 composeCodeableConcept(t, "RegulatedAuthorization", "basis", element.getBasis().get(i), i); 21322 } 21323 if (element.hasHolder()) { 21324 composeReference(t, "RegulatedAuthorization", "holder", element.getHolder(), -1); 21325 } 21326 if (element.hasRegulator()) { 21327 composeReference(t, "RegulatedAuthorization", "regulator", element.getRegulator(), -1); 21328 } 21329 for (int i = 0; i < element.getAttachedDocument().size(); i++) { 21330 composeReference(t, "RegulatedAuthorization", "attachedDocument", element.getAttachedDocument().get(i), i); 21331 } 21332 if (element.hasCase()) { 21333 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorization", "case", element.getCase(), -1); 21334 } 21335 } 21336 21337 protected void composeRegulatedAuthorizationCaseComponent(Complex parent, String parentType, String name, RegulatedAuthorization.RegulatedAuthorizationCaseComponent element, int index) { 21338 if (element == null) 21339 return; 21340 Complex t; 21341 if (Utilities.noString(parentType)) 21342 t = parent; 21343 else { 21344 t = parent.predicate("fhir:"+parentType+'.'+name); 21345 } 21346 composeBackboneElement(t, "case", name, element, index); 21347 if (element.hasIdentifier()) { 21348 composeIdentifier(t, "RegulatedAuthorizationCaseComponent", "identifier", element.getIdentifier(), -1); 21349 } 21350 if (element.hasType()) { 21351 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "type", element.getType(), -1); 21352 } 21353 if (element.hasStatus()) { 21354 composeCodeableConcept(t, "RegulatedAuthorizationCaseComponent", "status", element.getStatus(), -1); 21355 } 21356 if (element.hasDate()) { 21357 composeType(t, "RegulatedAuthorizationCaseComponent", "date", element.getDate(), -1); 21358 } 21359 for (int i = 0; i < element.getApplication().size(); i++) { 21360 composeRegulatedAuthorizationCaseComponent(t, "RegulatedAuthorizationCaseComponent", "application", element.getApplication().get(i), i); 21361 } 21362 } 21363 21364 protected void composeRelatedPerson(Complex parent, String parentType, String name, RelatedPerson element, int index) { 21365 if (element == null) 21366 return; 21367 Complex t; 21368 if (Utilities.noString(parentType)) 21369 t = parent; 21370 else { 21371 t = parent.predicate("fhir:"+parentType+'.'+name); 21372 } 21373 composeDomainResource(t, "RelatedPerson", name, element, index); 21374 for (int i = 0; i < element.getIdentifier().size(); i++) { 21375 composeIdentifier(t, "RelatedPerson", "identifier", element.getIdentifier().get(i), i); 21376 } 21377 if (element.hasActiveElement()) { 21378 composeBoolean(t, "RelatedPerson", "active", element.getActiveElement(), -1); 21379 } 21380 if (element.hasPatient()) { 21381 composeReference(t, "RelatedPerson", "patient", element.getPatient(), -1); 21382 } 21383 for (int i = 0; i < element.getRelationship().size(); i++) { 21384 composeCodeableConcept(t, "RelatedPerson", "relationship", element.getRelationship().get(i), i); 21385 } 21386 for (int i = 0; i < element.getName().size(); i++) { 21387 composeHumanName(t, "RelatedPerson", "name", element.getName().get(i), i); 21388 } 21389 for (int i = 0; i < element.getTelecom().size(); i++) { 21390 composeContactPoint(t, "RelatedPerson", "telecom", element.getTelecom().get(i), i); 21391 } 21392 if (element.hasGenderElement()) { 21393 composeEnum(t, "RelatedPerson", "gender", element.getGenderElement(), -1); 21394 } 21395 if (element.hasBirthDateElement()) { 21396 composeDate(t, "RelatedPerson", "birthDate", element.getBirthDateElement(), -1); 21397 } 21398 for (int i = 0; i < element.getAddress().size(); i++) { 21399 composeAddress(t, "RelatedPerson", "address", element.getAddress().get(i), i); 21400 } 21401 for (int i = 0; i < element.getPhoto().size(); i++) { 21402 composeAttachment(t, "RelatedPerson", "photo", element.getPhoto().get(i), i); 21403 } 21404 if (element.hasPeriod()) { 21405 composePeriod(t, "RelatedPerson", "period", element.getPeriod(), -1); 21406 } 21407 for (int i = 0; i < element.getCommunication().size(); i++) { 21408 composeRelatedPersonCommunicationComponent(t, "RelatedPerson", "communication", element.getCommunication().get(i), i); 21409 } 21410 } 21411 21412 protected void composeRelatedPersonCommunicationComponent(Complex parent, String parentType, String name, RelatedPerson.RelatedPersonCommunicationComponent element, int index) { 21413 if (element == null) 21414 return; 21415 Complex t; 21416 if (Utilities.noString(parentType)) 21417 t = parent; 21418 else { 21419 t = parent.predicate("fhir:"+parentType+'.'+name); 21420 } 21421 composeBackboneElement(t, "communication", name, element, index); 21422 if (element.hasLanguage()) { 21423 composeCodeableConcept(t, "RelatedPersonCommunicationComponent", "language", element.getLanguage(), -1); 21424 } 21425 if (element.hasPreferredElement()) { 21426 composeBoolean(t, "RelatedPersonCommunicationComponent", "preferred", element.getPreferredElement(), -1); 21427 } 21428 } 21429 21430 protected void composeRequestOrchestration(Complex parent, String parentType, String name, RequestOrchestration 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, "RequestOrchestration", name, element, index); 21440 for (int i = 0; i < element.getIdentifier().size(); i++) { 21441 composeIdentifier(t, "RequestOrchestration", "identifier", element.getIdentifier().get(i), i); 21442 } 21443 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 21444 composeCanonical(t, "RequestOrchestration", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 21445 } 21446 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 21447 composeUri(t, "RequestOrchestration", "instantiatesUri", element.getInstantiatesUri().get(i), i); 21448 } 21449 for (int i = 0; i < element.getBasedOn().size(); i++) { 21450 composeReference(t, "RequestOrchestration", "basedOn", element.getBasedOn().get(i), i); 21451 } 21452 for (int i = 0; i < element.getReplaces().size(); i++) { 21453 composeReference(t, "RequestOrchestration", "replaces", element.getReplaces().get(i), i); 21454 } 21455 if (element.hasGroupIdentifier()) { 21456 composeIdentifier(t, "RequestOrchestration", "groupIdentifier", element.getGroupIdentifier(), -1); 21457 } 21458 if (element.hasStatusElement()) { 21459 composeEnum(t, "RequestOrchestration", "status", element.getStatusElement(), -1); 21460 } 21461 if (element.hasIntentElement()) { 21462 composeEnum(t, "RequestOrchestration", "intent", element.getIntentElement(), -1); 21463 } 21464 if (element.hasPriorityElement()) { 21465 composeEnum(t, "RequestOrchestration", "priority", element.getPriorityElement(), -1); 21466 } 21467 if (element.hasCode()) { 21468 composeCodeableConcept(t, "RequestOrchestration", "code", element.getCode(), -1); 21469 } 21470 if (element.hasSubject()) { 21471 composeReference(t, "RequestOrchestration", "subject", element.getSubject(), -1); 21472 } 21473 if (element.hasEncounter()) { 21474 composeReference(t, "RequestOrchestration", "encounter", element.getEncounter(), -1); 21475 } 21476 if (element.hasAuthoredOnElement()) { 21477 composeDateTime(t, "RequestOrchestration", "authoredOn", element.getAuthoredOnElement(), -1); 21478 } 21479 if (element.hasAuthor()) { 21480 composeReference(t, "RequestOrchestration", "author", element.getAuthor(), -1); 21481 } 21482 for (int i = 0; i < element.getReason().size(); i++) { 21483 composeCodeableReference(t, "RequestOrchestration", "reason", element.getReason().get(i), i); 21484 } 21485 for (int i = 0; i < element.getGoal().size(); i++) { 21486 composeReference(t, "RequestOrchestration", "goal", element.getGoal().get(i), i); 21487 } 21488 for (int i = 0; i < element.getNote().size(); i++) { 21489 composeAnnotation(t, "RequestOrchestration", "note", element.getNote().get(i), i); 21490 } 21491 for (int i = 0; i < element.getAction().size(); i++) { 21492 composeRequestOrchestrationActionComponent(t, "RequestOrchestration", "action", element.getAction().get(i), i); 21493 } 21494 } 21495 21496 protected void composeRequestOrchestrationActionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionComponent element, int index) { 21497 if (element == null) 21498 return; 21499 Complex t; 21500 if (Utilities.noString(parentType)) 21501 t = parent; 21502 else { 21503 t = parent.predicate("fhir:"+parentType+'.'+name); 21504 } 21505 composeBackboneElement(t, "action", name, element, index); 21506 if (element.hasLinkIdElement()) { 21507 composeString(t, "RequestOrchestrationActionComponent", "linkId", element.getLinkIdElement(), -1); 21508 } 21509 if (element.hasPrefixElement()) { 21510 composeString(t, "RequestOrchestrationActionComponent", "prefix", element.getPrefixElement(), -1); 21511 } 21512 if (element.hasTitleElement()) { 21513 composeString(t, "RequestOrchestrationActionComponent", "title", element.getTitleElement(), -1); 21514 } 21515 if (element.hasDescriptionElement()) { 21516 composeString(t, "RequestOrchestrationActionComponent", "description", element.getDescriptionElement(), -1); 21517 } 21518 if (element.hasTextEquivalentElement()) { 21519 composeString(t, "RequestOrchestrationActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); 21520 } 21521 if (element.hasPriorityElement()) { 21522 composeEnum(t, "RequestOrchestrationActionComponent", "priority", element.getPriorityElement(), -1); 21523 } 21524 for (int i = 0; i < element.getCode().size(); i++) { 21525 composeCodeableConcept(t, "RequestOrchestrationActionComponent", "code", element.getCode().get(i), i); 21526 } 21527 for (int i = 0; i < element.getDocumentation().size(); i++) { 21528 composeRelatedArtifact(t, "RequestOrchestrationActionComponent", "documentation", element.getDocumentation().get(i), i); 21529 } 21530 for (int i = 0; i < element.getGoal().size(); i++) { 21531 composeReference(t, "RequestOrchestrationActionComponent", "goal", element.getGoal().get(i), i); 21532 } 21533 for (int i = 0; i < element.getCondition().size(); i++) { 21534 composeRequestOrchestrationActionConditionComponent(t, "RequestOrchestrationActionComponent", "condition", element.getCondition().get(i), i); 21535 } 21536 for (int i = 0; i < element.getInput().size(); i++) { 21537 composeRequestOrchestrationActionInputComponent(t, "RequestOrchestrationActionComponent", "input", element.getInput().get(i), i); 21538 } 21539 for (int i = 0; i < element.getOutput().size(); i++) { 21540 composeRequestOrchestrationActionOutputComponent(t, "RequestOrchestrationActionComponent", "output", element.getOutput().get(i), i); 21541 } 21542 for (int i = 0; i < element.getRelatedAction().size(); i++) { 21543 composeRequestOrchestrationActionRelatedActionComponent(t, "RequestOrchestrationActionComponent", "relatedAction", element.getRelatedAction().get(i), i); 21544 } 21545 if (element.hasTiming()) { 21546 composeType(t, "RequestOrchestrationActionComponent", "timing", element.getTiming(), -1); 21547 } 21548 if (element.hasLocation()) { 21549 composeCodeableReference(t, "RequestOrchestrationActionComponent", "location", element.getLocation(), -1); 21550 } 21551 for (int i = 0; i < element.getParticipant().size(); i++) { 21552 composeRequestOrchestrationActionParticipantComponent(t, "RequestOrchestrationActionComponent", "participant", element.getParticipant().get(i), i); 21553 } 21554 if (element.hasType()) { 21555 composeCodeableConcept(t, "RequestOrchestrationActionComponent", "type", element.getType(), -1); 21556 } 21557 if (element.hasGroupingBehaviorElement()) { 21558 composeEnum(t, "RequestOrchestrationActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); 21559 } 21560 if (element.hasSelectionBehaviorElement()) { 21561 composeEnum(t, "RequestOrchestrationActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); 21562 } 21563 if (element.hasRequiredBehaviorElement()) { 21564 composeEnum(t, "RequestOrchestrationActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); 21565 } 21566 if (element.hasPrecheckBehaviorElement()) { 21567 composeEnum(t, "RequestOrchestrationActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); 21568 } 21569 if (element.hasCardinalityBehaviorElement()) { 21570 composeEnum(t, "RequestOrchestrationActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); 21571 } 21572 if (element.hasResource()) { 21573 composeReference(t, "RequestOrchestrationActionComponent", "resource", element.getResource(), -1); 21574 } 21575 if (element.hasDefinition()) { 21576 composeType(t, "RequestOrchestrationActionComponent", "definition", element.getDefinition(), -1); 21577 } 21578 if (element.hasTransformElement()) { 21579 composeCanonical(t, "RequestOrchestrationActionComponent", "transform", element.getTransformElement(), -1); 21580 } 21581 for (int i = 0; i < element.getDynamicValue().size(); i++) { 21582 composeRequestOrchestrationActionDynamicValueComponent(t, "RequestOrchestrationActionComponent", "dynamicValue", element.getDynamicValue().get(i), i); 21583 } 21584 for (int i = 0; i < element.getAction().size(); i++) { 21585 composeRequestOrchestrationActionComponent(t, "RequestOrchestrationActionComponent", "action", element.getAction().get(i), i); 21586 } 21587 } 21588 21589 protected void composeRequestOrchestrationActionConditionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionConditionComponent element, int index) { 21590 if (element == null) 21591 return; 21592 Complex t; 21593 if (Utilities.noString(parentType)) 21594 t = parent; 21595 else { 21596 t = parent.predicate("fhir:"+parentType+'.'+name); 21597 } 21598 composeBackboneElement(t, "condition", name, element, index); 21599 if (element.hasKindElement()) { 21600 composeEnum(t, "RequestOrchestrationActionConditionComponent", "kind", element.getKindElement(), -1); 21601 } 21602 if (element.hasExpression()) { 21603 composeExpression(t, "RequestOrchestrationActionConditionComponent", "expression", element.getExpression(), -1); 21604 } 21605 } 21606 21607 protected void composeRequestOrchestrationActionInputComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionInputComponent element, int index) { 21608 if (element == null) 21609 return; 21610 Complex t; 21611 if (Utilities.noString(parentType)) 21612 t = parent; 21613 else { 21614 t = parent.predicate("fhir:"+parentType+'.'+name); 21615 } 21616 composeBackboneElement(t, "input", name, element, index); 21617 if (element.hasTitleElement()) { 21618 composeString(t, "RequestOrchestrationActionInputComponent", "title", element.getTitleElement(), -1); 21619 } 21620 if (element.hasRequirement()) { 21621 composeDataRequirement(t, "RequestOrchestrationActionInputComponent", "requirement", element.getRequirement(), -1); 21622 } 21623 if (element.hasRelatedDataElement()) { 21624 composeId(t, "RequestOrchestrationActionInputComponent", "relatedData", element.getRelatedDataElement(), -1); 21625 } 21626 } 21627 21628 protected void composeRequestOrchestrationActionOutputComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionOutputComponent element, int index) { 21629 if (element == null) 21630 return; 21631 Complex t; 21632 if (Utilities.noString(parentType)) 21633 t = parent; 21634 else { 21635 t = parent.predicate("fhir:"+parentType+'.'+name); 21636 } 21637 composeBackboneElement(t, "output", name, element, index); 21638 if (element.hasTitleElement()) { 21639 composeString(t, "RequestOrchestrationActionOutputComponent", "title", element.getTitleElement(), -1); 21640 } 21641 if (element.hasRequirement()) { 21642 composeDataRequirement(t, "RequestOrchestrationActionOutputComponent", "requirement", element.getRequirement(), -1); 21643 } 21644 if (element.hasRelatedDataElement()) { 21645 composeString(t, "RequestOrchestrationActionOutputComponent", "relatedData", element.getRelatedDataElement(), -1); 21646 } 21647 } 21648 21649 protected void composeRequestOrchestrationActionRelatedActionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element, int index) { 21650 if (element == null) 21651 return; 21652 Complex t; 21653 if (Utilities.noString(parentType)) 21654 t = parent; 21655 else { 21656 t = parent.predicate("fhir:"+parentType+'.'+name); 21657 } 21658 composeBackboneElement(t, "relatedAction", name, element, index); 21659 if (element.hasTargetIdElement()) { 21660 composeId(t, "RequestOrchestrationActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); 21661 } 21662 if (element.hasRelationshipElement()) { 21663 composeEnum(t, "RequestOrchestrationActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); 21664 } 21665 if (element.hasOffset()) { 21666 composeType(t, "RequestOrchestrationActionRelatedActionComponent", "offset", element.getOffset(), -1); 21667 } 21668 } 21669 21670 protected void composeRequestOrchestrationActionParticipantComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionParticipantComponent element, int index) { 21671 if (element == null) 21672 return; 21673 Complex t; 21674 if (Utilities.noString(parentType)) 21675 t = parent; 21676 else { 21677 t = parent.predicate("fhir:"+parentType+'.'+name); 21678 } 21679 composeBackboneElement(t, "participant", name, element, index); 21680 if (element.hasTypeElement()) { 21681 composeEnum(t, "RequestOrchestrationActionParticipantComponent", "type", element.getTypeElement(), -1); 21682 } 21683 if (element.hasTypeCanonicalElement()) { 21684 composeCanonical(t, "RequestOrchestrationActionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); 21685 } 21686 if (element.hasTypeReference()) { 21687 composeReference(t, "RequestOrchestrationActionParticipantComponent", "typeReference", element.getTypeReference(), -1); 21688 } 21689 if (element.hasRole()) { 21690 composeCodeableConcept(t, "RequestOrchestrationActionParticipantComponent", "role", element.getRole(), -1); 21691 } 21692 if (element.hasFunction()) { 21693 composeCodeableConcept(t, "RequestOrchestrationActionParticipantComponent", "function", element.getFunction(), -1); 21694 } 21695 if (element.hasActor()) { 21696 composeType(t, "RequestOrchestrationActionParticipantComponent", "actor", element.getActor(), -1); 21697 } 21698 } 21699 21700 protected void composeRequestOrchestrationActionDynamicValueComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element, int index) { 21701 if (element == null) 21702 return; 21703 Complex t; 21704 if (Utilities.noString(parentType)) 21705 t = parent; 21706 else { 21707 t = parent.predicate("fhir:"+parentType+'.'+name); 21708 } 21709 composeBackboneElement(t, "dynamicValue", name, element, index); 21710 if (element.hasPathElement()) { 21711 composeString(t, "RequestOrchestrationActionDynamicValueComponent", "path", element.getPathElement(), -1); 21712 } 21713 if (element.hasExpression()) { 21714 composeExpression(t, "RequestOrchestrationActionDynamicValueComponent", "expression", element.getExpression(), -1); 21715 } 21716 } 21717 21718 protected void composeRequirements(Complex parent, String parentType, String name, Requirements element, int index) { 21719 if (element == null) 21720 return; 21721 Complex t; 21722 if (Utilities.noString(parentType)) 21723 t = parent; 21724 else { 21725 t = parent.predicate("fhir:"+parentType+'.'+name); 21726 } 21727 composeCanonicalResource(t, "Requirements", name, element, index); 21728 if (element.hasUrlElement()) { 21729 composeUri(t, "Requirements", "url", element.getUrlElement(), -1); 21730 } 21731 for (int i = 0; i < element.getIdentifier().size(); i++) { 21732 composeIdentifier(t, "Requirements", "identifier", element.getIdentifier().get(i), i); 21733 } 21734 if (element.hasVersionElement()) { 21735 composeString(t, "Requirements", "version", element.getVersionElement(), -1); 21736 } 21737 if (element.hasNameElement()) { 21738 composeString(t, "Requirements", "name", element.getNameElement(), -1); 21739 } 21740 if (element.hasTitleElement()) { 21741 composeString(t, "Requirements", "title", element.getTitleElement(), -1); 21742 } 21743 if (element.hasStatusElement()) { 21744 composeEnum(t, "Requirements", "status", element.getStatusElement(), -1); 21745 } 21746 if (element.hasExperimentalElement()) { 21747 composeBoolean(t, "Requirements", "experimental", element.getExperimentalElement(), -1); 21748 } 21749 if (element.hasDateElement()) { 21750 composeDateTime(t, "Requirements", "date", element.getDateElement(), -1); 21751 } 21752 if (element.hasPublisherElement()) { 21753 composeString(t, "Requirements", "publisher", element.getPublisherElement(), -1); 21754 } 21755 for (int i = 0; i < element.getContact().size(); i++) { 21756 composeContactDetail(t, "Requirements", "contact", element.getContact().get(i), i); 21757 } 21758 if (element.hasDescriptionElement()) { 21759 composeMarkdown(t, "Requirements", "description", element.getDescriptionElement(), -1); 21760 } 21761 for (int i = 0; i < element.getUseContext().size(); i++) { 21762 composeUsageContext(t, "Requirements", "useContext", element.getUseContext().get(i), i); 21763 } 21764 for (int i = 0; i < element.getJurisdiction().size(); i++) { 21765 composeCodeableConcept(t, "Requirements", "jurisdiction", element.getJurisdiction().get(i), i); 21766 } 21767 if (element.hasPurposeElement()) { 21768 composeMarkdown(t, "Requirements", "purpose", element.getPurposeElement(), -1); 21769 } 21770 if (element.hasCopyrightElement()) { 21771 composeMarkdown(t, "Requirements", "copyright", element.getCopyrightElement(), -1); 21772 } 21773 if (element.hasCopyrightLabelElement()) { 21774 composeString(t, "Requirements", "copyrightLabel", element.getCopyrightLabelElement(), -1); 21775 } 21776 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 21777 composeCanonical(t, "Requirements", "derivedFrom", element.getDerivedFrom().get(i), i); 21778 } 21779 for (int i = 0; i < element.getActor().size(); i++) { 21780 composeCanonical(t, "Requirements", "actor", element.getActor().get(i), i); 21781 } 21782 for (int i = 0; i < element.getStatement().size(); i++) { 21783 composeRequirementsStatementComponent(t, "Requirements", "statement", element.getStatement().get(i), i); 21784 } 21785 } 21786 21787 protected void composeRequirementsStatementComponent(Complex parent, String parentType, String name, Requirements.RequirementsStatementComponent element, int index) { 21788 if (element == null) 21789 return; 21790 Complex t; 21791 if (Utilities.noString(parentType)) 21792 t = parent; 21793 else { 21794 t = parent.predicate("fhir:"+parentType+'.'+name); 21795 } 21796 composeBackboneElement(t, "statement", name, element, index); 21797 if (element.hasKeyElement()) { 21798 composeId(t, "RequirementsStatementComponent", "key", element.getKeyElement(), -1); 21799 } 21800 if (element.hasLabelElement()) { 21801 composeString(t, "RequirementsStatementComponent", "label", element.getLabelElement(), -1); 21802 } 21803 for (int i = 0; i < element.getConformance().size(); i++) { 21804 composeEnum(t, "RequirementsStatementComponent", "conformance", element.getConformance().get(i), i); 21805 } 21806 if (element.hasConditionalityElement()) { 21807 composeBoolean(t, "RequirementsStatementComponent", "conditionality", element.getConditionalityElement(), -1); 21808 } 21809 if (element.hasRequirementElement()) { 21810 composeMarkdown(t, "RequirementsStatementComponent", "requirement", element.getRequirementElement(), -1); 21811 } 21812 if (element.hasDerivedFromElement()) { 21813 composeString(t, "RequirementsStatementComponent", "derivedFrom", element.getDerivedFromElement(), -1); 21814 } 21815 if (element.hasParentElement()) { 21816 composeString(t, "RequirementsStatementComponent", "parent", element.getParentElement(), -1); 21817 } 21818 for (int i = 0; i < element.getSatisfiedBy().size(); i++) { 21819 composeUrl(t, "RequirementsStatementComponent", "satisfiedBy", element.getSatisfiedBy().get(i), i); 21820 } 21821 for (int i = 0; i < element.getReference().size(); i++) { 21822 composeUrl(t, "RequirementsStatementComponent", "reference", element.getReference().get(i), i); 21823 } 21824 for (int i = 0; i < element.getSource().size(); i++) { 21825 composeReference(t, "RequirementsStatementComponent", "source", element.getSource().get(i), i); 21826 } 21827 } 21828 21829 protected void composeResearchStudy(Complex parent, String parentType, String name, ResearchStudy element, int index) { 21830 if (element == null) 21831 return; 21832 Complex t; 21833 if (Utilities.noString(parentType)) 21834 t = parent; 21835 else { 21836 t = parent.predicate("fhir:"+parentType+'.'+name); 21837 } 21838 composeDomainResource(t, "ResearchStudy", name, element, index); 21839 if (element.hasUrlElement()) { 21840 composeUri(t, "ResearchStudy", "url", element.getUrlElement(), -1); 21841 } 21842 for (int i = 0; i < element.getIdentifier().size(); i++) { 21843 composeIdentifier(t, "ResearchStudy", "identifier", element.getIdentifier().get(i), i); 21844 } 21845 if (element.hasVersionElement()) { 21846 composeString(t, "ResearchStudy", "version", element.getVersionElement(), -1); 21847 } 21848 if (element.hasNameElement()) { 21849 composeString(t, "ResearchStudy", "name", element.getNameElement(), -1); 21850 } 21851 if (element.hasTitleElement()) { 21852 composeString(t, "ResearchStudy", "title", element.getTitleElement(), -1); 21853 } 21854 for (int i = 0; i < element.getLabel().size(); i++) { 21855 composeResearchStudyLabelComponent(t, "ResearchStudy", "label", element.getLabel().get(i), i); 21856 } 21857 for (int i = 0; i < element.getProtocol().size(); i++) { 21858 composeReference(t, "ResearchStudy", "protocol", element.getProtocol().get(i), i); 21859 } 21860 for (int i = 0; i < element.getPartOf().size(); i++) { 21861 composeReference(t, "ResearchStudy", "partOf", element.getPartOf().get(i), i); 21862 } 21863 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 21864 composeRelatedArtifact(t, "ResearchStudy", "relatedArtifact", element.getRelatedArtifact().get(i), i); 21865 } 21866 if (element.hasDateElement()) { 21867 composeDateTime(t, "ResearchStudy", "date", element.getDateElement(), -1); 21868 } 21869 if (element.hasStatusElement()) { 21870 composeEnum(t, "ResearchStudy", "status", element.getStatusElement(), -1); 21871 } 21872 if (element.hasPrimaryPurposeType()) { 21873 composeCodeableConcept(t, "ResearchStudy", "primaryPurposeType", element.getPrimaryPurposeType(), -1); 21874 } 21875 if (element.hasPhase()) { 21876 composeCodeableConcept(t, "ResearchStudy", "phase", element.getPhase(), -1); 21877 } 21878 for (int i = 0; i < element.getStudyDesign().size(); i++) { 21879 composeCodeableConcept(t, "ResearchStudy", "studyDesign", element.getStudyDesign().get(i), i); 21880 } 21881 for (int i = 0; i < element.getFocus().size(); i++) { 21882 composeCodeableReference(t, "ResearchStudy", "focus", element.getFocus().get(i), i); 21883 } 21884 for (int i = 0; i < element.getCondition().size(); i++) { 21885 composeCodeableConcept(t, "ResearchStudy", "condition", element.getCondition().get(i), i); 21886 } 21887 for (int i = 0; i < element.getKeyword().size(); i++) { 21888 composeCodeableConcept(t, "ResearchStudy", "keyword", element.getKeyword().get(i), i); 21889 } 21890 for (int i = 0; i < element.getRegion().size(); i++) { 21891 composeCodeableConcept(t, "ResearchStudy", "region", element.getRegion().get(i), i); 21892 } 21893 if (element.hasDescriptionSummaryElement()) { 21894 composeMarkdown(t, "ResearchStudy", "descriptionSummary", element.getDescriptionSummaryElement(), -1); 21895 } 21896 if (element.hasDescriptionElement()) { 21897 composeMarkdown(t, "ResearchStudy", "description", element.getDescriptionElement(), -1); 21898 } 21899 if (element.hasPeriod()) { 21900 composePeriod(t, "ResearchStudy", "period", element.getPeriod(), -1); 21901 } 21902 for (int i = 0; i < element.getSite().size(); i++) { 21903 composeReference(t, "ResearchStudy", "site", element.getSite().get(i), i); 21904 } 21905 for (int i = 0; i < element.getNote().size(); i++) { 21906 composeAnnotation(t, "ResearchStudy", "note", element.getNote().get(i), i); 21907 } 21908 for (int i = 0; i < element.getClassifier().size(); i++) { 21909 composeCodeableConcept(t, "ResearchStudy", "classifier", element.getClassifier().get(i), i); 21910 } 21911 for (int i = 0; i < element.getAssociatedParty().size(); i++) { 21912 composeResearchStudyAssociatedPartyComponent(t, "ResearchStudy", "associatedParty", element.getAssociatedParty().get(i), i); 21913 } 21914 for (int i = 0; i < element.getProgressStatus().size(); i++) { 21915 composeResearchStudyProgressStatusComponent(t, "ResearchStudy", "progressStatus", element.getProgressStatus().get(i), i); 21916 } 21917 if (element.hasWhyStopped()) { 21918 composeCodeableConcept(t, "ResearchStudy", "whyStopped", element.getWhyStopped(), -1); 21919 } 21920 if (element.hasRecruitment()) { 21921 composeResearchStudyRecruitmentComponent(t, "ResearchStudy", "recruitment", element.getRecruitment(), -1); 21922 } 21923 for (int i = 0; i < element.getComparisonGroup().size(); i++) { 21924 composeResearchStudyComparisonGroupComponent(t, "ResearchStudy", "comparisonGroup", element.getComparisonGroup().get(i), i); 21925 } 21926 for (int i = 0; i < element.getObjective().size(); i++) { 21927 composeResearchStudyObjectiveComponent(t, "ResearchStudy", "objective", element.getObjective().get(i), i); 21928 } 21929 for (int i = 0; i < element.getOutcomeMeasure().size(); i++) { 21930 composeResearchStudyOutcomeMeasureComponent(t, "ResearchStudy", "outcomeMeasure", element.getOutcomeMeasure().get(i), i); 21931 } 21932 for (int i = 0; i < element.getResult().size(); i++) { 21933 composeReference(t, "ResearchStudy", "result", element.getResult().get(i), i); 21934 } 21935 } 21936 21937 protected void composeResearchStudyLabelComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyLabelComponent element, int index) { 21938 if (element == null) 21939 return; 21940 Complex t; 21941 if (Utilities.noString(parentType)) 21942 t = parent; 21943 else { 21944 t = parent.predicate("fhir:"+parentType+'.'+name); 21945 } 21946 composeBackboneElement(t, "label", name, element, index); 21947 if (element.hasType()) { 21948 composeCodeableConcept(t, "ResearchStudyLabelComponent", "type", element.getType(), -1); 21949 } 21950 if (element.hasValueElement()) { 21951 composeString(t, "ResearchStudyLabelComponent", "value", element.getValueElement(), -1); 21952 } 21953 } 21954 21955 protected void composeResearchStudyAssociatedPartyComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyAssociatedPartyComponent element, int index) { 21956 if (element == null) 21957 return; 21958 Complex t; 21959 if (Utilities.noString(parentType)) 21960 t = parent; 21961 else { 21962 t = parent.predicate("fhir:"+parentType+'.'+name); 21963 } 21964 composeBackboneElement(t, "associatedParty", name, element, index); 21965 if (element.hasNameElement()) { 21966 composeString(t, "ResearchStudyAssociatedPartyComponent", "name", element.getNameElement(), -1); 21967 } 21968 if (element.hasRole()) { 21969 composeCodeableConcept(t, "ResearchStudyAssociatedPartyComponent", "role", element.getRole(), -1); 21970 } 21971 for (int i = 0; i < element.getPeriod().size(); i++) { 21972 composePeriod(t, "ResearchStudyAssociatedPartyComponent", "period", element.getPeriod().get(i), i); 21973 } 21974 for (int i = 0; i < element.getClassifier().size(); i++) { 21975 composeCodeableConcept(t, "ResearchStudyAssociatedPartyComponent", "classifier", element.getClassifier().get(i), i); 21976 } 21977 if (element.hasParty()) { 21978 composeReference(t, "ResearchStudyAssociatedPartyComponent", "party", element.getParty(), -1); 21979 } 21980 } 21981 21982 protected void composeResearchStudyProgressStatusComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyProgressStatusComponent element, int index) { 21983 if (element == null) 21984 return; 21985 Complex t; 21986 if (Utilities.noString(parentType)) 21987 t = parent; 21988 else { 21989 t = parent.predicate("fhir:"+parentType+'.'+name); 21990 } 21991 composeBackboneElement(t, "progressStatus", name, element, index); 21992 if (element.hasState()) { 21993 composeCodeableConcept(t, "ResearchStudyProgressStatusComponent", "state", element.getState(), -1); 21994 } 21995 if (element.hasActualElement()) { 21996 composeBoolean(t, "ResearchStudyProgressStatusComponent", "actual", element.getActualElement(), -1); 21997 } 21998 if (element.hasPeriod()) { 21999 composePeriod(t, "ResearchStudyProgressStatusComponent", "period", element.getPeriod(), -1); 22000 } 22001 } 22002 22003 protected void composeResearchStudyRecruitmentComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyRecruitmentComponent element, int index) { 22004 if (element == null) 22005 return; 22006 Complex t; 22007 if (Utilities.noString(parentType)) 22008 t = parent; 22009 else { 22010 t = parent.predicate("fhir:"+parentType+'.'+name); 22011 } 22012 composeBackboneElement(t, "recruitment", name, element, index); 22013 if (element.hasTargetNumberElement()) { 22014 composeUnsignedInt(t, "ResearchStudyRecruitmentComponent", "targetNumber", element.getTargetNumberElement(), -1); 22015 } 22016 if (element.hasActualNumberElement()) { 22017 composeUnsignedInt(t, "ResearchStudyRecruitmentComponent", "actualNumber", element.getActualNumberElement(), -1); 22018 } 22019 if (element.hasEligibility()) { 22020 composeReference(t, "ResearchStudyRecruitmentComponent", "eligibility", element.getEligibility(), -1); 22021 } 22022 if (element.hasActualGroup()) { 22023 composeReference(t, "ResearchStudyRecruitmentComponent", "actualGroup", element.getActualGroup(), -1); 22024 } 22025 } 22026 22027 protected void composeResearchStudyComparisonGroupComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyComparisonGroupComponent element, int index) { 22028 if (element == null) 22029 return; 22030 Complex t; 22031 if (Utilities.noString(parentType)) 22032 t = parent; 22033 else { 22034 t = parent.predicate("fhir:"+parentType+'.'+name); 22035 } 22036 composeBackboneElement(t, "comparisonGroup", name, element, index); 22037 for (int i = 0; i < element.getIdentifier().size(); i++) { 22038 composeIdentifier(t, "ResearchStudyComparisonGroupComponent", "identifier", element.getIdentifier().get(i), i); 22039 } 22040 if (element.hasNameElement()) { 22041 composeString(t, "ResearchStudyComparisonGroupComponent", "name", element.getNameElement(), -1); 22042 } 22043 if (element.hasType()) { 22044 composeCodeableConcept(t, "ResearchStudyComparisonGroupComponent", "type", element.getType(), -1); 22045 } 22046 if (element.hasDescriptionElement()) { 22047 composeMarkdown(t, "ResearchStudyComparisonGroupComponent", "description", element.getDescriptionElement(), -1); 22048 } 22049 for (int i = 0; i < element.getIntendedExposure().size(); i++) { 22050 composeReference(t, "ResearchStudyComparisonGroupComponent", "intendedExposure", element.getIntendedExposure().get(i), i); 22051 } 22052 if (element.hasObservedGroup()) { 22053 composeReference(t, "ResearchStudyComparisonGroupComponent", "observedGroup", element.getObservedGroup(), -1); 22054 } 22055 } 22056 22057 protected void composeResearchStudyObjectiveComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyObjectiveComponent element, int index) { 22058 if (element == null) 22059 return; 22060 Complex t; 22061 if (Utilities.noString(parentType)) 22062 t = parent; 22063 else { 22064 t = parent.predicate("fhir:"+parentType+'.'+name); 22065 } 22066 composeBackboneElement(t, "objective", name, element, index); 22067 if (element.hasNameElement()) { 22068 composeString(t, "ResearchStudyObjectiveComponent", "name", element.getNameElement(), -1); 22069 } 22070 if (element.hasType()) { 22071 composeCodeableConcept(t, "ResearchStudyObjectiveComponent", "type", element.getType(), -1); 22072 } 22073 if (element.hasDescriptionElement()) { 22074 composeMarkdown(t, "ResearchStudyObjectiveComponent", "description", element.getDescriptionElement(), -1); 22075 } 22076 } 22077 22078 protected void composeResearchStudyOutcomeMeasureComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyOutcomeMeasureComponent element, int index) { 22079 if (element == null) 22080 return; 22081 Complex t; 22082 if (Utilities.noString(parentType)) 22083 t = parent; 22084 else { 22085 t = parent.predicate("fhir:"+parentType+'.'+name); 22086 } 22087 composeBackboneElement(t, "outcomeMeasure", name, element, index); 22088 if (element.hasNameElement()) { 22089 composeString(t, "ResearchStudyOutcomeMeasureComponent", "name", element.getNameElement(), -1); 22090 } 22091 for (int i = 0; i < element.getType().size(); i++) { 22092 composeCodeableConcept(t, "ResearchStudyOutcomeMeasureComponent", "type", element.getType().get(i), i); 22093 } 22094 if (element.hasDescriptionElement()) { 22095 composeMarkdown(t, "ResearchStudyOutcomeMeasureComponent", "description", element.getDescriptionElement(), -1); 22096 } 22097 if (element.hasReference()) { 22098 composeReference(t, "ResearchStudyOutcomeMeasureComponent", "reference", element.getReference(), -1); 22099 } 22100 } 22101 22102 protected void composeResearchSubject(Complex parent, String parentType, String name, ResearchSubject element, int index) { 22103 if (element == null) 22104 return; 22105 Complex t; 22106 if (Utilities.noString(parentType)) 22107 t = parent; 22108 else { 22109 t = parent.predicate("fhir:"+parentType+'.'+name); 22110 } 22111 composeDomainResource(t, "ResearchSubject", name, element, index); 22112 for (int i = 0; i < element.getIdentifier().size(); i++) { 22113 composeIdentifier(t, "ResearchSubject", "identifier", element.getIdentifier().get(i), i); 22114 } 22115 if (element.hasStatusElement()) { 22116 composeEnum(t, "ResearchSubject", "status", element.getStatusElement(), -1); 22117 } 22118 for (int i = 0; i < element.getProgress().size(); i++) { 22119 composeResearchSubjectProgressComponent(t, "ResearchSubject", "progress", element.getProgress().get(i), i); 22120 } 22121 if (element.hasPeriod()) { 22122 composePeriod(t, "ResearchSubject", "period", element.getPeriod(), -1); 22123 } 22124 if (element.hasStudy()) { 22125 composeReference(t, "ResearchSubject", "study", element.getStudy(), -1); 22126 } 22127 if (element.hasSubject()) { 22128 composeReference(t, "ResearchSubject", "subject", element.getSubject(), -1); 22129 } 22130 if (element.hasAssignedArmElement()) { 22131 composeString(t, "ResearchSubject", "assignedArm", element.getAssignedArmElement(), -1); 22132 } 22133 if (element.hasActualArmElement()) { 22134 composeString(t, "ResearchSubject", "actualArm", element.getActualArmElement(), -1); 22135 } 22136 if (element.hasConsent()) { 22137 composeReference(t, "ResearchSubject", "consent", element.getConsent(), -1); 22138 } 22139 } 22140 22141 protected void composeResearchSubjectProgressComponent(Complex parent, String parentType, String name, ResearchSubject.ResearchSubjectProgressComponent element, int index) { 22142 if (element == null) 22143 return; 22144 Complex t; 22145 if (Utilities.noString(parentType)) 22146 t = parent; 22147 else { 22148 t = parent.predicate("fhir:"+parentType+'.'+name); 22149 } 22150 composeBackboneElement(t, "progress", name, element, index); 22151 if (element.hasType()) { 22152 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "type", element.getType(), -1); 22153 } 22154 if (element.hasSubjectState()) { 22155 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "subjectState", element.getSubjectState(), -1); 22156 } 22157 if (element.hasMilestone()) { 22158 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "milestone", element.getMilestone(), -1); 22159 } 22160 if (element.hasReason()) { 22161 composeCodeableConcept(t, "ResearchSubjectProgressComponent", "reason", element.getReason(), -1); 22162 } 22163 if (element.hasStartDateElement()) { 22164 composeDateTime(t, "ResearchSubjectProgressComponent", "startDate", element.getStartDateElement(), -1); 22165 } 22166 if (element.hasEndDateElement()) { 22167 composeDateTime(t, "ResearchSubjectProgressComponent", "endDate", element.getEndDateElement(), -1); 22168 } 22169 } 22170 22171 protected void composeRiskAssessment(Complex parent, String parentType, String name, RiskAssessment element, int index) { 22172 if (element == null) 22173 return; 22174 Complex t; 22175 if (Utilities.noString(parentType)) 22176 t = parent; 22177 else { 22178 t = parent.predicate("fhir:"+parentType+'.'+name); 22179 } 22180 composeDomainResource(t, "RiskAssessment", name, element, index); 22181 for (int i = 0; i < element.getIdentifier().size(); i++) { 22182 composeIdentifier(t, "RiskAssessment", "identifier", element.getIdentifier().get(i), i); 22183 } 22184 if (element.hasBasedOn()) { 22185 composeReference(t, "RiskAssessment", "basedOn", element.getBasedOn(), -1); 22186 } 22187 if (element.hasParent()) { 22188 composeReference(t, "RiskAssessment", "parent", element.getParent(), -1); 22189 } 22190 if (element.hasStatusElement()) { 22191 composeEnum(t, "RiskAssessment", "status", element.getStatusElement(), -1); 22192 } 22193 if (element.hasMethod()) { 22194 composeCodeableConcept(t, "RiskAssessment", "method", element.getMethod(), -1); 22195 } 22196 if (element.hasCode()) { 22197 composeCodeableConcept(t, "RiskAssessment", "code", element.getCode(), -1); 22198 } 22199 if (element.hasSubject()) { 22200 composeReference(t, "RiskAssessment", "subject", element.getSubject(), -1); 22201 } 22202 if (element.hasEncounter()) { 22203 composeReference(t, "RiskAssessment", "encounter", element.getEncounter(), -1); 22204 } 22205 if (element.hasOccurrence()) { 22206 composeType(t, "RiskAssessment", "occurrence", element.getOccurrence(), -1); 22207 } 22208 if (element.hasCondition()) { 22209 composeReference(t, "RiskAssessment", "condition", element.getCondition(), -1); 22210 } 22211 if (element.hasPerformer()) { 22212 composeReference(t, "RiskAssessment", "performer", element.getPerformer(), -1); 22213 } 22214 for (int i = 0; i < element.getReason().size(); i++) { 22215 composeCodeableReference(t, "RiskAssessment", "reason", element.getReason().get(i), i); 22216 } 22217 for (int i = 0; i < element.getBasis().size(); i++) { 22218 composeReference(t, "RiskAssessment", "basis", element.getBasis().get(i), i); 22219 } 22220 for (int i = 0; i < element.getPrediction().size(); i++) { 22221 composeRiskAssessmentPredictionComponent(t, "RiskAssessment", "prediction", element.getPrediction().get(i), i); 22222 } 22223 if (element.hasMitigationElement()) { 22224 composeString(t, "RiskAssessment", "mitigation", element.getMitigationElement(), -1); 22225 } 22226 for (int i = 0; i < element.getNote().size(); i++) { 22227 composeAnnotation(t, "RiskAssessment", "note", element.getNote().get(i), i); 22228 } 22229 } 22230 22231 protected void composeRiskAssessmentPredictionComponent(Complex parent, String parentType, String name, RiskAssessment.RiskAssessmentPredictionComponent element, int index) { 22232 if (element == null) 22233 return; 22234 Complex t; 22235 if (Utilities.noString(parentType)) 22236 t = parent; 22237 else { 22238 t = parent.predicate("fhir:"+parentType+'.'+name); 22239 } 22240 composeBackboneElement(t, "prediction", name, element, index); 22241 if (element.hasOutcome()) { 22242 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "outcome", element.getOutcome(), -1); 22243 } 22244 if (element.hasProbability()) { 22245 composeType(t, "RiskAssessmentPredictionComponent", "probability", element.getProbability(), -1); 22246 } 22247 if (element.hasQualitativeRisk()) { 22248 composeCodeableConcept(t, "RiskAssessmentPredictionComponent", "qualitativeRisk", element.getQualitativeRisk(), -1); 22249 } 22250 if (element.hasRelativeRiskElement()) { 22251 composeDecimal(t, "RiskAssessmentPredictionComponent", "relativeRisk", element.getRelativeRiskElement(), -1); 22252 } 22253 if (element.hasWhen()) { 22254 composeType(t, "RiskAssessmentPredictionComponent", "when", element.getWhen(), -1); 22255 } 22256 if (element.hasRationaleElement()) { 22257 composeString(t, "RiskAssessmentPredictionComponent", "rationale", element.getRationaleElement(), -1); 22258 } 22259 } 22260 22261 protected void composeSchedule(Complex parent, String parentType, String name, Schedule element, int index) { 22262 if (element == null) 22263 return; 22264 Complex t; 22265 if (Utilities.noString(parentType)) 22266 t = parent; 22267 else { 22268 t = parent.predicate("fhir:"+parentType+'.'+name); 22269 } 22270 composeDomainResource(t, "Schedule", name, element, index); 22271 for (int i = 0; i < element.getIdentifier().size(); i++) { 22272 composeIdentifier(t, "Schedule", "identifier", element.getIdentifier().get(i), i); 22273 } 22274 if (element.hasActiveElement()) { 22275 composeBoolean(t, "Schedule", "active", element.getActiveElement(), -1); 22276 } 22277 for (int i = 0; i < element.getServiceCategory().size(); i++) { 22278 composeCodeableConcept(t, "Schedule", "serviceCategory", element.getServiceCategory().get(i), i); 22279 } 22280 for (int i = 0; i < element.getServiceType().size(); i++) { 22281 composeCodeableReference(t, "Schedule", "serviceType", element.getServiceType().get(i), i); 22282 } 22283 for (int i = 0; i < element.getSpecialty().size(); i++) { 22284 composeCodeableConcept(t, "Schedule", "specialty", element.getSpecialty().get(i), i); 22285 } 22286 if (element.hasNameElement()) { 22287 composeString(t, "Schedule", "name", element.getNameElement(), -1); 22288 } 22289 for (int i = 0; i < element.getActor().size(); i++) { 22290 composeReference(t, "Schedule", "actor", element.getActor().get(i), i); 22291 } 22292 if (element.hasPlanningHorizon()) { 22293 composePeriod(t, "Schedule", "planningHorizon", element.getPlanningHorizon(), -1); 22294 } 22295 if (element.hasCommentElement()) { 22296 composeString(t, "Schedule", "comment", element.getCommentElement(), -1); 22297 } 22298 } 22299 22300 protected void composeSearchParameter(Complex parent, String parentType, String name, SearchParameter element, int index) { 22301 if (element == null) 22302 return; 22303 Complex t; 22304 if (Utilities.noString(parentType)) 22305 t = parent; 22306 else { 22307 t = parent.predicate("fhir:"+parentType+'.'+name); 22308 } 22309 composeCanonicalResource(t, "SearchParameter", name, element, index); 22310 if (element.hasUrlElement()) { 22311 composeUri(t, "SearchParameter", "url", element.getUrlElement(), -1); 22312 } 22313 if (element.hasVersionElement()) { 22314 composeString(t, "SearchParameter", "version", element.getVersionElement(), -1); 22315 } 22316 if (element.hasVersionAlgorithm()) { 22317 composeType(t, "SearchParameter", "versionAlgorithm", element.getVersionAlgorithm(), -1); 22318 } 22319 if (element.hasNameElement()) { 22320 composeString(t, "SearchParameter", "name", element.getNameElement(), -1); 22321 } 22322 if (element.hasTitleElement()) { 22323 composeString(t, "SearchParameter", "title", element.getTitleElement(), -1); 22324 } 22325 if (element.hasDerivedFromElement()) { 22326 composeCanonical(t, "SearchParameter", "derivedFrom", element.getDerivedFromElement(), -1); 22327 } 22328 if (element.hasStatusElement()) { 22329 composeEnum(t, "SearchParameter", "status", element.getStatusElement(), -1); 22330 } 22331 if (element.hasExperimentalElement()) { 22332 composeBoolean(t, "SearchParameter", "experimental", element.getExperimentalElement(), -1); 22333 } 22334 if (element.hasDateElement()) { 22335 composeDateTime(t, "SearchParameter", "date", element.getDateElement(), -1); 22336 } 22337 if (element.hasPublisherElement()) { 22338 composeString(t, "SearchParameter", "publisher", element.getPublisherElement(), -1); 22339 } 22340 for (int i = 0; i < element.getContact().size(); i++) { 22341 composeContactDetail(t, "SearchParameter", "contact", element.getContact().get(i), i); 22342 } 22343 if (element.hasDescriptionElement()) { 22344 composeMarkdown(t, "SearchParameter", "description", element.getDescriptionElement(), -1); 22345 } 22346 for (int i = 0; i < element.getUseContext().size(); i++) { 22347 composeUsageContext(t, "SearchParameter", "useContext", element.getUseContext().get(i), i); 22348 } 22349 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22350 composeCodeableConcept(t, "SearchParameter", "jurisdiction", element.getJurisdiction().get(i), i); 22351 } 22352 if (element.hasPurposeElement()) { 22353 composeMarkdown(t, "SearchParameter", "purpose", element.getPurposeElement(), -1); 22354 } 22355 if (element.hasCodeElement()) { 22356 composeCode(t, "SearchParameter", "code", element.getCodeElement(), -1); 22357 } 22358 for (int i = 0; i < element.getBase().size(); i++) { 22359 composeCode(t, "SearchParameter", "base", element.getBase().get(i), i); 22360 } 22361 if (element.hasTypeElement()) { 22362 composeEnum(t, "SearchParameter", "type", element.getTypeElement(), -1); 22363 } 22364 if (element.hasExpressionElement()) { 22365 composeString(t, "SearchParameter", "expression", element.getExpressionElement(), -1); 22366 } 22367 if (element.hasProcessingModeElement()) { 22368 composeEnum(t, "SearchParameter", "processingMode", element.getProcessingModeElement(), -1); 22369 } 22370 if (element.hasConstraintElement()) { 22371 composeString(t, "SearchParameter", "constraint", element.getConstraintElement(), -1); 22372 } 22373 for (int i = 0; i < element.getTarget().size(); i++) { 22374 composeCode(t, "SearchParameter", "target", element.getTarget().get(i), i); 22375 } 22376 if (element.hasMultipleOrElement()) { 22377 composeBoolean(t, "SearchParameter", "multipleOr", element.getMultipleOrElement(), -1); 22378 } 22379 if (element.hasMultipleAndElement()) { 22380 composeBoolean(t, "SearchParameter", "multipleAnd", element.getMultipleAndElement(), -1); 22381 } 22382 for (int i = 0; i < element.getComparator().size(); i++) { 22383 composeEnum(t, "SearchParameter", "comparator", element.getComparator().get(i), i); 22384 } 22385 for (int i = 0; i < element.getModifier().size(); i++) { 22386 composeEnum(t, "SearchParameter", "modifier", element.getModifier().get(i), i); 22387 } 22388 for (int i = 0; i < element.getChain().size(); i++) { 22389 composeString(t, "SearchParameter", "chain", element.getChain().get(i), i); 22390 } 22391 for (int i = 0; i < element.getComponent().size(); i++) { 22392 composeSearchParameterComponentComponent(t, "SearchParameter", "component", element.getComponent().get(i), i); 22393 } 22394 } 22395 22396 protected void composeSearchParameterComponentComponent(Complex parent, String parentType, String name, SearchParameter.SearchParameterComponentComponent element, int index) { 22397 if (element == null) 22398 return; 22399 Complex t; 22400 if (Utilities.noString(parentType)) 22401 t = parent; 22402 else { 22403 t = parent.predicate("fhir:"+parentType+'.'+name); 22404 } 22405 composeBackboneElement(t, "component", name, element, index); 22406 if (element.hasDefinitionElement()) { 22407 composeCanonical(t, "SearchParameterComponentComponent", "definition", element.getDefinitionElement(), -1); 22408 } 22409 if (element.hasExpressionElement()) { 22410 composeString(t, "SearchParameterComponentComponent", "expression", element.getExpressionElement(), -1); 22411 } 22412 } 22413 22414 protected void composeServiceRequest(Complex parent, String parentType, String name, ServiceRequest 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 composeDomainResource(t, "ServiceRequest", name, element, index); 22424 for (int i = 0; i < element.getIdentifier().size(); i++) { 22425 composeIdentifier(t, "ServiceRequest", "identifier", element.getIdentifier().get(i), i); 22426 } 22427 for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { 22428 composeCanonical(t, "ServiceRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); 22429 } 22430 for (int i = 0; i < element.getInstantiatesUri().size(); i++) { 22431 composeUri(t, "ServiceRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); 22432 } 22433 for (int i = 0; i < element.getBasedOn().size(); i++) { 22434 composeReference(t, "ServiceRequest", "basedOn", element.getBasedOn().get(i), i); 22435 } 22436 for (int i = 0; i < element.getReplaces().size(); i++) { 22437 composeReference(t, "ServiceRequest", "replaces", element.getReplaces().get(i), i); 22438 } 22439 if (element.hasRequisition()) { 22440 composeIdentifier(t, "ServiceRequest", "requisition", element.getRequisition(), -1); 22441 } 22442 if (element.hasStatusElement()) { 22443 composeEnum(t, "ServiceRequest", "status", element.getStatusElement(), -1); 22444 } 22445 if (element.hasIntentElement()) { 22446 composeEnum(t, "ServiceRequest", "intent", element.getIntentElement(), -1); 22447 } 22448 for (int i = 0; i < element.getCategory().size(); i++) { 22449 composeCodeableConcept(t, "ServiceRequest", "category", element.getCategory().get(i), i); 22450 } 22451 if (element.hasPriorityElement()) { 22452 composeEnum(t, "ServiceRequest", "priority", element.getPriorityElement(), -1); 22453 } 22454 if (element.hasDoNotPerformElement()) { 22455 composeBoolean(t, "ServiceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); 22456 } 22457 if (element.hasCode()) { 22458 composeCodeableReference(t, "ServiceRequest", "code", element.getCode(), -1); 22459 } 22460 for (int i = 0; i < element.getOrderDetail().size(); i++) { 22461 composeCodeableConcept(t, "ServiceRequest", "orderDetail", element.getOrderDetail().get(i), i); 22462 } 22463 if (element.hasQuantity()) { 22464 composeType(t, "ServiceRequest", "quantity", element.getQuantity(), -1); 22465 } 22466 if (element.hasSubject()) { 22467 composeReference(t, "ServiceRequest", "subject", element.getSubject(), -1); 22468 } 22469 for (int i = 0; i < element.getFocus().size(); i++) { 22470 composeReference(t, "ServiceRequest", "focus", element.getFocus().get(i), i); 22471 } 22472 if (element.hasEncounter()) { 22473 composeReference(t, "ServiceRequest", "encounter", element.getEncounter(), -1); 22474 } 22475 if (element.hasOccurrence()) { 22476 composeType(t, "ServiceRequest", "occurrence", element.getOccurrence(), -1); 22477 } 22478 if (element.hasAsNeeded()) { 22479 composeType(t, "ServiceRequest", "asNeeded", element.getAsNeeded(), -1); 22480 } 22481 if (element.hasAuthoredOnElement()) { 22482 composeDateTime(t, "ServiceRequest", "authoredOn", element.getAuthoredOnElement(), -1); 22483 } 22484 if (element.hasRequester()) { 22485 composeReference(t, "ServiceRequest", "requester", element.getRequester(), -1); 22486 } 22487 if (element.hasPerformerType()) { 22488 composeCodeableConcept(t, "ServiceRequest", "performerType", element.getPerformerType(), -1); 22489 } 22490 for (int i = 0; i < element.getPerformer().size(); i++) { 22491 composeReference(t, "ServiceRequest", "performer", element.getPerformer().get(i), i); 22492 } 22493 for (int i = 0; i < element.getLocation().size(); i++) { 22494 composeCodeableReference(t, "ServiceRequest", "location", element.getLocation().get(i), i); 22495 } 22496 for (int i = 0; i < element.getReason().size(); i++) { 22497 composeCodeableReference(t, "ServiceRequest", "reason", element.getReason().get(i), i); 22498 } 22499 for (int i = 0; i < element.getInsurance().size(); i++) { 22500 composeReference(t, "ServiceRequest", "insurance", element.getInsurance().get(i), i); 22501 } 22502 for (int i = 0; i < element.getSupportingInfo().size(); i++) { 22503 composeReference(t, "ServiceRequest", "supportingInfo", element.getSupportingInfo().get(i), i); 22504 } 22505 for (int i = 0; i < element.getSpecimen().size(); i++) { 22506 composeReference(t, "ServiceRequest", "specimen", element.getSpecimen().get(i), i); 22507 } 22508 for (int i = 0; i < element.getBodySite().size(); i++) { 22509 composeCodeableConcept(t, "ServiceRequest", "bodySite", element.getBodySite().get(i), i); 22510 } 22511 if (element.hasBodyStructure()) { 22512 composeReference(t, "ServiceRequest", "bodyStructure", element.getBodyStructure(), -1); 22513 } 22514 for (int i = 0; i < element.getNote().size(); i++) { 22515 composeAnnotation(t, "ServiceRequest", "note", element.getNote().get(i), i); 22516 } 22517 if (element.hasPatientInstructionElement()) { 22518 composeString(t, "ServiceRequest", "patientInstruction", element.getPatientInstructionElement(), -1); 22519 } 22520 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 22521 composeReference(t, "ServiceRequest", "relevantHistory", element.getRelevantHistory().get(i), i); 22522 } 22523 } 22524 22525 protected void composeSlot(Complex parent, String parentType, String name, Slot 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, "Slot", name, element, index); 22535 for (int i = 0; i < element.getIdentifier().size(); i++) { 22536 composeIdentifier(t, "Slot", "identifier", element.getIdentifier().get(i), i); 22537 } 22538 for (int i = 0; i < element.getServiceCategory().size(); i++) { 22539 composeCodeableConcept(t, "Slot", "serviceCategory", element.getServiceCategory().get(i), i); 22540 } 22541 for (int i = 0; i < element.getServiceType().size(); i++) { 22542 composeCodeableReference(t, "Slot", "serviceType", element.getServiceType().get(i), i); 22543 } 22544 for (int i = 0; i < element.getSpecialty().size(); i++) { 22545 composeCodeableConcept(t, "Slot", "specialty", element.getSpecialty().get(i), i); 22546 } 22547 for (int i = 0; i < element.getAppointmentType().size(); i++) { 22548 composeCodeableConcept(t, "Slot", "appointmentType", element.getAppointmentType().get(i), i); 22549 } 22550 if (element.hasSchedule()) { 22551 composeReference(t, "Slot", "schedule", element.getSchedule(), -1); 22552 } 22553 if (element.hasStatusElement()) { 22554 composeEnum(t, "Slot", "status", element.getStatusElement(), -1); 22555 } 22556 if (element.hasStartElement()) { 22557 composeInstant(t, "Slot", "start", element.getStartElement(), -1); 22558 } 22559 if (element.hasEndElement()) { 22560 composeInstant(t, "Slot", "end", element.getEndElement(), -1); 22561 } 22562 if (element.hasOverbookedElement()) { 22563 composeBoolean(t, "Slot", "overbooked", element.getOverbookedElement(), -1); 22564 } 22565 if (element.hasCommentElement()) { 22566 composeString(t, "Slot", "comment", element.getCommentElement(), -1); 22567 } 22568 } 22569 22570 protected void composeSpecimen(Complex parent, String parentType, String name, Specimen element, int index) { 22571 if (element == null) 22572 return; 22573 Complex t; 22574 if (Utilities.noString(parentType)) 22575 t = parent; 22576 else { 22577 t = parent.predicate("fhir:"+parentType+'.'+name); 22578 } 22579 composeDomainResource(t, "Specimen", name, element, index); 22580 for (int i = 0; i < element.getIdentifier().size(); i++) { 22581 composeIdentifier(t, "Specimen", "identifier", element.getIdentifier().get(i), i); 22582 } 22583 if (element.hasAccessionIdentifier()) { 22584 composeIdentifier(t, "Specimen", "accessionIdentifier", element.getAccessionIdentifier(), -1); 22585 } 22586 if (element.hasStatusElement()) { 22587 composeEnum(t, "Specimen", "status", element.getStatusElement(), -1); 22588 } 22589 if (element.hasType()) { 22590 composeCodeableConcept(t, "Specimen", "type", element.getType(), -1); 22591 } 22592 if (element.hasSubject()) { 22593 composeReference(t, "Specimen", "subject", element.getSubject(), -1); 22594 } 22595 if (element.hasReceivedTimeElement()) { 22596 composeDateTime(t, "Specimen", "receivedTime", element.getReceivedTimeElement(), -1); 22597 } 22598 for (int i = 0; i < element.getParent().size(); i++) { 22599 composeReference(t, "Specimen", "parent", element.getParent().get(i), i); 22600 } 22601 for (int i = 0; i < element.getRequest().size(); i++) { 22602 composeReference(t, "Specimen", "request", element.getRequest().get(i), i); 22603 } 22604 if (element.hasCombinedElement()) { 22605 composeEnum(t, "Specimen", "combined", element.getCombinedElement(), -1); 22606 } 22607 for (int i = 0; i < element.getRole().size(); i++) { 22608 composeCodeableConcept(t, "Specimen", "role", element.getRole().get(i), i); 22609 } 22610 for (int i = 0; i < element.getFeature().size(); i++) { 22611 composeSpecimenFeatureComponent(t, "Specimen", "feature", element.getFeature().get(i), i); 22612 } 22613 if (element.hasCollection()) { 22614 composeSpecimenCollectionComponent(t, "Specimen", "collection", element.getCollection(), -1); 22615 } 22616 for (int i = 0; i < element.getProcessing().size(); i++) { 22617 composeSpecimenProcessingComponent(t, "Specimen", "processing", element.getProcessing().get(i), i); 22618 } 22619 for (int i = 0; i < element.getContainer().size(); i++) { 22620 composeSpecimenContainerComponent(t, "Specimen", "container", element.getContainer().get(i), i); 22621 } 22622 for (int i = 0; i < element.getCondition().size(); i++) { 22623 composeCodeableConcept(t, "Specimen", "condition", element.getCondition().get(i), i); 22624 } 22625 for (int i = 0; i < element.getNote().size(); i++) { 22626 composeAnnotation(t, "Specimen", "note", element.getNote().get(i), i); 22627 } 22628 } 22629 22630 protected void composeSpecimenFeatureComponent(Complex parent, String parentType, String name, Specimen.SpecimenFeatureComponent element, int index) { 22631 if (element == null) 22632 return; 22633 Complex t; 22634 if (Utilities.noString(parentType)) 22635 t = parent; 22636 else { 22637 t = parent.predicate("fhir:"+parentType+'.'+name); 22638 } 22639 composeBackboneElement(t, "feature", name, element, index); 22640 if (element.hasType()) { 22641 composeCodeableConcept(t, "SpecimenFeatureComponent", "type", element.getType(), -1); 22642 } 22643 if (element.hasDescriptionElement()) { 22644 composeString(t, "SpecimenFeatureComponent", "description", element.getDescriptionElement(), -1); 22645 } 22646 } 22647 22648 protected void composeSpecimenCollectionComponent(Complex parent, String parentType, String name, Specimen.SpecimenCollectionComponent 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, "collection", name, element, index); 22658 if (element.hasCollector()) { 22659 composeReference(t, "SpecimenCollectionComponent", "collector", element.getCollector(), -1); 22660 } 22661 if (element.hasCollected()) { 22662 composeType(t, "SpecimenCollectionComponent", "collected", element.getCollected(), -1); 22663 } 22664 if (element.hasDuration()) { 22665 composeDuration(t, "SpecimenCollectionComponent", "duration", element.getDuration(), -1); 22666 } 22667 if (element.hasQuantity()) { 22668 composeQuantity(t, "SpecimenCollectionComponent", "quantity", element.getQuantity(), -1); 22669 } 22670 if (element.hasMethod()) { 22671 composeCodeableConcept(t, "SpecimenCollectionComponent", "method", element.getMethod(), -1); 22672 } 22673 if (element.hasDevice()) { 22674 composeCodeableReference(t, "SpecimenCollectionComponent", "device", element.getDevice(), -1); 22675 } 22676 if (element.hasProcedure()) { 22677 composeReference(t, "SpecimenCollectionComponent", "procedure", element.getProcedure(), -1); 22678 } 22679 if (element.hasBodySite()) { 22680 composeCodeableReference(t, "SpecimenCollectionComponent", "bodySite", element.getBodySite(), -1); 22681 } 22682 if (element.hasFastingStatus()) { 22683 composeType(t, "SpecimenCollectionComponent", "fastingStatus", element.getFastingStatus(), -1); 22684 } 22685 } 22686 22687 protected void composeSpecimenProcessingComponent(Complex parent, String parentType, String name, Specimen.SpecimenProcessingComponent element, int index) { 22688 if (element == null) 22689 return; 22690 Complex t; 22691 if (Utilities.noString(parentType)) 22692 t = parent; 22693 else { 22694 t = parent.predicate("fhir:"+parentType+'.'+name); 22695 } 22696 composeBackboneElement(t, "processing", name, element, index); 22697 if (element.hasDescriptionElement()) { 22698 composeString(t, "SpecimenProcessingComponent", "description", element.getDescriptionElement(), -1); 22699 } 22700 if (element.hasMethod()) { 22701 composeCodeableConcept(t, "SpecimenProcessingComponent", "method", element.getMethod(), -1); 22702 } 22703 for (int i = 0; i < element.getAdditive().size(); i++) { 22704 composeReference(t, "SpecimenProcessingComponent", "additive", element.getAdditive().get(i), i); 22705 } 22706 if (element.hasTime()) { 22707 composeType(t, "SpecimenProcessingComponent", "time", element.getTime(), -1); 22708 } 22709 } 22710 22711 protected void composeSpecimenContainerComponent(Complex parent, String parentType, String name, Specimen.SpecimenContainerComponent element, int index) { 22712 if (element == null) 22713 return; 22714 Complex t; 22715 if (Utilities.noString(parentType)) 22716 t = parent; 22717 else { 22718 t = parent.predicate("fhir:"+parentType+'.'+name); 22719 } 22720 composeBackboneElement(t, "container", name, element, index); 22721 if (element.hasDevice()) { 22722 composeReference(t, "SpecimenContainerComponent", "device", element.getDevice(), -1); 22723 } 22724 if (element.hasLocation()) { 22725 composeReference(t, "SpecimenContainerComponent", "location", element.getLocation(), -1); 22726 } 22727 if (element.hasSpecimenQuantity()) { 22728 composeQuantity(t, "SpecimenContainerComponent", "specimenQuantity", element.getSpecimenQuantity(), -1); 22729 } 22730 } 22731 22732 protected void composeSpecimenDefinition(Complex parent, String parentType, String name, SpecimenDefinition element, int index) { 22733 if (element == null) 22734 return; 22735 Complex t; 22736 if (Utilities.noString(parentType)) 22737 t = parent; 22738 else { 22739 t = parent.predicate("fhir:"+parentType+'.'+name); 22740 } 22741 composeDomainResource(t, "SpecimenDefinition", name, element, index); 22742 if (element.hasUrlElement()) { 22743 composeUri(t, "SpecimenDefinition", "url", element.getUrlElement(), -1); 22744 } 22745 if (element.hasIdentifier()) { 22746 composeIdentifier(t, "SpecimenDefinition", "identifier", element.getIdentifier(), -1); 22747 } 22748 if (element.hasVersionElement()) { 22749 composeString(t, "SpecimenDefinition", "version", element.getVersionElement(), -1); 22750 } 22751 if (element.hasTitleElement()) { 22752 composeString(t, "SpecimenDefinition", "title", element.getTitleElement(), -1); 22753 } 22754 for (int i = 0; i < element.getDerivedFromCanonical().size(); i++) { 22755 composeCanonical(t, "SpecimenDefinition", "derivedFromCanonical", element.getDerivedFromCanonical().get(i), i); 22756 } 22757 for (int i = 0; i < element.getDerivedFromUri().size(); i++) { 22758 composeUri(t, "SpecimenDefinition", "derivedFromUri", element.getDerivedFromUri().get(i), i); 22759 } 22760 if (element.hasStatusElement()) { 22761 composeEnum(t, "SpecimenDefinition", "status", element.getStatusElement(), -1); 22762 } 22763 if (element.hasExperimentalElement()) { 22764 composeBoolean(t, "SpecimenDefinition", "experimental", element.getExperimentalElement(), -1); 22765 } 22766 if (element.hasSubject()) { 22767 composeType(t, "SpecimenDefinition", "subject", element.getSubject(), -1); 22768 } 22769 if (element.hasDateElement()) { 22770 composeDateTime(t, "SpecimenDefinition", "date", element.getDateElement(), -1); 22771 } 22772 if (element.hasPublisherElement()) { 22773 composeString(t, "SpecimenDefinition", "publisher", element.getPublisherElement(), -1); 22774 } 22775 for (int i = 0; i < element.getContact().size(); i++) { 22776 composeContactDetail(t, "SpecimenDefinition", "contact", element.getContact().get(i), i); 22777 } 22778 if (element.hasDescriptionElement()) { 22779 composeMarkdown(t, "SpecimenDefinition", "description", element.getDescriptionElement(), -1); 22780 } 22781 for (int i = 0; i < element.getUseContext().size(); i++) { 22782 composeUsageContext(t, "SpecimenDefinition", "useContext", element.getUseContext().get(i), i); 22783 } 22784 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22785 composeCodeableConcept(t, "SpecimenDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 22786 } 22787 if (element.hasPurposeElement()) { 22788 composeMarkdown(t, "SpecimenDefinition", "purpose", element.getPurposeElement(), -1); 22789 } 22790 if (element.hasCopyrightElement()) { 22791 composeMarkdown(t, "SpecimenDefinition", "copyright", element.getCopyrightElement(), -1); 22792 } 22793 if (element.hasApprovalDateElement()) { 22794 composeDate(t, "SpecimenDefinition", "approvalDate", element.getApprovalDateElement(), -1); 22795 } 22796 if (element.hasLastReviewDateElement()) { 22797 composeDate(t, "SpecimenDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); 22798 } 22799 if (element.hasEffectivePeriod()) { 22800 composePeriod(t, "SpecimenDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); 22801 } 22802 if (element.hasTypeCollected()) { 22803 composeCodeableConcept(t, "SpecimenDefinition", "typeCollected", element.getTypeCollected(), -1); 22804 } 22805 for (int i = 0; i < element.getPatientPreparation().size(); i++) { 22806 composeCodeableConcept(t, "SpecimenDefinition", "patientPreparation", element.getPatientPreparation().get(i), i); 22807 } 22808 if (element.hasTimeAspectElement()) { 22809 composeString(t, "SpecimenDefinition", "timeAspect", element.getTimeAspectElement(), -1); 22810 } 22811 for (int i = 0; i < element.getCollection().size(); i++) { 22812 composeCodeableConcept(t, "SpecimenDefinition", "collection", element.getCollection().get(i), i); 22813 } 22814 for (int i = 0; i < element.getTypeTested().size(); i++) { 22815 composeSpecimenDefinitionTypeTestedComponent(t, "SpecimenDefinition", "typeTested", element.getTypeTested().get(i), i); 22816 } 22817 } 22818 22819 protected void composeSpecimenDefinitionTypeTestedComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedComponent element, int index) { 22820 if (element == null) 22821 return; 22822 Complex t; 22823 if (Utilities.noString(parentType)) 22824 t = parent; 22825 else { 22826 t = parent.predicate("fhir:"+parentType+'.'+name); 22827 } 22828 composeBackboneElement(t, "typeTested", name, element, index); 22829 if (element.hasIsDerivedElement()) { 22830 composeBoolean(t, "SpecimenDefinitionTypeTestedComponent", "isDerived", element.getIsDerivedElement(), -1); 22831 } 22832 if (element.hasType()) { 22833 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "type", element.getType(), -1); 22834 } 22835 if (element.hasPreferenceElement()) { 22836 composeEnum(t, "SpecimenDefinitionTypeTestedComponent", "preference", element.getPreferenceElement(), -1); 22837 } 22838 if (element.hasContainer()) { 22839 composeSpecimenDefinitionTypeTestedContainerComponent(t, "SpecimenDefinitionTypeTestedComponent", "container", element.getContainer(), -1); 22840 } 22841 if (element.hasRequirementElement()) { 22842 composeString(t, "SpecimenDefinitionTypeTestedComponent", "requirement", element.getRequirementElement(), -1); 22843 } 22844 if (element.hasRetentionTime()) { 22845 composeDuration(t, "SpecimenDefinitionTypeTestedComponent", "retentionTime", element.getRetentionTime(), -1); 22846 } 22847 if (element.hasSingleUseElement()) { 22848 composeBoolean(t, "SpecimenDefinitionTypeTestedComponent", "singleUse", element.getSingleUseElement(), -1); 22849 } 22850 for (int i = 0; i < element.getRejectionCriterion().size(); i++) { 22851 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "rejectionCriterion", element.getRejectionCriterion().get(i), i); 22852 } 22853 for (int i = 0; i < element.getHandling().size(); i++) { 22854 composeSpecimenDefinitionTypeTestedHandlingComponent(t, "SpecimenDefinitionTypeTestedComponent", "handling", element.getHandling().get(i), i); 22855 } 22856 for (int i = 0; i < element.getTestingDestination().size(); i++) { 22857 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedComponent", "testingDestination", element.getTestingDestination().get(i), i); 22858 } 22859 } 22860 22861 protected void composeSpecimenDefinitionTypeTestedContainerComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent element, int index) { 22862 if (element == null) 22863 return; 22864 Complex t; 22865 if (Utilities.noString(parentType)) 22866 t = parent; 22867 else { 22868 t = parent.predicate("fhir:"+parentType+'.'+name); 22869 } 22870 composeBackboneElement(t, "container", name, element, index); 22871 if (element.hasMaterial()) { 22872 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "material", element.getMaterial(), -1); 22873 } 22874 if (element.hasType()) { 22875 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "type", element.getType(), -1); 22876 } 22877 if (element.hasCap()) { 22878 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedContainerComponent", "cap", element.getCap(), -1); 22879 } 22880 if (element.hasDescriptionElement()) { 22881 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "description", element.getDescriptionElement(), -1); 22882 } 22883 if (element.hasCapacity()) { 22884 composeQuantity(t, "SpecimenDefinitionTypeTestedContainerComponent", "capacity", element.getCapacity(), -1); 22885 } 22886 if (element.hasMinimumVolume()) { 22887 composeType(t, "SpecimenDefinitionTypeTestedContainerComponent", "minimumVolume", element.getMinimumVolume(), -1); 22888 } 22889 for (int i = 0; i < element.getAdditive().size(); i++) { 22890 composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(t, "SpecimenDefinitionTypeTestedContainerComponent", "additive", element.getAdditive().get(i), i); 22891 } 22892 if (element.hasPreparationElement()) { 22893 composeString(t, "SpecimenDefinitionTypeTestedContainerComponent", "preparation", element.getPreparationElement(), -1); 22894 } 22895 } 22896 22897 protected void composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent element, int index) { 22898 if (element == null) 22899 return; 22900 Complex t; 22901 if (Utilities.noString(parentType)) 22902 t = parent; 22903 else { 22904 t = parent.predicate("fhir:"+parentType+'.'+name); 22905 } 22906 composeBackboneElement(t, "additive", name, element, index); 22907 if (element.hasAdditive()) { 22908 composeType(t, "SpecimenDefinitionTypeTestedContainerAdditiveComponent", "additive", element.getAdditive(), -1); 22909 } 22910 } 22911 22912 protected void composeSpecimenDefinitionTypeTestedHandlingComponent(Complex parent, String parentType, String name, SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent element, int index) { 22913 if (element == null) 22914 return; 22915 Complex t; 22916 if (Utilities.noString(parentType)) 22917 t = parent; 22918 else { 22919 t = parent.predicate("fhir:"+parentType+'.'+name); 22920 } 22921 composeBackboneElement(t, "handling", name, element, index); 22922 if (element.hasTemperatureQualifier()) { 22923 composeCodeableConcept(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureQualifier", element.getTemperatureQualifier(), -1); 22924 } 22925 if (element.hasTemperatureRange()) { 22926 composeRange(t, "SpecimenDefinitionTypeTestedHandlingComponent", "temperatureRange", element.getTemperatureRange(), -1); 22927 } 22928 if (element.hasMaxDuration()) { 22929 composeDuration(t, "SpecimenDefinitionTypeTestedHandlingComponent", "maxDuration", element.getMaxDuration(), -1); 22930 } 22931 if (element.hasInstructionElement()) { 22932 composeString(t, "SpecimenDefinitionTypeTestedHandlingComponent", "instruction", element.getInstructionElement(), -1); 22933 } 22934 } 22935 22936 protected void composeStructureDefinition(Complex parent, String parentType, String name, StructureDefinition element, int index) { 22937 if (element == null) 22938 return; 22939 Complex t; 22940 if (Utilities.noString(parentType)) 22941 t = parent; 22942 else { 22943 t = parent.predicate("fhir:"+parentType+'.'+name); 22944 } 22945 composeCanonicalResource(t, "StructureDefinition", name, element, index); 22946 if (element.hasUrlElement()) { 22947 composeUri(t, "StructureDefinition", "url", element.getUrlElement(), -1); 22948 } 22949 for (int i = 0; i < element.getIdentifier().size(); i++) { 22950 composeIdentifier(t, "StructureDefinition", "identifier", element.getIdentifier().get(i), i); 22951 } 22952 if (element.hasVersionElement()) { 22953 composeString(t, "StructureDefinition", "version", element.getVersionElement(), -1); 22954 } 22955 if (element.hasVersionAlgorithm()) { 22956 composeType(t, "StructureDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); 22957 } 22958 if (element.hasNameElement()) { 22959 composeString(t, "StructureDefinition", "name", element.getNameElement(), -1); 22960 } 22961 if (element.hasTitleElement()) { 22962 composeString(t, "StructureDefinition", "title", element.getTitleElement(), -1); 22963 } 22964 if (element.hasStatusElement()) { 22965 composeEnum(t, "StructureDefinition", "status", element.getStatusElement(), -1); 22966 } 22967 if (element.hasExperimentalElement()) { 22968 composeBoolean(t, "StructureDefinition", "experimental", element.getExperimentalElement(), -1); 22969 } 22970 if (element.hasDateElement()) { 22971 composeDateTime(t, "StructureDefinition", "date", element.getDateElement(), -1); 22972 } 22973 if (element.hasPublisherElement()) { 22974 composeString(t, "StructureDefinition", "publisher", element.getPublisherElement(), -1); 22975 } 22976 for (int i = 0; i < element.getContact().size(); i++) { 22977 composeContactDetail(t, "StructureDefinition", "contact", element.getContact().get(i), i); 22978 } 22979 if (element.hasDescriptionElement()) { 22980 composeMarkdown(t, "StructureDefinition", "description", element.getDescriptionElement(), -1); 22981 } 22982 for (int i = 0; i < element.getUseContext().size(); i++) { 22983 composeUsageContext(t, "StructureDefinition", "useContext", element.getUseContext().get(i), i); 22984 } 22985 for (int i = 0; i < element.getJurisdiction().size(); i++) { 22986 composeCodeableConcept(t, "StructureDefinition", "jurisdiction", element.getJurisdiction().get(i), i); 22987 } 22988 if (element.hasPurposeElement()) { 22989 composeMarkdown(t, "StructureDefinition", "purpose", element.getPurposeElement(), -1); 22990 } 22991 if (element.hasCopyrightElement()) { 22992 composeMarkdown(t, "StructureDefinition", "copyright", element.getCopyrightElement(), -1); 22993 } 22994 if (element.hasCopyrightLabelElement()) { 22995 composeString(t, "StructureDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); 22996 } 22997 for (int i = 0; i < element.getKeyword().size(); i++) { 22998 composeCoding(t, "StructureDefinition", "keyword", element.getKeyword().get(i), i); 22999 } 23000 if (element.hasFhirVersionElement()) { 23001 composeEnum(t, "StructureDefinition", "fhirVersion", element.getFhirVersionElement(), -1); 23002 } 23003 for (int i = 0; i < element.getMapping().size(); i++) { 23004 composeStructureDefinitionMappingComponent(t, "StructureDefinition", "mapping", element.getMapping().get(i), i); 23005 } 23006 if (element.hasKindElement()) { 23007 composeEnum(t, "StructureDefinition", "kind", element.getKindElement(), -1); 23008 } 23009 if (element.hasAbstractElement()) { 23010 composeBoolean(t, "StructureDefinition", "abstract", element.getAbstractElement(), -1); 23011 } 23012 for (int i = 0; i < element.getContext().size(); i++) { 23013 composeStructureDefinitionContextComponent(t, "StructureDefinition", "context", element.getContext().get(i), i); 23014 } 23015 for (int i = 0; i < element.getContextInvariant().size(); i++) { 23016 composeString(t, "StructureDefinition", "contextInvariant", element.getContextInvariant().get(i), i); 23017 } 23018 if (element.hasTypeElement()) { 23019 composeUri(t, "StructureDefinition", "type", element.getTypeElement(), -1); 23020 } 23021 if (element.hasBaseDefinitionElement()) { 23022 composeCanonical(t, "StructureDefinition", "baseDefinition", element.getBaseDefinitionElement(), -1); 23023 } 23024 if (element.hasDerivationElement()) { 23025 composeEnum(t, "StructureDefinition", "derivation", element.getDerivationElement(), -1); 23026 } 23027 if (element.hasSnapshot()) { 23028 composeStructureDefinitionSnapshotComponent(t, "StructureDefinition", "snapshot", element.getSnapshot(), -1); 23029 } 23030 if (element.hasDifferential()) { 23031 composeStructureDefinitionDifferentialComponent(t, "StructureDefinition", "differential", element.getDifferential(), -1); 23032 } 23033 } 23034 23035 protected void composeStructureDefinitionMappingComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionMappingComponent element, int index) { 23036 if (element == null) 23037 return; 23038 Complex t; 23039 if (Utilities.noString(parentType)) 23040 t = parent; 23041 else { 23042 t = parent.predicate("fhir:"+parentType+'.'+name); 23043 } 23044 composeBackboneElement(t, "mapping", name, element, index); 23045 if (element.hasIdentityElement()) { 23046 composeId(t, "StructureDefinitionMappingComponent", "identity", element.getIdentityElement(), -1); 23047 } 23048 if (element.hasUriElement()) { 23049 composeUri(t, "StructureDefinitionMappingComponent", "uri", element.getUriElement(), -1); 23050 } 23051 if (element.hasNameElement()) { 23052 composeString(t, "StructureDefinitionMappingComponent", "name", element.getNameElement(), -1); 23053 } 23054 if (element.hasCommentElement()) { 23055 composeString(t, "StructureDefinitionMappingComponent", "comment", element.getCommentElement(), -1); 23056 } 23057 } 23058 23059 protected void composeStructureDefinitionContextComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionContextComponent element, int index) { 23060 if (element == null) 23061 return; 23062 Complex t; 23063 if (Utilities.noString(parentType)) 23064 t = parent; 23065 else { 23066 t = parent.predicate("fhir:"+parentType+'.'+name); 23067 } 23068 composeBackboneElement(t, "context", name, element, index); 23069 if (element.hasTypeElement()) { 23070 composeEnum(t, "StructureDefinitionContextComponent", "type", element.getTypeElement(), -1); 23071 } 23072 if (element.hasExpressionElement()) { 23073 composeString(t, "StructureDefinitionContextComponent", "expression", element.getExpressionElement(), -1); 23074 } 23075 } 23076 23077 protected void composeStructureDefinitionSnapshotComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionSnapshotComponent element, int index) { 23078 if (element == null) 23079 return; 23080 Complex t; 23081 if (Utilities.noString(parentType)) 23082 t = parent; 23083 else { 23084 t = parent.predicate("fhir:"+parentType+'.'+name); 23085 } 23086 composeBackboneElement(t, "snapshot", name, element, index); 23087 for (int i = 0; i < element.getElement().size(); i++) { 23088 composeElementDefinition(t, "StructureDefinitionSnapshotComponent", "element", element.getElement().get(i), i); 23089 } 23090 } 23091 23092 protected void composeStructureDefinitionDifferentialComponent(Complex parent, String parentType, String name, StructureDefinition.StructureDefinitionDifferentialComponent element, int index) { 23093 if (element == null) 23094 return; 23095 Complex t; 23096 if (Utilities.noString(parentType)) 23097 t = parent; 23098 else { 23099 t = parent.predicate("fhir:"+parentType+'.'+name); 23100 } 23101 composeBackboneElement(t, "differential", name, element, index); 23102 for (int i = 0; i < element.getElement().size(); i++) { 23103 composeElementDefinition(t, "StructureDefinitionDifferentialComponent", "element", element.getElement().get(i), i); 23104 } 23105 } 23106 23107 protected void composeStructureMap(Complex parent, String parentType, String name, StructureMap element, int index) { 23108 if (element == null) 23109 return; 23110 Complex t; 23111 if (Utilities.noString(parentType)) 23112 t = parent; 23113 else { 23114 t = parent.predicate("fhir:"+parentType+'.'+name); 23115 } 23116 composeCanonicalResource(t, "StructureMap", name, element, index); 23117 if (element.hasUrlElement()) { 23118 composeUri(t, "StructureMap", "url", element.getUrlElement(), -1); 23119 } 23120 for (int i = 0; i < element.getIdentifier().size(); i++) { 23121 composeIdentifier(t, "StructureMap", "identifier", element.getIdentifier().get(i), i); 23122 } 23123 if (element.hasVersionElement()) { 23124 composeString(t, "StructureMap", "version", element.getVersionElement(), -1); 23125 } 23126 if (element.hasVersionAlgorithm()) { 23127 composeType(t, "StructureMap", "versionAlgorithm", element.getVersionAlgorithm(), -1); 23128 } 23129 if (element.hasNameElement()) { 23130 composeString(t, "StructureMap", "name", element.getNameElement(), -1); 23131 } 23132 if (element.hasTitleElement()) { 23133 composeString(t, "StructureMap", "title", element.getTitleElement(), -1); 23134 } 23135 if (element.hasStatusElement()) { 23136 composeEnum(t, "StructureMap", "status", element.getStatusElement(), -1); 23137 } 23138 if (element.hasExperimentalElement()) { 23139 composeBoolean(t, "StructureMap", "experimental", element.getExperimentalElement(), -1); 23140 } 23141 if (element.hasDateElement()) { 23142 composeDateTime(t, "StructureMap", "date", element.getDateElement(), -1); 23143 } 23144 if (element.hasPublisherElement()) { 23145 composeString(t, "StructureMap", "publisher", element.getPublisherElement(), -1); 23146 } 23147 for (int i = 0; i < element.getContact().size(); i++) { 23148 composeContactDetail(t, "StructureMap", "contact", element.getContact().get(i), i); 23149 } 23150 if (element.hasDescriptionElement()) { 23151 composeMarkdown(t, "StructureMap", "description", element.getDescriptionElement(), -1); 23152 } 23153 for (int i = 0; i < element.getUseContext().size(); i++) { 23154 composeUsageContext(t, "StructureMap", "useContext", element.getUseContext().get(i), i); 23155 } 23156 for (int i = 0; i < element.getJurisdiction().size(); i++) { 23157 composeCodeableConcept(t, "StructureMap", "jurisdiction", element.getJurisdiction().get(i), i); 23158 } 23159 if (element.hasPurposeElement()) { 23160 composeMarkdown(t, "StructureMap", "purpose", element.getPurposeElement(), -1); 23161 } 23162 if (element.hasCopyrightElement()) { 23163 composeMarkdown(t, "StructureMap", "copyright", element.getCopyrightElement(), -1); 23164 } 23165 if (element.hasCopyrightLabelElement()) { 23166 composeString(t, "StructureMap", "copyrightLabel", element.getCopyrightLabelElement(), -1); 23167 } 23168 for (int i = 0; i < element.getStructure().size(); i++) { 23169 composeStructureMapStructureComponent(t, "StructureMap", "structure", element.getStructure().get(i), i); 23170 } 23171 for (int i = 0; i < element.getImport().size(); i++) { 23172 composeCanonical(t, "StructureMap", "import", element.getImport().get(i), i); 23173 } 23174 for (int i = 0; i < element.getGroup().size(); i++) { 23175 composeStructureMapGroupComponent(t, "StructureMap", "group", element.getGroup().get(i), i); 23176 } 23177 } 23178 23179 protected void composeStructureMapStructureComponent(Complex parent, String parentType, String name, StructureMap.StructureMapStructureComponent element, int index) { 23180 if (element == null) 23181 return; 23182 Complex t; 23183 if (Utilities.noString(parentType)) 23184 t = parent; 23185 else { 23186 t = parent.predicate("fhir:"+parentType+'.'+name); 23187 } 23188 composeBackboneElement(t, "structure", name, element, index); 23189 if (element.hasUrlElement()) { 23190 composeCanonical(t, "StructureMapStructureComponent", "url", element.getUrlElement(), -1); 23191 } 23192 if (element.hasModeElement()) { 23193 composeEnum(t, "StructureMapStructureComponent", "mode", element.getModeElement(), -1); 23194 } 23195 if (element.hasAliasElement()) { 23196 composeString(t, "StructureMapStructureComponent", "alias", element.getAliasElement(), -1); 23197 } 23198 if (element.hasDocumentationElement()) { 23199 composeString(t, "StructureMapStructureComponent", "documentation", element.getDocumentationElement(), -1); 23200 } 23201 } 23202 23203 protected void composeStructureMapGroupComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupComponent element, int index) { 23204 if (element == null) 23205 return; 23206 Complex t; 23207 if (Utilities.noString(parentType)) 23208 t = parent; 23209 else { 23210 t = parent.predicate("fhir:"+parentType+'.'+name); 23211 } 23212 composeBackboneElement(t, "group", name, element, index); 23213 if (element.hasNameElement()) { 23214 composeId(t, "StructureMapGroupComponent", "name", element.getNameElement(), -1); 23215 } 23216 if (element.hasExtendsElement()) { 23217 composeId(t, "StructureMapGroupComponent", "extends", element.getExtendsElement(), -1); 23218 } 23219 if (element.hasTypeModeElement()) { 23220 composeEnum(t, "StructureMapGroupComponent", "typeMode", element.getTypeModeElement(), -1); 23221 } 23222 if (element.hasDocumentationElement()) { 23223 composeString(t, "StructureMapGroupComponent", "documentation", element.getDocumentationElement(), -1); 23224 } 23225 for (int i = 0; i < element.getInput().size(); i++) { 23226 composeStructureMapGroupInputComponent(t, "StructureMapGroupComponent", "input", element.getInput().get(i), i); 23227 } 23228 for (int i = 0; i < element.getRule().size(); i++) { 23229 composeStructureMapGroupRuleComponent(t, "StructureMapGroupComponent", "rule", element.getRule().get(i), i); 23230 } 23231 } 23232 23233 protected void composeStructureMapGroupInputComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupInputComponent element, int index) { 23234 if (element == null) 23235 return; 23236 Complex t; 23237 if (Utilities.noString(parentType)) 23238 t = parent; 23239 else { 23240 t = parent.predicate("fhir:"+parentType+'.'+name); 23241 } 23242 composeBackboneElement(t, "input", name, element, index); 23243 if (element.hasNameElement()) { 23244 composeId(t, "StructureMapGroupInputComponent", "name", element.getNameElement(), -1); 23245 } 23246 if (element.hasTypeElement()) { 23247 composeString(t, "StructureMapGroupInputComponent", "type", element.getTypeElement(), -1); 23248 } 23249 if (element.hasModeElement()) { 23250 composeEnum(t, "StructureMapGroupInputComponent", "mode", element.getModeElement(), -1); 23251 } 23252 if (element.hasDocumentationElement()) { 23253 composeString(t, "StructureMapGroupInputComponent", "documentation", element.getDocumentationElement(), -1); 23254 } 23255 } 23256 23257 protected void composeStructureMapGroupRuleComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleComponent element, int index) { 23258 if (element == null) 23259 return; 23260 Complex t; 23261 if (Utilities.noString(parentType)) 23262 t = parent; 23263 else { 23264 t = parent.predicate("fhir:"+parentType+'.'+name); 23265 } 23266 composeBackboneElement(t, "rule", name, element, index); 23267 if (element.hasNameElement()) { 23268 composeId(t, "StructureMapGroupRuleComponent", "name", element.getNameElement(), -1); 23269 } 23270 for (int i = 0; i < element.getSource().size(); i++) { 23271 composeStructureMapGroupRuleSourceComponent(t, "StructureMapGroupRuleComponent", "source", element.getSource().get(i), i); 23272 } 23273 for (int i = 0; i < element.getTarget().size(); i++) { 23274 composeStructureMapGroupRuleTargetComponent(t, "StructureMapGroupRuleComponent", "target", element.getTarget().get(i), i); 23275 } 23276 for (int i = 0; i < element.getRule().size(); i++) { 23277 composeStructureMapGroupRuleComponent(t, "StructureMapGroupRuleComponent", "rule", element.getRule().get(i), i); 23278 } 23279 for (int i = 0; i < element.getDependent().size(); i++) { 23280 composeStructureMapGroupRuleDependentComponent(t, "StructureMapGroupRuleComponent", "dependent", element.getDependent().get(i), i); 23281 } 23282 if (element.hasDocumentationElement()) { 23283 composeString(t, "StructureMapGroupRuleComponent", "documentation", element.getDocumentationElement(), -1); 23284 } 23285 } 23286 23287 protected void composeStructureMapGroupRuleSourceComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleSourceComponent element, int index) { 23288 if (element == null) 23289 return; 23290 Complex t; 23291 if (Utilities.noString(parentType)) 23292 t = parent; 23293 else { 23294 t = parent.predicate("fhir:"+parentType+'.'+name); 23295 } 23296 composeBackboneElement(t, "source", name, element, index); 23297 if (element.hasContextElement()) { 23298 composeId(t, "StructureMapGroupRuleSourceComponent", "context", element.getContextElement(), -1); 23299 } 23300 if (element.hasMinElement()) { 23301 composeInteger(t, "StructureMapGroupRuleSourceComponent", "min", element.getMinElement(), -1); 23302 } 23303 if (element.hasMaxElement()) { 23304 composeString(t, "StructureMapGroupRuleSourceComponent", "max", element.getMaxElement(), -1); 23305 } 23306 if (element.hasTypeElement()) { 23307 composeString(t, "StructureMapGroupRuleSourceComponent", "type", element.getTypeElement(), -1); 23308 } 23309 if (element.hasDefaultValueElement()) { 23310 composeString(t, "StructureMapGroupRuleSourceComponent", "defaultValue", element.getDefaultValueElement(), -1); 23311 } 23312 if (element.hasElementElement()) { 23313 composeString(t, "StructureMapGroupRuleSourceComponent", "element", element.getElementElement(), -1); 23314 } 23315 if (element.hasListModeElement()) { 23316 composeEnum(t, "StructureMapGroupRuleSourceComponent", "listMode", element.getListModeElement(), -1); 23317 } 23318 if (element.hasVariableElement()) { 23319 composeId(t, "StructureMapGroupRuleSourceComponent", "variable", element.getVariableElement(), -1); 23320 } 23321 if (element.hasConditionElement()) { 23322 composeString(t, "StructureMapGroupRuleSourceComponent", "condition", element.getConditionElement(), -1); 23323 } 23324 if (element.hasCheckElement()) { 23325 composeString(t, "StructureMapGroupRuleSourceComponent", "check", element.getCheckElement(), -1); 23326 } 23327 if (element.hasLogMessageElement()) { 23328 composeString(t, "StructureMapGroupRuleSourceComponent", "logMessage", element.getLogMessageElement(), -1); 23329 } 23330 } 23331 23332 protected void composeStructureMapGroupRuleTargetComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetComponent element, int index) { 23333 if (element == null) 23334 return; 23335 Complex t; 23336 if (Utilities.noString(parentType)) 23337 t = parent; 23338 else { 23339 t = parent.predicate("fhir:"+parentType+'.'+name); 23340 } 23341 composeBackboneElement(t, "target", name, element, index); 23342 if (element.hasContextElement()) { 23343 composeId(t, "StructureMapGroupRuleTargetComponent", "context", element.getContextElement(), -1); 23344 } 23345 if (element.hasElementElement()) { 23346 composeString(t, "StructureMapGroupRuleTargetComponent", "element", element.getElementElement(), -1); 23347 } 23348 if (element.hasVariableElement()) { 23349 composeId(t, "StructureMapGroupRuleTargetComponent", "variable", element.getVariableElement(), -1); 23350 } 23351 for (int i = 0; i < element.getListMode().size(); i++) { 23352 composeEnum(t, "StructureMapGroupRuleTargetComponent", "listMode", element.getListMode().get(i), i); 23353 } 23354 if (element.hasListRuleIdElement()) { 23355 composeId(t, "StructureMapGroupRuleTargetComponent", "listRuleId", element.getListRuleIdElement(), -1); 23356 } 23357 if (element.hasTransformElement()) { 23358 composeEnum(t, "StructureMapGroupRuleTargetComponent", "transform", element.getTransformElement(), -1); 23359 } 23360 for (int i = 0; i < element.getParameter().size(); i++) { 23361 composeStructureMapGroupRuleTargetParameterComponent(t, "StructureMapGroupRuleTargetComponent", "parameter", element.getParameter().get(i), i); 23362 } 23363 } 23364 23365 protected void composeStructureMapGroupRuleTargetParameterComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleTargetParameterComponent element, int index) { 23366 if (element == null) 23367 return; 23368 Complex t; 23369 if (Utilities.noString(parentType)) 23370 t = parent; 23371 else { 23372 t = parent.predicate("fhir:"+parentType+'.'+name); 23373 } 23374 composeBackboneElement(t, "parameter", name, element, index); 23375 if (element.hasValue()) { 23376 composeType(t, "StructureMapGroupRuleTargetParameterComponent", "value", element.getValue(), -1); 23377 } 23378 } 23379 23380 protected void composeStructureMapGroupRuleDependentComponent(Complex parent, String parentType, String name, StructureMap.StructureMapGroupRuleDependentComponent element, int index) { 23381 if (element == null) 23382 return; 23383 Complex t; 23384 if (Utilities.noString(parentType)) 23385 t = parent; 23386 else { 23387 t = parent.predicate("fhir:"+parentType+'.'+name); 23388 } 23389 composeBackboneElement(t, "dependent", name, element, index); 23390 if (element.hasNameElement()) { 23391 composeId(t, "StructureMapGroupRuleDependentComponent", "name", element.getNameElement(), -1); 23392 } 23393 for (int i = 0; i < element.getParameter().size(); i++) { 23394 composeStructureMapGroupRuleTargetParameterComponent(t, "StructureMapGroupRuleDependentComponent", "parameter", element.getParameter().get(i), i); 23395 } 23396 } 23397 23398 protected void composeSubscription(Complex parent, String parentType, String name, Subscription element, int index) { 23399 if (element == null) 23400 return; 23401 Complex t; 23402 if (Utilities.noString(parentType)) 23403 t = parent; 23404 else { 23405 t = parent.predicate("fhir:"+parentType+'.'+name); 23406 } 23407 composeDomainResource(t, "Subscription", name, element, index); 23408 for (int i = 0; i < element.getIdentifier().size(); i++) { 23409 composeIdentifier(t, "Subscription", "identifier", element.getIdentifier().get(i), i); 23410 } 23411 if (element.hasNameElement()) { 23412 composeString(t, "Subscription", "name", element.getNameElement(), -1); 23413 } 23414 if (element.hasStatusElement()) { 23415 composeEnum(t, "Subscription", "status", element.getStatusElement(), -1); 23416 } 23417 if (element.hasTopicElement()) { 23418 composeCanonical(t, "Subscription", "topic", element.getTopicElement(), -1); 23419 } 23420 for (int i = 0; i < element.getContact().size(); i++) { 23421 composeContactPoint(t, "Subscription", "contact", element.getContact().get(i), i); 23422 } 23423 if (element.hasEndElement()) { 23424 composeInstant(t, "Subscription", "end", element.getEndElement(), -1); 23425 } 23426 if (element.hasManagingEntity()) { 23427 composeReference(t, "Subscription", "managingEntity", element.getManagingEntity(), -1); 23428 } 23429 if (element.hasReasonElement()) { 23430 composeString(t, "Subscription", "reason", element.getReasonElement(), -1); 23431 } 23432 for (int i = 0; i < element.getFilterBy().size(); i++) { 23433 composeSubscriptionFilterByComponent(t, "Subscription", "filterBy", element.getFilterBy().get(i), i); 23434 } 23435 if (element.hasChannelType()) { 23436 composeCoding(t, "Subscription", "channelType", element.getChannelType(), -1); 23437 } 23438 if (element.hasEndpointElement()) { 23439 composeUrl(t, "Subscription", "endpoint", element.getEndpointElement(), -1); 23440 } 23441 for (int i = 0; i < element.getHeader().size(); i++) { 23442 composeString(t, "Subscription", "header", element.getHeader().get(i), i); 23443 } 23444 if (element.hasHeartbeatPeriodElement()) { 23445 composeUnsignedInt(t, "Subscription", "heartbeatPeriod", element.getHeartbeatPeriodElement(), -1); 23446 } 23447 if (element.hasTimeoutElement()) { 23448 composeUnsignedInt(t, "Subscription", "timeout", element.getTimeoutElement(), -1); 23449 } 23450 if (element.hasContentTypeElement()) { 23451 composeCode(t, "Subscription", "contentType", element.getContentTypeElement(), -1); 23452 } 23453 if (element.hasContentElement()) { 23454 composeEnum(t, "Subscription", "content", element.getContentElement(), -1); 23455 } 23456 if (element.hasMaxCountElement()) { 23457 composePositiveInt(t, "Subscription", "maxCount", element.getMaxCountElement(), -1); 23458 } 23459 } 23460 23461 protected void composeSubscriptionFilterByComponent(Complex parent, String parentType, String name, Subscription.SubscriptionFilterByComponent element, int index) { 23462 if (element == null) 23463 return; 23464 Complex t; 23465 if (Utilities.noString(parentType)) 23466 t = parent; 23467 else { 23468 t = parent.predicate("fhir:"+parentType+'.'+name); 23469 } 23470 composeBackboneElement(t, "filterBy", name, element, index); 23471 if (element.hasResourceTypeElement()) { 23472 composeUri(t, "SubscriptionFilterByComponent", "resourceType", element.getResourceTypeElement(), -1); 23473 } 23474 if (element.hasFilterParameterElement()) { 23475 composeString(t, "SubscriptionFilterByComponent", "filterParameter", element.getFilterParameterElement(), -1); 23476 } 23477 if (element.hasModifierElement()) { 23478 composeEnum(t, "SubscriptionFilterByComponent", "modifier", element.getModifierElement(), -1); 23479 } 23480 if (element.hasValueElement()) { 23481 composeString(t, "SubscriptionFilterByComponent", "value", element.getValueElement(), -1); 23482 } 23483 } 23484 23485 protected void composeSubscriptionStatus(Complex parent, String parentType, String name, SubscriptionStatus element, int index) { 23486 if (element == null) 23487 return; 23488 Complex t; 23489 if (Utilities.noString(parentType)) 23490 t = parent; 23491 else { 23492 t = parent.predicate("fhir:"+parentType+'.'+name); 23493 } 23494 composeDomainResource(t, "SubscriptionStatus", name, element, index); 23495 if (element.hasStatusElement()) { 23496 composeEnum(t, "SubscriptionStatus", "status", element.getStatusElement(), -1); 23497 } 23498 if (element.hasTypeElement()) { 23499 composeEnum(t, "SubscriptionStatus", "type", element.getTypeElement(), -1); 23500 } 23501 if (element.hasEventsSinceSubscriptionStartElement()) { 23502 composeInteger64(t, "SubscriptionStatus", "eventsSinceSubscriptionStart", element.getEventsSinceSubscriptionStartElement(), -1); 23503 } 23504 for (int i = 0; i < element.getNotificationEvent().size(); i++) { 23505 composeSubscriptionStatusNotificationEventComponent(t, "SubscriptionStatus", "notificationEvent", element.getNotificationEvent().get(i), i); 23506 } 23507 if (element.hasSubscription()) { 23508 composeReference(t, "SubscriptionStatus", "subscription", element.getSubscription(), -1); 23509 } 23510 if (element.hasTopicElement()) { 23511 composeCanonical(t, "SubscriptionStatus", "topic", element.getTopicElement(), -1); 23512 } 23513 for (int i = 0; i < element.getError().size(); i++) { 23514 composeCodeableConcept(t, "SubscriptionStatus", "error", element.getError().get(i), i); 23515 } 23516 } 23517 23518 protected void composeSubscriptionStatusNotificationEventComponent(Complex parent, String parentType, String name, SubscriptionStatus.SubscriptionStatusNotificationEventComponent element, int index) { 23519 if (element == null) 23520 return; 23521 Complex t; 23522 if (Utilities.noString(parentType)) 23523 t = parent; 23524 else { 23525 t = parent.predicate("fhir:"+parentType+'.'+name); 23526 } 23527 composeBackboneElement(t, "notificationEvent", name, element, index); 23528 if (element.hasEventNumberElement()) { 23529 composeInteger64(t, "SubscriptionStatusNotificationEventComponent", "eventNumber", element.getEventNumberElement(), -1); 23530 } 23531 if (element.hasTimestampElement()) { 23532 composeInstant(t, "SubscriptionStatusNotificationEventComponent", "timestamp", element.getTimestampElement(), -1); 23533 } 23534 if (element.hasFocus()) { 23535 composeReference(t, "SubscriptionStatusNotificationEventComponent", "focus", element.getFocus(), -1); 23536 } 23537 for (int i = 0; i < element.getAdditionalContext().size(); i++) { 23538 composeReference(t, "SubscriptionStatusNotificationEventComponent", "additionalContext", element.getAdditionalContext().get(i), i); 23539 } 23540 } 23541 23542 protected void composeSubscriptionTopic(Complex parent, String parentType, String name, SubscriptionTopic element, int index) { 23543 if (element == null) 23544 return; 23545 Complex t; 23546 if (Utilities.noString(parentType)) 23547 t = parent; 23548 else { 23549 t = parent.predicate("fhir:"+parentType+'.'+name); 23550 } 23551 composeCanonicalResource(t, "SubscriptionTopic", name, element, index); 23552 if (element.hasUrlElement()) { 23553 composeUri(t, "SubscriptionTopic", "url", element.getUrlElement(), -1); 23554 } 23555 for (int i = 0; i < element.getIdentifier().size(); i++) { 23556 composeIdentifier(t, "SubscriptionTopic", "identifier", element.getIdentifier().get(i), i); 23557 } 23558 if (element.hasVersionElement()) { 23559 composeString(t, "SubscriptionTopic", "version", element.getVersionElement(), -1); 23560 } 23561 if (element.hasTitleElement()) { 23562 composeString(t, "SubscriptionTopic", "title", element.getTitleElement(), -1); 23563 } 23564 for (int i = 0; i < element.getDerivedFrom().size(); i++) { 23565 composeCanonical(t, "SubscriptionTopic", "derivedFrom", element.getDerivedFrom().get(i), i); 23566 } 23567 if (element.hasStatusElement()) { 23568 composeEnum(t, "SubscriptionTopic", "status", element.getStatusElement(), -1); 23569 } 23570 if (element.hasExperimentalElement()) { 23571 composeBoolean(t, "SubscriptionTopic", "experimental", element.getExperimentalElement(), -1); 23572 } 23573 if (element.hasDateElement()) { 23574 composeDateTime(t, "SubscriptionTopic", "date", element.getDateElement(), -1); 23575 } 23576 if (element.hasPublisherElement()) { 23577 composeString(t, "SubscriptionTopic", "publisher", element.getPublisherElement(), -1); 23578 } 23579 for (int i = 0; i < element.getContact().size(); i++) { 23580 composeContactDetail(t, "SubscriptionTopic", "contact", element.getContact().get(i), i); 23581 } 23582 if (element.hasDescriptionElement()) { 23583 composeMarkdown(t, "SubscriptionTopic", "description", element.getDescriptionElement(), -1); 23584 } 23585 for (int i = 0; i < element.getUseContext().size(); i++) { 23586 composeUsageContext(t, "SubscriptionTopic", "useContext", element.getUseContext().get(i), i); 23587 } 23588 for (int i = 0; i < element.getJurisdiction().size(); i++) { 23589 composeCodeableConcept(t, "SubscriptionTopic", "jurisdiction", element.getJurisdiction().get(i), i); 23590 } 23591 if (element.hasPurposeElement()) { 23592 composeMarkdown(t, "SubscriptionTopic", "purpose", element.getPurposeElement(), -1); 23593 } 23594 if (element.hasCopyrightElement()) { 23595 composeMarkdown(t, "SubscriptionTopic", "copyright", element.getCopyrightElement(), -1); 23596 } 23597 if (element.hasCopyrightLabelElement()) { 23598 composeString(t, "SubscriptionTopic", "copyrightLabel", element.getCopyrightLabelElement(), -1); 23599 } 23600 if (element.hasApprovalDateElement()) { 23601 composeDate(t, "SubscriptionTopic", "approvalDate", element.getApprovalDateElement(), -1); 23602 } 23603 if (element.hasLastReviewDateElement()) { 23604 composeDate(t, "SubscriptionTopic", "lastReviewDate", element.getLastReviewDateElement(), -1); 23605 } 23606 if (element.hasEffectivePeriod()) { 23607 composePeriod(t, "SubscriptionTopic", "effectivePeriod", element.getEffectivePeriod(), -1); 23608 } 23609 for (int i = 0; i < element.getResourceTrigger().size(); i++) { 23610 composeSubscriptionTopicResourceTriggerComponent(t, "SubscriptionTopic", "resourceTrigger", element.getResourceTrigger().get(i), i); 23611 } 23612 for (int i = 0; i < element.getEventTrigger().size(); i++) { 23613 composeSubscriptionTopicEventTriggerComponent(t, "SubscriptionTopic", "eventTrigger", element.getEventTrigger().get(i), i); 23614 } 23615 for (int i = 0; i < element.getCanFilterBy().size(); i++) { 23616 composeSubscriptionTopicCanFilterByComponent(t, "SubscriptionTopic", "canFilterBy", element.getCanFilterBy().get(i), i); 23617 } 23618 for (int i = 0; i < element.getNotificationShape().size(); i++) { 23619 composeSubscriptionTopicNotificationShapeComponent(t, "SubscriptionTopic", "notificationShape", element.getNotificationShape().get(i), i); 23620 } 23621 } 23622 23623 protected void composeSubscriptionTopicResourceTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerComponent element, int index) { 23624 if (element == null) 23625 return; 23626 Complex t; 23627 if (Utilities.noString(parentType)) 23628 t = parent; 23629 else { 23630 t = parent.predicate("fhir:"+parentType+'.'+name); 23631 } 23632 composeBackboneElement(t, "resourceTrigger", name, element, index); 23633 if (element.hasDescriptionElement()) { 23634 composeMarkdown(t, "SubscriptionTopicResourceTriggerComponent", "description", element.getDescriptionElement(), -1); 23635 } 23636 if (element.hasResourceElement()) { 23637 composeUri(t, "SubscriptionTopicResourceTriggerComponent", "resource", element.getResourceElement(), -1); 23638 } 23639 for (int i = 0; i < element.getSupportedInteraction().size(); i++) { 23640 composeEnum(t, "SubscriptionTopicResourceTriggerComponent", "supportedInteraction", element.getSupportedInteraction().get(i), i); 23641 } 23642 if (element.hasQueryCriteria()) { 23643 composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(t, "SubscriptionTopicResourceTriggerComponent", "queryCriteria", element.getQueryCriteria(), -1); 23644 } 23645 if (element.hasFhirPathCriteriaElement()) { 23646 composeString(t, "SubscriptionTopicResourceTriggerComponent", "fhirPathCriteria", element.getFhirPathCriteriaElement(), -1); 23647 } 23648 } 23649 23650 protected void composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent element, int index) { 23651 if (element == null) 23652 return; 23653 Complex t; 23654 if (Utilities.noString(parentType)) 23655 t = parent; 23656 else { 23657 t = parent.predicate("fhir:"+parentType+'.'+name); 23658 } 23659 composeBackboneElement(t, "queryCriteria", name, element, index); 23660 if (element.hasPreviousElement()) { 23661 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "previous", element.getPreviousElement(), -1); 23662 } 23663 if (element.hasResultForCreateElement()) { 23664 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForCreate", element.getResultForCreateElement(), -1); 23665 } 23666 if (element.hasCurrentElement()) { 23667 composeString(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "current", element.getCurrentElement(), -1); 23668 } 23669 if (element.hasResultForDeleteElement()) { 23670 composeEnum(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "resultForDelete", element.getResultForDeleteElement(), -1); 23671 } 23672 if (element.hasRequireBothElement()) { 23673 composeBoolean(t, "SubscriptionTopicResourceTriggerQueryCriteriaComponent", "requireBoth", element.getRequireBothElement(), -1); 23674 } 23675 } 23676 23677 protected void composeSubscriptionTopicEventTriggerComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicEventTriggerComponent element, int index) { 23678 if (element == null) 23679 return; 23680 Complex t; 23681 if (Utilities.noString(parentType)) 23682 t = parent; 23683 else { 23684 t = parent.predicate("fhir:"+parentType+'.'+name); 23685 } 23686 composeBackboneElement(t, "eventTrigger", name, element, index); 23687 if (element.hasDescriptionElement()) { 23688 composeMarkdown(t, "SubscriptionTopicEventTriggerComponent", "description", element.getDescriptionElement(), -1); 23689 } 23690 if (element.hasEvent()) { 23691 composeCodeableConcept(t, "SubscriptionTopicEventTriggerComponent", "event", element.getEvent(), -1); 23692 } 23693 if (element.hasResourceElement()) { 23694 composeUri(t, "SubscriptionTopicEventTriggerComponent", "resource", element.getResourceElement(), -1); 23695 } 23696 } 23697 23698 protected void composeSubscriptionTopicCanFilterByComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicCanFilterByComponent element, int index) { 23699 if (element == null) 23700 return; 23701 Complex t; 23702 if (Utilities.noString(parentType)) 23703 t = parent; 23704 else { 23705 t = parent.predicate("fhir:"+parentType+'.'+name); 23706 } 23707 composeBackboneElement(t, "canFilterBy", name, element, index); 23708 if (element.hasDescriptionElement()) { 23709 composeMarkdown(t, "SubscriptionTopicCanFilterByComponent", "description", element.getDescriptionElement(), -1); 23710 } 23711 if (element.hasResourceElement()) { 23712 composeUri(t, "SubscriptionTopicCanFilterByComponent", "resource", element.getResourceElement(), -1); 23713 } 23714 if (element.hasFilterParameterElement()) { 23715 composeString(t, "SubscriptionTopicCanFilterByComponent", "filterParameter", element.getFilterParameterElement(), -1); 23716 } 23717 if (element.hasFilterDefinitionElement()) { 23718 composeUri(t, "SubscriptionTopicCanFilterByComponent", "filterDefinition", element.getFilterDefinitionElement(), -1); 23719 } 23720 for (int i = 0; i < element.getModifier().size(); i++) { 23721 composeEnum(t, "SubscriptionTopicCanFilterByComponent", "modifier", element.getModifier().get(i), i); 23722 } 23723 } 23724 23725 protected void composeSubscriptionTopicNotificationShapeComponent(Complex parent, String parentType, String name, SubscriptionTopic.SubscriptionTopicNotificationShapeComponent element, int index) { 23726 if (element == null) 23727 return; 23728 Complex t; 23729 if (Utilities.noString(parentType)) 23730 t = parent; 23731 else { 23732 t = parent.predicate("fhir:"+parentType+'.'+name); 23733 } 23734 composeBackboneElement(t, "notificationShape", name, element, index); 23735 if (element.hasResourceElement()) { 23736 composeUri(t, "SubscriptionTopicNotificationShapeComponent", "resource", element.getResourceElement(), -1); 23737 } 23738 for (int i = 0; i < element.getInclude().size(); i++) { 23739 composeString(t, "SubscriptionTopicNotificationShapeComponent", "include", element.getInclude().get(i), i); 23740 } 23741 for (int i = 0; i < element.getRevInclude().size(); i++) { 23742 composeString(t, "SubscriptionTopicNotificationShapeComponent", "revInclude", element.getRevInclude().get(i), i); 23743 } 23744 } 23745 23746 protected void composeSubstance(Complex parent, String parentType, String name, Substance element, int index) { 23747 if (element == null) 23748 return; 23749 Complex t; 23750 if (Utilities.noString(parentType)) 23751 t = parent; 23752 else { 23753 t = parent.predicate("fhir:"+parentType+'.'+name); 23754 } 23755 composeDomainResource(t, "Substance", name, element, index); 23756 for (int i = 0; i < element.getIdentifier().size(); i++) { 23757 composeIdentifier(t, "Substance", "identifier", element.getIdentifier().get(i), i); 23758 } 23759 if (element.hasInstanceElement()) { 23760 composeBoolean(t, "Substance", "instance", element.getInstanceElement(), -1); 23761 } 23762 if (element.hasStatusElement()) { 23763 composeEnum(t, "Substance", "status", element.getStatusElement(), -1); 23764 } 23765 for (int i = 0; i < element.getCategory().size(); i++) { 23766 composeCodeableConcept(t, "Substance", "category", element.getCategory().get(i), i); 23767 } 23768 if (element.hasCode()) { 23769 composeCodeableReference(t, "Substance", "code", element.getCode(), -1); 23770 } 23771 if (element.hasDescriptionElement()) { 23772 composeString(t, "Substance", "description", element.getDescriptionElement(), -1); 23773 } 23774 if (element.hasExpiryElement()) { 23775 composeDateTime(t, "Substance", "expiry", element.getExpiryElement(), -1); 23776 } 23777 if (element.hasQuantity()) { 23778 composeQuantity(t, "Substance", "quantity", element.getQuantity(), -1); 23779 } 23780 for (int i = 0; i < element.getIngredient().size(); i++) { 23781 composeSubstanceIngredientComponent(t, "Substance", "ingredient", element.getIngredient().get(i), i); 23782 } 23783 } 23784 23785 protected void composeSubstanceIngredientComponent(Complex parent, String parentType, String name, Substance.SubstanceIngredientComponent element, int index) { 23786 if (element == null) 23787 return; 23788 Complex t; 23789 if (Utilities.noString(parentType)) 23790 t = parent; 23791 else { 23792 t = parent.predicate("fhir:"+parentType+'.'+name); 23793 } 23794 composeBackboneElement(t, "ingredient", name, element, index); 23795 if (element.hasQuantity()) { 23796 composeRatio(t, "SubstanceIngredientComponent", "quantity", element.getQuantity(), -1); 23797 } 23798 if (element.hasSubstance()) { 23799 composeType(t, "SubstanceIngredientComponent", "substance", element.getSubstance(), -1); 23800 } 23801 } 23802 23803 protected void composeSubstanceDefinition(Complex parent, String parentType, String name, SubstanceDefinition element, int index) { 23804 if (element == null) 23805 return; 23806 Complex t; 23807 if (Utilities.noString(parentType)) 23808 t = parent; 23809 else { 23810 t = parent.predicate("fhir:"+parentType+'.'+name); 23811 } 23812 composeDomainResource(t, "SubstanceDefinition", name, element, index); 23813 for (int i = 0; i < element.getIdentifier().size(); i++) { 23814 composeIdentifier(t, "SubstanceDefinition", "identifier", element.getIdentifier().get(i), i); 23815 } 23816 if (element.hasVersionElement()) { 23817 composeString(t, "SubstanceDefinition", "version", element.getVersionElement(), -1); 23818 } 23819 if (element.hasStatus()) { 23820 composeCodeableConcept(t, "SubstanceDefinition", "status", element.getStatus(), -1); 23821 } 23822 for (int i = 0; i < element.getClassification().size(); i++) { 23823 composeCodeableConcept(t, "SubstanceDefinition", "classification", element.getClassification().get(i), i); 23824 } 23825 if (element.hasDomain()) { 23826 composeCodeableConcept(t, "SubstanceDefinition", "domain", element.getDomain(), -1); 23827 } 23828 for (int i = 0; i < element.getGrade().size(); i++) { 23829 composeCodeableConcept(t, "SubstanceDefinition", "grade", element.getGrade().get(i), i); 23830 } 23831 if (element.hasDescriptionElement()) { 23832 composeMarkdown(t, "SubstanceDefinition", "description", element.getDescriptionElement(), -1); 23833 } 23834 for (int i = 0; i < element.getInformationSource().size(); i++) { 23835 composeReference(t, "SubstanceDefinition", "informationSource", element.getInformationSource().get(i), i); 23836 } 23837 for (int i = 0; i < element.getNote().size(); i++) { 23838 composeAnnotation(t, "SubstanceDefinition", "note", element.getNote().get(i), i); 23839 } 23840 for (int i = 0; i < element.getManufacturer().size(); i++) { 23841 composeReference(t, "SubstanceDefinition", "manufacturer", element.getManufacturer().get(i), i); 23842 } 23843 for (int i = 0; i < element.getSupplier().size(); i++) { 23844 composeReference(t, "SubstanceDefinition", "supplier", element.getSupplier().get(i), i); 23845 } 23846 for (int i = 0; i < element.getMoiety().size(); i++) { 23847 composeSubstanceDefinitionMoietyComponent(t, "SubstanceDefinition", "moiety", element.getMoiety().get(i), i); 23848 } 23849 for (int i = 0; i < element.getCharacterization().size(); i++) { 23850 composeSubstanceDefinitionCharacterizationComponent(t, "SubstanceDefinition", "characterization", element.getCharacterization().get(i), i); 23851 } 23852 for (int i = 0; i < element.getProperty().size(); i++) { 23853 composeSubstanceDefinitionPropertyComponent(t, "SubstanceDefinition", "property", element.getProperty().get(i), i); 23854 } 23855 if (element.hasReferenceInformation()) { 23856 composeReference(t, "SubstanceDefinition", "referenceInformation", element.getReferenceInformation(), -1); 23857 } 23858 for (int i = 0; i < element.getMolecularWeight().size(); i++) { 23859 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinition", "molecularWeight", element.getMolecularWeight().get(i), i); 23860 } 23861 if (element.hasStructure()) { 23862 composeSubstanceDefinitionStructureComponent(t, "SubstanceDefinition", "structure", element.getStructure(), -1); 23863 } 23864 for (int i = 0; i < element.getCode().size(); i++) { 23865 composeSubstanceDefinitionCodeComponent(t, "SubstanceDefinition", "code", element.getCode().get(i), i); 23866 } 23867 for (int i = 0; i < element.getName().size(); i++) { 23868 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinition", "name", element.getName().get(i), i); 23869 } 23870 for (int i = 0; i < element.getRelationship().size(); i++) { 23871 composeSubstanceDefinitionRelationshipComponent(t, "SubstanceDefinition", "relationship", element.getRelationship().get(i), i); 23872 } 23873 if (element.hasNucleicAcid()) { 23874 composeReference(t, "SubstanceDefinition", "nucleicAcid", element.getNucleicAcid(), -1); 23875 } 23876 if (element.hasPolymer()) { 23877 composeReference(t, "SubstanceDefinition", "polymer", element.getPolymer(), -1); 23878 } 23879 if (element.hasProtein()) { 23880 composeReference(t, "SubstanceDefinition", "protein", element.getProtein(), -1); 23881 } 23882 if (element.hasSourceMaterial()) { 23883 composeSubstanceDefinitionSourceMaterialComponent(t, "SubstanceDefinition", "sourceMaterial", element.getSourceMaterial(), -1); 23884 } 23885 } 23886 23887 protected void composeSubstanceDefinitionMoietyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMoietyComponent 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, "moiety", name, element, index); 23897 if (element.hasRole()) { 23898 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "role", element.getRole(), -1); 23899 } 23900 if (element.hasIdentifier()) { 23901 composeIdentifier(t, "SubstanceDefinitionMoietyComponent", "identifier", element.getIdentifier(), -1); 23902 } 23903 if (element.hasNameElement()) { 23904 composeString(t, "SubstanceDefinitionMoietyComponent", "name", element.getNameElement(), -1); 23905 } 23906 if (element.hasStereochemistry()) { 23907 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "stereochemistry", element.getStereochemistry(), -1); 23908 } 23909 if (element.hasOpticalActivity()) { 23910 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "opticalActivity", element.getOpticalActivity(), -1); 23911 } 23912 if (element.hasMolecularFormulaElement()) { 23913 composeString(t, "SubstanceDefinitionMoietyComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 23914 } 23915 if (element.hasAmount()) { 23916 composeType(t, "SubstanceDefinitionMoietyComponent", "amount", element.getAmount(), -1); 23917 } 23918 if (element.hasMeasurementType()) { 23919 composeCodeableConcept(t, "SubstanceDefinitionMoietyComponent", "measurementType", element.getMeasurementType(), -1); 23920 } 23921 } 23922 23923 protected void composeSubstanceDefinitionCharacterizationComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionCharacterizationComponent element, int index) { 23924 if (element == null) 23925 return; 23926 Complex t; 23927 if (Utilities.noString(parentType)) 23928 t = parent; 23929 else { 23930 t = parent.predicate("fhir:"+parentType+'.'+name); 23931 } 23932 composeBackboneElement(t, "characterization", name, element, index); 23933 if (element.hasTechnique()) { 23934 composeCodeableConcept(t, "SubstanceDefinitionCharacterizationComponent", "technique", element.getTechnique(), -1); 23935 } 23936 if (element.hasForm()) { 23937 composeCodeableConcept(t, "SubstanceDefinitionCharacterizationComponent", "form", element.getForm(), -1); 23938 } 23939 if (element.hasDescriptionElement()) { 23940 composeMarkdown(t, "SubstanceDefinitionCharacterizationComponent", "description", element.getDescriptionElement(), -1); 23941 } 23942 for (int i = 0; i < element.getFile().size(); i++) { 23943 composeAttachment(t, "SubstanceDefinitionCharacterizationComponent", "file", element.getFile().get(i), i); 23944 } 23945 } 23946 23947 protected void composeSubstanceDefinitionPropertyComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionPropertyComponent element, int index) { 23948 if (element == null) 23949 return; 23950 Complex t; 23951 if (Utilities.noString(parentType)) 23952 t = parent; 23953 else { 23954 t = parent.predicate("fhir:"+parentType+'.'+name); 23955 } 23956 composeBackboneElement(t, "property", name, element, index); 23957 if (element.hasType()) { 23958 composeCodeableConcept(t, "SubstanceDefinitionPropertyComponent", "type", element.getType(), -1); 23959 } 23960 if (element.hasValue()) { 23961 composeType(t, "SubstanceDefinitionPropertyComponent", "value", element.getValue(), -1); 23962 } 23963 } 23964 23965 protected void composeSubstanceDefinitionMolecularWeightComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent element, int index) { 23966 if (element == null) 23967 return; 23968 Complex t; 23969 if (Utilities.noString(parentType)) 23970 t = parent; 23971 else { 23972 t = parent.predicate("fhir:"+parentType+'.'+name); 23973 } 23974 composeBackboneElement(t, "molecularWeight", name, element, index); 23975 if (element.hasMethod()) { 23976 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "method", element.getMethod(), -1); 23977 } 23978 if (element.hasType()) { 23979 composeCodeableConcept(t, "SubstanceDefinitionMolecularWeightComponent", "type", element.getType(), -1); 23980 } 23981 if (element.hasAmount()) { 23982 composeQuantity(t, "SubstanceDefinitionMolecularWeightComponent", "amount", element.getAmount(), -1); 23983 } 23984 } 23985 23986 protected void composeSubstanceDefinitionStructureComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureComponent element, int index) { 23987 if (element == null) 23988 return; 23989 Complex t; 23990 if (Utilities.noString(parentType)) 23991 t = parent; 23992 else { 23993 t = parent.predicate("fhir:"+parentType+'.'+name); 23994 } 23995 composeBackboneElement(t, "structure", name, element, index); 23996 if (element.hasStereochemistry()) { 23997 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "stereochemistry", element.getStereochemistry(), -1); 23998 } 23999 if (element.hasOpticalActivity()) { 24000 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "opticalActivity", element.getOpticalActivity(), -1); 24001 } 24002 if (element.hasMolecularFormulaElement()) { 24003 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormula", element.getMolecularFormulaElement(), -1); 24004 } 24005 if (element.hasMolecularFormulaByMoietyElement()) { 24006 composeString(t, "SubstanceDefinitionStructureComponent", "molecularFormulaByMoiety", element.getMolecularFormulaByMoietyElement(), -1); 24007 } 24008 if (element.hasMolecularWeight()) { 24009 composeSubstanceDefinitionMolecularWeightComponent(t, "SubstanceDefinitionStructureComponent", "molecularWeight", element.getMolecularWeight(), -1); 24010 } 24011 for (int i = 0; i < element.getTechnique().size(); i++) { 24012 composeCodeableConcept(t, "SubstanceDefinitionStructureComponent", "technique", element.getTechnique().get(i), i); 24013 } 24014 for (int i = 0; i < element.getSourceDocument().size(); i++) { 24015 composeReference(t, "SubstanceDefinitionStructureComponent", "sourceDocument", element.getSourceDocument().get(i), i); 24016 } 24017 for (int i = 0; i < element.getRepresentation().size(); i++) { 24018 composeSubstanceDefinitionStructureRepresentationComponent(t, "SubstanceDefinitionStructureComponent", "representation", element.getRepresentation().get(i), i); 24019 } 24020 } 24021 24022 protected void composeSubstanceDefinitionStructureRepresentationComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent element, int index) { 24023 if (element == null) 24024 return; 24025 Complex t; 24026 if (Utilities.noString(parentType)) 24027 t = parent; 24028 else { 24029 t = parent.predicate("fhir:"+parentType+'.'+name); 24030 } 24031 composeBackboneElement(t, "representation", name, element, index); 24032 if (element.hasType()) { 24033 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "type", element.getType(), -1); 24034 } 24035 if (element.hasRepresentationElement()) { 24036 composeString(t, "SubstanceDefinitionStructureRepresentationComponent", "representation", element.getRepresentationElement(), -1); 24037 } 24038 if (element.hasFormat()) { 24039 composeCodeableConcept(t, "SubstanceDefinitionStructureRepresentationComponent", "format", element.getFormat(), -1); 24040 } 24041 if (element.hasDocument()) { 24042 composeReference(t, "SubstanceDefinitionStructureRepresentationComponent", "document", element.getDocument(), -1); 24043 } 24044 } 24045 24046 protected void composeSubstanceDefinitionCodeComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionCodeComponent element, int index) { 24047 if (element == null) 24048 return; 24049 Complex t; 24050 if (Utilities.noString(parentType)) 24051 t = parent; 24052 else { 24053 t = parent.predicate("fhir:"+parentType+'.'+name); 24054 } 24055 composeBackboneElement(t, "code", name, element, index); 24056 if (element.hasCode()) { 24057 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "code", element.getCode(), -1); 24058 } 24059 if (element.hasStatus()) { 24060 composeCodeableConcept(t, "SubstanceDefinitionCodeComponent", "status", element.getStatus(), -1); 24061 } 24062 if (element.hasStatusDateElement()) { 24063 composeDateTime(t, "SubstanceDefinitionCodeComponent", "statusDate", element.getStatusDateElement(), -1); 24064 } 24065 for (int i = 0; i < element.getNote().size(); i++) { 24066 composeAnnotation(t, "SubstanceDefinitionCodeComponent", "note", element.getNote().get(i), i); 24067 } 24068 for (int i = 0; i < element.getSource().size(); i++) { 24069 composeReference(t, "SubstanceDefinitionCodeComponent", "source", element.getSource().get(i), i); 24070 } 24071 } 24072 24073 protected void composeSubstanceDefinitionNameComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameComponent element, int index) { 24074 if (element == null) 24075 return; 24076 Complex t; 24077 if (Utilities.noString(parentType)) 24078 t = parent; 24079 else { 24080 t = parent.predicate("fhir:"+parentType+'.'+name); 24081 } 24082 composeBackboneElement(t, "name", name, element, index); 24083 if (element.hasNameElement()) { 24084 composeString(t, "SubstanceDefinitionNameComponent", "name", element.getNameElement(), -1); 24085 } 24086 if (element.hasType()) { 24087 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "type", element.getType(), -1); 24088 } 24089 if (element.hasStatus()) { 24090 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "status", element.getStatus(), -1); 24091 } 24092 if (element.hasPreferredElement()) { 24093 composeBoolean(t, "SubstanceDefinitionNameComponent", "preferred", element.getPreferredElement(), -1); 24094 } 24095 for (int i = 0; i < element.getLanguage().size(); i++) { 24096 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "language", element.getLanguage().get(i), i); 24097 } 24098 for (int i = 0; i < element.getDomain().size(); i++) { 24099 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "domain", element.getDomain().get(i), i); 24100 } 24101 for (int i = 0; i < element.getJurisdiction().size(); i++) { 24102 composeCodeableConcept(t, "SubstanceDefinitionNameComponent", "jurisdiction", element.getJurisdiction().get(i), i); 24103 } 24104 for (int i = 0; i < element.getSynonym().size(); i++) { 24105 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "synonym", element.getSynonym().get(i), i); 24106 } 24107 for (int i = 0; i < element.getTranslation().size(); i++) { 24108 composeSubstanceDefinitionNameComponent(t, "SubstanceDefinitionNameComponent", "translation", element.getTranslation().get(i), i); 24109 } 24110 for (int i = 0; i < element.getOfficial().size(); i++) { 24111 composeSubstanceDefinitionNameOfficialComponent(t, "SubstanceDefinitionNameComponent", "official", element.getOfficial().get(i), i); 24112 } 24113 for (int i = 0; i < element.getSource().size(); i++) { 24114 composeReference(t, "SubstanceDefinitionNameComponent", "source", element.getSource().get(i), i); 24115 } 24116 } 24117 24118 protected void composeSubstanceDefinitionNameOfficialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionNameOfficialComponent element, int index) { 24119 if (element == null) 24120 return; 24121 Complex t; 24122 if (Utilities.noString(parentType)) 24123 t = parent; 24124 else { 24125 t = parent.predicate("fhir:"+parentType+'.'+name); 24126 } 24127 composeBackboneElement(t, "official", name, element, index); 24128 if (element.hasAuthority()) { 24129 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "authority", element.getAuthority(), -1); 24130 } 24131 if (element.hasStatus()) { 24132 composeCodeableConcept(t, "SubstanceDefinitionNameOfficialComponent", "status", element.getStatus(), -1); 24133 } 24134 if (element.hasDateElement()) { 24135 composeDateTime(t, "SubstanceDefinitionNameOfficialComponent", "date", element.getDateElement(), -1); 24136 } 24137 } 24138 24139 protected void composeSubstanceDefinitionRelationshipComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionRelationshipComponent element, int index) { 24140 if (element == null) 24141 return; 24142 Complex t; 24143 if (Utilities.noString(parentType)) 24144 t = parent; 24145 else { 24146 t = parent.predicate("fhir:"+parentType+'.'+name); 24147 } 24148 composeBackboneElement(t, "relationship", name, element, index); 24149 if (element.hasSubstanceDefinition()) { 24150 composeType(t, "SubstanceDefinitionRelationshipComponent", "substanceDefinition", element.getSubstanceDefinition(), -1); 24151 } 24152 if (element.hasType()) { 24153 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "type", element.getType(), -1); 24154 } 24155 if (element.hasIsDefiningElement()) { 24156 composeBoolean(t, "SubstanceDefinitionRelationshipComponent", "isDefining", element.getIsDefiningElement(), -1); 24157 } 24158 if (element.hasAmount()) { 24159 composeType(t, "SubstanceDefinitionRelationshipComponent", "amount", element.getAmount(), -1); 24160 } 24161 if (element.hasRatioHighLimitAmount()) { 24162 composeRatio(t, "SubstanceDefinitionRelationshipComponent", "ratioHighLimitAmount", element.getRatioHighLimitAmount(), -1); 24163 } 24164 if (element.hasComparator()) { 24165 composeCodeableConcept(t, "SubstanceDefinitionRelationshipComponent", "comparator", element.getComparator(), -1); 24166 } 24167 for (int i = 0; i < element.getSource().size(); i++) { 24168 composeReference(t, "SubstanceDefinitionRelationshipComponent", "source", element.getSource().get(i), i); 24169 } 24170 } 24171 24172 protected void composeSubstanceDefinitionSourceMaterialComponent(Complex parent, String parentType, String name, SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent 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, "sourceMaterial", name, element, index); 24182 if (element.hasType()) { 24183 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "type", element.getType(), -1); 24184 } 24185 if (element.hasGenus()) { 24186 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "genus", element.getGenus(), -1); 24187 } 24188 if (element.hasSpecies()) { 24189 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "species", element.getSpecies(), -1); 24190 } 24191 if (element.hasPart()) { 24192 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "part", element.getPart(), -1); 24193 } 24194 for (int i = 0; i < element.getCountryOfOrigin().size(); i++) { 24195 composeCodeableConcept(t, "SubstanceDefinitionSourceMaterialComponent", "countryOfOrigin", element.getCountryOfOrigin().get(i), i); 24196 } 24197 } 24198 24199 protected void composeSubstanceNucleicAcid(Complex parent, String parentType, String name, SubstanceNucleicAcid element, int index) { 24200 if (element == null) 24201 return; 24202 Complex t; 24203 if (Utilities.noString(parentType)) 24204 t = parent; 24205 else { 24206 t = parent.predicate("fhir:"+parentType+'.'+name); 24207 } 24208 composeDomainResource(t, "SubstanceNucleicAcid", name, element, index); 24209 if (element.hasSequenceType()) { 24210 composeCodeableConcept(t, "SubstanceNucleicAcid", "sequenceType", element.getSequenceType(), -1); 24211 } 24212 if (element.hasNumberOfSubunitsElement()) { 24213 composeInteger(t, "SubstanceNucleicAcid", "numberOfSubunits", element.getNumberOfSubunitsElement(), -1); 24214 } 24215 if (element.hasAreaOfHybridisationElement()) { 24216 composeString(t, "SubstanceNucleicAcid", "areaOfHybridisation", element.getAreaOfHybridisationElement(), -1); 24217 } 24218 if (element.hasOligoNucleotideType()) { 24219 composeCodeableConcept(t, "SubstanceNucleicAcid", "oligoNucleotideType", element.getOligoNucleotideType(), -1); 24220 } 24221 for (int i = 0; i < element.getSubunit().size(); i++) { 24222 composeSubstanceNucleicAcidSubunitComponent(t, "SubstanceNucleicAcid", "subunit", element.getSubunit().get(i), i); 24223 } 24224 } 24225 24226 protected void composeSubstanceNucleicAcidSubunitComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitComponent element, int index) { 24227 if (element == null) 24228 return; 24229 Complex t; 24230 if (Utilities.noString(parentType)) 24231 t = parent; 24232 else { 24233 t = parent.predicate("fhir:"+parentType+'.'+name); 24234 } 24235 composeBackboneElement(t, "subunit", name, element, index); 24236 if (element.hasSubunitElement()) { 24237 composeInteger(t, "SubstanceNucleicAcidSubunitComponent", "subunit", element.getSubunitElement(), -1); 24238 } 24239 if (element.hasSequenceElement()) { 24240 composeString(t, "SubstanceNucleicAcidSubunitComponent", "sequence", element.getSequenceElement(), -1); 24241 } 24242 if (element.hasLengthElement()) { 24243 composeInteger(t, "SubstanceNucleicAcidSubunitComponent", "length", element.getLengthElement(), -1); 24244 } 24245 if (element.hasSequenceAttachment()) { 24246 composeAttachment(t, "SubstanceNucleicAcidSubunitComponent", "sequenceAttachment", element.getSequenceAttachment(), -1); 24247 } 24248 if (element.hasFivePrime()) { 24249 composeCodeableConcept(t, "SubstanceNucleicAcidSubunitComponent", "fivePrime", element.getFivePrime(), -1); 24250 } 24251 if (element.hasThreePrime()) { 24252 composeCodeableConcept(t, "SubstanceNucleicAcidSubunitComponent", "threePrime", element.getThreePrime(), -1); 24253 } 24254 for (int i = 0; i < element.getLinkage().size(); i++) { 24255 composeSubstanceNucleicAcidSubunitLinkageComponent(t, "SubstanceNucleicAcidSubunitComponent", "linkage", element.getLinkage().get(i), i); 24256 } 24257 for (int i = 0; i < element.getSugar().size(); i++) { 24258 composeSubstanceNucleicAcidSubunitSugarComponent(t, "SubstanceNucleicAcidSubunitComponent", "sugar", element.getSugar().get(i), i); 24259 } 24260 } 24261 24262 protected void composeSubstanceNucleicAcidSubunitLinkageComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitLinkageComponent element, int index) { 24263 if (element == null) 24264 return; 24265 Complex t; 24266 if (Utilities.noString(parentType)) 24267 t = parent; 24268 else { 24269 t = parent.predicate("fhir:"+parentType+'.'+name); 24270 } 24271 composeBackboneElement(t, "linkage", name, element, index); 24272 if (element.hasConnectivityElement()) { 24273 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "connectivity", element.getConnectivityElement(), -1); 24274 } 24275 if (element.hasIdentifier()) { 24276 composeIdentifier(t, "SubstanceNucleicAcidSubunitLinkageComponent", "identifier", element.getIdentifier(), -1); 24277 } 24278 if (element.hasNameElement()) { 24279 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "name", element.getNameElement(), -1); 24280 } 24281 if (element.hasResidueSiteElement()) { 24282 composeString(t, "SubstanceNucleicAcidSubunitLinkageComponent", "residueSite", element.getResidueSiteElement(), -1); 24283 } 24284 } 24285 24286 protected void composeSubstanceNucleicAcidSubunitSugarComponent(Complex parent, String parentType, String name, SubstanceNucleicAcid.SubstanceNucleicAcidSubunitSugarComponent element, int index) { 24287 if (element == null) 24288 return; 24289 Complex t; 24290 if (Utilities.noString(parentType)) 24291 t = parent; 24292 else { 24293 t = parent.predicate("fhir:"+parentType+'.'+name); 24294 } 24295 composeBackboneElement(t, "sugar", name, element, index); 24296 if (element.hasIdentifier()) { 24297 composeIdentifier(t, "SubstanceNucleicAcidSubunitSugarComponent", "identifier", element.getIdentifier(), -1); 24298 } 24299 if (element.hasNameElement()) { 24300 composeString(t, "SubstanceNucleicAcidSubunitSugarComponent", "name", element.getNameElement(), -1); 24301 } 24302 if (element.hasResidueSiteElement()) { 24303 composeString(t, "SubstanceNucleicAcidSubunitSugarComponent", "residueSite", element.getResidueSiteElement(), -1); 24304 } 24305 } 24306 24307 protected void composeSubstancePolymer(Complex parent, String parentType, String name, SubstancePolymer element, int index) { 24308 if (element == null) 24309 return; 24310 Complex t; 24311 if (Utilities.noString(parentType)) 24312 t = parent; 24313 else { 24314 t = parent.predicate("fhir:"+parentType+'.'+name); 24315 } 24316 composeDomainResource(t, "SubstancePolymer", name, element, index); 24317 if (element.hasIdentifier()) { 24318 composeIdentifier(t, "SubstancePolymer", "identifier", element.getIdentifier(), -1); 24319 } 24320 if (element.hasClass_()) { 24321 composeCodeableConcept(t, "SubstancePolymer", "class", element.getClass_(), -1); 24322 } 24323 if (element.hasGeometry()) { 24324 composeCodeableConcept(t, "SubstancePolymer", "geometry", element.getGeometry(), -1); 24325 } 24326 for (int i = 0; i < element.getCopolymerConnectivity().size(); i++) { 24327 composeCodeableConcept(t, "SubstancePolymer", "copolymerConnectivity", element.getCopolymerConnectivity().get(i), i); 24328 } 24329 if (element.hasModificationElement()) { 24330 composeString(t, "SubstancePolymer", "modification", element.getModificationElement(), -1); 24331 } 24332 for (int i = 0; i < element.getMonomerSet().size(); i++) { 24333 composeSubstancePolymerMonomerSetComponent(t, "SubstancePolymer", "monomerSet", element.getMonomerSet().get(i), i); 24334 } 24335 for (int i = 0; i < element.getRepeat().size(); i++) { 24336 composeSubstancePolymerRepeatComponent(t, "SubstancePolymer", "repeat", element.getRepeat().get(i), i); 24337 } 24338 } 24339 24340 protected void composeSubstancePolymerMonomerSetComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerMonomerSetComponent element, int index) { 24341 if (element == null) 24342 return; 24343 Complex t; 24344 if (Utilities.noString(parentType)) 24345 t = parent; 24346 else { 24347 t = parent.predicate("fhir:"+parentType+'.'+name); 24348 } 24349 composeBackboneElement(t, "monomerSet", name, element, index); 24350 if (element.hasRatioType()) { 24351 composeCodeableConcept(t, "SubstancePolymerMonomerSetComponent", "ratioType", element.getRatioType(), -1); 24352 } 24353 for (int i = 0; i < element.getStartingMaterial().size(); i++) { 24354 composeSubstancePolymerMonomerSetStartingMaterialComponent(t, "SubstancePolymerMonomerSetComponent", "startingMaterial", element.getStartingMaterial().get(i), i); 24355 } 24356 } 24357 24358 protected void composeSubstancePolymerMonomerSetStartingMaterialComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerMonomerSetStartingMaterialComponent element, int index) { 24359 if (element == null) 24360 return; 24361 Complex t; 24362 if (Utilities.noString(parentType)) 24363 t = parent; 24364 else { 24365 t = parent.predicate("fhir:"+parentType+'.'+name); 24366 } 24367 composeBackboneElement(t, "startingMaterial", name, element, index); 24368 if (element.hasCode()) { 24369 composeCodeableConcept(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "code", element.getCode(), -1); 24370 } 24371 if (element.hasCategory()) { 24372 composeCodeableConcept(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "category", element.getCategory(), -1); 24373 } 24374 if (element.hasIsDefiningElement()) { 24375 composeBoolean(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "isDefining", element.getIsDefiningElement(), -1); 24376 } 24377 if (element.hasAmount()) { 24378 composeQuantity(t, "SubstancePolymerMonomerSetStartingMaterialComponent", "amount", element.getAmount(), -1); 24379 } 24380 } 24381 24382 protected void composeSubstancePolymerRepeatComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatComponent element, int index) { 24383 if (element == null) 24384 return; 24385 Complex t; 24386 if (Utilities.noString(parentType)) 24387 t = parent; 24388 else { 24389 t = parent.predicate("fhir:"+parentType+'.'+name); 24390 } 24391 composeBackboneElement(t, "repeat", name, element, index); 24392 if (element.hasAverageMolecularFormulaElement()) { 24393 composeString(t, "SubstancePolymerRepeatComponent", "averageMolecularFormula", element.getAverageMolecularFormulaElement(), -1); 24394 } 24395 if (element.hasRepeatUnitAmountType()) { 24396 composeCodeableConcept(t, "SubstancePolymerRepeatComponent", "repeatUnitAmountType", element.getRepeatUnitAmountType(), -1); 24397 } 24398 for (int i = 0; i < element.getRepeatUnit().size(); i++) { 24399 composeSubstancePolymerRepeatRepeatUnitComponent(t, "SubstancePolymerRepeatComponent", "repeatUnit", element.getRepeatUnit().get(i), i); 24400 } 24401 } 24402 24403 protected void composeSubstancePolymerRepeatRepeatUnitComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitComponent 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, "repeatUnit", name, element, index); 24413 if (element.hasUnitElement()) { 24414 composeString(t, "SubstancePolymerRepeatRepeatUnitComponent", "unit", element.getUnitElement(), -1); 24415 } 24416 if (element.hasOrientation()) { 24417 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitComponent", "orientation", element.getOrientation(), -1); 24418 } 24419 if (element.hasAmountElement()) { 24420 composeInteger(t, "SubstancePolymerRepeatRepeatUnitComponent", "amount", element.getAmountElement(), -1); 24421 } 24422 for (int i = 0; i < element.getDegreeOfPolymerisation().size(); i++) { 24423 composeSubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent(t, "SubstancePolymerRepeatRepeatUnitComponent", "degreeOfPolymerisation", element.getDegreeOfPolymerisation().get(i), i); 24424 } 24425 for (int i = 0; i < element.getStructuralRepresentation().size(); i++) { 24426 composeSubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent(t, "SubstancePolymerRepeatRepeatUnitComponent", "structuralRepresentation", element.getStructuralRepresentation().get(i), i); 24427 } 24428 } 24429 24430 protected void composeSubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent element, int index) { 24431 if (element == null) 24432 return; 24433 Complex t; 24434 if (Utilities.noString(parentType)) 24435 t = parent; 24436 else { 24437 t = parent.predicate("fhir:"+parentType+'.'+name); 24438 } 24439 composeBackboneElement(t, "degreeOfPolymerisation", name, element, index); 24440 if (element.hasType()) { 24441 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "type", element.getType(), -1); 24442 } 24443 if (element.hasAverageElement()) { 24444 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "average", element.getAverageElement(), -1); 24445 } 24446 if (element.hasLowElement()) { 24447 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "low", element.getLowElement(), -1); 24448 } 24449 if (element.hasHighElement()) { 24450 composeInteger(t, "SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisationComponent", "high", element.getHighElement(), -1); 24451 } 24452 } 24453 24454 protected void composeSubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent(Complex parent, String parentType, String name, SubstancePolymer.SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent element, int index) { 24455 if (element == null) 24456 return; 24457 Complex t; 24458 if (Utilities.noString(parentType)) 24459 t = parent; 24460 else { 24461 t = parent.predicate("fhir:"+parentType+'.'+name); 24462 } 24463 composeBackboneElement(t, "structuralRepresentation", name, element, index); 24464 if (element.hasType()) { 24465 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "type", element.getType(), -1); 24466 } 24467 if (element.hasRepresentationElement()) { 24468 composeString(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "representation", element.getRepresentationElement(), -1); 24469 } 24470 if (element.hasFormat()) { 24471 composeCodeableConcept(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "format", element.getFormat(), -1); 24472 } 24473 if (element.hasAttachment()) { 24474 composeAttachment(t, "SubstancePolymerRepeatRepeatUnitStructuralRepresentationComponent", "attachment", element.getAttachment(), -1); 24475 } 24476 } 24477 24478 protected void composeSubstanceProtein(Complex parent, String parentType, String name, SubstanceProtein element, int index) { 24479 if (element == null) 24480 return; 24481 Complex t; 24482 if (Utilities.noString(parentType)) 24483 t = parent; 24484 else { 24485 t = parent.predicate("fhir:"+parentType+'.'+name); 24486 } 24487 composeDomainResource(t, "SubstanceProtein", name, element, index); 24488 if (element.hasSequenceType()) { 24489 composeCodeableConcept(t, "SubstanceProtein", "sequenceType", element.getSequenceType(), -1); 24490 } 24491 if (element.hasNumberOfSubunitsElement()) { 24492 composeInteger(t, "SubstanceProtein", "numberOfSubunits", element.getNumberOfSubunitsElement(), -1); 24493 } 24494 for (int i = 0; i < element.getDisulfideLinkage().size(); i++) { 24495 composeString(t, "SubstanceProtein", "disulfideLinkage", element.getDisulfideLinkage().get(i), i); 24496 } 24497 for (int i = 0; i < element.getSubunit().size(); i++) { 24498 composeSubstanceProteinSubunitComponent(t, "SubstanceProtein", "subunit", element.getSubunit().get(i), i); 24499 } 24500 } 24501 24502 protected void composeSubstanceProteinSubunitComponent(Complex parent, String parentType, String name, SubstanceProtein.SubstanceProteinSubunitComponent element, int index) { 24503 if (element == null) 24504 return; 24505 Complex t; 24506 if (Utilities.noString(parentType)) 24507 t = parent; 24508 else { 24509 t = parent.predicate("fhir:"+parentType+'.'+name); 24510 } 24511 composeBackboneElement(t, "subunit", name, element, index); 24512 if (element.hasSubunitElement()) { 24513 composeInteger(t, "SubstanceProteinSubunitComponent", "subunit", element.getSubunitElement(), -1); 24514 } 24515 if (element.hasSequenceElement()) { 24516 composeString(t, "SubstanceProteinSubunitComponent", "sequence", element.getSequenceElement(), -1); 24517 } 24518 if (element.hasLengthElement()) { 24519 composeInteger(t, "SubstanceProteinSubunitComponent", "length", element.getLengthElement(), -1); 24520 } 24521 if (element.hasSequenceAttachment()) { 24522 composeAttachment(t, "SubstanceProteinSubunitComponent", "sequenceAttachment", element.getSequenceAttachment(), -1); 24523 } 24524 if (element.hasNTerminalModificationId()) { 24525 composeIdentifier(t, "SubstanceProteinSubunitComponent", "nTerminalModificationId", element.getNTerminalModificationId(), -1); 24526 } 24527 if (element.hasNTerminalModificationElement()) { 24528 composeString(t, "SubstanceProteinSubunitComponent", "nTerminalModification", element.getNTerminalModificationElement(), -1); 24529 } 24530 if (element.hasCTerminalModificationId()) { 24531 composeIdentifier(t, "SubstanceProteinSubunitComponent", "cTerminalModificationId", element.getCTerminalModificationId(), -1); 24532 } 24533 if (element.hasCTerminalModificationElement()) { 24534 composeString(t, "SubstanceProteinSubunitComponent", "cTerminalModification", element.getCTerminalModificationElement(), -1); 24535 } 24536 } 24537 24538 protected void composeSubstanceReferenceInformation(Complex parent, String parentType, String name, SubstanceReferenceInformation element, int index) { 24539 if (element == null) 24540 return; 24541 Complex t; 24542 if (Utilities.noString(parentType)) 24543 t = parent; 24544 else { 24545 t = parent.predicate("fhir:"+parentType+'.'+name); 24546 } 24547 composeDomainResource(t, "SubstanceReferenceInformation", name, element, index); 24548 if (element.hasCommentElement()) { 24549 composeString(t, "SubstanceReferenceInformation", "comment", element.getCommentElement(), -1); 24550 } 24551 for (int i = 0; i < element.getGene().size(); i++) { 24552 composeSubstanceReferenceInformationGeneComponent(t, "SubstanceReferenceInformation", "gene", element.getGene().get(i), i); 24553 } 24554 for (int i = 0; i < element.getGeneElement().size(); i++) { 24555 composeSubstanceReferenceInformationGeneElementComponent(t, "SubstanceReferenceInformation", "geneElement", element.getGeneElement().get(i), i); 24556 } 24557 for (int i = 0; i < element.getTarget().size(); i++) { 24558 composeSubstanceReferenceInformationTargetComponent(t, "SubstanceReferenceInformation", "target", element.getTarget().get(i), i); 24559 } 24560 } 24561 24562 protected void composeSubstanceReferenceInformationGeneComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationGeneComponent element, int index) { 24563 if (element == null) 24564 return; 24565 Complex t; 24566 if (Utilities.noString(parentType)) 24567 t = parent; 24568 else { 24569 t = parent.predicate("fhir:"+parentType+'.'+name); 24570 } 24571 composeBackboneElement(t, "gene", name, element, index); 24572 if (element.hasGeneSequenceOrigin()) { 24573 composeCodeableConcept(t, "SubstanceReferenceInformationGeneComponent", "geneSequenceOrigin", element.getGeneSequenceOrigin(), -1); 24574 } 24575 if (element.hasGene()) { 24576 composeCodeableConcept(t, "SubstanceReferenceInformationGeneComponent", "gene", element.getGene(), -1); 24577 } 24578 for (int i = 0; i < element.getSource().size(); i++) { 24579 composeReference(t, "SubstanceReferenceInformationGeneComponent", "source", element.getSource().get(i), i); 24580 } 24581 } 24582 24583 protected void composeSubstanceReferenceInformationGeneElementComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationGeneElementComponent element, int index) { 24584 if (element == null) 24585 return; 24586 Complex t; 24587 if (Utilities.noString(parentType)) 24588 t = parent; 24589 else { 24590 t = parent.predicate("fhir:"+parentType+'.'+name); 24591 } 24592 composeBackboneElement(t, "geneElement", name, element, index); 24593 if (element.hasType()) { 24594 composeCodeableConcept(t, "SubstanceReferenceInformationGeneElementComponent", "type", element.getType(), -1); 24595 } 24596 if (element.hasElement()) { 24597 composeIdentifier(t, "SubstanceReferenceInformationGeneElementComponent", "element", element.getElement(), -1); 24598 } 24599 for (int i = 0; i < element.getSource().size(); i++) { 24600 composeReference(t, "SubstanceReferenceInformationGeneElementComponent", "source", element.getSource().get(i), i); 24601 } 24602 } 24603 24604 protected void composeSubstanceReferenceInformationTargetComponent(Complex parent, String parentType, String name, SubstanceReferenceInformation.SubstanceReferenceInformationTargetComponent element, int index) { 24605 if (element == null) 24606 return; 24607 Complex t; 24608 if (Utilities.noString(parentType)) 24609 t = parent; 24610 else { 24611 t = parent.predicate("fhir:"+parentType+'.'+name); 24612 } 24613 composeBackboneElement(t, "target", name, element, index); 24614 if (element.hasTarget()) { 24615 composeIdentifier(t, "SubstanceReferenceInformationTargetComponent", "target", element.getTarget(), -1); 24616 } 24617 if (element.hasType()) { 24618 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "type", element.getType(), -1); 24619 } 24620 if (element.hasInteraction()) { 24621 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "interaction", element.getInteraction(), -1); 24622 } 24623 if (element.hasOrganism()) { 24624 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "organism", element.getOrganism(), -1); 24625 } 24626 if (element.hasOrganismType()) { 24627 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "organismType", element.getOrganismType(), -1); 24628 } 24629 if (element.hasAmount()) { 24630 composeType(t, "SubstanceReferenceInformationTargetComponent", "amount", element.getAmount(), -1); 24631 } 24632 if (element.hasAmountType()) { 24633 composeCodeableConcept(t, "SubstanceReferenceInformationTargetComponent", "amountType", element.getAmountType(), -1); 24634 } 24635 for (int i = 0; i < element.getSource().size(); i++) { 24636 composeReference(t, "SubstanceReferenceInformationTargetComponent", "source", element.getSource().get(i), i); 24637 } 24638 } 24639 24640 protected void composeSubstanceSourceMaterial(Complex parent, String parentType, String name, SubstanceSourceMaterial element, int index) { 24641 if (element == null) 24642 return; 24643 Complex t; 24644 if (Utilities.noString(parentType)) 24645 t = parent; 24646 else { 24647 t = parent.predicate("fhir:"+parentType+'.'+name); 24648 } 24649 composeDomainResource(t, "SubstanceSourceMaterial", name, element, index); 24650 if (element.hasSourceMaterialClass()) { 24651 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialClass", element.getSourceMaterialClass(), -1); 24652 } 24653 if (element.hasSourceMaterialType()) { 24654 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialType", element.getSourceMaterialType(), -1); 24655 } 24656 if (element.hasSourceMaterialState()) { 24657 composeCodeableConcept(t, "SubstanceSourceMaterial", "sourceMaterialState", element.getSourceMaterialState(), -1); 24658 } 24659 if (element.hasOrganismId()) { 24660 composeIdentifier(t, "SubstanceSourceMaterial", "organismId", element.getOrganismId(), -1); 24661 } 24662 if (element.hasOrganismNameElement()) { 24663 composeString(t, "SubstanceSourceMaterial", "organismName", element.getOrganismNameElement(), -1); 24664 } 24665 for (int i = 0; i < element.getParentSubstanceId().size(); i++) { 24666 composeIdentifier(t, "SubstanceSourceMaterial", "parentSubstanceId", element.getParentSubstanceId().get(i), i); 24667 } 24668 for (int i = 0; i < element.getParentSubstanceName().size(); i++) { 24669 composeString(t, "SubstanceSourceMaterial", "parentSubstanceName", element.getParentSubstanceName().get(i), i); 24670 } 24671 for (int i = 0; i < element.getCountryOfOrigin().size(); i++) { 24672 composeCodeableConcept(t, "SubstanceSourceMaterial", "countryOfOrigin", element.getCountryOfOrigin().get(i), i); 24673 } 24674 for (int i = 0; i < element.getGeographicalLocation().size(); i++) { 24675 composeString(t, "SubstanceSourceMaterial", "geographicalLocation", element.getGeographicalLocation().get(i), i); 24676 } 24677 if (element.hasDevelopmentStage()) { 24678 composeCodeableConcept(t, "SubstanceSourceMaterial", "developmentStage", element.getDevelopmentStage(), -1); 24679 } 24680 for (int i = 0; i < element.getFractionDescription().size(); i++) { 24681 composeSubstanceSourceMaterialFractionDescriptionComponent(t, "SubstanceSourceMaterial", "fractionDescription", element.getFractionDescription().get(i), i); 24682 } 24683 if (element.hasOrganism()) { 24684 composeSubstanceSourceMaterialOrganismComponent(t, "SubstanceSourceMaterial", "organism", element.getOrganism(), -1); 24685 } 24686 for (int i = 0; i < element.getPartDescription().size(); i++) { 24687 composeSubstanceSourceMaterialPartDescriptionComponent(t, "SubstanceSourceMaterial", "partDescription", element.getPartDescription().get(i), i); 24688 } 24689 } 24690 24691 protected void composeSubstanceSourceMaterialFractionDescriptionComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialFractionDescriptionComponent element, int index) { 24692 if (element == null) 24693 return; 24694 Complex t; 24695 if (Utilities.noString(parentType)) 24696 t = parent; 24697 else { 24698 t = parent.predicate("fhir:"+parentType+'.'+name); 24699 } 24700 composeBackboneElement(t, "fractionDescription", name, element, index); 24701 if (element.hasFractionElement()) { 24702 composeString(t, "SubstanceSourceMaterialFractionDescriptionComponent", "fraction", element.getFractionElement(), -1); 24703 } 24704 if (element.hasMaterialType()) { 24705 composeCodeableConcept(t, "SubstanceSourceMaterialFractionDescriptionComponent", "materialType", element.getMaterialType(), -1); 24706 } 24707 } 24708 24709 protected void composeSubstanceSourceMaterialOrganismComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismComponent 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, "organism", name, element, index); 24719 if (element.hasFamily()) { 24720 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "family", element.getFamily(), -1); 24721 } 24722 if (element.hasGenus()) { 24723 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "genus", element.getGenus(), -1); 24724 } 24725 if (element.hasSpecies()) { 24726 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "species", element.getSpecies(), -1); 24727 } 24728 if (element.hasIntraspecificType()) { 24729 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismComponent", "intraspecificType", element.getIntraspecificType(), -1); 24730 } 24731 if (element.hasIntraspecificDescriptionElement()) { 24732 composeString(t, "SubstanceSourceMaterialOrganismComponent", "intraspecificDescription", element.getIntraspecificDescriptionElement(), -1); 24733 } 24734 for (int i = 0; i < element.getAuthor().size(); i++) { 24735 composeSubstanceSourceMaterialOrganismAuthorComponent(t, "SubstanceSourceMaterialOrganismComponent", "author", element.getAuthor().get(i), i); 24736 } 24737 if (element.hasHybrid()) { 24738 composeSubstanceSourceMaterialOrganismHybridComponent(t, "SubstanceSourceMaterialOrganismComponent", "hybrid", element.getHybrid(), -1); 24739 } 24740 if (element.hasOrganismGeneral()) { 24741 composeSubstanceSourceMaterialOrganismOrganismGeneralComponent(t, "SubstanceSourceMaterialOrganismComponent", "organismGeneral", element.getOrganismGeneral(), -1); 24742 } 24743 } 24744 24745 protected void composeSubstanceSourceMaterialOrganismAuthorComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismAuthorComponent element, int index) { 24746 if (element == null) 24747 return; 24748 Complex t; 24749 if (Utilities.noString(parentType)) 24750 t = parent; 24751 else { 24752 t = parent.predicate("fhir:"+parentType+'.'+name); 24753 } 24754 composeBackboneElement(t, "author", name, element, index); 24755 if (element.hasAuthorType()) { 24756 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismAuthorComponent", "authorType", element.getAuthorType(), -1); 24757 } 24758 if (element.hasAuthorDescriptionElement()) { 24759 composeString(t, "SubstanceSourceMaterialOrganismAuthorComponent", "authorDescription", element.getAuthorDescriptionElement(), -1); 24760 } 24761 } 24762 24763 protected void composeSubstanceSourceMaterialOrganismHybridComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismHybridComponent element, int index) { 24764 if (element == null) 24765 return; 24766 Complex t; 24767 if (Utilities.noString(parentType)) 24768 t = parent; 24769 else { 24770 t = parent.predicate("fhir:"+parentType+'.'+name); 24771 } 24772 composeBackboneElement(t, "hybrid", name, element, index); 24773 if (element.hasMaternalOrganismIdElement()) { 24774 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "maternalOrganismId", element.getMaternalOrganismIdElement(), -1); 24775 } 24776 if (element.hasMaternalOrganismNameElement()) { 24777 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "maternalOrganismName", element.getMaternalOrganismNameElement(), -1); 24778 } 24779 if (element.hasPaternalOrganismIdElement()) { 24780 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "paternalOrganismId", element.getPaternalOrganismIdElement(), -1); 24781 } 24782 if (element.hasPaternalOrganismNameElement()) { 24783 composeString(t, "SubstanceSourceMaterialOrganismHybridComponent", "paternalOrganismName", element.getPaternalOrganismNameElement(), -1); 24784 } 24785 if (element.hasHybridType()) { 24786 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismHybridComponent", "hybridType", element.getHybridType(), -1); 24787 } 24788 } 24789 24790 protected void composeSubstanceSourceMaterialOrganismOrganismGeneralComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialOrganismOrganismGeneralComponent element, int index) { 24791 if (element == null) 24792 return; 24793 Complex t; 24794 if (Utilities.noString(parentType)) 24795 t = parent; 24796 else { 24797 t = parent.predicate("fhir:"+parentType+'.'+name); 24798 } 24799 composeBackboneElement(t, "organismGeneral", name, element, index); 24800 if (element.hasKingdom()) { 24801 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "kingdom", element.getKingdom(), -1); 24802 } 24803 if (element.hasPhylum()) { 24804 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "phylum", element.getPhylum(), -1); 24805 } 24806 if (element.hasClass_()) { 24807 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "class", element.getClass_(), -1); 24808 } 24809 if (element.hasOrder()) { 24810 composeCodeableConcept(t, "SubstanceSourceMaterialOrganismOrganismGeneralComponent", "order", element.getOrder(), -1); 24811 } 24812 } 24813 24814 protected void composeSubstanceSourceMaterialPartDescriptionComponent(Complex parent, String parentType, String name, SubstanceSourceMaterial.SubstanceSourceMaterialPartDescriptionComponent element, int index) { 24815 if (element == null) 24816 return; 24817 Complex t; 24818 if (Utilities.noString(parentType)) 24819 t = parent; 24820 else { 24821 t = parent.predicate("fhir:"+parentType+'.'+name); 24822 } 24823 composeBackboneElement(t, "partDescription", name, element, index); 24824 if (element.hasPart()) { 24825 composeCodeableConcept(t, "SubstanceSourceMaterialPartDescriptionComponent", "part", element.getPart(), -1); 24826 } 24827 if (element.hasPartLocation()) { 24828 composeCodeableConcept(t, "SubstanceSourceMaterialPartDescriptionComponent", "partLocation", element.getPartLocation(), -1); 24829 } 24830 } 24831 24832 protected void composeSupplyDelivery(Complex parent, String parentType, String name, SupplyDelivery element, int index) { 24833 if (element == null) 24834 return; 24835 Complex t; 24836 if (Utilities.noString(parentType)) 24837 t = parent; 24838 else { 24839 t = parent.predicate("fhir:"+parentType+'.'+name); 24840 } 24841 composeDomainResource(t, "SupplyDelivery", name, element, index); 24842 for (int i = 0; i < element.getIdentifier().size(); i++) { 24843 composeIdentifier(t, "SupplyDelivery", "identifier", element.getIdentifier().get(i), i); 24844 } 24845 for (int i = 0; i < element.getBasedOn().size(); i++) { 24846 composeReference(t, "SupplyDelivery", "basedOn", element.getBasedOn().get(i), i); 24847 } 24848 for (int i = 0; i < element.getPartOf().size(); i++) { 24849 composeReference(t, "SupplyDelivery", "partOf", element.getPartOf().get(i), i); 24850 } 24851 if (element.hasStatusElement()) { 24852 composeEnum(t, "SupplyDelivery", "status", element.getStatusElement(), -1); 24853 } 24854 if (element.hasPatient()) { 24855 composeReference(t, "SupplyDelivery", "patient", element.getPatient(), -1); 24856 } 24857 if (element.hasType()) { 24858 composeCodeableConcept(t, "SupplyDelivery", "type", element.getType(), -1); 24859 } 24860 for (int i = 0; i < element.getSuppliedItem().size(); i++) { 24861 composeSupplyDeliverySuppliedItemComponent(t, "SupplyDelivery", "suppliedItem", element.getSuppliedItem().get(i), i); 24862 } 24863 if (element.hasOccurrence()) { 24864 composeType(t, "SupplyDelivery", "occurrence", element.getOccurrence(), -1); 24865 } 24866 if (element.hasSupplier()) { 24867 composeReference(t, "SupplyDelivery", "supplier", element.getSupplier(), -1); 24868 } 24869 if (element.hasDestination()) { 24870 composeReference(t, "SupplyDelivery", "destination", element.getDestination(), -1); 24871 } 24872 for (int i = 0; i < element.getReceiver().size(); i++) { 24873 composeReference(t, "SupplyDelivery", "receiver", element.getReceiver().get(i), i); 24874 } 24875 } 24876 24877 protected void composeSupplyDeliverySuppliedItemComponent(Complex parent, String parentType, String name, SupplyDelivery.SupplyDeliverySuppliedItemComponent element, int index) { 24878 if (element == null) 24879 return; 24880 Complex t; 24881 if (Utilities.noString(parentType)) 24882 t = parent; 24883 else { 24884 t = parent.predicate("fhir:"+parentType+'.'+name); 24885 } 24886 composeBackboneElement(t, "suppliedItem", name, element, index); 24887 if (element.hasQuantity()) { 24888 composeQuantity(t, "SupplyDeliverySuppliedItemComponent", "quantity", element.getQuantity(), -1); 24889 } 24890 if (element.hasItem()) { 24891 composeType(t, "SupplyDeliverySuppliedItemComponent", "item", element.getItem(), -1); 24892 } 24893 } 24894 24895 protected void composeSupplyRequest(Complex parent, String parentType, String name, SupplyRequest element, int index) { 24896 if (element == null) 24897 return; 24898 Complex t; 24899 if (Utilities.noString(parentType)) 24900 t = parent; 24901 else { 24902 t = parent.predicate("fhir:"+parentType+'.'+name); 24903 } 24904 composeDomainResource(t, "SupplyRequest", name, element, index); 24905 for (int i = 0; i < element.getIdentifier().size(); i++) { 24906 composeIdentifier(t, "SupplyRequest", "identifier", element.getIdentifier().get(i), i); 24907 } 24908 if (element.hasStatusElement()) { 24909 composeEnum(t, "SupplyRequest", "status", element.getStatusElement(), -1); 24910 } 24911 for (int i = 0; i < element.getBasedOn().size(); i++) { 24912 composeReference(t, "SupplyRequest", "basedOn", element.getBasedOn().get(i), i); 24913 } 24914 if (element.hasCategory()) { 24915 composeCodeableConcept(t, "SupplyRequest", "category", element.getCategory(), -1); 24916 } 24917 if (element.hasPriorityElement()) { 24918 composeEnum(t, "SupplyRequest", "priority", element.getPriorityElement(), -1); 24919 } 24920 if (element.hasDeliverFor()) { 24921 composeReference(t, "SupplyRequest", "deliverFor", element.getDeliverFor(), -1); 24922 } 24923 if (element.hasItem()) { 24924 composeCodeableReference(t, "SupplyRequest", "item", element.getItem(), -1); 24925 } 24926 if (element.hasQuantity()) { 24927 composeQuantity(t, "SupplyRequest", "quantity", element.getQuantity(), -1); 24928 } 24929 for (int i = 0; i < element.getParameter().size(); i++) { 24930 composeSupplyRequestParameterComponent(t, "SupplyRequest", "parameter", element.getParameter().get(i), i); 24931 } 24932 if (element.hasOccurrence()) { 24933 composeType(t, "SupplyRequest", "occurrence", element.getOccurrence(), -1); 24934 } 24935 if (element.hasAuthoredOnElement()) { 24936 composeDateTime(t, "SupplyRequest", "authoredOn", element.getAuthoredOnElement(), -1); 24937 } 24938 if (element.hasRequester()) { 24939 composeReference(t, "SupplyRequest", "requester", element.getRequester(), -1); 24940 } 24941 for (int i = 0; i < element.getSupplier().size(); i++) { 24942 composeReference(t, "SupplyRequest", "supplier", element.getSupplier().get(i), i); 24943 } 24944 for (int i = 0; i < element.getReason().size(); i++) { 24945 composeCodeableReference(t, "SupplyRequest", "reason", element.getReason().get(i), i); 24946 } 24947 if (element.hasDeliverFrom()) { 24948 composeReference(t, "SupplyRequest", "deliverFrom", element.getDeliverFrom(), -1); 24949 } 24950 if (element.hasDeliverTo()) { 24951 composeReference(t, "SupplyRequest", "deliverTo", element.getDeliverTo(), -1); 24952 } 24953 } 24954 24955 protected void composeSupplyRequestParameterComponent(Complex parent, String parentType, String name, SupplyRequest.SupplyRequestParameterComponent element, int index) { 24956 if (element == null) 24957 return; 24958 Complex t; 24959 if (Utilities.noString(parentType)) 24960 t = parent; 24961 else { 24962 t = parent.predicate("fhir:"+parentType+'.'+name); 24963 } 24964 composeBackboneElement(t, "parameter", name, element, index); 24965 if (element.hasCode()) { 24966 composeCodeableConcept(t, "SupplyRequestParameterComponent", "code", element.getCode(), -1); 24967 } 24968 if (element.hasValue()) { 24969 composeType(t, "SupplyRequestParameterComponent", "value", element.getValue(), -1); 24970 } 24971 } 24972 24973 protected void composeTask(Complex parent, String parentType, String name, Task element, int index) { 24974 if (element == null) 24975 return; 24976 Complex t; 24977 if (Utilities.noString(parentType)) 24978 t = parent; 24979 else { 24980 t = parent.predicate("fhir:"+parentType+'.'+name); 24981 } 24982 composeDomainResource(t, "Task", name, element, index); 24983 for (int i = 0; i < element.getIdentifier().size(); i++) { 24984 composeIdentifier(t, "Task", "identifier", element.getIdentifier().get(i), i); 24985 } 24986 if (element.hasInstantiatesCanonicalElement()) { 24987 composeCanonical(t, "Task", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 24988 } 24989 if (element.hasInstantiatesUriElement()) { 24990 composeUri(t, "Task", "instantiatesUri", element.getInstantiatesUriElement(), -1); 24991 } 24992 for (int i = 0; i < element.getBasedOn().size(); i++) { 24993 composeReference(t, "Task", "basedOn", element.getBasedOn().get(i), i); 24994 } 24995 if (element.hasGroupIdentifier()) { 24996 composeIdentifier(t, "Task", "groupIdentifier", element.getGroupIdentifier(), -1); 24997 } 24998 for (int i = 0; i < element.getPartOf().size(); i++) { 24999 composeReference(t, "Task", "partOf", element.getPartOf().get(i), i); 25000 } 25001 if (element.hasStatusElement()) { 25002 composeEnum(t, "Task", "status", element.getStatusElement(), -1); 25003 } 25004 if (element.hasStatusReason()) { 25005 composeCodeableReference(t, "Task", "statusReason", element.getStatusReason(), -1); 25006 } 25007 if (element.hasBusinessStatus()) { 25008 composeCodeableConcept(t, "Task", "businessStatus", element.getBusinessStatus(), -1); 25009 } 25010 if (element.hasIntentElement()) { 25011 composeEnum(t, "Task", "intent", element.getIntentElement(), -1); 25012 } 25013 if (element.hasPriorityElement()) { 25014 composeEnum(t, "Task", "priority", element.getPriorityElement(), -1); 25015 } 25016 if (element.hasDoNotPerformElement()) { 25017 composeBoolean(t, "Task", "doNotPerform", element.getDoNotPerformElement(), -1); 25018 } 25019 if (element.hasCode()) { 25020 composeCodeableConcept(t, "Task", "code", element.getCode(), -1); 25021 } 25022 if (element.hasDescriptionElement()) { 25023 composeString(t, "Task", "description", element.getDescriptionElement(), -1); 25024 } 25025 if (element.hasFocus()) { 25026 composeReference(t, "Task", "focus", element.getFocus(), -1); 25027 } 25028 if (element.hasFor()) { 25029 composeReference(t, "Task", "for", element.getFor(), -1); 25030 } 25031 if (element.hasEncounter()) { 25032 composeReference(t, "Task", "encounter", element.getEncounter(), -1); 25033 } 25034 if (element.hasRequestedPeriod()) { 25035 composePeriod(t, "Task", "requestedPeriod", element.getRequestedPeriod(), -1); 25036 } 25037 if (element.hasExecutionPeriod()) { 25038 composePeriod(t, "Task", "executionPeriod", element.getExecutionPeriod(), -1); 25039 } 25040 if (element.hasAuthoredOnElement()) { 25041 composeDateTime(t, "Task", "authoredOn", element.getAuthoredOnElement(), -1); 25042 } 25043 if (element.hasLastModifiedElement()) { 25044 composeDateTime(t, "Task", "lastModified", element.getLastModifiedElement(), -1); 25045 } 25046 if (element.hasRequester()) { 25047 composeReference(t, "Task", "requester", element.getRequester(), -1); 25048 } 25049 for (int i = 0; i < element.getRequestedPerformer().size(); i++) { 25050 composeCodeableReference(t, "Task", "requestedPerformer", element.getRequestedPerformer().get(i), i); 25051 } 25052 if (element.hasOwner()) { 25053 composeReference(t, "Task", "owner", element.getOwner(), -1); 25054 } 25055 if (element.hasLocation()) { 25056 composeReference(t, "Task", "location", element.getLocation(), -1); 25057 } 25058 for (int i = 0; i < element.getReason().size(); i++) { 25059 composeCodeableReference(t, "Task", "reason", element.getReason().get(i), i); 25060 } 25061 for (int i = 0; i < element.getInsurance().size(); i++) { 25062 composeReference(t, "Task", "insurance", element.getInsurance().get(i), i); 25063 } 25064 for (int i = 0; i < element.getNote().size(); i++) { 25065 composeAnnotation(t, "Task", "note", element.getNote().get(i), i); 25066 } 25067 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 25068 composeReference(t, "Task", "relevantHistory", element.getRelevantHistory().get(i), i); 25069 } 25070 if (element.hasRestriction()) { 25071 composeTaskRestrictionComponent(t, "Task", "restriction", element.getRestriction(), -1); 25072 } 25073 for (int i = 0; i < element.getInput().size(); i++) { 25074 composeTaskInputComponent(t, "Task", "input", element.getInput().get(i), i); 25075 } 25076 for (int i = 0; i < element.getOutput().size(); i++) { 25077 composeTaskOutputComponent(t, "Task", "output", element.getOutput().get(i), i); 25078 } 25079 } 25080 25081 protected void composeTaskRestrictionComponent(Complex parent, String parentType, String name, Task.TaskRestrictionComponent element, int index) { 25082 if (element == null) 25083 return; 25084 Complex t; 25085 if (Utilities.noString(parentType)) 25086 t = parent; 25087 else { 25088 t = parent.predicate("fhir:"+parentType+'.'+name); 25089 } 25090 composeBackboneElement(t, "restriction", name, element, index); 25091 if (element.hasRepetitionsElement()) { 25092 composePositiveInt(t, "TaskRestrictionComponent", "repetitions", element.getRepetitionsElement(), -1); 25093 } 25094 if (element.hasPeriod()) { 25095 composePeriod(t, "TaskRestrictionComponent", "period", element.getPeriod(), -1); 25096 } 25097 for (int i = 0; i < element.getRecipient().size(); i++) { 25098 composeReference(t, "TaskRestrictionComponent", "recipient", element.getRecipient().get(i), i); 25099 } 25100 } 25101 25102 protected void composeTaskInputComponent(Complex parent, String parentType, String name, Task.TaskInputComponent element, int index) { 25103 if (element == null) 25104 return; 25105 Complex t; 25106 if (Utilities.noString(parentType)) 25107 t = parent; 25108 else { 25109 t = parent.predicate("fhir:"+parentType+'.'+name); 25110 } 25111 composeBackboneElement(t, "input", name, element, index); 25112 if (element.hasType()) { 25113 composeCodeableConcept(t, "TaskInputComponent", "type", element.getType(), -1); 25114 } 25115 if (element.hasValue()) { 25116 composeType(t, "TaskInputComponent", "value", element.getValue(), -1); 25117 } 25118 } 25119 25120 protected void composeTaskOutputComponent(Complex parent, String parentType, String name, Task.TaskOutputComponent element, int index) { 25121 if (element == null) 25122 return; 25123 Complex t; 25124 if (Utilities.noString(parentType)) 25125 t = parent; 25126 else { 25127 t = parent.predicate("fhir:"+parentType+'.'+name); 25128 } 25129 composeBackboneElement(t, "output", name, element, index); 25130 if (element.hasType()) { 25131 composeCodeableConcept(t, "TaskOutputComponent", "type", element.getType(), -1); 25132 } 25133 if (element.hasValue()) { 25134 composeType(t, "TaskOutputComponent", "value", element.getValue(), -1); 25135 } 25136 } 25137 25138 protected void composeTerminologyCapabilities(Complex parent, String parentType, String name, TerminologyCapabilities element, int index) { 25139 if (element == null) 25140 return; 25141 Complex t; 25142 if (Utilities.noString(parentType)) 25143 t = parent; 25144 else { 25145 t = parent.predicate("fhir:"+parentType+'.'+name); 25146 } 25147 composeCanonicalResource(t, "TerminologyCapabilities", name, element, index); 25148 if (element.hasUrlElement()) { 25149 composeUri(t, "TerminologyCapabilities", "url", element.getUrlElement(), -1); 25150 } 25151 for (int i = 0; i < element.getIdentifier().size(); i++) { 25152 composeIdentifier(t, "TerminologyCapabilities", "identifier", element.getIdentifier().get(i), i); 25153 } 25154 if (element.hasVersionElement()) { 25155 composeString(t, "TerminologyCapabilities", "version", element.getVersionElement(), -1); 25156 } 25157 if (element.hasNameElement()) { 25158 composeString(t, "TerminologyCapabilities", "name", element.getNameElement(), -1); 25159 } 25160 if (element.hasTitleElement()) { 25161 composeString(t, "TerminologyCapabilities", "title", element.getTitleElement(), -1); 25162 } 25163 if (element.hasStatusElement()) { 25164 composeEnum(t, "TerminologyCapabilities", "status", element.getStatusElement(), -1); 25165 } 25166 if (element.hasExperimentalElement()) { 25167 composeBoolean(t, "TerminologyCapabilities", "experimental", element.getExperimentalElement(), -1); 25168 } 25169 if (element.hasDateElement()) { 25170 composeDateTime(t, "TerminologyCapabilities", "date", element.getDateElement(), -1); 25171 } 25172 if (element.hasPublisherElement()) { 25173 composeString(t, "TerminologyCapabilities", "publisher", element.getPublisherElement(), -1); 25174 } 25175 for (int i = 0; i < element.getContact().size(); i++) { 25176 composeContactDetail(t, "TerminologyCapabilities", "contact", element.getContact().get(i), i); 25177 } 25178 if (element.hasDescriptionElement()) { 25179 composeMarkdown(t, "TerminologyCapabilities", "description", element.getDescriptionElement(), -1); 25180 } 25181 for (int i = 0; i < element.getUseContext().size(); i++) { 25182 composeUsageContext(t, "TerminologyCapabilities", "useContext", element.getUseContext().get(i), i); 25183 } 25184 for (int i = 0; i < element.getJurisdiction().size(); i++) { 25185 composeCodeableConcept(t, "TerminologyCapabilities", "jurisdiction", element.getJurisdiction().get(i), i); 25186 } 25187 if (element.hasPurposeElement()) { 25188 composeMarkdown(t, "TerminologyCapabilities", "purpose", element.getPurposeElement(), -1); 25189 } 25190 if (element.hasCopyrightElement()) { 25191 composeMarkdown(t, "TerminologyCapabilities", "copyright", element.getCopyrightElement(), -1); 25192 } 25193 if (element.hasKindElement()) { 25194 composeEnum(t, "TerminologyCapabilities", "kind", element.getKindElement(), -1); 25195 } 25196 if (element.hasSoftware()) { 25197 composeTerminologyCapabilitiesSoftwareComponent(t, "TerminologyCapabilities", "software", element.getSoftware(), -1); 25198 } 25199 if (element.hasImplementation()) { 25200 composeTerminologyCapabilitiesImplementationComponent(t, "TerminologyCapabilities", "implementation", element.getImplementation(), -1); 25201 } 25202 if (element.hasLockedDateElement()) { 25203 composeBoolean(t, "TerminologyCapabilities", "lockedDate", element.getLockedDateElement(), -1); 25204 } 25205 for (int i = 0; i < element.getCodeSystem().size(); i++) { 25206 composeTerminologyCapabilitiesCodeSystemComponent(t, "TerminologyCapabilities", "codeSystem", element.getCodeSystem().get(i), i); 25207 } 25208 if (element.hasExpansion()) { 25209 composeTerminologyCapabilitiesExpansionComponent(t, "TerminologyCapabilities", "expansion", element.getExpansion(), -1); 25210 } 25211 if (element.hasCodeSearchElement()) { 25212 composeEnum(t, "TerminologyCapabilities", "codeSearch", element.getCodeSearchElement(), -1); 25213 } 25214 if (element.hasValidateCode()) { 25215 composeTerminologyCapabilitiesValidateCodeComponent(t, "TerminologyCapabilities", "validateCode", element.getValidateCode(), -1); 25216 } 25217 if (element.hasTranslation()) { 25218 composeTerminologyCapabilitiesTranslationComponent(t, "TerminologyCapabilities", "translation", element.getTranslation(), -1); 25219 } 25220 if (element.hasClosure()) { 25221 composeTerminologyCapabilitiesClosureComponent(t, "TerminologyCapabilities", "closure", element.getClosure(), -1); 25222 } 25223 } 25224 25225 protected void composeTerminologyCapabilitiesSoftwareComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent element, int index) { 25226 if (element == null) 25227 return; 25228 Complex t; 25229 if (Utilities.noString(parentType)) 25230 t = parent; 25231 else { 25232 t = parent.predicate("fhir:"+parentType+'.'+name); 25233 } 25234 composeBackboneElement(t, "software", name, element, index); 25235 if (element.hasNameElement()) { 25236 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "name", element.getNameElement(), -1); 25237 } 25238 if (element.hasVersionElement()) { 25239 composeString(t, "TerminologyCapabilitiesSoftwareComponent", "version", element.getVersionElement(), -1); 25240 } 25241 } 25242 25243 protected void composeTerminologyCapabilitiesImplementationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent 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, "implementation", name, element, index); 25253 if (element.hasDescriptionElement()) { 25254 composeString(t, "TerminologyCapabilitiesImplementationComponent", "description", element.getDescriptionElement(), -1); 25255 } 25256 if (element.hasUrlElement()) { 25257 composeUrl(t, "TerminologyCapabilitiesImplementationComponent", "url", element.getUrlElement(), -1); 25258 } 25259 } 25260 25261 protected void composeTerminologyCapabilitiesCodeSystemComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent element, int index) { 25262 if (element == null) 25263 return; 25264 Complex t; 25265 if (Utilities.noString(parentType)) 25266 t = parent; 25267 else { 25268 t = parent.predicate("fhir:"+parentType+'.'+name); 25269 } 25270 composeBackboneElement(t, "codeSystem", name, element, index); 25271 if (element.hasUriElement()) { 25272 composeCanonical(t, "TerminologyCapabilitiesCodeSystemComponent", "uri", element.getUriElement(), -1); 25273 } 25274 for (int i = 0; i < element.getVersion().size(); i++) { 25275 composeTerminologyCapabilitiesCodeSystemVersionComponent(t, "TerminologyCapabilitiesCodeSystemComponent", "version", element.getVersion().get(i), i); 25276 } 25277 if (element.hasContentElement()) { 25278 composeCode(t, "TerminologyCapabilitiesCodeSystemComponent", "content", element.getContentElement(), -1); 25279 } 25280 if (element.hasSubsumptionElement()) { 25281 composeBoolean(t, "TerminologyCapabilitiesCodeSystemComponent", "subsumption", element.getSubsumptionElement(), -1); 25282 } 25283 } 25284 25285 protected void composeTerminologyCapabilitiesCodeSystemVersionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent element, int index) { 25286 if (element == null) 25287 return; 25288 Complex t; 25289 if (Utilities.noString(parentType)) 25290 t = parent; 25291 else { 25292 t = parent.predicate("fhir:"+parentType+'.'+name); 25293 } 25294 composeBackboneElement(t, "version", name, element, index); 25295 if (element.hasCodeElement()) { 25296 composeString(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "code", element.getCodeElement(), -1); 25297 } 25298 if (element.hasIsDefaultElement()) { 25299 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "isDefault", element.getIsDefaultElement(), -1); 25300 } 25301 if (element.hasCompositionalElement()) { 25302 composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "compositional", element.getCompositionalElement(), -1); 25303 } 25304 for (int i = 0; i < element.getLanguage().size(); i++) { 25305 composeEnum(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "language", element.getLanguage().get(i), i); 25306 } 25307 for (int i = 0; i < element.getFilter().size(); i++) { 25308 composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "filter", element.getFilter().get(i), i); 25309 } 25310 for (int i = 0; i < element.getProperty().size(); i++) { 25311 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "property", element.getProperty().get(i), i); 25312 } 25313 } 25314 25315 protected void composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent element, int index) { 25316 if (element == null) 25317 return; 25318 Complex t; 25319 if (Utilities.noString(parentType)) 25320 t = parent; 25321 else { 25322 t = parent.predicate("fhir:"+parentType+'.'+name); 25323 } 25324 composeBackboneElement(t, "filter", name, element, index); 25325 if (element.hasCodeElement()) { 25326 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "code", element.getCodeElement(), -1); 25327 } 25328 for (int i = 0; i < element.getOp().size(); i++) { 25329 composeCode(t, "TerminologyCapabilitiesCodeSystemVersionFilterComponent", "op", element.getOp().get(i), i); 25330 } 25331 } 25332 25333 protected void composeTerminologyCapabilitiesExpansionComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent element, int index) { 25334 if (element == null) 25335 return; 25336 Complex t; 25337 if (Utilities.noString(parentType)) 25338 t = parent; 25339 else { 25340 t = parent.predicate("fhir:"+parentType+'.'+name); 25341 } 25342 composeBackboneElement(t, "expansion", name, element, index); 25343 if (element.hasHierarchicalElement()) { 25344 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "hierarchical", element.getHierarchicalElement(), -1); 25345 } 25346 if (element.hasPagingElement()) { 25347 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "paging", element.getPagingElement(), -1); 25348 } 25349 if (element.hasIncompleteElement()) { 25350 composeBoolean(t, "TerminologyCapabilitiesExpansionComponent", "incomplete", element.getIncompleteElement(), -1); 25351 } 25352 for (int i = 0; i < element.getParameter().size(); i++) { 25353 composeTerminologyCapabilitiesExpansionParameterComponent(t, "TerminologyCapabilitiesExpansionComponent", "parameter", element.getParameter().get(i), i); 25354 } 25355 if (element.hasTextFilterElement()) { 25356 composeMarkdown(t, "TerminologyCapabilitiesExpansionComponent", "textFilter", element.getTextFilterElement(), -1); 25357 } 25358 } 25359 25360 protected void composeTerminologyCapabilitiesExpansionParameterComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent element, int index) { 25361 if (element == null) 25362 return; 25363 Complex t; 25364 if (Utilities.noString(parentType)) 25365 t = parent; 25366 else { 25367 t = parent.predicate("fhir:"+parentType+'.'+name); 25368 } 25369 composeBackboneElement(t, "parameter", name, element, index); 25370 if (element.hasNameElement()) { 25371 composeCode(t, "TerminologyCapabilitiesExpansionParameterComponent", "name", element.getNameElement(), -1); 25372 } 25373 if (element.hasDocumentationElement()) { 25374 composeString(t, "TerminologyCapabilitiesExpansionParameterComponent", "documentation", element.getDocumentationElement(), -1); 25375 } 25376 } 25377 25378 protected void composeTerminologyCapabilitiesValidateCodeComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent element, int index) { 25379 if (element == null) 25380 return; 25381 Complex t; 25382 if (Utilities.noString(parentType)) 25383 t = parent; 25384 else { 25385 t = parent.predicate("fhir:"+parentType+'.'+name); 25386 } 25387 composeBackboneElement(t, "validateCode", name, element, index); 25388 if (element.hasTranslationsElement()) { 25389 composeBoolean(t, "TerminologyCapabilitiesValidateCodeComponent", "translations", element.getTranslationsElement(), -1); 25390 } 25391 } 25392 25393 protected void composeTerminologyCapabilitiesTranslationComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent element, int index) { 25394 if (element == null) 25395 return; 25396 Complex t; 25397 if (Utilities.noString(parentType)) 25398 t = parent; 25399 else { 25400 t = parent.predicate("fhir:"+parentType+'.'+name); 25401 } 25402 composeBackboneElement(t, "translation", name, element, index); 25403 if (element.hasNeedsMapElement()) { 25404 composeBoolean(t, "TerminologyCapabilitiesTranslationComponent", "needsMap", element.getNeedsMapElement(), -1); 25405 } 25406 } 25407 25408 protected void composeTerminologyCapabilitiesClosureComponent(Complex parent, String parentType, String name, TerminologyCapabilities.TerminologyCapabilitiesClosureComponent element, int index) { 25409 if (element == null) 25410 return; 25411 Complex t; 25412 if (Utilities.noString(parentType)) 25413 t = parent; 25414 else { 25415 t = parent.predicate("fhir:"+parentType+'.'+name); 25416 } 25417 composeBackboneElement(t, "closure", name, element, index); 25418 if (element.hasTranslationElement()) { 25419 composeBoolean(t, "TerminologyCapabilitiesClosureComponent", "translation", element.getTranslationElement(), -1); 25420 } 25421 } 25422 25423 protected void composeTestReport(Complex parent, String parentType, String name, TestReport element, int index) { 25424 if (element == null) 25425 return; 25426 Complex t; 25427 if (Utilities.noString(parentType)) 25428 t = parent; 25429 else { 25430 t = parent.predicate("fhir:"+parentType+'.'+name); 25431 } 25432 composeDomainResource(t, "TestReport", name, element, index); 25433 if (element.hasIdentifier()) { 25434 composeIdentifier(t, "TestReport", "identifier", element.getIdentifier(), -1); 25435 } 25436 if (element.hasNameElement()) { 25437 composeString(t, "TestReport", "name", element.getNameElement(), -1); 25438 } 25439 if (element.hasStatusElement()) { 25440 composeEnum(t, "TestReport", "status", element.getStatusElement(), -1); 25441 } 25442 if (element.hasTestScriptElement()) { 25443 composeCanonical(t, "TestReport", "testScript", element.getTestScriptElement(), -1); 25444 } 25445 if (element.hasResultElement()) { 25446 composeEnum(t, "TestReport", "result", element.getResultElement(), -1); 25447 } 25448 if (element.hasScoreElement()) { 25449 composeDecimal(t, "TestReport", "score", element.getScoreElement(), -1); 25450 } 25451 if (element.hasTesterElement()) { 25452 composeString(t, "TestReport", "tester", element.getTesterElement(), -1); 25453 } 25454 if (element.hasIssuedElement()) { 25455 composeDateTime(t, "TestReport", "issued", element.getIssuedElement(), -1); 25456 } 25457 for (int i = 0; i < element.getParticipant().size(); i++) { 25458 composeTestReportParticipantComponent(t, "TestReport", "participant", element.getParticipant().get(i), i); 25459 } 25460 if (element.hasSetup()) { 25461 composeTestReportSetupComponent(t, "TestReport", "setup", element.getSetup(), -1); 25462 } 25463 for (int i = 0; i < element.getTest().size(); i++) { 25464 composeTestReportTestComponent(t, "TestReport", "test", element.getTest().get(i), i); 25465 } 25466 if (element.hasTeardown()) { 25467 composeTestReportTeardownComponent(t, "TestReport", "teardown", element.getTeardown(), -1); 25468 } 25469 } 25470 25471 protected void composeTestReportParticipantComponent(Complex parent, String parentType, String name, TestReport.TestReportParticipantComponent element, int index) { 25472 if (element == null) 25473 return; 25474 Complex t; 25475 if (Utilities.noString(parentType)) 25476 t = parent; 25477 else { 25478 t = parent.predicate("fhir:"+parentType+'.'+name); 25479 } 25480 composeBackboneElement(t, "participant", name, element, index); 25481 if (element.hasTypeElement()) { 25482 composeEnum(t, "TestReportParticipantComponent", "type", element.getTypeElement(), -1); 25483 } 25484 if (element.hasUriElement()) { 25485 composeUri(t, "TestReportParticipantComponent", "uri", element.getUriElement(), -1); 25486 } 25487 if (element.hasDisplayElement()) { 25488 composeString(t, "TestReportParticipantComponent", "display", element.getDisplayElement(), -1); 25489 } 25490 } 25491 25492 protected void composeTestReportSetupComponent(Complex parent, String parentType, String name, TestReport.TestReportSetupComponent element, int index) { 25493 if (element == null) 25494 return; 25495 Complex t; 25496 if (Utilities.noString(parentType)) 25497 t = parent; 25498 else { 25499 t = parent.predicate("fhir:"+parentType+'.'+name); 25500 } 25501 composeBackboneElement(t, "setup", name, element, index); 25502 for (int i = 0; i < element.getAction().size(); i++) { 25503 composeTestReportSetupActionComponent(t, "TestReportSetupComponent", "action", element.getAction().get(i), i); 25504 } 25505 } 25506 25507 protected void composeTestReportSetupActionComponent(Complex parent, String parentType, String name, TestReport.SetupActionComponent element, int index) { 25508 if (element == null) 25509 return; 25510 Complex t; 25511 if (Utilities.noString(parentType)) 25512 t = parent; 25513 else { 25514 t = parent.predicate("fhir:"+parentType+'.'+name); 25515 } 25516 composeBackboneElement(t, "action", name, element, index); 25517 if (element.hasOperation()) { 25518 composeTestReportSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 25519 } 25520 if (element.hasAssert()) { 25521 composeTestReportSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 25522 } 25523 } 25524 25525 protected void composeTestReportSetupActionOperationComponent(Complex parent, String parentType, String name, TestReport.SetupActionOperationComponent element, int index) { 25526 if (element == null) 25527 return; 25528 Complex t; 25529 if (Utilities.noString(parentType)) 25530 t = parent; 25531 else { 25532 t = parent.predicate("fhir:"+parentType+'.'+name); 25533 } 25534 composeBackboneElement(t, "operation", name, element, index); 25535 if (element.hasResultElement()) { 25536 composeEnum(t, "SetupActionOperationComponent", "result", element.getResultElement(), -1); 25537 } 25538 if (element.hasMessageElement()) { 25539 composeMarkdown(t, "SetupActionOperationComponent", "message", element.getMessageElement(), -1); 25540 } 25541 if (element.hasDetailElement()) { 25542 composeUri(t, "SetupActionOperationComponent", "detail", element.getDetailElement(), -1); 25543 } 25544 } 25545 25546 protected void composeTestReportSetupActionAssertComponent(Complex parent, String parentType, String name, TestReport.SetupActionAssertComponent element, int index) { 25547 if (element == null) 25548 return; 25549 Complex t; 25550 if (Utilities.noString(parentType)) 25551 t = parent; 25552 else { 25553 t = parent.predicate("fhir:"+parentType+'.'+name); 25554 } 25555 composeBackboneElement(t, "assert", name, element, index); 25556 if (element.hasResultElement()) { 25557 composeEnum(t, "SetupActionAssertComponent", "result", element.getResultElement(), -1); 25558 } 25559 if (element.hasMessageElement()) { 25560 composeMarkdown(t, "SetupActionAssertComponent", "message", element.getMessageElement(), -1); 25561 } 25562 if (element.hasDetailElement()) { 25563 composeString(t, "SetupActionAssertComponent", "detail", element.getDetailElement(), -1); 25564 } 25565 } 25566 25567 protected void composeTestReportTestComponent(Complex parent, String parentType, String name, TestReport.TestReportTestComponent element, int index) { 25568 if (element == null) 25569 return; 25570 Complex t; 25571 if (Utilities.noString(parentType)) 25572 t = parent; 25573 else { 25574 t = parent.predicate("fhir:"+parentType+'.'+name); 25575 } 25576 composeBackboneElement(t, "test", name, element, index); 25577 if (element.hasNameElement()) { 25578 composeString(t, "TestReportTestComponent", "name", element.getNameElement(), -1); 25579 } 25580 if (element.hasDescriptionElement()) { 25581 composeString(t, "TestReportTestComponent", "description", element.getDescriptionElement(), -1); 25582 } 25583 for (int i = 0; i < element.getAction().size(); i++) { 25584 composeTestReportTestActionComponent(t, "TestReportTestComponent", "action", element.getAction().get(i), i); 25585 } 25586 } 25587 25588 protected void composeTestReportTestActionComponent(Complex parent, String parentType, String name, TestReport.TestActionComponent element, int index) { 25589 if (element == null) 25590 return; 25591 Complex t; 25592 if (Utilities.noString(parentType)) 25593 t = parent; 25594 else { 25595 t = parent.predicate("fhir:"+parentType+'.'+name); 25596 } 25597 composeBackboneElement(t, "action", name, element, index); 25598 if (element.hasOperation()) { 25599 composeTestReportSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 25600 } 25601 if (element.hasAssert()) { 25602 composeTestReportSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 25603 } 25604 } 25605 25606 protected void composeTestReportTeardownComponent(Complex parent, String parentType, String name, TestReport.TestReportTeardownComponent element, int index) { 25607 if (element == null) 25608 return; 25609 Complex t; 25610 if (Utilities.noString(parentType)) 25611 t = parent; 25612 else { 25613 t = parent.predicate("fhir:"+parentType+'.'+name); 25614 } 25615 composeBackboneElement(t, "teardown", name, element, index); 25616 for (int i = 0; i < element.getAction().size(); i++) { 25617 composeTestReportTeardownActionComponent(t, "TestReportTeardownComponent", "action", element.getAction().get(i), i); 25618 } 25619 } 25620 25621 protected void composeTestReportTeardownActionComponent(Complex parent, String parentType, String name, TestReport.TeardownActionComponent element, int index) { 25622 if (element == null) 25623 return; 25624 Complex t; 25625 if (Utilities.noString(parentType)) 25626 t = parent; 25627 else { 25628 t = parent.predicate("fhir:"+parentType+'.'+name); 25629 } 25630 composeBackboneElement(t, "action", name, element, index); 25631 if (element.hasOperation()) { 25632 composeTestReportSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 25633 } 25634 } 25635 25636 protected void composeTestScript(Complex parent, String parentType, String name, TestScript element, int index) { 25637 if (element == null) 25638 return; 25639 Complex t; 25640 if (Utilities.noString(parentType)) 25641 t = parent; 25642 else { 25643 t = parent.predicate("fhir:"+parentType+'.'+name); 25644 } 25645 composeCanonicalResource(t, "TestScript", name, element, index); 25646 if (element.hasUrlElement()) { 25647 composeUri(t, "TestScript", "url", element.getUrlElement(), -1); 25648 } 25649 for (int i = 0; i < element.getIdentifier().size(); i++) { 25650 composeIdentifier(t, "TestScript", "identifier", element.getIdentifier().get(i), i); 25651 } 25652 if (element.hasVersionElement()) { 25653 composeString(t, "TestScript", "version", element.getVersionElement(), -1); 25654 } 25655 if (element.hasVersionAlgorithm()) { 25656 composeType(t, "TestScript", "versionAlgorithm", element.getVersionAlgorithm(), -1); 25657 } 25658 if (element.hasNameElement()) { 25659 composeString(t, "TestScript", "name", element.getNameElement(), -1); 25660 } 25661 if (element.hasTitleElement()) { 25662 composeString(t, "TestScript", "title", element.getTitleElement(), -1); 25663 } 25664 if (element.hasStatusElement()) { 25665 composeEnum(t, "TestScript", "status", element.getStatusElement(), -1); 25666 } 25667 if (element.hasExperimentalElement()) { 25668 composeBoolean(t, "TestScript", "experimental", element.getExperimentalElement(), -1); 25669 } 25670 if (element.hasDateElement()) { 25671 composeDateTime(t, "TestScript", "date", element.getDateElement(), -1); 25672 } 25673 if (element.hasPublisherElement()) { 25674 composeString(t, "TestScript", "publisher", element.getPublisherElement(), -1); 25675 } 25676 for (int i = 0; i < element.getContact().size(); i++) { 25677 composeContactDetail(t, "TestScript", "contact", element.getContact().get(i), i); 25678 } 25679 if (element.hasDescriptionElement()) { 25680 composeMarkdown(t, "TestScript", "description", element.getDescriptionElement(), -1); 25681 } 25682 for (int i = 0; i < element.getUseContext().size(); i++) { 25683 composeUsageContext(t, "TestScript", "useContext", element.getUseContext().get(i), i); 25684 } 25685 for (int i = 0; i < element.getJurisdiction().size(); i++) { 25686 composeCodeableConcept(t, "TestScript", "jurisdiction", element.getJurisdiction().get(i), i); 25687 } 25688 if (element.hasPurposeElement()) { 25689 composeMarkdown(t, "TestScript", "purpose", element.getPurposeElement(), -1); 25690 } 25691 if (element.hasCopyrightElement()) { 25692 composeMarkdown(t, "TestScript", "copyright", element.getCopyrightElement(), -1); 25693 } 25694 if (element.hasCopyrightLabelElement()) { 25695 composeString(t, "TestScript", "copyrightLabel", element.getCopyrightLabelElement(), -1); 25696 } 25697 for (int i = 0; i < element.getOrigin().size(); i++) { 25698 composeTestScriptOriginComponent(t, "TestScript", "origin", element.getOrigin().get(i), i); 25699 } 25700 for (int i = 0; i < element.getDestination().size(); i++) { 25701 composeTestScriptDestinationComponent(t, "TestScript", "destination", element.getDestination().get(i), i); 25702 } 25703 if (element.hasMetadata()) { 25704 composeTestScriptMetadataComponent(t, "TestScript", "metadata", element.getMetadata(), -1); 25705 } 25706 for (int i = 0; i < element.getScope().size(); i++) { 25707 composeTestScriptScopeComponent(t, "TestScript", "scope", element.getScope().get(i), i); 25708 } 25709 for (int i = 0; i < element.getFixture().size(); i++) { 25710 composeTestScriptFixtureComponent(t, "TestScript", "fixture", element.getFixture().get(i), i); 25711 } 25712 for (int i = 0; i < element.getProfile().size(); i++) { 25713 composeCanonical(t, "TestScript", "profile", element.getProfile().get(i), i); 25714 } 25715 for (int i = 0; i < element.getVariable().size(); i++) { 25716 composeTestScriptVariableComponent(t, "TestScript", "variable", element.getVariable().get(i), i); 25717 } 25718 if (element.hasSetup()) { 25719 composeTestScriptSetupComponent(t, "TestScript", "setup", element.getSetup(), -1); 25720 } 25721 for (int i = 0; i < element.getTest().size(); i++) { 25722 composeTestScriptTestComponent(t, "TestScript", "test", element.getTest().get(i), i); 25723 } 25724 if (element.hasTeardown()) { 25725 composeTestScriptTeardownComponent(t, "TestScript", "teardown", element.getTeardown(), -1); 25726 } 25727 } 25728 25729 protected void composeTestScriptOriginComponent(Complex parent, String parentType, String name, TestScript.TestScriptOriginComponent element, int index) { 25730 if (element == null) 25731 return; 25732 Complex t; 25733 if (Utilities.noString(parentType)) 25734 t = parent; 25735 else { 25736 t = parent.predicate("fhir:"+parentType+'.'+name); 25737 } 25738 composeBackboneElement(t, "origin", name, element, index); 25739 if (element.hasIndexElement()) { 25740 composeInteger(t, "TestScriptOriginComponent", "index", element.getIndexElement(), -1); 25741 } 25742 if (element.hasProfile()) { 25743 composeCoding(t, "TestScriptOriginComponent", "profile", element.getProfile(), -1); 25744 } 25745 if (element.hasUrlElement()) { 25746 composeUrl(t, "TestScriptOriginComponent", "url", element.getUrlElement(), -1); 25747 } 25748 } 25749 25750 protected void composeTestScriptDestinationComponent(Complex parent, String parentType, String name, TestScript.TestScriptDestinationComponent element, int index) { 25751 if (element == null) 25752 return; 25753 Complex t; 25754 if (Utilities.noString(parentType)) 25755 t = parent; 25756 else { 25757 t = parent.predicate("fhir:"+parentType+'.'+name); 25758 } 25759 composeBackboneElement(t, "destination", name, element, index); 25760 if (element.hasIndexElement()) { 25761 composeInteger(t, "TestScriptDestinationComponent", "index", element.getIndexElement(), -1); 25762 } 25763 if (element.hasProfile()) { 25764 composeCoding(t, "TestScriptDestinationComponent", "profile", element.getProfile(), -1); 25765 } 25766 if (element.hasUrlElement()) { 25767 composeUrl(t, "TestScriptDestinationComponent", "url", element.getUrlElement(), -1); 25768 } 25769 } 25770 25771 protected void composeTestScriptMetadataComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataComponent element, int index) { 25772 if (element == null) 25773 return; 25774 Complex t; 25775 if (Utilities.noString(parentType)) 25776 t = parent; 25777 else { 25778 t = parent.predicate("fhir:"+parentType+'.'+name); 25779 } 25780 composeBackboneElement(t, "metadata", name, element, index); 25781 for (int i = 0; i < element.getLink().size(); i++) { 25782 composeTestScriptMetadataLinkComponent(t, "TestScriptMetadataComponent", "link", element.getLink().get(i), i); 25783 } 25784 for (int i = 0; i < element.getCapability().size(); i++) { 25785 composeTestScriptMetadataCapabilityComponent(t, "TestScriptMetadataComponent", "capability", element.getCapability().get(i), i); 25786 } 25787 } 25788 25789 protected void composeTestScriptMetadataLinkComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataLinkComponent element, int index) { 25790 if (element == null) 25791 return; 25792 Complex t; 25793 if (Utilities.noString(parentType)) 25794 t = parent; 25795 else { 25796 t = parent.predicate("fhir:"+parentType+'.'+name); 25797 } 25798 composeBackboneElement(t, "link", name, element, index); 25799 if (element.hasUrlElement()) { 25800 composeUri(t, "TestScriptMetadataLinkComponent", "url", element.getUrlElement(), -1); 25801 } 25802 if (element.hasDescriptionElement()) { 25803 composeString(t, "TestScriptMetadataLinkComponent", "description", element.getDescriptionElement(), -1); 25804 } 25805 } 25806 25807 protected void composeTestScriptMetadataCapabilityComponent(Complex parent, String parentType, String name, TestScript.TestScriptMetadataCapabilityComponent element, int index) { 25808 if (element == null) 25809 return; 25810 Complex t; 25811 if (Utilities.noString(parentType)) 25812 t = parent; 25813 else { 25814 t = parent.predicate("fhir:"+parentType+'.'+name); 25815 } 25816 composeBackboneElement(t, "capability", name, element, index); 25817 if (element.hasRequiredElement()) { 25818 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "required", element.getRequiredElement(), -1); 25819 } 25820 if (element.hasValidatedElement()) { 25821 composeBoolean(t, "TestScriptMetadataCapabilityComponent", "validated", element.getValidatedElement(), -1); 25822 } 25823 if (element.hasDescriptionElement()) { 25824 composeString(t, "TestScriptMetadataCapabilityComponent", "description", element.getDescriptionElement(), -1); 25825 } 25826 for (int i = 0; i < element.getOrigin().size(); i++) { 25827 composeInteger(t, "TestScriptMetadataCapabilityComponent", "origin", element.getOrigin().get(i), i); 25828 } 25829 if (element.hasDestinationElement()) { 25830 composeInteger(t, "TestScriptMetadataCapabilityComponent", "destination", element.getDestinationElement(), -1); 25831 } 25832 for (int i = 0; i < element.getLink().size(); i++) { 25833 composeUri(t, "TestScriptMetadataCapabilityComponent", "link", element.getLink().get(i), i); 25834 } 25835 if (element.hasCapabilitiesElement()) { 25836 composeCanonical(t, "TestScriptMetadataCapabilityComponent", "capabilities", element.getCapabilitiesElement(), -1); 25837 } 25838 } 25839 25840 protected void composeTestScriptScopeComponent(Complex parent, String parentType, String name, TestScript.TestScriptScopeComponent element, int index) { 25841 if (element == null) 25842 return; 25843 Complex t; 25844 if (Utilities.noString(parentType)) 25845 t = parent; 25846 else { 25847 t = parent.predicate("fhir:"+parentType+'.'+name); 25848 } 25849 composeBackboneElement(t, "scope", name, element, index); 25850 if (element.hasArtifactElement()) { 25851 composeCanonical(t, "TestScriptScopeComponent", "artifact", element.getArtifactElement(), -1); 25852 } 25853 if (element.hasConformance()) { 25854 composeCodeableConcept(t, "TestScriptScopeComponent", "conformance", element.getConformance(), -1); 25855 } 25856 if (element.hasPhase()) { 25857 composeCodeableConcept(t, "TestScriptScopeComponent", "phase", element.getPhase(), -1); 25858 } 25859 } 25860 25861 protected void composeTestScriptFixtureComponent(Complex parent, String parentType, String name, TestScript.TestScriptFixtureComponent element, int index) { 25862 if (element == null) 25863 return; 25864 Complex t; 25865 if (Utilities.noString(parentType)) 25866 t = parent; 25867 else { 25868 t = parent.predicate("fhir:"+parentType+'.'+name); 25869 } 25870 composeBackboneElement(t, "fixture", name, element, index); 25871 if (element.hasAutocreateElement()) { 25872 composeBoolean(t, "TestScriptFixtureComponent", "autocreate", element.getAutocreateElement(), -1); 25873 } 25874 if (element.hasAutodeleteElement()) { 25875 composeBoolean(t, "TestScriptFixtureComponent", "autodelete", element.getAutodeleteElement(), -1); 25876 } 25877 if (element.hasResource()) { 25878 composeReference(t, "TestScriptFixtureComponent", "resource", element.getResource(), -1); 25879 } 25880 } 25881 25882 protected void composeTestScriptVariableComponent(Complex parent, String parentType, String name, TestScript.TestScriptVariableComponent element, int index) { 25883 if (element == null) 25884 return; 25885 Complex t; 25886 if (Utilities.noString(parentType)) 25887 t = parent; 25888 else { 25889 t = parent.predicate("fhir:"+parentType+'.'+name); 25890 } 25891 composeBackboneElement(t, "variable", name, element, index); 25892 if (element.hasNameElement()) { 25893 composeString(t, "TestScriptVariableComponent", "name", element.getNameElement(), -1); 25894 } 25895 if (element.hasDefaultValueElement()) { 25896 composeString(t, "TestScriptVariableComponent", "defaultValue", element.getDefaultValueElement(), -1); 25897 } 25898 if (element.hasDescriptionElement()) { 25899 composeString(t, "TestScriptVariableComponent", "description", element.getDescriptionElement(), -1); 25900 } 25901 if (element.hasExpressionElement()) { 25902 composeString(t, "TestScriptVariableComponent", "expression", element.getExpressionElement(), -1); 25903 } 25904 if (element.hasHeaderFieldElement()) { 25905 composeString(t, "TestScriptVariableComponent", "headerField", element.getHeaderFieldElement(), -1); 25906 } 25907 if (element.hasHintElement()) { 25908 composeString(t, "TestScriptVariableComponent", "hint", element.getHintElement(), -1); 25909 } 25910 if (element.hasPathElement()) { 25911 composeString(t, "TestScriptVariableComponent", "path", element.getPathElement(), -1); 25912 } 25913 if (element.hasSourceIdElement()) { 25914 composeId(t, "TestScriptVariableComponent", "sourceId", element.getSourceIdElement(), -1); 25915 } 25916 } 25917 25918 protected void composeTestScriptSetupComponent(Complex parent, String parentType, String name, TestScript.TestScriptSetupComponent element, int index) { 25919 if (element == null) 25920 return; 25921 Complex t; 25922 if (Utilities.noString(parentType)) 25923 t = parent; 25924 else { 25925 t = parent.predicate("fhir:"+parentType+'.'+name); 25926 } 25927 composeBackboneElement(t, "setup", name, element, index); 25928 for (int i = 0; i < element.getAction().size(); i++) { 25929 composeTestScriptSetupActionComponent(t, "TestScriptSetupComponent", "action", element.getAction().get(i), i); 25930 } 25931 } 25932 25933 protected void composeTestScriptSetupActionComponent(Complex parent, String parentType, String name, TestScript.SetupActionComponent element, int index) { 25934 if (element == null) 25935 return; 25936 Complex t; 25937 if (Utilities.noString(parentType)) 25938 t = parent; 25939 else { 25940 t = parent.predicate("fhir:"+parentType+'.'+name); 25941 } 25942 composeBackboneElement(t, "action", name, element, index); 25943 if (element.hasOperation()) { 25944 composeTestScriptSetupActionOperationComponent(t, "SetupActionComponent", "operation", element.getOperation(), -1); 25945 } 25946 if (element.hasAssert()) { 25947 composeTestScriptSetupActionAssertComponent(t, "SetupActionComponent", "assert", element.getAssert(), -1); 25948 } 25949 } 25950 25951 protected void composeTestScriptSetupActionOperationComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationComponent element, int index) { 25952 if (element == null) 25953 return; 25954 Complex t; 25955 if (Utilities.noString(parentType)) 25956 t = parent; 25957 else { 25958 t = parent.predicate("fhir:"+parentType+'.'+name); 25959 } 25960 composeBackboneElement(t, "operation", name, element, index); 25961 if (element.hasType()) { 25962 composeCoding(t, "SetupActionOperationComponent", "type", element.getType(), -1); 25963 } 25964 if (element.hasResourceElement()) { 25965 composeUri(t, "SetupActionOperationComponent", "resource", element.getResourceElement(), -1); 25966 } 25967 if (element.hasLabelElement()) { 25968 composeString(t, "SetupActionOperationComponent", "label", element.getLabelElement(), -1); 25969 } 25970 if (element.hasDescriptionElement()) { 25971 composeString(t, "SetupActionOperationComponent", "description", element.getDescriptionElement(), -1); 25972 } 25973 if (element.hasAcceptElement()) { 25974 composeCode(t, "SetupActionOperationComponent", "accept", element.getAcceptElement(), -1); 25975 } 25976 if (element.hasContentTypeElement()) { 25977 composeCode(t, "SetupActionOperationComponent", "contentType", element.getContentTypeElement(), -1); 25978 } 25979 if (element.hasDestinationElement()) { 25980 composeInteger(t, "SetupActionOperationComponent", "destination", element.getDestinationElement(), -1); 25981 } 25982 if (element.hasEncodeRequestUrlElement()) { 25983 composeBoolean(t, "SetupActionOperationComponent", "encodeRequestUrl", element.getEncodeRequestUrlElement(), -1); 25984 } 25985 if (element.hasMethodElement()) { 25986 composeEnum(t, "SetupActionOperationComponent", "method", element.getMethodElement(), -1); 25987 } 25988 if (element.hasOriginElement()) { 25989 composeInteger(t, "SetupActionOperationComponent", "origin", element.getOriginElement(), -1); 25990 } 25991 if (element.hasParamsElement()) { 25992 composeString(t, "SetupActionOperationComponent", "params", element.getParamsElement(), -1); 25993 } 25994 for (int i = 0; i < element.getRequestHeader().size(); i++) { 25995 composeTestScriptSetupActionOperationRequestHeaderComponent(t, "SetupActionOperationComponent", "requestHeader", element.getRequestHeader().get(i), i); 25996 } 25997 if (element.hasRequestIdElement()) { 25998 composeId(t, "SetupActionOperationComponent", "requestId", element.getRequestIdElement(), -1); 25999 } 26000 if (element.hasResponseIdElement()) { 26001 composeId(t, "SetupActionOperationComponent", "responseId", element.getResponseIdElement(), -1); 26002 } 26003 if (element.hasSourceIdElement()) { 26004 composeId(t, "SetupActionOperationComponent", "sourceId", element.getSourceIdElement(), -1); 26005 } 26006 if (element.hasTargetIdElement()) { 26007 composeId(t, "SetupActionOperationComponent", "targetId", element.getTargetIdElement(), -1); 26008 } 26009 if (element.hasUrlElement()) { 26010 composeString(t, "SetupActionOperationComponent", "url", element.getUrlElement(), -1); 26011 } 26012 } 26013 26014 protected void composeTestScriptSetupActionOperationRequestHeaderComponent(Complex parent, String parentType, String name, TestScript.SetupActionOperationRequestHeaderComponent element, int index) { 26015 if (element == null) 26016 return; 26017 Complex t; 26018 if (Utilities.noString(parentType)) 26019 t = parent; 26020 else { 26021 t = parent.predicate("fhir:"+parentType+'.'+name); 26022 } 26023 composeBackboneElement(t, "requestHeader", name, element, index); 26024 if (element.hasFieldElement()) { 26025 composeString(t, "SetupActionOperationRequestHeaderComponent", "field", element.getFieldElement(), -1); 26026 } 26027 if (element.hasValueElement()) { 26028 composeString(t, "SetupActionOperationRequestHeaderComponent", "value", element.getValueElement(), -1); 26029 } 26030 } 26031 26032 protected void composeTestScriptSetupActionAssertComponent(Complex parent, String parentType, String name, TestScript.SetupActionAssertComponent element, int index) { 26033 if (element == null) 26034 return; 26035 Complex t; 26036 if (Utilities.noString(parentType)) 26037 t = parent; 26038 else { 26039 t = parent.predicate("fhir:"+parentType+'.'+name); 26040 } 26041 composeBackboneElement(t, "assert", name, element, index); 26042 if (element.hasLabelElement()) { 26043 composeString(t, "SetupActionAssertComponent", "label", element.getLabelElement(), -1); 26044 } 26045 if (element.hasDescriptionElement()) { 26046 composeString(t, "SetupActionAssertComponent", "description", element.getDescriptionElement(), -1); 26047 } 26048 if (element.hasDirectionElement()) { 26049 composeEnum(t, "SetupActionAssertComponent", "direction", element.getDirectionElement(), -1); 26050 } 26051 if (element.hasCompareToSourceIdElement()) { 26052 composeString(t, "SetupActionAssertComponent", "compareToSourceId", element.getCompareToSourceIdElement(), -1); 26053 } 26054 if (element.hasCompareToSourceExpressionElement()) { 26055 composeString(t, "SetupActionAssertComponent", "compareToSourceExpression", element.getCompareToSourceExpressionElement(), -1); 26056 } 26057 if (element.hasCompareToSourcePathElement()) { 26058 composeString(t, "SetupActionAssertComponent", "compareToSourcePath", element.getCompareToSourcePathElement(), -1); 26059 } 26060 if (element.hasContentTypeElement()) { 26061 composeCode(t, "SetupActionAssertComponent", "contentType", element.getContentTypeElement(), -1); 26062 } 26063 if (element.hasExpressionElement()) { 26064 composeString(t, "SetupActionAssertComponent", "expression", element.getExpressionElement(), -1); 26065 } 26066 if (element.hasHeaderFieldElement()) { 26067 composeString(t, "SetupActionAssertComponent", "headerField", element.getHeaderFieldElement(), -1); 26068 } 26069 if (element.hasMinimumIdElement()) { 26070 composeString(t, "SetupActionAssertComponent", "minimumId", element.getMinimumIdElement(), -1); 26071 } 26072 if (element.hasNavigationLinksElement()) { 26073 composeBoolean(t, "SetupActionAssertComponent", "navigationLinks", element.getNavigationLinksElement(), -1); 26074 } 26075 if (element.hasOperatorElement()) { 26076 composeEnum(t, "SetupActionAssertComponent", "operator", element.getOperatorElement(), -1); 26077 } 26078 if (element.hasPathElement()) { 26079 composeString(t, "SetupActionAssertComponent", "path", element.getPathElement(), -1); 26080 } 26081 if (element.hasRequestMethodElement()) { 26082 composeEnum(t, "SetupActionAssertComponent", "requestMethod", element.getRequestMethodElement(), -1); 26083 } 26084 if (element.hasRequestURLElement()) { 26085 composeString(t, "SetupActionAssertComponent", "requestURL", element.getRequestURLElement(), -1); 26086 } 26087 if (element.hasResourceElement()) { 26088 composeUri(t, "SetupActionAssertComponent", "resource", element.getResourceElement(), -1); 26089 } 26090 if (element.hasResponseElement()) { 26091 composeEnum(t, "SetupActionAssertComponent", "response", element.getResponseElement(), -1); 26092 } 26093 if (element.hasResponseCodeElement()) { 26094 composeString(t, "SetupActionAssertComponent", "responseCode", element.getResponseCodeElement(), -1); 26095 } 26096 if (element.hasSourceIdElement()) { 26097 composeId(t, "SetupActionAssertComponent", "sourceId", element.getSourceIdElement(), -1); 26098 } 26099 if (element.hasStopTestOnFailElement()) { 26100 composeBoolean(t, "SetupActionAssertComponent", "stopTestOnFail", element.getStopTestOnFailElement(), -1); 26101 } 26102 if (element.hasValidateProfileIdElement()) { 26103 composeId(t, "SetupActionAssertComponent", "validateProfileId", element.getValidateProfileIdElement(), -1); 26104 } 26105 if (element.hasValueElement()) { 26106 composeString(t, "SetupActionAssertComponent", "value", element.getValueElement(), -1); 26107 } 26108 if (element.hasWarningOnlyElement()) { 26109 composeBoolean(t, "SetupActionAssertComponent", "warningOnly", element.getWarningOnlyElement(), -1); 26110 } 26111 } 26112 26113 protected void composeTestScriptTestComponent(Complex parent, String parentType, String name, TestScript.TestScriptTestComponent element, int index) { 26114 if (element == null) 26115 return; 26116 Complex t; 26117 if (Utilities.noString(parentType)) 26118 t = parent; 26119 else { 26120 t = parent.predicate("fhir:"+parentType+'.'+name); 26121 } 26122 composeBackboneElement(t, "test", name, element, index); 26123 if (element.hasNameElement()) { 26124 composeString(t, "TestScriptTestComponent", "name", element.getNameElement(), -1); 26125 } 26126 if (element.hasDescriptionElement()) { 26127 composeString(t, "TestScriptTestComponent", "description", element.getDescriptionElement(), -1); 26128 } 26129 for (int i = 0; i < element.getAction().size(); i++) { 26130 composeTestScriptTestActionComponent(t, "TestScriptTestComponent", "action", element.getAction().get(i), i); 26131 } 26132 } 26133 26134 protected void composeTestScriptTestActionComponent(Complex parent, String parentType, String name, TestScript.TestActionComponent element, int index) { 26135 if (element == null) 26136 return; 26137 Complex t; 26138 if (Utilities.noString(parentType)) 26139 t = parent; 26140 else { 26141 t = parent.predicate("fhir:"+parentType+'.'+name); 26142 } 26143 composeBackboneElement(t, "action", name, element, index); 26144 if (element.hasOperation()) { 26145 composeTestScriptSetupActionOperationComponent(t, "TestActionComponent", "operation", element.getOperation(), -1); 26146 } 26147 if (element.hasAssert()) { 26148 composeTestScriptSetupActionAssertComponent(t, "TestActionComponent", "assert", element.getAssert(), -1); 26149 } 26150 } 26151 26152 protected void composeTestScriptTeardownComponent(Complex parent, String parentType, String name, TestScript.TestScriptTeardownComponent element, int index) { 26153 if (element == null) 26154 return; 26155 Complex t; 26156 if (Utilities.noString(parentType)) 26157 t = parent; 26158 else { 26159 t = parent.predicate("fhir:"+parentType+'.'+name); 26160 } 26161 composeBackboneElement(t, "teardown", name, element, index); 26162 for (int i = 0; i < element.getAction().size(); i++) { 26163 composeTestScriptTeardownActionComponent(t, "TestScriptTeardownComponent", "action", element.getAction().get(i), i); 26164 } 26165 } 26166 26167 protected void composeTestScriptTeardownActionComponent(Complex parent, String parentType, String name, TestScript.TeardownActionComponent element, int index) { 26168 if (element == null) 26169 return; 26170 Complex t; 26171 if (Utilities.noString(parentType)) 26172 t = parent; 26173 else { 26174 t = parent.predicate("fhir:"+parentType+'.'+name); 26175 } 26176 composeBackboneElement(t, "action", name, element, index); 26177 if (element.hasOperation()) { 26178 composeTestScriptSetupActionOperationComponent(t, "TeardownActionComponent", "operation", element.getOperation(), -1); 26179 } 26180 } 26181 26182 protected void composeTransport(Complex parent, String parentType, String name, Transport element, int index) { 26183 if (element == null) 26184 return; 26185 Complex t; 26186 if (Utilities.noString(parentType)) 26187 t = parent; 26188 else { 26189 t = parent.predicate("fhir:"+parentType+'.'+name); 26190 } 26191 composeDomainResource(t, "Transport", name, element, index); 26192 for (int i = 0; i < element.getIdentifier().size(); i++) { 26193 composeIdentifier(t, "Transport", "identifier", element.getIdentifier().get(i), i); 26194 } 26195 if (element.hasInstantiatesCanonicalElement()) { 26196 composeCanonical(t, "Transport", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); 26197 } 26198 if (element.hasInstantiatesUriElement()) { 26199 composeUri(t, "Transport", "instantiatesUri", element.getInstantiatesUriElement(), -1); 26200 } 26201 for (int i = 0; i < element.getBasedOn().size(); i++) { 26202 composeReference(t, "Transport", "basedOn", element.getBasedOn().get(i), i); 26203 } 26204 if (element.hasGroupIdentifier()) { 26205 composeIdentifier(t, "Transport", "groupIdentifier", element.getGroupIdentifier(), -1); 26206 } 26207 for (int i = 0; i < element.getPartOf().size(); i++) { 26208 composeReference(t, "Transport", "partOf", element.getPartOf().get(i), i); 26209 } 26210 if (element.hasStatusElement()) { 26211 composeEnum(t, "Transport", "status", element.getStatusElement(), -1); 26212 } 26213 if (element.hasStatusReason()) { 26214 composeCodeableConcept(t, "Transport", "statusReason", element.getStatusReason(), -1); 26215 } 26216 if (element.hasIntentElement()) { 26217 composeEnum(t, "Transport", "intent", element.getIntentElement(), -1); 26218 } 26219 if (element.hasPriorityElement()) { 26220 composeEnum(t, "Transport", "priority", element.getPriorityElement(), -1); 26221 } 26222 if (element.hasCode()) { 26223 composeCodeableConcept(t, "Transport", "code", element.getCode(), -1); 26224 } 26225 if (element.hasDescriptionElement()) { 26226 composeString(t, "Transport", "description", element.getDescriptionElement(), -1); 26227 } 26228 if (element.hasFocus()) { 26229 composeReference(t, "Transport", "focus", element.getFocus(), -1); 26230 } 26231 if (element.hasFor()) { 26232 composeReference(t, "Transport", "for", element.getFor(), -1); 26233 } 26234 if (element.hasEncounter()) { 26235 composeReference(t, "Transport", "encounter", element.getEncounter(), -1); 26236 } 26237 if (element.hasCompletionTimeElement()) { 26238 composeDateTime(t, "Transport", "completionTime", element.getCompletionTimeElement(), -1); 26239 } 26240 if (element.hasAuthoredOnElement()) { 26241 composeDateTime(t, "Transport", "authoredOn", element.getAuthoredOnElement(), -1); 26242 } 26243 if (element.hasLastModifiedElement()) { 26244 composeDateTime(t, "Transport", "lastModified", element.getLastModifiedElement(), -1); 26245 } 26246 if (element.hasRequester()) { 26247 composeReference(t, "Transport", "requester", element.getRequester(), -1); 26248 } 26249 for (int i = 0; i < element.getPerformerType().size(); i++) { 26250 composeCodeableConcept(t, "Transport", "performerType", element.getPerformerType().get(i), i); 26251 } 26252 if (element.hasOwner()) { 26253 composeReference(t, "Transport", "owner", element.getOwner(), -1); 26254 } 26255 if (element.hasLocation()) { 26256 composeReference(t, "Transport", "location", element.getLocation(), -1); 26257 } 26258 for (int i = 0; i < element.getInsurance().size(); i++) { 26259 composeReference(t, "Transport", "insurance", element.getInsurance().get(i), i); 26260 } 26261 for (int i = 0; i < element.getNote().size(); i++) { 26262 composeAnnotation(t, "Transport", "note", element.getNote().get(i), i); 26263 } 26264 for (int i = 0; i < element.getRelevantHistory().size(); i++) { 26265 composeReference(t, "Transport", "relevantHistory", element.getRelevantHistory().get(i), i); 26266 } 26267 if (element.hasRestriction()) { 26268 composeTransportRestrictionComponent(t, "Transport", "restriction", element.getRestriction(), -1); 26269 } 26270 for (int i = 0; i < element.getInput().size(); i++) { 26271 composeTransportParameterComponent(t, "Transport", "input", element.getInput().get(i), i); 26272 } 26273 for (int i = 0; i < element.getOutput().size(); i++) { 26274 composeTransportOutputComponent(t, "Transport", "output", element.getOutput().get(i), i); 26275 } 26276 if (element.hasRequestedLocation()) { 26277 composeReference(t, "Transport", "requestedLocation", element.getRequestedLocation(), -1); 26278 } 26279 if (element.hasCurrentLocation()) { 26280 composeReference(t, "Transport", "currentLocation", element.getCurrentLocation(), -1); 26281 } 26282 if (element.hasReasonCode()) { 26283 composeCodeableConcept(t, "Transport", "reasonCode", element.getReasonCode(), -1); 26284 } 26285 if (element.hasReasonReference()) { 26286 composeReference(t, "Transport", "reasonReference", element.getReasonReference(), -1); 26287 } 26288 if (element.hasHistory()) { 26289 composeReference(t, "Transport", "history", element.getHistory(), -1); 26290 } 26291 } 26292 26293 protected void composeTransportRestrictionComponent(Complex parent, String parentType, String name, Transport.TransportRestrictionComponent element, int index) { 26294 if (element == null) 26295 return; 26296 Complex t; 26297 if (Utilities.noString(parentType)) 26298 t = parent; 26299 else { 26300 t = parent.predicate("fhir:"+parentType+'.'+name); 26301 } 26302 composeBackboneElement(t, "restriction", name, element, index); 26303 if (element.hasRepetitionsElement()) { 26304 composePositiveInt(t, "TransportRestrictionComponent", "repetitions", element.getRepetitionsElement(), -1); 26305 } 26306 if (element.hasPeriod()) { 26307 composePeriod(t, "TransportRestrictionComponent", "period", element.getPeriod(), -1); 26308 } 26309 for (int i = 0; i < element.getRecipient().size(); i++) { 26310 composeReference(t, "TransportRestrictionComponent", "recipient", element.getRecipient().get(i), i); 26311 } 26312 } 26313 26314 protected void composeTransportParameterComponent(Complex parent, String parentType, String name, Transport.ParameterComponent element, int index) { 26315 if (element == null) 26316 return; 26317 Complex t; 26318 if (Utilities.noString(parentType)) 26319 t = parent; 26320 else { 26321 t = parent.predicate("fhir:"+parentType+'.'+name); 26322 } 26323 composeBackboneElement(t, "input", name, element, index); 26324 if (element.hasType()) { 26325 composeCodeableConcept(t, "ParameterComponent", "type", element.getType(), -1); 26326 } 26327 if (element.hasValue()) { 26328 composeType(t, "ParameterComponent", "value", element.getValue(), -1); 26329 } 26330 } 26331 26332 protected void composeTransportOutputComponent(Complex parent, String parentType, String name, Transport.TransportOutputComponent element, int index) { 26333 if (element == null) 26334 return; 26335 Complex t; 26336 if (Utilities.noString(parentType)) 26337 t = parent; 26338 else { 26339 t = parent.predicate("fhir:"+parentType+'.'+name); 26340 } 26341 composeBackboneElement(t, "output", name, element, index); 26342 if (element.hasType()) { 26343 composeCodeableConcept(t, "TransportOutputComponent", "type", element.getType(), -1); 26344 } 26345 if (element.hasValue()) { 26346 composeType(t, "TransportOutputComponent", "value", element.getValue(), -1); 26347 } 26348 } 26349 26350 protected void composeValueSet(Complex parent, String parentType, String name, ValueSet element, int index) { 26351 if (element == null) 26352 return; 26353 Complex t; 26354 if (Utilities.noString(parentType)) 26355 t = parent; 26356 else { 26357 t = parent.predicate("fhir:"+parentType+'.'+name); 26358 } 26359 composeMetadataResource(t, "ValueSet", name, element, index); 26360 if (element.hasUrlElement()) { 26361 composeUri(t, "ValueSet", "url", element.getUrlElement(), -1); 26362 } 26363 for (int i = 0; i < element.getIdentifier().size(); i++) { 26364 composeIdentifier(t, "ValueSet", "identifier", element.getIdentifier().get(i), i); 26365 } 26366 if (element.hasVersionElement()) { 26367 composeString(t, "ValueSet", "version", element.getVersionElement(), -1); 26368 } 26369 if (element.hasNameElement()) { 26370 composeString(t, "ValueSet", "name", element.getNameElement(), -1); 26371 } 26372 if (element.hasTitleElement()) { 26373 composeString(t, "ValueSet", "title", element.getTitleElement(), -1); 26374 } 26375 if (element.hasStatusElement()) { 26376 composeEnum(t, "ValueSet", "status", element.getStatusElement(), -1); 26377 } 26378 if (element.hasExperimentalElement()) { 26379 composeBoolean(t, "ValueSet", "experimental", element.getExperimentalElement(), -1); 26380 } 26381 if (element.hasDateElement()) { 26382 composeDateTime(t, "ValueSet", "date", element.getDateElement(), -1); 26383 } 26384 if (element.hasPublisherElement()) { 26385 composeString(t, "ValueSet", "publisher", element.getPublisherElement(), -1); 26386 } 26387 for (int i = 0; i < element.getContact().size(); i++) { 26388 composeContactDetail(t, "ValueSet", "contact", element.getContact().get(i), i); 26389 } 26390 if (element.hasDescriptionElement()) { 26391 composeMarkdown(t, "ValueSet", "description", element.getDescriptionElement(), -1); 26392 } 26393 for (int i = 0; i < element.getUseContext().size(); i++) { 26394 composeUsageContext(t, "ValueSet", "useContext", element.getUseContext().get(i), i); 26395 } 26396 for (int i = 0; i < element.getJurisdiction().size(); i++) { 26397 composeCodeableConcept(t, "ValueSet", "jurisdiction", element.getJurisdiction().get(i), i); 26398 } 26399 if (element.hasImmutableElement()) { 26400 composeBoolean(t, "ValueSet", "immutable", element.getImmutableElement(), -1); 26401 } 26402 if (element.hasPurposeElement()) { 26403 composeMarkdown(t, "ValueSet", "purpose", element.getPurposeElement(), -1); 26404 } 26405 if (element.hasCopyrightElement()) { 26406 composeMarkdown(t, "ValueSet", "copyright", element.getCopyrightElement(), -1); 26407 } 26408 if (element.hasApprovalDateElement()) { 26409 composeDate(t, "ValueSet", "approvalDate", element.getApprovalDateElement(), -1); 26410 } 26411 if (element.hasLastReviewDateElement()) { 26412 composeDate(t, "ValueSet", "lastReviewDate", element.getLastReviewDateElement(), -1); 26413 } 26414 if (element.hasEffectivePeriod()) { 26415 composePeriod(t, "ValueSet", "effectivePeriod", element.getEffectivePeriod(), -1); 26416 } 26417 for (int i = 0; i < element.getTopic().size(); i++) { 26418 composeCodeableConcept(t, "ValueSet", "topic", element.getTopic().get(i), i); 26419 } 26420 for (int i = 0; i < element.getAuthor().size(); i++) { 26421 composeContactDetail(t, "ValueSet", "author", element.getAuthor().get(i), i); 26422 } 26423 for (int i = 0; i < element.getEditor().size(); i++) { 26424 composeContactDetail(t, "ValueSet", "editor", element.getEditor().get(i), i); 26425 } 26426 for (int i = 0; i < element.getReviewer().size(); i++) { 26427 composeContactDetail(t, "ValueSet", "reviewer", element.getReviewer().get(i), i); 26428 } 26429 for (int i = 0; i < element.getEndorser().size(); i++) { 26430 composeContactDetail(t, "ValueSet", "endorser", element.getEndorser().get(i), i); 26431 } 26432 for (int i = 0; i < element.getRelatedArtifact().size(); i++) { 26433 composeRelatedArtifact(t, "ValueSet", "relatedArtifact", element.getRelatedArtifact().get(i), i); 26434 } 26435 if (element.hasCompose()) { 26436 composeValueSetComposeComponent(t, "ValueSet", "compose", element.getCompose(), -1); 26437 } 26438 if (element.hasExpansion()) { 26439 composeValueSetExpansionComponent(t, "ValueSet", "expansion", element.getExpansion(), -1); 26440 } 26441 if (element.hasScope()) { 26442 composeValueSetScopeComponent(t, "ValueSet", "scope", element.getScope(), -1); 26443 } 26444 } 26445 26446 protected void composeValueSetComposeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetComposeComponent element, int index) { 26447 if (element == null) 26448 return; 26449 Complex t; 26450 if (Utilities.noString(parentType)) 26451 t = parent; 26452 else { 26453 t = parent.predicate("fhir:"+parentType+'.'+name); 26454 } 26455 composeBackboneElement(t, "compose", name, element, index); 26456 if (element.hasLockedDateElement()) { 26457 composeDate(t, "ValueSetComposeComponent", "lockedDate", element.getLockedDateElement(), -1); 26458 } 26459 if (element.hasInactiveElement()) { 26460 composeBoolean(t, "ValueSetComposeComponent", "inactive", element.getInactiveElement(), -1); 26461 } 26462 for (int i = 0; i < element.getInclude().size(); i++) { 26463 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "include", element.getInclude().get(i), i); 26464 } 26465 for (int i = 0; i < element.getExclude().size(); i++) { 26466 composeValueSetConceptSetComponent(t, "ValueSetComposeComponent", "exclude", element.getExclude().get(i), i); 26467 } 26468 for (int i = 0; i < element.getProperty().size(); i++) { 26469 composeString(t, "ValueSetComposeComponent", "property", element.getProperty().get(i), i); 26470 } 26471 } 26472 26473 protected void composeValueSetConceptSetComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetComponent element, int index) { 26474 if (element == null) 26475 return; 26476 Complex t; 26477 if (Utilities.noString(parentType)) 26478 t = parent; 26479 else { 26480 t = parent.predicate("fhir:"+parentType+'.'+name); 26481 } 26482 composeBackboneElement(t, "include", name, element, index); 26483 if (element.hasSystemElement()) { 26484 composeUri(t, "ConceptSetComponent", "system", element.getSystemElement(), -1); 26485 } 26486 if (element.hasVersionElement()) { 26487 composeString(t, "ConceptSetComponent", "version", element.getVersionElement(), -1); 26488 } 26489 for (int i = 0; i < element.getConcept().size(); i++) { 26490 composeValueSetConceptReferenceComponent(t, "ConceptSetComponent", "concept", element.getConcept().get(i), i); 26491 } 26492 for (int i = 0; i < element.getFilter().size(); i++) { 26493 composeValueSetConceptSetFilterComponent(t, "ConceptSetComponent", "filter", element.getFilter().get(i), i); 26494 } 26495 for (int i = 0; i < element.getValueSet().size(); i++) { 26496 composeCanonical(t, "ConceptSetComponent", "valueSet", element.getValueSet().get(i), i); 26497 } 26498 if (element.hasCopyrightElement()) { 26499 composeString(t, "ConceptSetComponent", "copyright", element.getCopyrightElement(), -1); 26500 } 26501 } 26502 26503 protected void composeValueSetConceptReferenceComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceComponent element, int index) { 26504 if (element == null) 26505 return; 26506 Complex t; 26507 if (Utilities.noString(parentType)) 26508 t = parent; 26509 else { 26510 t = parent.predicate("fhir:"+parentType+'.'+name); 26511 } 26512 composeBackboneElement(t, "concept", name, element, index); 26513 if (element.hasCodeElement()) { 26514 composeCode(t, "ConceptReferenceComponent", "code", element.getCodeElement(), -1); 26515 } 26516 if (element.hasDisplayElement()) { 26517 composeString(t, "ConceptReferenceComponent", "display", element.getDisplayElement(), -1); 26518 } 26519 for (int i = 0; i < element.getDesignation().size(); i++) { 26520 composeValueSetConceptReferenceDesignationComponent(t, "ConceptReferenceComponent", "designation", element.getDesignation().get(i), i); 26521 } 26522 } 26523 26524 protected void composeValueSetConceptReferenceDesignationComponent(Complex parent, String parentType, String name, ValueSet.ConceptReferenceDesignationComponent element, int index) { 26525 if (element == null) 26526 return; 26527 Complex t; 26528 if (Utilities.noString(parentType)) 26529 t = parent; 26530 else { 26531 t = parent.predicate("fhir:"+parentType+'.'+name); 26532 } 26533 composeBackboneElement(t, "designation", name, element, index); 26534 if (element.hasLanguageElement()) { 26535 composeCode(t, "ConceptReferenceDesignationComponent", "language", element.getLanguageElement(), -1); 26536 } 26537 if (element.hasUse()) { 26538 composeCoding(t, "ConceptReferenceDesignationComponent", "use", element.getUse(), -1); 26539 } 26540 for (int i = 0; i < element.getAdditionalUse().size(); i++) { 26541 composeCoding(t, "ConceptReferenceDesignationComponent", "additionalUse", element.getAdditionalUse().get(i), i); 26542 } 26543 if (element.hasValueElement()) { 26544 composeString(t, "ConceptReferenceDesignationComponent", "value", element.getValueElement(), -1); 26545 } 26546 } 26547 26548 protected void composeValueSetConceptSetFilterComponent(Complex parent, String parentType, String name, ValueSet.ConceptSetFilterComponent element, int index) { 26549 if (element == null) 26550 return; 26551 Complex t; 26552 if (Utilities.noString(parentType)) 26553 t = parent; 26554 else { 26555 t = parent.predicate("fhir:"+parentType+'.'+name); 26556 } 26557 composeBackboneElement(t, "filter", name, element, index); 26558 if (element.hasPropertyElement()) { 26559 composeCode(t, "ConceptSetFilterComponent", "property", element.getPropertyElement(), -1); 26560 } 26561 if (element.hasOpElement()) { 26562 composeEnum(t, "ConceptSetFilterComponent", "op", element.getOpElement(), -1); 26563 } 26564 if (element.hasValueElement()) { 26565 composeString(t, "ConceptSetFilterComponent", "value", element.getValueElement(), -1); 26566 } 26567 } 26568 26569 protected void composeValueSetExpansionComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionComponent element, int index) { 26570 if (element == null) 26571 return; 26572 Complex t; 26573 if (Utilities.noString(parentType)) 26574 t = parent; 26575 else { 26576 t = parent.predicate("fhir:"+parentType+'.'+name); 26577 } 26578 composeBackboneElement(t, "expansion", name, element, index); 26579 if (element.hasIdentifierElement()) { 26580 composeUri(t, "ValueSetExpansionComponent", "identifier", element.getIdentifierElement(), -1); 26581 } 26582 if (element.hasNextElement()) { 26583 composeUri(t, "ValueSetExpansionComponent", "next", element.getNextElement(), -1); 26584 } 26585 if (element.hasTimestampElement()) { 26586 composeDateTime(t, "ValueSetExpansionComponent", "timestamp", element.getTimestampElement(), -1); 26587 } 26588 if (element.hasTotalElement()) { 26589 composeInteger(t, "ValueSetExpansionComponent", "total", element.getTotalElement(), -1); 26590 } 26591 if (element.hasOffsetElement()) { 26592 composeInteger(t, "ValueSetExpansionComponent", "offset", element.getOffsetElement(), -1); 26593 } 26594 for (int i = 0; i < element.getParameter().size(); i++) { 26595 composeValueSetExpansionParameterComponent(t, "ValueSetExpansionComponent", "parameter", element.getParameter().get(i), i); 26596 } 26597 for (int i = 0; i < element.getProperty().size(); i++) { 26598 composeValueSetExpansionPropertyComponent(t, "ValueSetExpansionComponent", "property", element.getProperty().get(i), i); 26599 } 26600 for (int i = 0; i < element.getContains().size(); i++) { 26601 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionComponent", "contains", element.getContains().get(i), i); 26602 } 26603 } 26604 26605 protected void composeValueSetExpansionParameterComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionParameterComponent element, int index) { 26606 if (element == null) 26607 return; 26608 Complex t; 26609 if (Utilities.noString(parentType)) 26610 t = parent; 26611 else { 26612 t = parent.predicate("fhir:"+parentType+'.'+name); 26613 } 26614 composeBackboneElement(t, "parameter", name, element, index); 26615 if (element.hasNameElement()) { 26616 composeString(t, "ValueSetExpansionParameterComponent", "name", element.getNameElement(), -1); 26617 } 26618 if (element.hasValue()) { 26619 composeType(t, "ValueSetExpansionParameterComponent", "value", element.getValue(), -1); 26620 } 26621 } 26622 26623 protected void composeValueSetExpansionPropertyComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionPropertyComponent element, int index) { 26624 if (element == null) 26625 return; 26626 Complex t; 26627 if (Utilities.noString(parentType)) 26628 t = parent; 26629 else { 26630 t = parent.predicate("fhir:"+parentType+'.'+name); 26631 } 26632 composeBackboneElement(t, "property", name, element, index); 26633 if (element.hasCodeElement()) { 26634 composeCode(t, "ValueSetExpansionPropertyComponent", "code", element.getCodeElement(), -1); 26635 } 26636 if (element.hasUriElement()) { 26637 composeUri(t, "ValueSetExpansionPropertyComponent", "uri", element.getUriElement(), -1); 26638 } 26639 } 26640 26641 protected void composeValueSetExpansionContainsComponent(Complex parent, String parentType, String name, ValueSet.ValueSetExpansionContainsComponent element, int index) { 26642 if (element == null) 26643 return; 26644 Complex t; 26645 if (Utilities.noString(parentType)) 26646 t = parent; 26647 else { 26648 t = parent.predicate("fhir:"+parentType+'.'+name); 26649 } 26650 composeBackboneElement(t, "contains", name, element, index); 26651 if (element.hasSystemElement()) { 26652 composeUri(t, "ValueSetExpansionContainsComponent", "system", element.getSystemElement(), -1); 26653 } 26654 if (element.hasAbstractElement()) { 26655 composeBoolean(t, "ValueSetExpansionContainsComponent", "abstract", element.getAbstractElement(), -1); 26656 } 26657 if (element.hasInactiveElement()) { 26658 composeBoolean(t, "ValueSetExpansionContainsComponent", "inactive", element.getInactiveElement(), -1); 26659 } 26660 if (element.hasVersionElement()) { 26661 composeString(t, "ValueSetExpansionContainsComponent", "version", element.getVersionElement(), -1); 26662 } 26663 if (element.hasCodeElement()) { 26664 composeCode(t, "ValueSetExpansionContainsComponent", "code", element.getCodeElement(), -1); 26665 } 26666 if (element.hasDisplayElement()) { 26667 composeString(t, "ValueSetExpansionContainsComponent", "display", element.getDisplayElement(), -1); 26668 } 26669 for (int i = 0; i < element.getDesignation().size(); i++) { 26670 composeValueSetConceptReferenceDesignationComponent(t, "ValueSetExpansionContainsComponent", "designation", element.getDesignation().get(i), i); 26671 } 26672 for (int i = 0; i < element.getProperty().size(); i++) { 26673 composeValueSetConceptPropertyComponent(t, "ValueSetExpansionContainsComponent", "property", element.getProperty().get(i), i); 26674 } 26675 for (int i = 0; i < element.getContains().size(); i++) { 26676 composeValueSetExpansionContainsComponent(t, "ValueSetExpansionContainsComponent", "contains", element.getContains().get(i), i); 26677 } 26678 } 26679 26680 protected void composeValueSetConceptPropertyComponent(Complex parent, String parentType, String name, ValueSet.ConceptPropertyComponent element, int index) { 26681 if (element == null) 26682 return; 26683 Complex t; 26684 if (Utilities.noString(parentType)) 26685 t = parent; 26686 else { 26687 t = parent.predicate("fhir:"+parentType+'.'+name); 26688 } 26689 composeBackboneElement(t, "property", name, element, index); 26690 if (element.hasCodeElement()) { 26691 composeCode(t, "ConceptPropertyComponent", "code", element.getCodeElement(), -1); 26692 } 26693 if (element.hasValue()) { 26694 composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); 26695 } 26696 for (int i = 0; i < element.getSubProperty().size(); i++) { 26697 composeValueSetConceptSubPropertyComponent(t, "ConceptPropertyComponent", "subProperty", element.getSubProperty().get(i), i); 26698 } 26699 } 26700 26701 protected void composeValueSetConceptSubPropertyComponent(Complex parent, String parentType, String name, ValueSet.ConceptSubPropertyComponent element, int index) { 26702 if (element == null) 26703 return; 26704 Complex t; 26705 if (Utilities.noString(parentType)) 26706 t = parent; 26707 else { 26708 t = parent.predicate("fhir:"+parentType+'.'+name); 26709 } 26710 composeBackboneElement(t, "subProperty", name, element, index); 26711 if (element.hasCodeElement()) { 26712 composeCode(t, "ConceptSubPropertyComponent", "code", element.getCodeElement(), -1); 26713 } 26714 if (element.hasValue()) { 26715 composeType(t, "ConceptSubPropertyComponent", "value", element.getValue(), -1); 26716 } 26717 } 26718 26719 protected void composeValueSetScopeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetScopeComponent element, int index) { 26720 if (element == null) 26721 return; 26722 Complex t; 26723 if (Utilities.noString(parentType)) 26724 t = parent; 26725 else { 26726 t = parent.predicate("fhir:"+parentType+'.'+name); 26727 } 26728 composeBackboneElement(t, "scope", name, element, index); 26729 if (element.hasInclusionCriteriaElement()) { 26730 composeString(t, "ValueSetScopeComponent", "inclusionCriteria", element.getInclusionCriteriaElement(), -1); 26731 } 26732 if (element.hasExclusionCriteriaElement()) { 26733 composeString(t, "ValueSetScopeComponent", "exclusionCriteria", element.getExclusionCriteriaElement(), -1); 26734 } 26735 } 26736 26737 protected void composeVerificationResult(Complex parent, String parentType, String name, VerificationResult element, int index) { 26738 if (element == null) 26739 return; 26740 Complex t; 26741 if (Utilities.noString(parentType)) 26742 t = parent; 26743 else { 26744 t = parent.predicate("fhir:"+parentType+'.'+name); 26745 } 26746 composeDomainResource(t, "VerificationResult", name, element, index); 26747 for (int i = 0; i < element.getTarget().size(); i++) { 26748 composeReference(t, "VerificationResult", "target", element.getTarget().get(i), i); 26749 } 26750 for (int i = 0; i < element.getTargetLocation().size(); i++) { 26751 composeString(t, "VerificationResult", "targetLocation", element.getTargetLocation().get(i), i); 26752 } 26753 if (element.hasNeed()) { 26754 composeCodeableConcept(t, "VerificationResult", "need", element.getNeed(), -1); 26755 } 26756 if (element.hasStatusElement()) { 26757 composeEnum(t, "VerificationResult", "status", element.getStatusElement(), -1); 26758 } 26759 if (element.hasStatusDateElement()) { 26760 composeDateTime(t, "VerificationResult", "statusDate", element.getStatusDateElement(), -1); 26761 } 26762 if (element.hasValidationType()) { 26763 composeCodeableConcept(t, "VerificationResult", "validationType", element.getValidationType(), -1); 26764 } 26765 for (int i = 0; i < element.getValidationProcess().size(); i++) { 26766 composeCodeableConcept(t, "VerificationResult", "validationProcess", element.getValidationProcess().get(i), i); 26767 } 26768 if (element.hasFrequency()) { 26769 composeTiming(t, "VerificationResult", "frequency", element.getFrequency(), -1); 26770 } 26771 if (element.hasLastPerformedElement()) { 26772 composeDateTime(t, "VerificationResult", "lastPerformed", element.getLastPerformedElement(), -1); 26773 } 26774 if (element.hasNextScheduledElement()) { 26775 composeDate(t, "VerificationResult", "nextScheduled", element.getNextScheduledElement(), -1); 26776 } 26777 if (element.hasFailureAction()) { 26778 composeCodeableConcept(t, "VerificationResult", "failureAction", element.getFailureAction(), -1); 26779 } 26780 for (int i = 0; i < element.getPrimarySource().size(); i++) { 26781 composeVerificationResultPrimarySourceComponent(t, "VerificationResult", "primarySource", element.getPrimarySource().get(i), i); 26782 } 26783 if (element.hasAttestation()) { 26784 composeVerificationResultAttestationComponent(t, "VerificationResult", "attestation", element.getAttestation(), -1); 26785 } 26786 for (int i = 0; i < element.getValidator().size(); i++) { 26787 composeVerificationResultValidatorComponent(t, "VerificationResult", "validator", element.getValidator().get(i), i); 26788 } 26789 } 26790 26791 protected void composeVerificationResultPrimarySourceComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultPrimarySourceComponent element, int index) { 26792 if (element == null) 26793 return; 26794 Complex t; 26795 if (Utilities.noString(parentType)) 26796 t = parent; 26797 else { 26798 t = parent.predicate("fhir:"+parentType+'.'+name); 26799 } 26800 composeBackboneElement(t, "primarySource", name, element, index); 26801 if (element.hasWho()) { 26802 composeReference(t, "VerificationResultPrimarySourceComponent", "who", element.getWho(), -1); 26803 } 26804 for (int i = 0; i < element.getType().size(); i++) { 26805 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "type", element.getType().get(i), i); 26806 } 26807 for (int i = 0; i < element.getCommunicationMethod().size(); i++) { 26808 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "communicationMethod", element.getCommunicationMethod().get(i), i); 26809 } 26810 if (element.hasValidationStatus()) { 26811 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "validationStatus", element.getValidationStatus(), -1); 26812 } 26813 if (element.hasValidationDateElement()) { 26814 composeDateTime(t, "VerificationResultPrimarySourceComponent", "validationDate", element.getValidationDateElement(), -1); 26815 } 26816 if (element.hasCanPushUpdates()) { 26817 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "canPushUpdates", element.getCanPushUpdates(), -1); 26818 } 26819 for (int i = 0; i < element.getPushTypeAvailable().size(); i++) { 26820 composeCodeableConcept(t, "VerificationResultPrimarySourceComponent", "pushTypeAvailable", element.getPushTypeAvailable().get(i), i); 26821 } 26822 } 26823 26824 protected void composeVerificationResultAttestationComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultAttestationComponent element, int index) { 26825 if (element == null) 26826 return; 26827 Complex t; 26828 if (Utilities.noString(parentType)) 26829 t = parent; 26830 else { 26831 t = parent.predicate("fhir:"+parentType+'.'+name); 26832 } 26833 composeBackboneElement(t, "attestation", name, element, index); 26834 if (element.hasWho()) { 26835 composeReference(t, "VerificationResultAttestationComponent", "who", element.getWho(), -1); 26836 } 26837 if (element.hasOnBehalfOf()) { 26838 composeReference(t, "VerificationResultAttestationComponent", "onBehalfOf", element.getOnBehalfOf(), -1); 26839 } 26840 if (element.hasCommunicationMethod()) { 26841 composeCodeableConcept(t, "VerificationResultAttestationComponent", "communicationMethod", element.getCommunicationMethod(), -1); 26842 } 26843 if (element.hasDateElement()) { 26844 composeDate(t, "VerificationResultAttestationComponent", "date", element.getDateElement(), -1); 26845 } 26846 if (element.hasSourceIdentityCertificateElement()) { 26847 composeString(t, "VerificationResultAttestationComponent", "sourceIdentityCertificate", element.getSourceIdentityCertificateElement(), -1); 26848 } 26849 if (element.hasProxyIdentityCertificateElement()) { 26850 composeString(t, "VerificationResultAttestationComponent", "proxyIdentityCertificate", element.getProxyIdentityCertificateElement(), -1); 26851 } 26852 if (element.hasProxySignature()) { 26853 composeSignature(t, "VerificationResultAttestationComponent", "proxySignature", element.getProxySignature(), -1); 26854 } 26855 if (element.hasSourceSignature()) { 26856 composeSignature(t, "VerificationResultAttestationComponent", "sourceSignature", element.getSourceSignature(), -1); 26857 } 26858 } 26859 26860 protected void composeVerificationResultValidatorComponent(Complex parent, String parentType, String name, VerificationResult.VerificationResultValidatorComponent element, int index) { 26861 if (element == null) 26862 return; 26863 Complex t; 26864 if (Utilities.noString(parentType)) 26865 t = parent; 26866 else { 26867 t = parent.predicate("fhir:"+parentType+'.'+name); 26868 } 26869 composeBackboneElement(t, "validator", name, element, index); 26870 if (element.hasOrganization()) { 26871 composeReference(t, "VerificationResultValidatorComponent", "organization", element.getOrganization(), -1); 26872 } 26873 if (element.hasIdentityCertificateElement()) { 26874 composeString(t, "VerificationResultValidatorComponent", "identityCertificate", element.getIdentityCertificateElement(), -1); 26875 } 26876 if (element.hasAttestationSignature()) { 26877 composeSignature(t, "VerificationResultValidatorComponent", "attestationSignature", element.getAttestationSignature(), -1); 26878 } 26879 } 26880 26881 protected void composeVisionPrescription(Complex parent, String parentType, String name, VisionPrescription element, int index) { 26882 if (element == null) 26883 return; 26884 Complex t; 26885 if (Utilities.noString(parentType)) 26886 t = parent; 26887 else { 26888 t = parent.predicate("fhir:"+parentType+'.'+name); 26889 } 26890 composeDomainResource(t, "VisionPrescription", name, element, index); 26891 for (int i = 0; i < element.getIdentifier().size(); i++) { 26892 composeIdentifier(t, "VisionPrescription", "identifier", element.getIdentifier().get(i), i); 26893 } 26894 if (element.hasStatusElement()) { 26895 composeEnum(t, "VisionPrescription", "status", element.getStatusElement(), -1); 26896 } 26897 if (element.hasCreatedElement()) { 26898 composeDateTime(t, "VisionPrescription", "created", element.getCreatedElement(), -1); 26899 } 26900 if (element.hasPatient()) { 26901 composeReference(t, "VisionPrescription", "patient", element.getPatient(), -1); 26902 } 26903 if (element.hasEncounter()) { 26904 composeReference(t, "VisionPrescription", "encounter", element.getEncounter(), -1); 26905 } 26906 if (element.hasDateWrittenElement()) { 26907 composeDateTime(t, "VisionPrescription", "dateWritten", element.getDateWrittenElement(), -1); 26908 } 26909 if (element.hasPrescriber()) { 26910 composeReference(t, "VisionPrescription", "prescriber", element.getPrescriber(), -1); 26911 } 26912 for (int i = 0; i < element.getLensSpecification().size(); i++) { 26913 composeVisionPrescriptionLensSpecificationComponent(t, "VisionPrescription", "lensSpecification", element.getLensSpecification().get(i), i); 26914 } 26915 } 26916 26917 protected void composeVisionPrescriptionLensSpecificationComponent(Complex parent, String parentType, String name, VisionPrescription.VisionPrescriptionLensSpecificationComponent element, int index) { 26918 if (element == null) 26919 return; 26920 Complex t; 26921 if (Utilities.noString(parentType)) 26922 t = parent; 26923 else { 26924 t = parent.predicate("fhir:"+parentType+'.'+name); 26925 } 26926 composeBackboneElement(t, "lensSpecification", name, element, index); 26927 if (element.hasProduct()) { 26928 composeCodeableConcept(t, "VisionPrescriptionLensSpecificationComponent", "product", element.getProduct(), -1); 26929 } 26930 if (element.hasEyeElement()) { 26931 composeEnum(t, "VisionPrescriptionLensSpecificationComponent", "eye", element.getEyeElement(), -1); 26932 } 26933 if (element.hasSphereElement()) { 26934 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "sphere", element.getSphereElement(), -1); 26935 } 26936 if (element.hasCylinderElement()) { 26937 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "cylinder", element.getCylinderElement(), -1); 26938 } 26939 if (element.hasAxisElement()) { 26940 composeInteger(t, "VisionPrescriptionLensSpecificationComponent", "axis", element.getAxisElement(), -1); 26941 } 26942 for (int i = 0; i < element.getPrism().size(); i++) { 26943 composeVisionPrescriptionPrismComponent(t, "VisionPrescriptionLensSpecificationComponent", "prism", element.getPrism().get(i), i); 26944 } 26945 if (element.hasAddElement()) { 26946 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "add", element.getAddElement(), -1); 26947 } 26948 if (element.hasPowerElement()) { 26949 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "power", element.getPowerElement(), -1); 26950 } 26951 if (element.hasBackCurveElement()) { 26952 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "backCurve", element.getBackCurveElement(), -1); 26953 } 26954 if (element.hasDiameterElement()) { 26955 composeDecimal(t, "VisionPrescriptionLensSpecificationComponent", "diameter", element.getDiameterElement(), -1); 26956 } 26957 if (element.hasDuration()) { 26958 composeQuantity(t, "VisionPrescriptionLensSpecificationComponent", "duration", element.getDuration(), -1); 26959 } 26960 if (element.hasColorElement()) { 26961 composeString(t, "VisionPrescriptionLensSpecificationComponent", "color", element.getColorElement(), -1); 26962 } 26963 if (element.hasBrandElement()) { 26964 composeString(t, "VisionPrescriptionLensSpecificationComponent", "brand", element.getBrandElement(), -1); 26965 } 26966 for (int i = 0; i < element.getNote().size(); i++) { 26967 composeAnnotation(t, "VisionPrescriptionLensSpecificationComponent", "note", element.getNote().get(i), i); 26968 } 26969 } 26970 26971 protected void composeVisionPrescriptionPrismComponent(Complex parent, String parentType, String name, VisionPrescription.PrismComponent element, int index) { 26972 if (element == null) 26973 return; 26974 Complex t; 26975 if (Utilities.noString(parentType)) 26976 t = parent; 26977 else { 26978 t = parent.predicate("fhir:"+parentType+'.'+name); 26979 } 26980 composeBackboneElement(t, "prism", name, element, index); 26981 if (element.hasAmountElement()) { 26982 composeDecimal(t, "PrismComponent", "amount", element.getAmountElement(), -1); 26983 } 26984 if (element.hasBaseElement()) { 26985 composeEnum(t, "PrismComponent", "base", element.getBaseElement(), -1); 26986 } 26987 } 26988 26989 26990 26991 26992 @Override 26993 protected void composeResource(Complex parent, Resource resource) { 26994 if (parent == null) { 26995 throw new Error("parent == null"); 26996 } else if (resource == null) { 26997 throw new Error("resource == null"); 26998 } else if (resource instanceof Account) { 26999 composeAccount(parent, null, "Account", (Account)resource, -1); 27000 } else if (resource instanceof ActivityDefinition) { 27001 composeActivityDefinition(parent, null, "ActivityDefinition", (ActivityDefinition)resource, -1); 27002 } else if (resource instanceof ActorDefinition) { 27003 composeActorDefinition(parent, null, "ActorDefinition", (ActorDefinition)resource, -1); 27004 } else if (resource instanceof AdministrableProductDefinition) { 27005 composeAdministrableProductDefinition(parent, null, "AdministrableProductDefinition", (AdministrableProductDefinition)resource, -1); 27006 } else if (resource instanceof AdverseEvent) { 27007 composeAdverseEvent(parent, null, "AdverseEvent", (AdverseEvent)resource, -1); 27008 } else if (resource instanceof AllergyIntolerance) { 27009 composeAllergyIntolerance(parent, null, "AllergyIntolerance", (AllergyIntolerance)resource, -1); 27010 } else if (resource instanceof Appointment) { 27011 composeAppointment(parent, null, "Appointment", (Appointment)resource, -1); 27012 } else if (resource instanceof AppointmentResponse) { 27013 composeAppointmentResponse(parent, null, "AppointmentResponse", (AppointmentResponse)resource, -1); 27014 } else if (resource instanceof ArtifactAssessment) { 27015 composeArtifactAssessment(parent, null, "ArtifactAssessment", (ArtifactAssessment)resource, -1); 27016 } else if (resource instanceof AuditEvent) { 27017 composeAuditEvent(parent, null, "AuditEvent", (AuditEvent)resource, -1); 27018 } else if (resource instanceof Basic) { 27019 composeBasic(parent, null, "Basic", (Basic)resource, -1); 27020 } else if (resource instanceof Binary) { 27021 composeBinary(parent, null, "Binary", (Binary)resource, -1); 27022 } else if (resource instanceof BiologicallyDerivedProduct) { 27023 composeBiologicallyDerivedProduct(parent, null, "BiologicallyDerivedProduct", (BiologicallyDerivedProduct)resource, -1); 27024 } else if (resource instanceof BodyStructure) { 27025 composeBodyStructure(parent, null, "BodyStructure", (BodyStructure)resource, -1); 27026 } else if (resource instanceof Bundle) { 27027 composeBundle(parent, null, "Bundle", (Bundle)resource, -1); 27028 } else if (resource instanceof CapabilityStatement) { 27029 composeCapabilityStatement(parent, null, "CapabilityStatement", (CapabilityStatement)resource, -1); 27030 } else if (resource instanceof CarePlan) { 27031 composeCarePlan(parent, null, "CarePlan", (CarePlan)resource, -1); 27032 } else if (resource instanceof CareTeam) { 27033 composeCareTeam(parent, null, "CareTeam", (CareTeam)resource, -1); 27034 } else if (resource instanceof ChargeItem) { 27035 composeChargeItem(parent, null, "ChargeItem", (ChargeItem)resource, -1); 27036 } else if (resource instanceof ChargeItemDefinition) { 27037 composeChargeItemDefinition(parent, null, "ChargeItemDefinition", (ChargeItemDefinition)resource, -1); 27038 } else if (resource instanceof Citation) { 27039 composeCitation(parent, null, "Citation", (Citation)resource, -1); 27040 } else if (resource instanceof Claim) { 27041 composeClaim(parent, null, "Claim", (Claim)resource, -1); 27042 } else if (resource instanceof ClaimResponse) { 27043 composeClaimResponse(parent, null, "ClaimResponse", (ClaimResponse)resource, -1); 27044 } else if (resource instanceof ClinicalImpression) { 27045 composeClinicalImpression(parent, null, "ClinicalImpression", (ClinicalImpression)resource, -1); 27046 } else if (resource instanceof ClinicalUseDefinition) { 27047 composeClinicalUseDefinition(parent, null, "ClinicalUseDefinition", (ClinicalUseDefinition)resource, -1); 27048 } else if (resource instanceof CodeSystem) { 27049 composeCodeSystem(parent, null, "CodeSystem", (CodeSystem)resource, -1); 27050 } else if (resource instanceof Communication) { 27051 composeCommunication(parent, null, "Communication", (Communication)resource, -1); 27052 } else if (resource instanceof CommunicationRequest) { 27053 composeCommunicationRequest(parent, null, "CommunicationRequest", (CommunicationRequest)resource, -1); 27054 } else if (resource instanceof CompartmentDefinition) { 27055 composeCompartmentDefinition(parent, null, "CompartmentDefinition", (CompartmentDefinition)resource, -1); 27056 } else if (resource instanceof Composition) { 27057 composeComposition(parent, null, "Composition", (Composition)resource, -1); 27058 } else if (resource instanceof ConceptMap) { 27059 composeConceptMap(parent, null, "ConceptMap", (ConceptMap)resource, -1); 27060 } else if (resource instanceof Condition) { 27061 composeCondition(parent, null, "Condition", (Condition)resource, -1); 27062 } else if (resource instanceof ConditionDefinition) { 27063 composeConditionDefinition(parent, null, "ConditionDefinition", (ConditionDefinition)resource, -1); 27064 } else if (resource instanceof Consent) { 27065 composeConsent(parent, null, "Consent", (Consent)resource, -1); 27066 } else if (resource instanceof Contract) { 27067 composeContract(parent, null, "Contract", (Contract)resource, -1); 27068 } else if (resource instanceof Coverage) { 27069 composeCoverage(parent, null, "Coverage", (Coverage)resource, -1); 27070 } else if (resource instanceof CoverageEligibilityRequest) { 27071 composeCoverageEligibilityRequest(parent, null, "CoverageEligibilityRequest", (CoverageEligibilityRequest)resource, -1); 27072 } else if (resource instanceof CoverageEligibilityResponse) { 27073 composeCoverageEligibilityResponse(parent, null, "CoverageEligibilityResponse", (CoverageEligibilityResponse)resource, -1); 27074 } else if (resource instanceof DetectedIssue) { 27075 composeDetectedIssue(parent, null, "DetectedIssue", (DetectedIssue)resource, -1); 27076 } else if (resource instanceof Device) { 27077 composeDevice(parent, null, "Device", (Device)resource, -1); 27078 } else if (resource instanceof DeviceDefinition) { 27079 composeDeviceDefinition(parent, null, "DeviceDefinition", (DeviceDefinition)resource, -1); 27080 } else if (resource instanceof DeviceDispense) { 27081 composeDeviceDispense(parent, null, "DeviceDispense", (DeviceDispense)resource, -1); 27082 } else if (resource instanceof DeviceMetric) { 27083 composeDeviceMetric(parent, null, "DeviceMetric", (DeviceMetric)resource, -1); 27084 } else if (resource instanceof DeviceRequest) { 27085 composeDeviceRequest(parent, null, "DeviceRequest", (DeviceRequest)resource, -1); 27086 } else if (resource instanceof DeviceUsage) { 27087 composeDeviceUsage(parent, null, "DeviceUsage", (DeviceUsage)resource, -1); 27088 } else if (resource instanceof DiagnosticReport) { 27089 composeDiagnosticReport(parent, null, "DiagnosticReport", (DiagnosticReport)resource, -1); 27090 } else if (resource instanceof DocumentManifest) { 27091 composeDocumentManifest(parent, null, "DocumentManifest", (DocumentManifest)resource, -1); 27092 } else if (resource instanceof DocumentReference) { 27093 composeDocumentReference(parent, null, "DocumentReference", (DocumentReference)resource, -1); 27094 } else if (resource instanceof Encounter) { 27095 composeEncounter(parent, null, "Encounter", (Encounter)resource, -1); 27096 } else if (resource instanceof Endpoint) { 27097 composeEndpoint(parent, null, "Endpoint", (Endpoint)resource, -1); 27098 } else if (resource instanceof EnrollmentRequest) { 27099 composeEnrollmentRequest(parent, null, "EnrollmentRequest", (EnrollmentRequest)resource, -1); 27100 } else if (resource instanceof EnrollmentResponse) { 27101 composeEnrollmentResponse(parent, null, "EnrollmentResponse", (EnrollmentResponse)resource, -1); 27102 } else if (resource instanceof EpisodeOfCare) { 27103 composeEpisodeOfCare(parent, null, "EpisodeOfCare", (EpisodeOfCare)resource, -1); 27104 } else if (resource instanceof EventDefinition) { 27105 composeEventDefinition(parent, null, "EventDefinition", (EventDefinition)resource, -1); 27106 } else if (resource instanceof Evidence) { 27107 composeEvidence(parent, null, "Evidence", (Evidence)resource, -1); 27108 } else if (resource instanceof EvidenceReport) { 27109 composeEvidenceReport(parent, null, "EvidenceReport", (EvidenceReport)resource, -1); 27110 } else if (resource instanceof EvidenceVariable) { 27111 composeEvidenceVariable(parent, null, "EvidenceVariable", (EvidenceVariable)resource, -1); 27112 } else if (resource instanceof ExampleScenario) { 27113 composeExampleScenario(parent, null, "ExampleScenario", (ExampleScenario)resource, -1); 27114 } else if (resource instanceof ExplanationOfBenefit) { 27115 composeExplanationOfBenefit(parent, null, "ExplanationOfBenefit", (ExplanationOfBenefit)resource, -1); 27116 } else if (resource instanceof FamilyMemberHistory) { 27117 composeFamilyMemberHistory(parent, null, "FamilyMemberHistory", (FamilyMemberHistory)resource, -1); 27118 } else if (resource instanceof Flag) { 27119 composeFlag(parent, null, "Flag", (Flag)resource, -1); 27120 } else if (resource instanceof FormularyItem) { 27121 composeFormularyItem(parent, null, "FormularyItem", (FormularyItem)resource, -1); 27122 } else if (resource instanceof GenomicStudy) { 27123 composeGenomicStudy(parent, null, "GenomicStudy", (GenomicStudy)resource, -1); 27124 } else if (resource instanceof Goal) { 27125 composeGoal(parent, null, "Goal", (Goal)resource, -1); 27126 } else if (resource instanceof GraphDefinition) { 27127 composeGraphDefinition(parent, null, "GraphDefinition", (GraphDefinition)resource, -1); 27128 } else if (resource instanceof Group) { 27129 composeGroup(parent, null, "Group", (Group)resource, -1); 27130 } else if (resource instanceof GuidanceResponse) { 27131 composeGuidanceResponse(parent, null, "GuidanceResponse", (GuidanceResponse)resource, -1); 27132 } else if (resource instanceof HealthcareService) { 27133 composeHealthcareService(parent, null, "HealthcareService", (HealthcareService)resource, -1); 27134 } else if (resource instanceof ImagingSelection) { 27135 composeImagingSelection(parent, null, "ImagingSelection", (ImagingSelection)resource, -1); 27136 } else if (resource instanceof ImagingStudy) { 27137 composeImagingStudy(parent, null, "ImagingStudy", (ImagingStudy)resource, -1); 27138 } else if (resource instanceof Immunization) { 27139 composeImmunization(parent, null, "Immunization", (Immunization)resource, -1); 27140 } else if (resource instanceof ImmunizationEvaluation) { 27141 composeImmunizationEvaluation(parent, null, "ImmunizationEvaluation", (ImmunizationEvaluation)resource, -1); 27142 } else if (resource instanceof ImmunizationRecommendation) { 27143 composeImmunizationRecommendation(parent, null, "ImmunizationRecommendation", (ImmunizationRecommendation)resource, -1); 27144 } else if (resource instanceof ImplementationGuide) { 27145 composeImplementationGuide(parent, null, "ImplementationGuide", (ImplementationGuide)resource, -1); 27146 } else if (resource instanceof Ingredient) { 27147 composeIngredient(parent, null, "Ingredient", (Ingredient)resource, -1); 27148 } else if (resource instanceof InsurancePlan) { 27149 composeInsurancePlan(parent, null, "InsurancePlan", (InsurancePlan)resource, -1); 27150 } else if (resource instanceof InventoryReport) { 27151 composeInventoryReport(parent, null, "InventoryReport", (InventoryReport)resource, -1); 27152 } else if (resource instanceof Invoice) { 27153 composeInvoice(parent, null, "Invoice", (Invoice)resource, -1); 27154 } else if (resource instanceof Library) { 27155 composeLibrary(parent, null, "Library", (Library)resource, -1); 27156 } else if (resource instanceof Linkage) { 27157 composeLinkage(parent, null, "Linkage", (Linkage)resource, -1); 27158 } else if (resource instanceof ListResource) { 27159 composeListResource(parent, null, "List", (ListResource)resource, -1); 27160 } else if (resource instanceof Location) { 27161 composeLocation(parent, null, "Location", (Location)resource, -1); 27162 } else if (resource instanceof ManufacturedItemDefinition) { 27163 composeManufacturedItemDefinition(parent, null, "ManufacturedItemDefinition", (ManufacturedItemDefinition)resource, -1); 27164 } else if (resource instanceof Measure) { 27165 composeMeasure(parent, null, "Measure", (Measure)resource, -1); 27166 } else if (resource instanceof MeasureReport) { 27167 composeMeasureReport(parent, null, "MeasureReport", (MeasureReport)resource, -1); 27168 } else if (resource instanceof Medication) { 27169 composeMedication(parent, null, "Medication", (Medication)resource, -1); 27170 } else if (resource instanceof MedicationAdministration) { 27171 composeMedicationAdministration(parent, null, "MedicationAdministration", (MedicationAdministration)resource, -1); 27172 } else if (resource instanceof MedicationDispense) { 27173 composeMedicationDispense(parent, null, "MedicationDispense", (MedicationDispense)resource, -1); 27174 } else if (resource instanceof MedicationKnowledge) { 27175 composeMedicationKnowledge(parent, null, "MedicationKnowledge", (MedicationKnowledge)resource, -1); 27176 } else if (resource instanceof MedicationRequest) { 27177 composeMedicationRequest(parent, null, "MedicationRequest", (MedicationRequest)resource, -1); 27178 } else if (resource instanceof MedicationUsage) { 27179 composeMedicationUsage(parent, null, "MedicationUsage", (MedicationUsage)resource, -1); 27180 } else if (resource instanceof MedicinalProductDefinition) { 27181 composeMedicinalProductDefinition(parent, null, "MedicinalProductDefinition", (MedicinalProductDefinition)resource, -1); 27182 } else if (resource instanceof MessageDefinition) { 27183 composeMessageDefinition(parent, null, "MessageDefinition", (MessageDefinition)resource, -1); 27184 } else if (resource instanceof MessageHeader) { 27185 composeMessageHeader(parent, null, "MessageHeader", (MessageHeader)resource, -1); 27186 } else if (resource instanceof MolecularSequence) { 27187 composeMolecularSequence(parent, null, "MolecularSequence", (MolecularSequence)resource, -1); 27188 } else if (resource instanceof NamingSystem) { 27189 composeNamingSystem(parent, null, "NamingSystem", (NamingSystem)resource, -1); 27190 } else if (resource instanceof NutritionIntake) { 27191 composeNutritionIntake(parent, null, "NutritionIntake", (NutritionIntake)resource, -1); 27192 } else if (resource instanceof NutritionOrder) { 27193 composeNutritionOrder(parent, null, "NutritionOrder", (NutritionOrder)resource, -1); 27194 } else if (resource instanceof NutritionProduct) { 27195 composeNutritionProduct(parent, null, "NutritionProduct", (NutritionProduct)resource, -1); 27196 } else if (resource instanceof Observation) { 27197 composeObservation(parent, null, "Observation", (Observation)resource, -1); 27198 } else if (resource instanceof ObservationDefinition) { 27199 composeObservationDefinition(parent, null, "ObservationDefinition", (ObservationDefinition)resource, -1); 27200 } else if (resource instanceof OperationDefinition) { 27201 composeOperationDefinition(parent, null, "OperationDefinition", (OperationDefinition)resource, -1); 27202 } else if (resource instanceof OperationOutcome) { 27203 composeOperationOutcome(parent, null, "OperationOutcome", (OperationOutcome)resource, -1); 27204 } else if (resource instanceof Organization) { 27205 composeOrganization(parent, null, "Organization", (Organization)resource, -1); 27206 } else if (resource instanceof OrganizationAffiliation) { 27207 composeOrganizationAffiliation(parent, null, "OrganizationAffiliation", (OrganizationAffiliation)resource, -1); 27208 } else if (resource instanceof PackagedProductDefinition) { 27209 composePackagedProductDefinition(parent, null, "PackagedProductDefinition", (PackagedProductDefinition)resource, -1); 27210 } else if (resource instanceof Parameters) { 27211 composeParameters(parent, null, "Parameters", (Parameters)resource, -1); 27212 } else if (resource instanceof Patient) { 27213 composePatient(parent, null, "Patient", (Patient)resource, -1); 27214 } else if (resource instanceof PaymentNotice) { 27215 composePaymentNotice(parent, null, "PaymentNotice", (PaymentNotice)resource, -1); 27216 } else if (resource instanceof PaymentReconciliation) { 27217 composePaymentReconciliation(parent, null, "PaymentReconciliation", (PaymentReconciliation)resource, -1); 27218 } else if (resource instanceof Permission) { 27219 composePermission(parent, null, "Permission", (Permission)resource, -1); 27220 } else if (resource instanceof Person) { 27221 composePerson(parent, null, "Person", (Person)resource, -1); 27222 } else if (resource instanceof PlanDefinition) { 27223 composePlanDefinition(parent, null, "PlanDefinition", (PlanDefinition)resource, -1); 27224 } else if (resource instanceof Practitioner) { 27225 composePractitioner(parent, null, "Practitioner", (Practitioner)resource, -1); 27226 } else if (resource instanceof PractitionerRole) { 27227 composePractitionerRole(parent, null, "PractitionerRole", (PractitionerRole)resource, -1); 27228 } else if (resource instanceof Procedure) { 27229 composeProcedure(parent, null, "Procedure", (Procedure)resource, -1); 27230 } else if (resource instanceof Provenance) { 27231 composeProvenance(parent, null, "Provenance", (Provenance)resource, -1); 27232 } else if (resource instanceof Questionnaire) { 27233 composeQuestionnaire(parent, null, "Questionnaire", (Questionnaire)resource, -1); 27234 } else if (resource instanceof QuestionnaireResponse) { 27235 composeQuestionnaireResponse(parent, null, "QuestionnaireResponse", (QuestionnaireResponse)resource, -1); 27236 } else if (resource instanceof RegulatedAuthorization) { 27237 composeRegulatedAuthorization(parent, null, "RegulatedAuthorization", (RegulatedAuthorization)resource, -1); 27238 } else if (resource instanceof RelatedPerson) { 27239 composeRelatedPerson(parent, null, "RelatedPerson", (RelatedPerson)resource, -1); 27240 } else if (resource instanceof RequestOrchestration) { 27241 composeRequestOrchestration(parent, null, "RequestOrchestration", (RequestOrchestration)resource, -1); 27242 } else if (resource instanceof Requirements) { 27243 composeRequirements(parent, null, "Requirements", (Requirements)resource, -1); 27244 } else if (resource instanceof ResearchStudy) { 27245 composeResearchStudy(parent, null, "ResearchStudy", (ResearchStudy)resource, -1); 27246 } else if (resource instanceof ResearchSubject) { 27247 composeResearchSubject(parent, null, "ResearchSubject", (ResearchSubject)resource, -1); 27248 } else if (resource instanceof RiskAssessment) { 27249 composeRiskAssessment(parent, null, "RiskAssessment", (RiskAssessment)resource, -1); 27250 } else if (resource instanceof Schedule) { 27251 composeSchedule(parent, null, "Schedule", (Schedule)resource, -1); 27252 } else if (resource instanceof SearchParameter) { 27253 composeSearchParameter(parent, null, "SearchParameter", (SearchParameter)resource, -1); 27254 } else if (resource instanceof ServiceRequest) { 27255 composeServiceRequest(parent, null, "ServiceRequest", (ServiceRequest)resource, -1); 27256 } else if (resource instanceof Slot) { 27257 composeSlot(parent, null, "Slot", (Slot)resource, -1); 27258 } else if (resource instanceof Specimen) { 27259 composeSpecimen(parent, null, "Specimen", (Specimen)resource, -1); 27260 } else if (resource instanceof SpecimenDefinition) { 27261 composeSpecimenDefinition(parent, null, "SpecimenDefinition", (SpecimenDefinition)resource, -1); 27262 } else if (resource instanceof StructureDefinition) { 27263 composeStructureDefinition(parent, null, "StructureDefinition", (StructureDefinition)resource, -1); 27264 } else if (resource instanceof StructureMap) { 27265 composeStructureMap(parent, null, "StructureMap", (StructureMap)resource, -1); 27266 } else if (resource instanceof Subscription) { 27267 composeSubscription(parent, null, "Subscription", (Subscription)resource, -1); 27268 } else if (resource instanceof SubscriptionStatus) { 27269 composeSubscriptionStatus(parent, null, "SubscriptionStatus", (SubscriptionStatus)resource, -1); 27270 } else if (resource instanceof SubscriptionTopic) { 27271 composeSubscriptionTopic(parent, null, "SubscriptionTopic", (SubscriptionTopic)resource, -1); 27272 } else if (resource instanceof Substance) { 27273 composeSubstance(parent, null, "Substance", (Substance)resource, -1); 27274 } else if (resource instanceof SubstanceDefinition) { 27275 composeSubstanceDefinition(parent, null, "SubstanceDefinition", (SubstanceDefinition)resource, -1); 27276 } else if (resource instanceof SubstanceNucleicAcid) { 27277 composeSubstanceNucleicAcid(parent, null, "SubstanceNucleicAcid", (SubstanceNucleicAcid)resource, -1); 27278 } else if (resource instanceof SubstancePolymer) { 27279 composeSubstancePolymer(parent, null, "SubstancePolymer", (SubstancePolymer)resource, -1); 27280 } else if (resource instanceof SubstanceProtein) { 27281 composeSubstanceProtein(parent, null, "SubstanceProtein", (SubstanceProtein)resource, -1); 27282 } else if (resource instanceof SubstanceReferenceInformation) { 27283 composeSubstanceReferenceInformation(parent, null, "SubstanceReferenceInformation", (SubstanceReferenceInformation)resource, -1); 27284 } else if (resource instanceof SubstanceSourceMaterial) { 27285 composeSubstanceSourceMaterial(parent, null, "SubstanceSourceMaterial", (SubstanceSourceMaterial)resource, -1); 27286 } else if (resource instanceof SupplyDelivery) { 27287 composeSupplyDelivery(parent, null, "SupplyDelivery", (SupplyDelivery)resource, -1); 27288 } else if (resource instanceof SupplyRequest) { 27289 composeSupplyRequest(parent, null, "SupplyRequest", (SupplyRequest)resource, -1); 27290 } else if (resource instanceof Task) { 27291 composeTask(parent, null, "Task", (Task)resource, -1); 27292 } else if (resource instanceof TerminologyCapabilities) { 27293 composeTerminologyCapabilities(parent, null, "TerminologyCapabilities", (TerminologyCapabilities)resource, -1); 27294 } else if (resource instanceof TestReport) { 27295 composeTestReport(parent, null, "TestReport", (TestReport)resource, -1); 27296 } else if (resource instanceof TestScript) { 27297 composeTestScript(parent, null, "TestScript", (TestScript)resource, -1); 27298 } else if (resource instanceof Transport) { 27299 composeTransport(parent, null, "Transport", (Transport)resource, -1); 27300 } else if (resource instanceof ValueSet) { 27301 composeValueSet(parent, null, "ValueSet", (ValueSet)resource, -1); 27302 } else if (resource instanceof VerificationResult) { 27303 composeVerificationResult(parent, null, "VerificationResult", (VerificationResult)resource, -1); 27304 } else if (resource instanceof VisionPrescription) { 27305 composeVisionPrescription(parent, null, "VisionPrescription", (VisionPrescription)resource, -1); 27306 27307 } else { 27308 throw new Error("Unhandled resource type "+resource.getClass().getName()); 27309 } 27310 } 27311 27312 protected void composeType(Complex parent, String parentType, String name, DataType value, int index) { 27313 if (parent == null) { 27314 throw new Error("parent == null"); 27315 } else if (parentType == null) { 27316 throw new Error("parentType == null"); 27317 } else if (name == null) { 27318 throw new Error("name == null"); 27319 } else if (value == null) { 27320 throw new Error("value == null"); 27321 } else if (value instanceof DateType) { 27322 composeDate(parent, parentType, name, (DateType)value, index); 27323 } else if (value instanceof DateTimeType) { 27324 composeDateTime(parent, parentType, name, (DateTimeType)value, index); 27325 } else if (value instanceof CodeType) { 27326 composeCode(parent, parentType, name, (CodeType)value, index); 27327 } else if (value instanceof StringType) { 27328 composeString(parent, parentType, name, (StringType)value, index); 27329 } else if (value instanceof IntegerType) { 27330 composeInteger(parent, parentType, name, (IntegerType)value, index); 27331 } else if (value instanceof Integer64Type) { 27332 composeInteger64(parent, parentType, name, (Integer64Type)value, index); 27333 } else if (value instanceof OidType) { 27334 composeOid(parent, parentType, name, (OidType)value, index); 27335 } else if (value instanceof CanonicalType) { 27336 composeCanonical(parent, parentType, name, (CanonicalType)value, index); 27337 } else if (value instanceof UriType) { 27338 composeUri(parent, parentType, name, (UriType)value, index); 27339 } else if (value instanceof UuidType) { 27340 composeUuid(parent, parentType, name, (UuidType)value, index); 27341 } else if (value instanceof UrlType) { 27342 composeUrl(parent, parentType, name, (UrlType)value, index); 27343 } else if (value instanceof InstantType) { 27344 composeInstant(parent, parentType, name, (InstantType)value, index); 27345 } else if (value instanceof BooleanType) { 27346 composeBoolean(parent, parentType, name, (BooleanType)value, index); 27347 } else if (value instanceof Base64BinaryType) { 27348 composeBase64Binary(parent, parentType, name, (Base64BinaryType)value, index); 27349 } else if (value instanceof UnsignedIntType) { 27350 composeUnsignedInt(parent, parentType, name, (UnsignedIntType)value, index); 27351 } else if (value instanceof MarkdownType) { 27352 composeMarkdown(parent, parentType, name, (MarkdownType)value, index); 27353 } else if (value instanceof TimeType) { 27354 composeTime(parent, parentType, name, (TimeType)value, index); 27355 } else if (value instanceof IdType) { 27356 composeId(parent, parentType, name, (IdType)value, index); 27357 } else if (value instanceof PositiveIntType) { 27358 composePositiveInt(parent, parentType, name, (PositiveIntType)value, index); 27359 } else if (value instanceof DecimalType) { 27360 composeDecimal(parent, parentType, name, (DecimalType)value, index); 27361 } else if (value instanceof Address) { 27362 composeAddress(parent, parentType, name, (Address)value, index); 27363 } else if (value instanceof Age) { 27364 composeAge(parent, parentType, name, (Age)value, index); 27365 } else if (value instanceof Annotation) { 27366 composeAnnotation(parent, parentType, name, (Annotation)value, index); 27367 } else if (value instanceof Attachment) { 27368 composeAttachment(parent, parentType, name, (Attachment)value, index); 27369 } else if (value instanceof Availability) { 27370 composeAvailability(parent, parentType, name, (Availability)value, index); 27371 } else if (value instanceof CodeableConcept) { 27372 composeCodeableConcept(parent, parentType, name, (CodeableConcept)value, index); 27373 } else if (value instanceof CodeableReference) { 27374 composeCodeableReference(parent, parentType, name, (CodeableReference)value, index); 27375 } else if (value instanceof Coding) { 27376 composeCoding(parent, parentType, name, (Coding)value, index); 27377 } else if (value instanceof ContactDetail) { 27378 composeContactDetail(parent, parentType, name, (ContactDetail)value, index); 27379 } else if (value instanceof ContactPoint) { 27380 composeContactPoint(parent, parentType, name, (ContactPoint)value, index); 27381 } else if (value instanceof Contributor) { 27382 composeContributor(parent, parentType, name, (Contributor)value, index); 27383 } else if (value instanceof Count) { 27384 composeCount(parent, parentType, name, (Count)value, index); 27385 } else if (value instanceof DataRequirement) { 27386 composeDataRequirement(parent, parentType, name, (DataRequirement)value, index); 27387 } else if (value instanceof Distance) { 27388 composeDistance(parent, parentType, name, (Distance)value, index); 27389 } else if (value instanceof Dosage) { 27390 composeDosage(parent, parentType, name, (Dosage)value, index); 27391 } else if (value instanceof Duration) { 27392 composeDuration(parent, parentType, name, (Duration)value, index); 27393 } else if (value instanceof ElementDefinition) { 27394 composeElementDefinition(parent, parentType, name, (ElementDefinition)value, index); 27395 } else if (value instanceof Expression) { 27396 composeExpression(parent, parentType, name, (Expression)value, index); 27397 } else if (value instanceof ExtendedContactDetail) { 27398 composeExtendedContactDetail(parent, parentType, name, (ExtendedContactDetail)value, index); 27399 } else if (value instanceof Extension) { 27400 composeExtension(parent, parentType, name, (Extension)value, index); 27401 } else if (value instanceof HumanName) { 27402 composeHumanName(parent, parentType, name, (HumanName)value, index); 27403 } else if (value instanceof Identifier) { 27404 composeIdentifier(parent, parentType, name, (Identifier)value, index); 27405 } else if (value instanceof MarketingStatus) { 27406 composeMarketingStatus(parent, parentType, name, (MarketingStatus)value, index); 27407 } else if (value instanceof Meta) { 27408 composeMeta(parent, parentType, name, (Meta)value, index); 27409 } else if (value instanceof MonetaryComponent) { 27410 composeMonetaryComponent(parent, parentType, name, (MonetaryComponent)value, index); 27411 } else if (value instanceof Money) { 27412 composeMoney(parent, parentType, name, (Money)value, index); 27413 } else if (value instanceof Narrative) { 27414 composeNarrative(parent, parentType, name, (Narrative)value, index); 27415 } else if (value instanceof ParameterDefinition) { 27416 composeParameterDefinition(parent, parentType, name, (ParameterDefinition)value, index); 27417 } else if (value instanceof Period) { 27418 composePeriod(parent, parentType, name, (Period)value, index); 27419 } else if (value instanceof Population) { 27420 composePopulation(parent, parentType, name, (Population)value, index); 27421 } else if (value instanceof ProductShelfLife) { 27422 composeProductShelfLife(parent, parentType, name, (ProductShelfLife)value, index); 27423 } else if (value instanceof Quantity) { 27424 composeQuantity(parent, parentType, name, (Quantity)value, index); 27425 } else if (value instanceof Range) { 27426 composeRange(parent, parentType, name, (Range)value, index); 27427 } else if (value instanceof Ratio) { 27428 composeRatio(parent, parentType, name, (Ratio)value, index); 27429 } else if (value instanceof RatioRange) { 27430 composeRatioRange(parent, parentType, name, (RatioRange)value, index); 27431 } else if (value instanceof Reference) { 27432 composeReference(parent, parentType, name, (Reference)value, index); 27433 } else if (value instanceof RelatedArtifact) { 27434 composeRelatedArtifact(parent, parentType, name, (RelatedArtifact)value, index); 27435 } else if (value instanceof SampledData) { 27436 composeSampledData(parent, parentType, name, (SampledData)value, index); 27437 } else if (value instanceof Signature) { 27438 composeSignature(parent, parentType, name, (Signature)value, index); 27439 } else if (value instanceof Timing) { 27440 composeTiming(parent, parentType, name, (Timing)value, index); 27441 } else if (value instanceof TriggerDefinition) { 27442 composeTriggerDefinition(parent, parentType, name, (TriggerDefinition)value, index); 27443 } else if (value instanceof UsageContext) { 27444 composeUsageContext(parent, parentType, name, (UsageContext)value, index); 27445 } else if (value instanceof VirtualServiceDetail) { 27446 composeVirtualServiceDetail(parent, parentType, name, (VirtualServiceDetail)value, index); 27447 27448 } else { 27449 throw new Error("Unhandled type"); 27450 } 27451 } 27452 27453}