001package org.hl7.fhir.r4b.formats; 002 003// generated 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, \ 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this \ 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, \ 015 this list of conditions and the following disclaimer in the documentation \ 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 030 POSSIBILITY OF SUCH DAMAGE. 031 */ 032 033// Generated on Wed, Dec 29, 2021 07:58+1100 for FHIR v4.3.0-snapshot1 034 035 036 037import org.hl7.fhir.r4b.model.*; 038import org.hl7.fhir.r4b.model.Enumerations.FHIRVersion; 039import org.xmlpull.v1.*; 040import org.hl7.fhir.utilities.Utilities; 041import org.hl7.fhir.exceptions.FHIRFormatError; 042import org.hl7.fhir.exceptions.FHIRException; 043import java.io.IOException; 044 045public class XmlParser extends XmlParserBase { 046 047 public XmlParser() { 048 super(); 049 } 050 051 public XmlParser(boolean allowUnknownContent) { 052 super(); 053 setAllowUnknownContent(allowUnknownContent); 054 } 055 056 protected boolean parseBaseContent(int eventType, XmlPullParser xpp, Base res) throws XmlPullParserException, IOException, FHIRFormatError { 057 return false; 058 } 059 060 @SuppressWarnings("unchecked") 061 protected <E extends Enum<E>> Enumeration<E> parseEnumeration(XmlPullParser xpp, E item, EnumFactory e) throws XmlPullParserException, IOException, FHIRFormatError { 062 Enumeration<E> res = new Enumeration<E>(e); 063 parseElementAttributes(xpp, res); 064 res.setValue((E) e.fromCode(xpp.getAttributeValue(null, "value"))); 065 next(xpp); 066 int eventType = nextNoWhitespace(xpp); 067 while (eventType != XmlPullParser.END_TAG) { 068 if (!parseElementContent(eventType, xpp, res)) 069 unknownContent(xpp); 070 eventType = nextNoWhitespace(xpp); 071 } 072 next(xpp); 073 parseElementClose(res); 074 return res; 075 } 076 077 protected DateType parseDate(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 078 DateType res = new DateType(xpp.getAttributeValue(null, "value")); 079 parseElementAttributes(xpp, res); 080 next(xpp); 081 int eventType = nextNoWhitespace(xpp); 082 while (eventType != XmlPullParser.END_TAG) { 083 if (!parseElementContent(eventType, xpp, res)) 084 unknownContent(xpp); 085 eventType = nextNoWhitespace(xpp); 086 } 087 next(xpp); 088 parseElementClose(res); 089 return res; 090 } 091 092 protected DateTimeType parseDateTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 093 DateTimeType res = new DateTimeType(xpp.getAttributeValue(null, "value")); 094 parseElementAttributes(xpp, res); 095 next(xpp); 096 int eventType = nextNoWhitespace(xpp); 097 while (eventType != XmlPullParser.END_TAG) { 098 if (!parseElementContent(eventType, xpp, res)) 099 unknownContent(xpp); 100 eventType = nextNoWhitespace(xpp); 101 } 102 next(xpp); 103 parseElementClose(res); 104 return res; 105 } 106 107 protected CodeType parseCode(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 108 CodeType res = new CodeType(xpp.getAttributeValue(null, "value")); 109 parseElementAttributes(xpp, res); 110 next(xpp); 111 int eventType = nextNoWhitespace(xpp); 112 while (eventType != XmlPullParser.END_TAG) { 113 if (!parseElementContent(eventType, xpp, res)) 114 unknownContent(xpp); 115 eventType = nextNoWhitespace(xpp); 116 } 117 next(xpp); 118 parseElementClose(res); 119 return res; 120 } 121 122 protected StringType parseString(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 123 StringType res = new StringType(xpp.getAttributeValue(null, "value")); 124 parseElementAttributes(xpp, res); 125 next(xpp); 126 int eventType = nextNoWhitespace(xpp); 127 while (eventType != XmlPullParser.END_TAG) { 128 if (!parseElementContent(eventType, xpp, res)) 129 unknownContent(xpp); 130 eventType = nextNoWhitespace(xpp); 131 } 132 next(xpp); 133 parseElementClose(res); 134 return res; 135 } 136 137 protected IntegerType parseInteger(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 138 IntegerType res = new IntegerType(xpp.getAttributeValue(null, "value")); 139 parseElementAttributes(xpp, res); 140 next(xpp); 141 int eventType = nextNoWhitespace(xpp); 142 while (eventType != XmlPullParser.END_TAG) { 143 if (!parseElementContent(eventType, xpp, res)) 144 unknownContent(xpp); 145 eventType = nextNoWhitespace(xpp); 146 } 147 next(xpp); 148 parseElementClose(res); 149 return res; 150 } 151 152 protected Integer64Type parseInteger64(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 153 Integer64Type res = new Integer64Type(xpp.getAttributeValue(null, "value")); 154 parseElementAttributes(xpp, res); 155 next(xpp); 156 int eventType = nextNoWhitespace(xpp); 157 while (eventType != XmlPullParser.END_TAG) { 158 if (!parseElementContent(eventType, xpp, res)) 159 unknownContent(xpp); 160 eventType = nextNoWhitespace(xpp); 161 } 162 next(xpp); 163 parseElementClose(res); 164 return res; 165 } 166 167 protected OidType parseOid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 168 OidType res = new OidType(xpp.getAttributeValue(null, "value")); 169 parseElementAttributes(xpp, res); 170 next(xpp); 171 int eventType = nextNoWhitespace(xpp); 172 while (eventType != XmlPullParser.END_TAG) { 173 if (!parseElementContent(eventType, xpp, res)) 174 unknownContent(xpp); 175 eventType = nextNoWhitespace(xpp); 176 } 177 next(xpp); 178 parseElementClose(res); 179 return res; 180 } 181 182 protected CanonicalType parseCanonical(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 183 CanonicalType res = new CanonicalType(xpp.getAttributeValue(null, "value")); 184 parseElementAttributes(xpp, res); 185 next(xpp); 186 int eventType = nextNoWhitespace(xpp); 187 while (eventType != XmlPullParser.END_TAG) { 188 if (!parseElementContent(eventType, xpp, res)) 189 unknownContent(xpp); 190 eventType = nextNoWhitespace(xpp); 191 } 192 next(xpp); 193 parseElementClose(res); 194 return res; 195 } 196 197 protected UriType parseUri(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 198 UriType res = new UriType(xpp.getAttributeValue(null, "value")); 199 parseElementAttributes(xpp, res); 200 next(xpp); 201 int eventType = nextNoWhitespace(xpp); 202 while (eventType != XmlPullParser.END_TAG) { 203 if (!parseElementContent(eventType, xpp, res)) 204 unknownContent(xpp); 205 eventType = nextNoWhitespace(xpp); 206 } 207 next(xpp); 208 parseElementClose(res); 209 return res; 210 } 211 212 protected UuidType parseUuid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 213 UuidType res = new UuidType(xpp.getAttributeValue(null, "value")); 214 parseElementAttributes(xpp, res); 215 next(xpp); 216 int eventType = nextNoWhitespace(xpp); 217 while (eventType != XmlPullParser.END_TAG) { 218 if (!parseElementContent(eventType, xpp, res)) 219 unknownContent(xpp); 220 eventType = nextNoWhitespace(xpp); 221 } 222 next(xpp); 223 parseElementClose(res); 224 return res; 225 } 226 227 protected UrlType parseUrl(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 228 UrlType res = new UrlType(xpp.getAttributeValue(null, "value")); 229 parseElementAttributes(xpp, res); 230 next(xpp); 231 int eventType = nextNoWhitespace(xpp); 232 while (eventType != XmlPullParser.END_TAG) { 233 if (!parseElementContent(eventType, xpp, res)) 234 unknownContent(xpp); 235 eventType = nextNoWhitespace(xpp); 236 } 237 next(xpp); 238 parseElementClose(res); 239 return res; 240 } 241 242 protected InstantType parseInstant(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 243 InstantType res = new InstantType(xpp.getAttributeValue(null, "value")); 244 parseElementAttributes(xpp, res); 245 next(xpp); 246 int eventType = nextNoWhitespace(xpp); 247 while (eventType != XmlPullParser.END_TAG) { 248 if (!parseElementContent(eventType, xpp, res)) 249 unknownContent(xpp); 250 eventType = nextNoWhitespace(xpp); 251 } 252 next(xpp); 253 parseElementClose(res); 254 return res; 255 } 256 257 protected BooleanType parseBoolean(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 258 BooleanType res = new BooleanType(xpp.getAttributeValue(null, "value")); 259 parseElementAttributes(xpp, res); 260 next(xpp); 261 int eventType = nextNoWhitespace(xpp); 262 while (eventType != XmlPullParser.END_TAG) { 263 if (!parseElementContent(eventType, xpp, res)) 264 unknownContent(xpp); 265 eventType = nextNoWhitespace(xpp); 266 } 267 next(xpp); 268 parseElementClose(res); 269 return res; 270 } 271 272 protected Base64BinaryType parseBase64Binary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 273 Base64BinaryType res = new Base64BinaryType(xpp.getAttributeValue(null, "value")); 274 parseElementAttributes(xpp, res); 275 next(xpp); 276 int eventType = nextNoWhitespace(xpp); 277 while (eventType != XmlPullParser.END_TAG) { 278 if (!parseElementContent(eventType, xpp, res)) 279 unknownContent(xpp); 280 eventType = nextNoWhitespace(xpp); 281 } 282 next(xpp); 283 parseElementClose(res); 284 return res; 285 } 286 287 protected UnsignedIntType parseUnsignedInt(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 288 UnsignedIntType res = new UnsignedIntType(xpp.getAttributeValue(null, "value")); 289 parseElementAttributes(xpp, res); 290 next(xpp); 291 int eventType = nextNoWhitespace(xpp); 292 while (eventType != XmlPullParser.END_TAG) { 293 if (!parseElementContent(eventType, xpp, res)) 294 unknownContent(xpp); 295 eventType = nextNoWhitespace(xpp); 296 } 297 next(xpp); 298 parseElementClose(res); 299 return res; 300 } 301 302 protected MarkdownType parseMarkdown(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 303 MarkdownType res = new MarkdownType(xpp.getAttributeValue(null, "value")); 304 parseElementAttributes(xpp, res); 305 next(xpp); 306 int eventType = nextNoWhitespace(xpp); 307 while (eventType != XmlPullParser.END_TAG) { 308 if (!parseElementContent(eventType, xpp, res)) 309 unknownContent(xpp); 310 eventType = nextNoWhitespace(xpp); 311 } 312 next(xpp); 313 parseElementClose(res); 314 return res; 315 } 316 317 protected TimeType parseTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 318 TimeType res = new TimeType(xpp.getAttributeValue(null, "value")); 319 parseElementAttributes(xpp, res); 320 next(xpp); 321 int eventType = nextNoWhitespace(xpp); 322 while (eventType != XmlPullParser.END_TAG) { 323 if (!parseElementContent(eventType, xpp, res)) 324 unknownContent(xpp); 325 eventType = nextNoWhitespace(xpp); 326 } 327 next(xpp); 328 parseElementClose(res); 329 return res; 330 } 331 332 protected IdType parseId(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 333 IdType res = new IdType(xpp.getAttributeValue(null, "value")); 334 parseElementAttributes(xpp, res); 335 next(xpp); 336 int eventType = nextNoWhitespace(xpp); 337 while (eventType != XmlPullParser.END_TAG) { 338 if (!parseElementContent(eventType, xpp, res)) 339 unknownContent(xpp); 340 eventType = nextNoWhitespace(xpp); 341 } 342 next(xpp); 343 parseElementClose(res); 344 return res; 345 } 346 347 protected PositiveIntType parsePositiveInt(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 348 PositiveIntType res = new PositiveIntType(xpp.getAttributeValue(null, "value")); 349 parseElementAttributes(xpp, res); 350 next(xpp); 351 int eventType = nextNoWhitespace(xpp); 352 while (eventType != XmlPullParser.END_TAG) { 353 if (!parseElementContent(eventType, xpp, res)) 354 unknownContent(xpp); 355 eventType = nextNoWhitespace(xpp); 356 } 357 next(xpp); 358 parseElementClose(res); 359 return res; 360 } 361 362 protected DecimalType parseDecimal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 363 DecimalType res = new DecimalType(xpp.getAttributeValue(null, "value")); 364 parseElementAttributes(xpp, res); 365 next(xpp); 366 int eventType = nextNoWhitespace(xpp); 367 while (eventType != XmlPullParser.END_TAG) { 368 if (!parseElementContent(eventType, xpp, res)) 369 unknownContent(xpp); 370 eventType = nextNoWhitespace(xpp); 371 } 372 next(xpp); 373 parseElementClose(res); 374 return res; 375 } 376 377 protected boolean parseElementContent(int eventType, XmlPullParser xpp, Element res) throws XmlPullParserException, IOException, FHIRFormatError { 378 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) { 379 res.getExtension().add(parseExtension(xpp)); 380 } else { 381 return false; 382 } 383 return true; 384 } 385 386 protected boolean parseBackboneElementContent(int eventType, XmlPullParser xpp, BackboneElement res) throws XmlPullParserException, IOException, FHIRFormatError { 387 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) { 388 res.getModifierExtension().add(parseExtension(xpp)); 389 } else if (!parseDataTypeContent(eventType, xpp, res)){ 390 return false; 391 } 392 return true; 393 } 394 395 protected boolean parseDataTypeContent(int eventType, XmlPullParser xpp, DataType res) throws XmlPullParserException, IOException, FHIRFormatError { 396 if (!parseElementContent(eventType, xpp, res)){ 397 return false; 398 } 399 return true; 400 } 401 402 protected Address parseAddress(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 403 Address res = new Address(); 404 parseElementAttributes(xpp, res); 405 next(xpp); 406 int eventType = nextNoWhitespace(xpp); 407 while (eventType != XmlPullParser.END_TAG) { 408 if (!parseAddressContent(eventType, xpp, res)) 409 unknownContent(xpp); 410 eventType = nextNoWhitespace(xpp); 411 } 412 next(xpp); 413 parseElementClose(res); 414 return res; 415 } 416 417 protected boolean parseAddressContent(int eventType, XmlPullParser xpp, Address res) throws XmlPullParserException, IOException, FHIRFormatError { 418 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 419 res.setUseElement(parseEnumeration(xpp, Address.AddressUse.NULL, new Address.AddressUseEnumFactory())); 420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 421 res.setTypeElement(parseEnumeration(xpp, Address.AddressType.NULL, new Address.AddressTypeEnumFactory())); 422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 423 res.setTextElement(parseString(xpp)); 424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("line")) { 425 res.getLine().add(parseString(xpp)); 426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("city")) { 427 res.setCityElement(parseString(xpp)); 428 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("district")) { 429 res.setDistrictElement(parseString(xpp)); 430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 431 res.setStateElement(parseString(xpp)); 432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("postalCode")) { 433 res.setPostalCodeElement(parseString(xpp)); 434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 435 res.setCountryElement(parseString(xpp)); 436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 437 res.setPeriod(parsePeriod(xpp)); 438 } else if (!parseDataTypeContent(eventType, xpp, res)){ 439 return false; 440 } 441 return true; 442 } 443 444 protected Age parseAge(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 445 Age res = new Age(); 446 parseElementAttributes(xpp, res); 447 next(xpp); 448 int eventType = nextNoWhitespace(xpp); 449 while (eventType != XmlPullParser.END_TAG) { 450 if (!parseAgeContent(eventType, xpp, res)) 451 unknownContent(xpp); 452 eventType = nextNoWhitespace(xpp); 453 } 454 next(xpp); 455 parseElementClose(res); 456 return res; 457 } 458 459 protected boolean parseAgeContent(int eventType, XmlPullParser xpp, Age res) throws XmlPullParserException, IOException, FHIRFormatError { 460 if (!parseQuantityContent(eventType, xpp, res)){ 461 return false; 462 } 463 return true; 464 } 465 466 protected Annotation parseAnnotation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 467 Annotation res = new Annotation(); 468 parseElementAttributes(xpp, res); 469 next(xpp); 470 int eventType = nextNoWhitespace(xpp); 471 while (eventType != XmlPullParser.END_TAG) { 472 if (!parseAnnotationContent(eventType, xpp, res)) 473 unknownContent(xpp); 474 eventType = nextNoWhitespace(xpp); 475 } 476 next(xpp); 477 parseElementClose(res); 478 return res; 479 } 480 481 protected boolean parseAnnotationContent(int eventType, XmlPullParser xpp, Annotation res) throws XmlPullParserException, IOException, FHIRFormatError { 482 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "author")) { 483 res.setAuthor(parseType("author", xpp)); 484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 485 res.setTimeElement(parseDateTime(xpp)); 486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 487 res.setTextElement(parseMarkdown(xpp)); 488 } else if (!parseDataTypeContent(eventType, xpp, res)){ 489 return false; 490 } 491 return true; 492 } 493 494 protected Attachment parseAttachment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 495 Attachment res = new Attachment(); 496 parseElementAttributes(xpp, res); 497 next(xpp); 498 int eventType = nextNoWhitespace(xpp); 499 while (eventType != XmlPullParser.END_TAG) { 500 if (!parseAttachmentContent(eventType, xpp, res)) 501 unknownContent(xpp); 502 eventType = nextNoWhitespace(xpp); 503 } 504 next(xpp); 505 parseElementClose(res); 506 return res; 507 } 508 509 protected boolean parseAttachmentContent(int eventType, XmlPullParser xpp, Attachment res) throws XmlPullParserException, IOException, FHIRFormatError { 510 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 511 res.setContentTypeElement(parseCode(xpp)); 512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 513 res.setLanguageElement(parseCode(xpp)); 514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 515 res.setDataElement(parseBase64Binary(xpp)); 516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 517 res.setUrlElement(parseUrl(xpp)); 518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("size")) { 519 res.setSizeElement(parseUnsignedInt(xpp)); 520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hash")) { 521 res.setHashElement(parseBase64Binary(xpp)); 522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 523 res.setTitleElement(parseString(xpp)); 524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("creation")) { 525 res.setCreationElement(parseDateTime(xpp)); 526 } else if (!parseDataTypeContent(eventType, xpp, res)){ 527 return false; 528 } 529 return true; 530 } 531 532 protected CodeableConcept parseCodeableConcept(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 533 CodeableConcept res = new CodeableConcept(); 534 parseElementAttributes(xpp, res); 535 next(xpp); 536 int eventType = nextNoWhitespace(xpp); 537 while (eventType != XmlPullParser.END_TAG) { 538 if (!parseCodeableConceptContent(eventType, xpp, res)) 539 unknownContent(xpp); 540 eventType = nextNoWhitespace(xpp); 541 } 542 next(xpp); 543 parseElementClose(res); 544 return res; 545 } 546 547 protected boolean parseCodeableConceptContent(int eventType, XmlPullParser xpp, CodeableConcept res) throws XmlPullParserException, IOException, FHIRFormatError { 548 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coding")) { 549 res.getCoding().add(parseCoding(xpp)); 550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 551 res.setTextElement(parseString(xpp)); 552 } else if (!parseDataTypeContent(eventType, xpp, res)){ 553 return false; 554 } 555 return true; 556 } 557 558 protected CodeableReference parseCodeableReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 559 CodeableReference res = new CodeableReference(); 560 parseElementAttributes(xpp, res); 561 next(xpp); 562 int eventType = nextNoWhitespace(xpp); 563 while (eventType != XmlPullParser.END_TAG) { 564 if (!parseCodeableReferenceContent(eventType, xpp, res)) 565 unknownContent(xpp); 566 eventType = nextNoWhitespace(xpp); 567 } 568 next(xpp); 569 parseElementClose(res); 570 return res; 571 } 572 573 protected boolean parseCodeableReferenceContent(int eventType, XmlPullParser xpp, CodeableReference res) throws XmlPullParserException, IOException, FHIRFormatError { 574 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 575 res.setConcept(parseCodeableConcept(xpp)); 576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 577 res.setReference(parseReference(xpp)); 578 } else if (!parseDataTypeContent(eventType, xpp, res)){ 579 return false; 580 } 581 return true; 582 } 583 584 protected Coding parseCoding(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 585 Coding res = new Coding(); 586 parseElementAttributes(xpp, res); 587 next(xpp); 588 int eventType = nextNoWhitespace(xpp); 589 while (eventType != XmlPullParser.END_TAG) { 590 if (!parseCodingContent(eventType, xpp, res)) 591 unknownContent(xpp); 592 eventType = nextNoWhitespace(xpp); 593 } 594 next(xpp); 595 parseElementClose(res); 596 return res; 597 } 598 599 protected boolean parseCodingContent(int eventType, XmlPullParser xpp, Coding res) throws XmlPullParserException, IOException, FHIRFormatError { 600 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 601 res.setSystemElement(parseUri(xpp)); 602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 603 res.setVersionElement(parseString(xpp)); 604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 605 res.setCodeElement(parseCode(xpp)); 606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 607 res.setDisplayElement(parseString(xpp)); 608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userSelected")) { 609 res.setUserSelectedElement(parseBoolean(xpp)); 610 } else if (!parseDataTypeContent(eventType, xpp, res)){ 611 return false; 612 } 613 return true; 614 } 615 616 protected ContactDetail parseContactDetail(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 617 ContactDetail res = new ContactDetail(); 618 parseElementAttributes(xpp, res); 619 next(xpp); 620 int eventType = nextNoWhitespace(xpp); 621 while (eventType != XmlPullParser.END_TAG) { 622 if (!parseContactDetailContent(eventType, xpp, res)) 623 unknownContent(xpp); 624 eventType = nextNoWhitespace(xpp); 625 } 626 next(xpp); 627 parseElementClose(res); 628 return res; 629 } 630 631 protected boolean parseContactDetailContent(int eventType, XmlPullParser xpp, ContactDetail res) throws XmlPullParserException, IOException, FHIRFormatError { 632 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 633 res.setNameElement(parseString(xpp)); 634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 635 res.getTelecom().add(parseContactPoint(xpp)); 636 } else if (!parseDataTypeContent(eventType, xpp, res)){ 637 return false; 638 } 639 return true; 640 } 641 642 protected ContactPoint parseContactPoint(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 643 ContactPoint res = new ContactPoint(); 644 parseElementAttributes(xpp, res); 645 next(xpp); 646 int eventType = nextNoWhitespace(xpp); 647 while (eventType != XmlPullParser.END_TAG) { 648 if (!parseContactPointContent(eventType, xpp, res)) 649 unknownContent(xpp); 650 eventType = nextNoWhitespace(xpp); 651 } 652 next(xpp); 653 parseElementClose(res); 654 return res; 655 } 656 657 protected boolean parseContactPointContent(int eventType, XmlPullParser xpp, ContactPoint res) throws XmlPullParserException, IOException, FHIRFormatError { 658 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 659 res.setSystemElement(parseEnumeration(xpp, ContactPoint.ContactPointSystem.NULL, new ContactPoint.ContactPointSystemEnumFactory())); 660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 661 res.setValueElement(parseString(xpp)); 662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 663 res.setUseElement(parseEnumeration(xpp, ContactPoint.ContactPointUse.NULL, new ContactPoint.ContactPointUseEnumFactory())); 664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { 665 res.setRankElement(parsePositiveInt(xpp)); 666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 667 res.setPeriod(parsePeriod(xpp)); 668 } else if (!parseDataTypeContent(eventType, xpp, res)){ 669 return false; 670 } 671 return true; 672 } 673 674 protected Contributor parseContributor(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 675 Contributor res = new Contributor(); 676 parseElementAttributes(xpp, res); 677 next(xpp); 678 int eventType = nextNoWhitespace(xpp); 679 while (eventType != XmlPullParser.END_TAG) { 680 if (!parseContributorContent(eventType, xpp, res)) 681 unknownContent(xpp); 682 eventType = nextNoWhitespace(xpp); 683 } 684 next(xpp); 685 parseElementClose(res); 686 return res; 687 } 688 689 protected boolean parseContributorContent(int eventType, XmlPullParser xpp, Contributor res) throws XmlPullParserException, IOException, FHIRFormatError { 690 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 691 res.setTypeElement(parseEnumeration(xpp, Contributor.ContributorType.NULL, new Contributor.ContributorTypeEnumFactory())); 692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 693 res.setNameElement(parseString(xpp)); 694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 695 res.getContact().add(parseContactDetail(xpp)); 696 } else if (!parseDataTypeContent(eventType, xpp, res)){ 697 return false; 698 } 699 return true; 700 } 701 702 protected Count parseCount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 703 Count res = new Count(); 704 parseElementAttributes(xpp, res); 705 next(xpp); 706 int eventType = nextNoWhitespace(xpp); 707 while (eventType != XmlPullParser.END_TAG) { 708 if (!parseCountContent(eventType, xpp, res)) 709 unknownContent(xpp); 710 eventType = nextNoWhitespace(xpp); 711 } 712 next(xpp); 713 parseElementClose(res); 714 return res; 715 } 716 717 protected boolean parseCountContent(int eventType, XmlPullParser xpp, Count res) throws XmlPullParserException, IOException, FHIRFormatError { 718 if (!parseQuantityContent(eventType, xpp, res)){ 719 return false; 720 } 721 return true; 722 } 723 724 protected DataRequirement parseDataRequirement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 725 DataRequirement res = new DataRequirement(); 726 parseElementAttributes(xpp, res); 727 next(xpp); 728 int eventType = nextNoWhitespace(xpp); 729 while (eventType != XmlPullParser.END_TAG) { 730 if (!parseDataRequirementContent(eventType, xpp, res)) 731 unknownContent(xpp); 732 eventType = nextNoWhitespace(xpp); 733 } 734 next(xpp); 735 parseElementClose(res); 736 return res; 737 } 738 739 protected boolean parseDataRequirementContent(int eventType, XmlPullParser xpp, DataRequirement res) throws XmlPullParserException, IOException, FHIRFormatError { 740 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 741 res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); 742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 743 res.getProfile().add(parseCanonical(xpp)); 744 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 745 res.setSubject(parseType("subject", xpp)); 746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mustSupport")) { 747 res.getMustSupport().add(parseString(xpp)); 748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeFilter")) { 749 res.getCodeFilter().add(parseDataRequirementCodeFilterComponent(xpp)); 750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateFilter")) { 751 res.getDateFilter().add(parseDataRequirementDateFilterComponent(xpp)); 752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("limit")) { 753 res.setLimitElement(parsePositiveInt(xpp)); 754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sort")) { 755 res.getSort().add(parseDataRequirementSortComponent(xpp)); 756 } else if (!parseDataTypeContent(eventType, xpp, res)){ 757 return false; 758 } 759 return true; 760 } 761 762 protected DataRequirement.DataRequirementCodeFilterComponent parseDataRequirementCodeFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 763 DataRequirement.DataRequirementCodeFilterComponent res = new DataRequirement.DataRequirementCodeFilterComponent(); 764 parseElementAttributes(xpp, res); 765 next(xpp); 766 int eventType = nextNoWhitespace(xpp); 767 while (eventType != XmlPullParser.END_TAG) { 768 if (!parseDataRequirementCodeFilterComponentContent(eventType, xpp, res)) 769 unknownContent(xpp); 770 eventType = nextNoWhitespace(xpp); 771 } 772 next(xpp); 773 parseElementClose(res); 774 return res; 775 } 776 777 protected boolean parseDataRequirementCodeFilterComponentContent(int eventType, XmlPullParser xpp, DataRequirement.DataRequirementCodeFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 778 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 779 res.setPathElement(parseString(xpp)); 780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 781 res.setSearchParamElement(parseString(xpp)); 782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { 783 res.setValueSetElement(parseCanonical(xpp)); 784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 785 res.getCode().add(parseCoding(xpp)); 786 } else if (!parseElementContent(eventType, xpp, res)){ 787 return false; 788 } 789 return true; 790 } 791 792 protected DataRequirement.DataRequirementDateFilterComponent parseDataRequirementDateFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 793 DataRequirement.DataRequirementDateFilterComponent res = new DataRequirement.DataRequirementDateFilterComponent(); 794 parseElementAttributes(xpp, res); 795 next(xpp); 796 int eventType = nextNoWhitespace(xpp); 797 while (eventType != XmlPullParser.END_TAG) { 798 if (!parseDataRequirementDateFilterComponentContent(eventType, xpp, res)) 799 unknownContent(xpp); 800 eventType = nextNoWhitespace(xpp); 801 } 802 next(xpp); 803 parseElementClose(res); 804 return res; 805 } 806 807 protected boolean parseDataRequirementDateFilterComponentContent(int eventType, XmlPullParser xpp, DataRequirement.DataRequirementDateFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 808 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 809 res.setPathElement(parseString(xpp)); 810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 811 res.setSearchParamElement(parseString(xpp)); 812 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 813 res.setValue(parseType("value", xpp)); 814 } else if (!parseElementContent(eventType, xpp, res)){ 815 return false; 816 } 817 return true; 818 } 819 820 protected DataRequirement.DataRequirementSortComponent parseDataRequirementSortComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 821 DataRequirement.DataRequirementSortComponent res = new DataRequirement.DataRequirementSortComponent(); 822 parseElementAttributes(xpp, res); 823 next(xpp); 824 int eventType = nextNoWhitespace(xpp); 825 while (eventType != XmlPullParser.END_TAG) { 826 if (!parseDataRequirementSortComponentContent(eventType, xpp, res)) 827 unknownContent(xpp); 828 eventType = nextNoWhitespace(xpp); 829 } 830 next(xpp); 831 parseElementClose(res); 832 return res; 833 } 834 835 protected boolean parseDataRequirementSortComponentContent(int eventType, XmlPullParser xpp, DataRequirement.DataRequirementSortComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 836 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 837 res.setPathElement(parseString(xpp)); 838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("direction")) { 839 res.setDirectionElement(parseEnumeration(xpp, DataRequirement.SortDirection.NULL, new DataRequirement.SortDirectionEnumFactory())); 840 } else if (!parseElementContent(eventType, xpp, res)){ 841 return false; 842 } 843 return true; 844 } 845 846 protected Distance parseDistance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 847 Distance res = new Distance(); 848 parseElementAttributes(xpp, res); 849 next(xpp); 850 int eventType = nextNoWhitespace(xpp); 851 while (eventType != XmlPullParser.END_TAG) { 852 if (!parseDistanceContent(eventType, xpp, res)) 853 unknownContent(xpp); 854 eventType = nextNoWhitespace(xpp); 855 } 856 next(xpp); 857 parseElementClose(res); 858 return res; 859 } 860 861 protected boolean parseDistanceContent(int eventType, XmlPullParser xpp, Distance res) throws XmlPullParserException, IOException, FHIRFormatError { 862 if (!parseQuantityContent(eventType, xpp, res)){ 863 return false; 864 } 865 return true; 866 } 867 868 protected Dosage parseDosage(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 869 Dosage res = new Dosage(); 870 parseElementAttributes(xpp, res); 871 next(xpp); 872 int eventType = nextNoWhitespace(xpp); 873 while (eventType != XmlPullParser.END_TAG) { 874 if (!parseDosageContent(eventType, xpp, res)) 875 unknownContent(xpp); 876 eventType = nextNoWhitespace(xpp); 877 } 878 next(xpp); 879 parseElementClose(res); 880 return res; 881 } 882 883 protected boolean parseDosageContent(int eventType, XmlPullParser xpp, Dosage res) throws XmlPullParserException, IOException, FHIRFormatError { 884 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 885 res.setSequenceElement(parseInteger(xpp)); 886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 887 res.setTextElement(parseString(xpp)); 888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInstruction")) { 889 res.getAdditionalInstruction().add(parseCodeableConcept(xpp)); 890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientInstruction")) { 891 res.setPatientInstructionElement(parseString(xpp)); 892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 893 res.setTiming(parseTiming(xpp)); 894 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 895 res.setAsNeeded(parseType("asNeeded", xpp)); 896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 897 res.setSite(parseCodeableConcept(xpp)); 898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 899 res.setRoute(parseCodeableConcept(xpp)); 900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 901 res.setMethod(parseCodeableConcept(xpp)); 902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseAndRate")) { 903 res.getDoseAndRate().add(parseDosageDoseAndRateComponent(xpp)); 904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 905 res.setMaxDosePerPeriod(parseRatio(xpp)); 906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerAdministration")) { 907 res.setMaxDosePerAdministration(parseQuantity(xpp)); 908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerLifetime")) { 909 res.setMaxDosePerLifetime(parseQuantity(xpp)); 910 } else if (!parseDataTypeContent(eventType, xpp, res)){ 911 return false; 912 } 913 return true; 914 } 915 916 protected Dosage.DosageDoseAndRateComponent parseDosageDoseAndRateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 917 Dosage.DosageDoseAndRateComponent res = new Dosage.DosageDoseAndRateComponent(); 918 parseElementAttributes(xpp, res); 919 next(xpp); 920 int eventType = nextNoWhitespace(xpp); 921 while (eventType != XmlPullParser.END_TAG) { 922 if (!parseDosageDoseAndRateComponentContent(eventType, xpp, res)) 923 unknownContent(xpp); 924 eventType = nextNoWhitespace(xpp); 925 } 926 next(xpp); 927 parseElementClose(res); 928 return res; 929 } 930 931 protected boolean parseDosageDoseAndRateComponentContent(int eventType, XmlPullParser xpp, Dosage.DosageDoseAndRateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 932 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 933 res.setType(parseCodeableConcept(xpp)); 934 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "dose")) { 935 res.setDose(parseType("dose", xpp)); 936 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 937 res.setRate(parseType("rate", xpp)); 938 } else if (!parseElementContent(eventType, xpp, res)){ 939 return false; 940 } 941 return true; 942 } 943 944 protected Duration parseDuration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 945 Duration res = new Duration(); 946 parseElementAttributes(xpp, res); 947 next(xpp); 948 int eventType = nextNoWhitespace(xpp); 949 while (eventType != XmlPullParser.END_TAG) { 950 if (!parseDurationContent(eventType, xpp, res)) 951 unknownContent(xpp); 952 eventType = nextNoWhitespace(xpp); 953 } 954 next(xpp); 955 parseElementClose(res); 956 return res; 957 } 958 959 protected boolean parseDurationContent(int eventType, XmlPullParser xpp, Duration res) throws XmlPullParserException, IOException, FHIRFormatError { 960 if (!parseQuantityContent(eventType, xpp, res)){ 961 return false; 962 } 963 return true; 964 } 965 966 protected ElementDefinition parseElementDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 967 ElementDefinition res = new ElementDefinition(); 968 parseElementAttributes(xpp, res); 969 next(xpp); 970 int eventType = nextNoWhitespace(xpp); 971 while (eventType != XmlPullParser.END_TAG) { 972 if (!parseElementDefinitionContent(eventType, xpp, res)) 973 unknownContent(xpp); 974 eventType = nextNoWhitespace(xpp); 975 } 976 next(xpp); 977 parseElementClose(res); 978 return res; 979 } 980 981 protected boolean parseElementDefinitionContent(int eventType, XmlPullParser xpp, ElementDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 982 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 983 res.setPathElement(parseString(xpp)); 984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("representation")) { 985 res.getRepresentation().add(parseEnumeration(xpp, ElementDefinition.PropertyRepresentation.NULL, new ElementDefinition.PropertyRepresentationEnumFactory())); 986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sliceName")) { 987 res.setSliceNameElement(parseString(xpp)); 988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sliceIsConstraining")) { 989 res.setSliceIsConstrainingElement(parseBoolean(xpp)); 990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 991 res.setLabelElement(parseString(xpp)); 992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 993 res.getCode().add(parseCoding(xpp)); 994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slicing")) { 995 res.setSlicing(parseElementDefinitionSlicingComponent(xpp)); 996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("short")) { 997 res.setShortElement(parseString(xpp)); 998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 999 res.setDefinitionElement(parseMarkdown(xpp)); 1000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1001 res.setCommentElement(parseMarkdown(xpp)); 1002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1003 res.setRequirementsElement(parseMarkdown(xpp)); 1004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 1005 res.getAlias().add(parseString(xpp)); 1006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1007 res.setMinElement(parseUnsignedInt(xpp)); 1008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1009 res.setMaxElement(parseString(xpp)); 1010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 1011 res.setBase(parseElementDefinitionBaseComponent(xpp)); 1012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentReference")) { 1013 res.setContentReferenceElement(parseUri(xpp)); 1014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1015 res.getType().add(parseElementDefinitionTypeRefComponent(xpp)); 1016 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "defaultValue")) { 1017 res.setDefaultValue(parseType("defaultValue", xpp)); 1018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaningWhenMissing")) { 1019 res.setMeaningWhenMissingElement(parseMarkdown(xpp)); 1020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderMeaning")) { 1021 res.setOrderMeaningElement(parseString(xpp)); 1022 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "fixed")) { 1023 res.setFixed(parseType("fixed", xpp)); 1024 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "pattern")) { 1025 res.setPattern(parseType("pattern", xpp)); 1026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("example")) { 1027 res.getExample().add(parseElementDefinitionExampleComponent(xpp)); 1028 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "minValue")) { 1029 res.setMinValue(parseType("minValue", xpp)); 1030 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "maxValue")) { 1031 res.setMaxValue(parseType("maxValue", xpp)); 1032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxLength")) { 1033 res.setMaxLengthElement(parseInteger(xpp)); 1034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 1035 res.getCondition().add(parseId(xpp)); 1036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constraint")) { 1037 res.getConstraint().add(parseElementDefinitionConstraintComponent(xpp)); 1038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mustSupport")) { 1039 res.setMustSupportElement(parseBoolean(xpp)); 1040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isModifier")) { 1041 res.setIsModifierElement(parseBoolean(xpp)); 1042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isModifierReason")) { 1043 res.setIsModifierReasonElement(parseString(xpp)); 1044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isSummary")) { 1045 res.setIsSummaryElement(parseBoolean(xpp)); 1046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 1047 res.setBinding(parseElementDefinitionBindingComponent(xpp)); 1048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 1049 res.getMapping().add(parseElementDefinitionMappingComponent(xpp)); 1050 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1051 return false; 1052 } 1053 return true; 1054 } 1055 1056 protected ElementDefinition.ElementDefinitionSlicingComponent parseElementDefinitionSlicingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1057 ElementDefinition.ElementDefinitionSlicingComponent res = new ElementDefinition.ElementDefinitionSlicingComponent(); 1058 parseElementAttributes(xpp, res); 1059 next(xpp); 1060 int eventType = nextNoWhitespace(xpp); 1061 while (eventType != XmlPullParser.END_TAG) { 1062 if (!parseElementDefinitionSlicingComponentContent(eventType, xpp, res)) 1063 unknownContent(xpp); 1064 eventType = nextNoWhitespace(xpp); 1065 } 1066 next(xpp); 1067 parseElementClose(res); 1068 return res; 1069 } 1070 1071 protected boolean parseElementDefinitionSlicingComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionSlicingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1072 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("discriminator")) { 1073 res.getDiscriminator().add(parseElementDefinitionSlicingDiscriminatorComponent(xpp)); 1074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1075 res.setDescriptionElement(parseString(xpp)); 1076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ordered")) { 1077 res.setOrderedElement(parseBoolean(xpp)); 1078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rules")) { 1079 res.setRulesElement(parseEnumeration(xpp, ElementDefinition.SlicingRules.NULL, new ElementDefinition.SlicingRulesEnumFactory())); 1080 } else if (!parseElementContent(eventType, xpp, res)){ 1081 return false; 1082 } 1083 return true; 1084 } 1085 1086 protected ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent parseElementDefinitionSlicingDiscriminatorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1087 ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent res = new ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent(); 1088 parseElementAttributes(xpp, res); 1089 next(xpp); 1090 int eventType = nextNoWhitespace(xpp); 1091 while (eventType != XmlPullParser.END_TAG) { 1092 if (!parseElementDefinitionSlicingDiscriminatorComponentContent(eventType, xpp, res)) 1093 unknownContent(xpp); 1094 eventType = nextNoWhitespace(xpp); 1095 } 1096 next(xpp); 1097 parseElementClose(res); 1098 return res; 1099 } 1100 1101 protected boolean parseElementDefinitionSlicingDiscriminatorComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1102 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1103 res.setTypeElement(parseEnumeration(xpp, ElementDefinition.DiscriminatorType.NULL, new ElementDefinition.DiscriminatorTypeEnumFactory())); 1104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1105 res.setPathElement(parseString(xpp)); 1106 } else if (!parseElementContent(eventType, xpp, res)){ 1107 return false; 1108 } 1109 return true; 1110 } 1111 1112 protected ElementDefinition.ElementDefinitionBaseComponent parseElementDefinitionBaseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1113 ElementDefinition.ElementDefinitionBaseComponent res = new ElementDefinition.ElementDefinitionBaseComponent(); 1114 parseElementAttributes(xpp, res); 1115 next(xpp); 1116 int eventType = nextNoWhitespace(xpp); 1117 while (eventType != XmlPullParser.END_TAG) { 1118 if (!parseElementDefinitionBaseComponentContent(eventType, xpp, res)) 1119 unknownContent(xpp); 1120 eventType = nextNoWhitespace(xpp); 1121 } 1122 next(xpp); 1123 parseElementClose(res); 1124 return res; 1125 } 1126 1127 protected boolean parseElementDefinitionBaseComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionBaseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1128 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1129 res.setPathElement(parseString(xpp)); 1130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1131 res.setMinElement(parseUnsignedInt(xpp)); 1132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1133 res.setMaxElement(parseString(xpp)); 1134 } else if (!parseElementContent(eventType, xpp, res)){ 1135 return false; 1136 } 1137 return true; 1138 } 1139 1140 protected ElementDefinition.TypeRefComponent parseElementDefinitionTypeRefComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1141 ElementDefinition.TypeRefComponent res = new ElementDefinition.TypeRefComponent(); 1142 parseElementAttributes(xpp, res); 1143 next(xpp); 1144 int eventType = nextNoWhitespace(xpp); 1145 while (eventType != XmlPullParser.END_TAG) { 1146 if (!parseElementDefinitionTypeRefComponentContent(eventType, xpp, res)) 1147 unknownContent(xpp); 1148 eventType = nextNoWhitespace(xpp); 1149 } 1150 next(xpp); 1151 parseElementClose(res); 1152 return res; 1153 } 1154 1155 protected boolean parseElementDefinitionTypeRefComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.TypeRefComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1156 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1157 res.setCodeElement(parseUri(xpp)); 1158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 1159 res.getProfile().add(parseCanonical(xpp)); 1160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetProfile")) { 1161 res.getTargetProfile().add(parseCanonical(xpp)); 1162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("aggregation")) { 1163 res.getAggregation().add(parseEnumeration(xpp, ElementDefinition.AggregationMode.NULL, new ElementDefinition.AggregationModeEnumFactory())); 1164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versioning")) { 1165 res.setVersioningElement(parseEnumeration(xpp, ElementDefinition.ReferenceVersionRules.NULL, new ElementDefinition.ReferenceVersionRulesEnumFactory())); 1166 } else if (!parseElementContent(eventType, xpp, res)){ 1167 return false; 1168 } 1169 return true; 1170 } 1171 1172 protected ElementDefinition.ElementDefinitionExampleComponent parseElementDefinitionExampleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1173 ElementDefinition.ElementDefinitionExampleComponent res = new ElementDefinition.ElementDefinitionExampleComponent(); 1174 parseElementAttributes(xpp, res); 1175 next(xpp); 1176 int eventType = nextNoWhitespace(xpp); 1177 while (eventType != XmlPullParser.END_TAG) { 1178 if (!parseElementDefinitionExampleComponentContent(eventType, xpp, res)) 1179 unknownContent(xpp); 1180 eventType = nextNoWhitespace(xpp); 1181 } 1182 next(xpp); 1183 parseElementClose(res); 1184 return res; 1185 } 1186 1187 protected boolean parseElementDefinitionExampleComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionExampleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1188 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 1189 res.setLabelElement(parseString(xpp)); 1190 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 1191 res.setValue(parseType("value", xpp)); 1192 } else if (!parseElementContent(eventType, xpp, res)){ 1193 return false; 1194 } 1195 return true; 1196 } 1197 1198 protected ElementDefinition.ElementDefinitionConstraintComponent parseElementDefinitionConstraintComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1199 ElementDefinition.ElementDefinitionConstraintComponent res = new ElementDefinition.ElementDefinitionConstraintComponent(); 1200 parseElementAttributes(xpp, res); 1201 next(xpp); 1202 int eventType = nextNoWhitespace(xpp); 1203 while (eventType != XmlPullParser.END_TAG) { 1204 if (!parseElementDefinitionConstraintComponentContent(eventType, xpp, res)) 1205 unknownContent(xpp); 1206 eventType = nextNoWhitespace(xpp); 1207 } 1208 next(xpp); 1209 parseElementClose(res); 1210 return res; 1211 } 1212 1213 protected boolean parseElementDefinitionConstraintComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionConstraintComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1214 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { 1215 res.setKeyElement(parseId(xpp)); 1216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1217 res.setRequirementsElement(parseString(xpp)); 1218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 1219 res.setSeverityElement(parseEnumeration(xpp, ElementDefinition.ConstraintSeverity.NULL, new ElementDefinition.ConstraintSeverityEnumFactory())); 1220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("human")) { 1221 res.setHumanElement(parseString(xpp)); 1222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 1223 res.setExpressionElement(parseString(xpp)); 1224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 1225 res.setXpathElement(parseString(xpp)); 1226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 1227 res.setSourceElement(parseCanonical(xpp)); 1228 } else if (!parseElementContent(eventType, xpp, res)){ 1229 return false; 1230 } 1231 return true; 1232 } 1233 1234 protected ElementDefinition.ElementDefinitionBindingComponent parseElementDefinitionBindingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1235 ElementDefinition.ElementDefinitionBindingComponent res = new ElementDefinition.ElementDefinitionBindingComponent(); 1236 parseElementAttributes(xpp, res); 1237 next(xpp); 1238 int eventType = nextNoWhitespace(xpp); 1239 while (eventType != XmlPullParser.END_TAG) { 1240 if (!parseElementDefinitionBindingComponentContent(eventType, xpp, res)) 1241 unknownContent(xpp); 1242 eventType = nextNoWhitespace(xpp); 1243 } 1244 next(xpp); 1245 parseElementClose(res); 1246 return res; 1247 } 1248 1249 protected boolean parseElementDefinitionBindingComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionBindingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1250 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 1251 res.setStrengthElement(parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 1252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1253 res.setDescriptionElement(parseString(xpp)); 1254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { 1255 res.setValueSetElement(parseCanonical(xpp)); 1256 } else if (!parseElementContent(eventType, xpp, res)){ 1257 return false; 1258 } 1259 return true; 1260 } 1261 1262 protected ElementDefinition.ElementDefinitionMappingComponent parseElementDefinitionMappingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1263 ElementDefinition.ElementDefinitionMappingComponent res = new ElementDefinition.ElementDefinitionMappingComponent(); 1264 parseElementAttributes(xpp, res); 1265 next(xpp); 1266 int eventType = nextNoWhitespace(xpp); 1267 while (eventType != XmlPullParser.END_TAG) { 1268 if (!parseElementDefinitionMappingComponentContent(eventType, xpp, res)) 1269 unknownContent(xpp); 1270 eventType = nextNoWhitespace(xpp); 1271 } 1272 next(xpp); 1273 parseElementClose(res); 1274 return res; 1275 } 1276 1277 protected boolean parseElementDefinitionMappingComponentContent(int eventType, XmlPullParser xpp, ElementDefinition.ElementDefinitionMappingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1278 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 1279 res.setIdentityElement(parseId(xpp)); 1280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1281 res.setLanguageElement(parseCode(xpp)); 1282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("map")) { 1283 res.setMapElement(parseString(xpp)); 1284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1285 res.setCommentElement(parseString(xpp)); 1286 } else if (!parseElementContent(eventType, xpp, res)){ 1287 return false; 1288 } 1289 return true; 1290 } 1291 1292 protected Expression parseExpression(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1293 Expression res = new Expression(); 1294 parseElementAttributes(xpp, res); 1295 next(xpp); 1296 int eventType = nextNoWhitespace(xpp); 1297 while (eventType != XmlPullParser.END_TAG) { 1298 if (!parseExpressionContent(eventType, xpp, res)) 1299 unknownContent(xpp); 1300 eventType = nextNoWhitespace(xpp); 1301 } 1302 next(xpp); 1303 parseElementClose(res); 1304 return res; 1305 } 1306 1307 protected boolean parseExpressionContent(int eventType, XmlPullParser xpp, Expression res) throws XmlPullParserException, IOException, FHIRFormatError { 1308 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1309 res.setDescriptionElement(parseString(xpp)); 1310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1311 res.setNameElement(parseId(xpp)); 1312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1313 res.setLanguageElement(parseCode(xpp)); 1314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 1315 res.setExpressionElement(parseString(xpp)); 1316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1317 res.setReferenceElement(parseUri(xpp)); 1318 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1319 return false; 1320 } 1321 return true; 1322 } 1323 1324 protected Extension parseExtension(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1325 Extension res = new Extension(); 1326 parseElementAttributes(xpp, res); 1327 if (xpp.getAttributeValue(null, "url") != null) 1328 res.setUrl(xpp.getAttributeValue(null, "url")); 1329 next(xpp); 1330 int eventType = nextNoWhitespace(xpp); 1331 while (eventType != XmlPullParser.END_TAG) { 1332 if (!parseExtensionContent(eventType, xpp, res)) 1333 unknownContent(xpp); 1334 eventType = nextNoWhitespace(xpp); 1335 } 1336 next(xpp); 1337 parseElementClose(res); 1338 return res; 1339 } 1340 1341 protected boolean parseExtensionContent(int eventType, XmlPullParser xpp, Extension res) throws XmlPullParserException, IOException, FHIRFormatError { 1342 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 1343 res.setValue(parseType("value", xpp)); 1344 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1345 return false; 1346 } 1347 return true; 1348 } 1349 1350 protected HumanName parseHumanName(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1351 HumanName res = new HumanName(); 1352 parseElementAttributes(xpp, res); 1353 next(xpp); 1354 int eventType = nextNoWhitespace(xpp); 1355 while (eventType != XmlPullParser.END_TAG) { 1356 if (!parseHumanNameContent(eventType, xpp, res)) 1357 unknownContent(xpp); 1358 eventType = nextNoWhitespace(xpp); 1359 } 1360 next(xpp); 1361 parseElementClose(res); 1362 return res; 1363 } 1364 1365 protected boolean parseHumanNameContent(int eventType, XmlPullParser xpp, HumanName res) throws XmlPullParserException, IOException, FHIRFormatError { 1366 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 1367 res.setUseElement(parseEnumeration(xpp, HumanName.NameUse.NULL, new HumanName.NameUseEnumFactory())); 1368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 1369 res.setTextElement(parseString(xpp)); 1370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("family")) { 1371 res.setFamilyElement(parseString(xpp)); 1372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("given")) { 1373 res.getGiven().add(parseString(xpp)); 1374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 1375 res.getPrefix().add(parseString(xpp)); 1376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suffix")) { 1377 res.getSuffix().add(parseString(xpp)); 1378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 1379 res.setPeriod(parsePeriod(xpp)); 1380 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1381 return false; 1382 } 1383 return true; 1384 } 1385 1386 protected Identifier parseIdentifier(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1387 Identifier res = new Identifier(); 1388 parseElementAttributes(xpp, res); 1389 next(xpp); 1390 int eventType = nextNoWhitespace(xpp); 1391 while (eventType != XmlPullParser.END_TAG) { 1392 if (!parseIdentifierContent(eventType, xpp, res)) 1393 unknownContent(xpp); 1394 eventType = nextNoWhitespace(xpp); 1395 } 1396 next(xpp); 1397 parseElementClose(res); 1398 return res; 1399 } 1400 1401 protected boolean parseIdentifierContent(int eventType, XmlPullParser xpp, Identifier res) throws XmlPullParserException, IOException, FHIRFormatError { 1402 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 1403 res.setUseElement(parseEnumeration(xpp, Identifier.IdentifierUse.NULL, new Identifier.IdentifierUseEnumFactory())); 1404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1405 res.setType(parseCodeableConcept(xpp)); 1406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 1407 res.setSystemElement(parseUri(xpp)); 1408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 1409 res.setValueElement(parseString(xpp)); 1410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 1411 res.setPeriod(parsePeriod(xpp)); 1412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assigner")) { 1413 res.setAssigner(parseReference(xpp)); 1414 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1415 return false; 1416 } 1417 return true; 1418 } 1419 1420 protected MarketingStatus parseMarketingStatus(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1421 MarketingStatus res = new MarketingStatus(); 1422 parseElementAttributes(xpp, res); 1423 next(xpp); 1424 int eventType = nextNoWhitespace(xpp); 1425 while (eventType != XmlPullParser.END_TAG) { 1426 if (!parseMarketingStatusContent(eventType, xpp, res)) 1427 unknownContent(xpp); 1428 eventType = nextNoWhitespace(xpp); 1429 } 1430 next(xpp); 1431 parseElementClose(res); 1432 return res; 1433 } 1434 1435 protected boolean parseMarketingStatusContent(int eventType, XmlPullParser xpp, MarketingStatus res) throws XmlPullParserException, IOException, FHIRFormatError { 1436 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 1437 res.setCountry(parseCodeableConcept(xpp)); 1438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 1439 res.setJurisdiction(parseCodeableConcept(xpp)); 1440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1441 res.setStatus(parseCodeableConcept(xpp)); 1442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateRange")) { 1443 res.setDateRange(parsePeriod(xpp)); 1444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("restoreDate")) { 1445 res.setRestoreDateElement(parseDateTime(xpp)); 1446 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1447 return false; 1448 } 1449 return true; 1450 } 1451 1452 protected Meta parseMeta(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1453 Meta res = new Meta(); 1454 parseElementAttributes(xpp, res); 1455 next(xpp); 1456 int eventType = nextNoWhitespace(xpp); 1457 while (eventType != XmlPullParser.END_TAG) { 1458 if (!parseMetaContent(eventType, xpp, res)) 1459 unknownContent(xpp); 1460 eventType = nextNoWhitespace(xpp); 1461 } 1462 next(xpp); 1463 parseElementClose(res); 1464 return res; 1465 } 1466 1467 protected boolean parseMetaContent(int eventType, XmlPullParser xpp, Meta res) throws XmlPullParserException, IOException, FHIRFormatError { 1468 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { 1469 res.setVersionIdElement(parseId(xpp)); 1470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastUpdated")) { 1471 res.setLastUpdatedElement(parseInstant(xpp)); 1472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 1473 res.setSourceElement(parseUri(xpp)); 1474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 1475 res.getProfile().add(parseCanonical(xpp)); 1476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 1477 res.getSecurity().add(parseCoding(xpp)); 1478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tag")) { 1479 res.getTag().add(parseCoding(xpp)); 1480 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1481 return false; 1482 } 1483 return true; 1484 } 1485 1486 protected Money parseMoney(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1487 Money res = new Money(); 1488 parseElementAttributes(xpp, res); 1489 next(xpp); 1490 int eventType = nextNoWhitespace(xpp); 1491 while (eventType != XmlPullParser.END_TAG) { 1492 if (!parseMoneyContent(eventType, xpp, res)) 1493 unknownContent(xpp); 1494 eventType = nextNoWhitespace(xpp); 1495 } 1496 next(xpp); 1497 parseElementClose(res); 1498 return res; 1499 } 1500 1501 protected boolean parseMoneyContent(int eventType, XmlPullParser xpp, Money res) throws XmlPullParserException, IOException, FHIRFormatError { 1502 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 1503 res.setValueElement(parseDecimal(xpp)); 1504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currency")) { 1505 res.setCurrencyElement(parseCode(xpp)); 1506 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1507 return false; 1508 } 1509 return true; 1510 } 1511 1512 protected Narrative parseNarrative(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1513 Narrative res = new Narrative(); 1514 parseElementAttributes(xpp, res); 1515 next(xpp); 1516 int eventType = nextNoWhitespace(xpp); 1517 while (eventType != XmlPullParser.END_TAG) { 1518 if (!parseNarrativeContent(eventType, xpp, res)) 1519 unknownContent(xpp); 1520 eventType = nextNoWhitespace(xpp); 1521 } 1522 next(xpp); 1523 parseElementClose(res); 1524 return res; 1525 } 1526 1527 protected boolean parseNarrativeContent(int eventType, XmlPullParser xpp, Narrative res) throws XmlPullParserException, IOException, FHIRFormatError { 1528 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1529 res.setStatusElement(parseEnumeration(xpp, Narrative.NarrativeStatus.NULL, new Narrative.NarrativeStatusEnumFactory())); 1530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("div")) { 1531 res.setDiv(parseXhtml(xpp)); 1532 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1533 return false; 1534 } 1535 return true; 1536 } 1537 1538 protected ParameterDefinition parseParameterDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1539 ParameterDefinition res = new ParameterDefinition(); 1540 parseElementAttributes(xpp, res); 1541 next(xpp); 1542 int eventType = nextNoWhitespace(xpp); 1543 while (eventType != XmlPullParser.END_TAG) { 1544 if (!parseParameterDefinitionContent(eventType, xpp, res)) 1545 unknownContent(xpp); 1546 eventType = nextNoWhitespace(xpp); 1547 } 1548 next(xpp); 1549 parseElementClose(res); 1550 return res; 1551 } 1552 1553 protected boolean parseParameterDefinitionContent(int eventType, XmlPullParser xpp, ParameterDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 1554 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1555 res.setNameElement(parseCode(xpp)); 1556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 1557 res.setUseElement(parseEnumeration(xpp, Enumerations.OperationParameterUse.NULL, new Enumerations.OperationParameterUseEnumFactory())); 1558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1559 res.setMinElement(parseInteger(xpp)); 1560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1561 res.setMaxElement(parseString(xpp)); 1562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 1563 res.setDocumentationElement(parseString(xpp)); 1564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1565 res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); 1566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 1567 res.setProfileElement(parseCanonical(xpp)); 1568 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1569 return false; 1570 } 1571 return true; 1572 } 1573 1574 protected Period parsePeriod(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1575 Period res = new Period(); 1576 parseElementAttributes(xpp, res); 1577 next(xpp); 1578 int eventType = nextNoWhitespace(xpp); 1579 while (eventType != XmlPullParser.END_TAG) { 1580 if (!parsePeriodContent(eventType, xpp, res)) 1581 unknownContent(xpp); 1582 eventType = nextNoWhitespace(xpp); 1583 } 1584 next(xpp); 1585 parseElementClose(res); 1586 return res; 1587 } 1588 1589 protected boolean parsePeriodContent(int eventType, XmlPullParser xpp, Period res) throws XmlPullParserException, IOException, FHIRFormatError { 1590 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 1591 res.setStartElement(parseDateTime(xpp)); 1592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 1593 res.setEndElement(parseDateTime(xpp)); 1594 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1595 return false; 1596 } 1597 return true; 1598 } 1599 1600 protected Population parsePopulation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1601 Population res = new Population(); 1602 parseElementAttributes(xpp, res); 1603 next(xpp); 1604 int eventType = nextNoWhitespace(xpp); 1605 while (eventType != XmlPullParser.END_TAG) { 1606 if (!parsePopulationContent(eventType, xpp, res)) 1607 unknownContent(xpp); 1608 eventType = nextNoWhitespace(xpp); 1609 } 1610 next(xpp); 1611 parseElementClose(res); 1612 return res; 1613 } 1614 1615 protected boolean parsePopulationContent(int eventType, XmlPullParser xpp, Population res) throws XmlPullParserException, IOException, FHIRFormatError { 1616 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "age")) { 1617 res.setAge(parseType("age", xpp)); 1618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 1619 res.setGender(parseCodeableConcept(xpp)); 1620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("race")) { 1621 res.setRace(parseCodeableConcept(xpp)); 1622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physiologicalCondition")) { 1623 res.setPhysiologicalCondition(parseCodeableConcept(xpp)); 1624 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1625 return false; 1626 } 1627 return true; 1628 } 1629 1630 protected ProdCharacteristic parseProdCharacteristic(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1631 ProdCharacteristic res = new ProdCharacteristic(); 1632 parseElementAttributes(xpp, res); 1633 next(xpp); 1634 int eventType = nextNoWhitespace(xpp); 1635 while (eventType != XmlPullParser.END_TAG) { 1636 if (!parseProdCharacteristicContent(eventType, xpp, res)) 1637 unknownContent(xpp); 1638 eventType = nextNoWhitespace(xpp); 1639 } 1640 next(xpp); 1641 parseElementClose(res); 1642 return res; 1643 } 1644 1645 protected boolean parseProdCharacteristicContent(int eventType, XmlPullParser xpp, ProdCharacteristic res) throws XmlPullParserException, IOException, FHIRFormatError { 1646 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("height")) { 1647 res.setHeight(parseQuantity(xpp)); 1648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("width")) { 1649 res.setWidth(parseQuantity(xpp)); 1650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("depth")) { 1651 res.setDepth(parseQuantity(xpp)); 1652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("weight")) { 1653 res.setWeight(parseQuantity(xpp)); 1654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nominalVolume")) { 1655 res.setNominalVolume(parseQuantity(xpp)); 1656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("externalDiameter")) { 1657 res.setExternalDiameter(parseQuantity(xpp)); 1658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shape")) { 1659 res.setShapeElement(parseString(xpp)); 1660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 1661 res.getColor().add(parseString(xpp)); 1662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imprint")) { 1663 res.getImprint().add(parseString(xpp)); 1664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 1665 res.getImage().add(parseAttachment(xpp)); 1666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scoring")) { 1667 res.setScoring(parseCodeableConcept(xpp)); 1668 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1669 return false; 1670 } 1671 return true; 1672 } 1673 1674 protected ProductShelfLife parseProductShelfLife(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1675 ProductShelfLife res = new ProductShelfLife(); 1676 parseElementAttributes(xpp, res); 1677 next(xpp); 1678 int eventType = nextNoWhitespace(xpp); 1679 while (eventType != XmlPullParser.END_TAG) { 1680 if (!parseProductShelfLifeContent(eventType, xpp, res)) 1681 unknownContent(xpp); 1682 eventType = nextNoWhitespace(xpp); 1683 } 1684 next(xpp); 1685 parseElementClose(res); 1686 return res; 1687 } 1688 1689 protected boolean parseProductShelfLifeContent(int eventType, XmlPullParser xpp, ProductShelfLife res) throws XmlPullParserException, IOException, FHIRFormatError { 1690 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1691 res.setType(parseCodeableConcept(xpp)); 1692 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "period")) { 1693 res.setPeriod(parseType("period", xpp)); 1694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialPrecautionsForStorage")) { 1695 res.getSpecialPrecautionsForStorage().add(parseCodeableConcept(xpp)); 1696 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1697 return false; 1698 } 1699 return true; 1700 } 1701 1702 protected Quantity parseQuantity(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1703 Quantity res = new Quantity(); 1704 parseElementAttributes(xpp, res); 1705 next(xpp); 1706 int eventType = nextNoWhitespace(xpp); 1707 while (eventType != XmlPullParser.END_TAG) { 1708 if (!parseQuantityContent(eventType, xpp, res)) 1709 unknownContent(xpp); 1710 eventType = nextNoWhitespace(xpp); 1711 } 1712 next(xpp); 1713 parseElementClose(res); 1714 return res; 1715 } 1716 1717 protected boolean parseQuantityContent(int eventType, XmlPullParser xpp, Quantity res) throws XmlPullParserException, IOException, FHIRFormatError { 1718 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 1719 res.setValueElement(parseDecimal(xpp)); 1720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 1721 res.setComparatorElement(parseEnumeration(xpp, Enumerations.QuantityComparator.NULL, new Enumerations.QuantityComparatorEnumFactory())); 1722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 1723 res.setUnitElement(parseString(xpp)); 1724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 1725 res.setSystemElement(parseUri(xpp)); 1726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1727 res.setCodeElement(parseCode(xpp)); 1728 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1729 return false; 1730 } 1731 return true; 1732 } 1733 1734 protected Range parseRange(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1735 Range res = new Range(); 1736 parseElementAttributes(xpp, res); 1737 next(xpp); 1738 int eventType = nextNoWhitespace(xpp); 1739 while (eventType != XmlPullParser.END_TAG) { 1740 if (!parseRangeContent(eventType, xpp, res)) 1741 unknownContent(xpp); 1742 eventType = nextNoWhitespace(xpp); 1743 } 1744 next(xpp); 1745 parseElementClose(res); 1746 return res; 1747 } 1748 1749 protected boolean parseRangeContent(int eventType, XmlPullParser xpp, Range res) throws XmlPullParserException, IOException, FHIRFormatError { 1750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 1751 res.setLow(parseQuantity(xpp)); 1752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 1753 res.setHigh(parseQuantity(xpp)); 1754 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1755 return false; 1756 } 1757 return true; 1758 } 1759 1760 protected Ratio parseRatio(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1761 Ratio res = new Ratio(); 1762 parseElementAttributes(xpp, res); 1763 next(xpp); 1764 int eventType = nextNoWhitespace(xpp); 1765 while (eventType != XmlPullParser.END_TAG) { 1766 if (!parseRatioContent(eventType, xpp, res)) 1767 unknownContent(xpp); 1768 eventType = nextNoWhitespace(xpp); 1769 } 1770 next(xpp); 1771 parseElementClose(res); 1772 return res; 1773 } 1774 1775 protected boolean parseRatioContent(int eventType, XmlPullParser xpp, Ratio res) throws XmlPullParserException, IOException, FHIRFormatError { 1776 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numerator")) { 1777 res.setNumerator(parseQuantity(xpp)); 1778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("denominator")) { 1779 res.setDenominator(parseQuantity(xpp)); 1780 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1781 return false; 1782 } 1783 return true; 1784 } 1785 1786 protected RatioRange parseRatioRange(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1787 RatioRange res = new RatioRange(); 1788 parseElementAttributes(xpp, res); 1789 next(xpp); 1790 int eventType = nextNoWhitespace(xpp); 1791 while (eventType != XmlPullParser.END_TAG) { 1792 if (!parseRatioRangeContent(eventType, xpp, res)) 1793 unknownContent(xpp); 1794 eventType = nextNoWhitespace(xpp); 1795 } 1796 next(xpp); 1797 parseElementClose(res); 1798 return res; 1799 } 1800 1801 protected boolean parseRatioRangeContent(int eventType, XmlPullParser xpp, RatioRange res) throws XmlPullParserException, IOException, FHIRFormatError { 1802 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lowNumerator")) { 1803 res.setLowNumerator(parseQuantity(xpp)); 1804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("highNumerator")) { 1805 res.setHighNumerator(parseQuantity(xpp)); 1806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("denominator")) { 1807 res.setDenominator(parseQuantity(xpp)); 1808 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1809 return false; 1810 } 1811 return true; 1812 } 1813 1814 protected Reference parseReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1815 Reference res = new Reference(); 1816 parseElementAttributes(xpp, res); 1817 next(xpp); 1818 int eventType = nextNoWhitespace(xpp); 1819 while (eventType != XmlPullParser.END_TAG) { 1820 if (!parseReferenceContent(eventType, xpp, res)) 1821 unknownContent(xpp); 1822 eventType = nextNoWhitespace(xpp); 1823 } 1824 next(xpp); 1825 parseElementClose(res); 1826 return res; 1827 } 1828 1829 protected boolean parseReferenceContent(int eventType, XmlPullParser xpp, Reference res) throws XmlPullParserException, IOException, FHIRFormatError { 1830 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1831 res.setReferenceElement(parseString(xpp)); 1832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1833 res.setTypeElement(parseUri(xpp)); 1834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1835 res.setIdentifier(parseIdentifier(xpp)); 1836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 1837 res.setDisplayElement(parseString(xpp)); 1838 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1839 return false; 1840 } 1841 return true; 1842 } 1843 1844 protected RelatedArtifact parseRelatedArtifact(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1845 RelatedArtifact res = new RelatedArtifact(); 1846 parseElementAttributes(xpp, res); 1847 next(xpp); 1848 int eventType = nextNoWhitespace(xpp); 1849 while (eventType != XmlPullParser.END_TAG) { 1850 if (!parseRelatedArtifactContent(eventType, xpp, res)) 1851 unknownContent(xpp); 1852 eventType = nextNoWhitespace(xpp); 1853 } 1854 next(xpp); 1855 parseElementClose(res); 1856 return res; 1857 } 1858 1859 protected boolean parseRelatedArtifactContent(int eventType, XmlPullParser xpp, RelatedArtifact res) throws XmlPullParserException, IOException, FHIRFormatError { 1860 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1861 res.setTypeElement(parseEnumeration(xpp, RelatedArtifact.RelatedArtifactType.NULL, new RelatedArtifact.RelatedArtifactTypeEnumFactory())); 1862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 1863 res.setLabelElement(parseString(xpp)); 1864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 1865 res.setDisplayElement(parseString(xpp)); 1866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("citation")) { 1867 res.setCitationElement(parseMarkdown(xpp)); 1868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 1869 res.setUrlElement(parseUrl(xpp)); 1870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("document")) { 1871 res.setDocument(parseAttachment(xpp)); 1872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 1873 res.setResourceElement(parseCanonical(xpp)); 1874 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1875 return false; 1876 } 1877 return true; 1878 } 1879 1880 protected SampledData parseSampledData(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1881 SampledData res = new SampledData(); 1882 parseElementAttributes(xpp, res); 1883 next(xpp); 1884 int eventType = nextNoWhitespace(xpp); 1885 while (eventType != XmlPullParser.END_TAG) { 1886 if (!parseSampledDataContent(eventType, xpp, res)) 1887 unknownContent(xpp); 1888 eventType = nextNoWhitespace(xpp); 1889 } 1890 next(xpp); 1891 parseElementClose(res); 1892 return res; 1893 } 1894 1895 protected boolean parseSampledDataContent(int eventType, XmlPullParser xpp, SampledData res) throws XmlPullParserException, IOException, FHIRFormatError { 1896 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 1897 res.setOrigin(parseQuantity(xpp)); 1898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 1899 res.setPeriodElement(parseDecimal(xpp)); 1900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 1901 res.setFactorElement(parseDecimal(xpp)); 1902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lowerLimit")) { 1903 res.setLowerLimitElement(parseDecimal(xpp)); 1904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("upperLimit")) { 1905 res.setUpperLimitElement(parseDecimal(xpp)); 1906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dimensions")) { 1907 res.setDimensionsElement(parsePositiveInt(xpp)); 1908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 1909 res.setDataElement(parseString(xpp)); 1910 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1911 return false; 1912 } 1913 return true; 1914 } 1915 1916 protected Signature parseSignature(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1917 Signature res = new Signature(); 1918 parseElementAttributes(xpp, res); 1919 next(xpp); 1920 int eventType = nextNoWhitespace(xpp); 1921 while (eventType != XmlPullParser.END_TAG) { 1922 if (!parseSignatureContent(eventType, xpp, res)) 1923 unknownContent(xpp); 1924 eventType = nextNoWhitespace(xpp); 1925 } 1926 next(xpp); 1927 parseElementClose(res); 1928 return res; 1929 } 1930 1931 protected boolean parseSignatureContent(int eventType, XmlPullParser xpp, Signature res) throws XmlPullParserException, IOException, FHIRFormatError { 1932 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1933 res.getType().add(parseCoding(xpp)); 1934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 1935 res.setWhenElement(parseInstant(xpp)); 1936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 1937 res.setWho(parseReference(xpp)); 1938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { 1939 res.setOnBehalfOf(parseReference(xpp)); 1940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetFormat")) { 1941 res.setTargetFormatElement(parseCode(xpp)); 1942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sigFormat")) { 1943 res.setSigFormatElement(parseCode(xpp)); 1944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 1945 res.setDataElement(parseBase64Binary(xpp)); 1946 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1947 return false; 1948 } 1949 return true; 1950 } 1951 1952 protected Timing parseTiming(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1953 Timing res = new Timing(); 1954 parseElementAttributes(xpp, res); 1955 next(xpp); 1956 int eventType = nextNoWhitespace(xpp); 1957 while (eventType != XmlPullParser.END_TAG) { 1958 if (!parseTimingContent(eventType, xpp, res)) 1959 unknownContent(xpp); 1960 eventType = nextNoWhitespace(xpp); 1961 } 1962 next(xpp); 1963 parseElementClose(res); 1964 return res; 1965 } 1966 1967 protected boolean parseTimingContent(int eventType, XmlPullParser xpp, Timing res) throws XmlPullParserException, IOException, FHIRFormatError { 1968 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 1969 res.getEvent().add(parseDateTime(xpp)); 1970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeat")) { 1971 res.setRepeat(parseTimingRepeatComponent(xpp)); 1972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1973 res.setCode(parseCodeableConcept(xpp)); 1974 } else if (!parseDataTypeContent(eventType, xpp, res)){ 1975 return false; 1976 } 1977 return true; 1978 } 1979 1980 protected Timing.TimingRepeatComponent parseTimingRepeatComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1981 Timing.TimingRepeatComponent res = new Timing.TimingRepeatComponent(); 1982 parseElementAttributes(xpp, res); 1983 next(xpp); 1984 int eventType = nextNoWhitespace(xpp); 1985 while (eventType != XmlPullParser.END_TAG) { 1986 if (!parseTimingRepeatComponentContent(eventType, xpp, res)) 1987 unknownContent(xpp); 1988 eventType = nextNoWhitespace(xpp); 1989 } 1990 next(xpp); 1991 parseElementClose(res); 1992 return res; 1993 } 1994 1995 protected boolean parseTimingRepeatComponentContent(int eventType, XmlPullParser xpp, Timing.TimingRepeatComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 1996 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bounds")) { 1997 res.setBounds(parseType("bounds", xpp)); 1998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("count")) { 1999 res.setCountElement(parsePositiveInt(xpp)); 2000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("countMax")) { 2001 res.setCountMaxElement(parsePositiveInt(xpp)); 2002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 2003 res.setDurationElement(parseDecimal(xpp)); 2004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("durationMax")) { 2005 res.setDurationMaxElement(parseDecimal(xpp)); 2006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("durationUnit")) { 2007 res.setDurationUnitElement(parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 2008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequency")) { 2009 res.setFrequencyElement(parsePositiveInt(xpp)); 2010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequencyMax")) { 2011 res.setFrequencyMaxElement(parsePositiveInt(xpp)); 2012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 2013 res.setPeriodElement(parseDecimal(xpp)); 2014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodMax")) { 2015 res.setPeriodMaxElement(parseDecimal(xpp)); 2016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodUnit")) { 2017 res.setPeriodUnitElement(parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 2018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dayOfWeek")) { 2019 res.getDayOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); 2020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timeOfDay")) { 2021 res.getTimeOfDay().add(parseTime(xpp)); 2022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 2023 res.getWhen().add(parseEnumeration(xpp, Timing.EventTiming.NULL, new Timing.EventTimingEnumFactory())); 2024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offset")) { 2025 res.setOffsetElement(parseUnsignedInt(xpp)); 2026 } else if (!parseElementContent(eventType, xpp, res)){ 2027 return false; 2028 } 2029 return true; 2030 } 2031 2032 protected TriggerDefinition parseTriggerDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2033 TriggerDefinition res = new TriggerDefinition(); 2034 parseElementAttributes(xpp, res); 2035 next(xpp); 2036 int eventType = nextNoWhitespace(xpp); 2037 while (eventType != XmlPullParser.END_TAG) { 2038 if (!parseTriggerDefinitionContent(eventType, xpp, res)) 2039 unknownContent(xpp); 2040 eventType = nextNoWhitespace(xpp); 2041 } 2042 next(xpp); 2043 parseElementClose(res); 2044 return res; 2045 } 2046 2047 protected boolean parseTriggerDefinitionContent(int eventType, XmlPullParser xpp, TriggerDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 2048 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2049 res.setTypeElement(parseEnumeration(xpp, TriggerDefinition.TriggerType.NULL, new TriggerDefinition.TriggerTypeEnumFactory())); 2050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 2051 res.setNameElement(parseString(xpp)); 2052 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 2053 res.setTiming(parseType("timing", xpp)); 2054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 2055 res.getData().add(parseDataRequirement(xpp)); 2056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 2057 res.setCondition(parseExpression(xpp)); 2058 } else if (!parseDataTypeContent(eventType, xpp, res)){ 2059 return false; 2060 } 2061 return true; 2062 } 2063 2064 protected UsageContext parseUsageContext(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2065 UsageContext res = new UsageContext(); 2066 parseElementAttributes(xpp, res); 2067 next(xpp); 2068 int eventType = nextNoWhitespace(xpp); 2069 while (eventType != XmlPullParser.END_TAG) { 2070 if (!parseUsageContextContent(eventType, xpp, res)) 2071 unknownContent(xpp); 2072 eventType = nextNoWhitespace(xpp); 2073 } 2074 next(xpp); 2075 parseElementClose(res); 2076 return res; 2077 } 2078 2079 protected boolean parseUsageContextContent(int eventType, XmlPullParser xpp, UsageContext res) throws XmlPullParserException, IOException, FHIRFormatError { 2080 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2081 res.setCode(parseCoding(xpp)); 2082 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 2083 res.setValue(parseType("value", xpp)); 2084 } else if (!parseDataTypeContent(eventType, xpp, res)){ 2085 return false; 2086 } 2087 return true; 2088 } 2089 2090 protected boolean parseResourceContent(int eventType, XmlPullParser xpp, Resource res) throws XmlPullParserException, IOException, FHIRFormatError { 2091 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("id")) { 2092 res.setIdElement(parseId(xpp)); 2093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meta")) { 2094 res.setMeta(parseMeta(xpp)); 2095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicitRules")) { 2096 res.setImplicitRulesElement(parseUri(xpp)); 2097 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 2098 res.setLanguageElement(parseCode(xpp)); 2099 } else { 2100 return false; 2101 } 2102 return true; 2103 } 2104 2105 protected boolean parseDomainResourceContent(int eventType, XmlPullParser xpp, DomainResource res) throws XmlPullParserException, IOException, FHIRFormatError { 2106 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 2107 res.setText(parseNarrative(xpp)); 2108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contained")) { 2109 res.getContained().add(parseResourceContained(xpp)); 2110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) { 2111 res.getExtension().add(parseExtension(xpp)); 2112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) { 2113 res.getModifierExtension().add(parseExtension(xpp)); 2114 } else if (!parseResourceContent(eventType, xpp, res)){ 2115 return false; 2116 } 2117 return true; 2118 } 2119 2120 protected Account parseAccount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2121 Account res = new Account(); 2122 parseResourceAttributes(xpp, res); 2123 next(xpp); 2124 int eventType = nextNoWhitespace(xpp); 2125 while (eventType != XmlPullParser.END_TAG) { 2126 if (!parseAccountContent(eventType, xpp, res)) 2127 unknownContent(xpp); 2128 eventType = nextNoWhitespace(xpp); 2129 } 2130 next(xpp); 2131 parseElementClose(res); 2132 return res; 2133 } 2134 2135 protected boolean parseAccountContent(int eventType, XmlPullParser xpp, Account res) throws XmlPullParserException, IOException, FHIRFormatError { 2136 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2137 res.getIdentifier().add(parseIdentifier(xpp)); 2138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2139 res.setStatusElement(parseEnumeration(xpp, Account.AccountStatus.NULL, new Account.AccountStatusEnumFactory())); 2140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2141 res.setType(parseCodeableConcept(xpp)); 2142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 2143 res.setNameElement(parseString(xpp)); 2144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2145 res.getSubject().add(parseReference(xpp)); 2146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("servicePeriod")) { 2147 res.setServicePeriod(parsePeriod(xpp)); 2148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2149 res.getCoverage().add(parseAccountCoverageComponent(xpp)); 2150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 2151 res.setOwner(parseReference(xpp)); 2152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2153 res.setDescriptionElement(parseString(xpp)); 2154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("guarantor")) { 2155 res.getGuarantor().add(parseAccountGuarantorComponent(xpp)); 2156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 2157 res.setPartOf(parseReference(xpp)); 2158 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2159 return false; 2160 } 2161 return true; 2162 } 2163 2164 protected Account.CoverageComponent parseAccountCoverageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2165 Account.CoverageComponent res = new Account.CoverageComponent(); 2166 parseElementAttributes(xpp, res); 2167 next(xpp); 2168 int eventType = nextNoWhitespace(xpp); 2169 while (eventType != XmlPullParser.END_TAG) { 2170 if (!parseAccountCoverageComponentContent(eventType, xpp, res)) 2171 unknownContent(xpp); 2172 eventType = nextNoWhitespace(xpp); 2173 } 2174 next(xpp); 2175 parseElementClose(res); 2176 return res; 2177 } 2178 2179 protected boolean parseAccountCoverageComponentContent(int eventType, XmlPullParser xpp, Account.CoverageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2180 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2181 res.setCoverage(parseReference(xpp)); 2182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2183 res.setPriorityElement(parsePositiveInt(xpp)); 2184 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2185 return false; 2186 } 2187 return true; 2188 } 2189 2190 protected Account.GuarantorComponent parseAccountGuarantorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2191 Account.GuarantorComponent res = new Account.GuarantorComponent(); 2192 parseElementAttributes(xpp, res); 2193 next(xpp); 2194 int eventType = nextNoWhitespace(xpp); 2195 while (eventType != XmlPullParser.END_TAG) { 2196 if (!parseAccountGuarantorComponentContent(eventType, xpp, res)) 2197 unknownContent(xpp); 2198 eventType = nextNoWhitespace(xpp); 2199 } 2200 next(xpp); 2201 parseElementClose(res); 2202 return res; 2203 } 2204 2205 protected boolean parseAccountGuarantorComponentContent(int eventType, XmlPullParser xpp, Account.GuarantorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2206 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 2207 res.setParty(parseReference(xpp)); 2208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onHold")) { 2209 res.setOnHoldElement(parseBoolean(xpp)); 2210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 2211 res.setPeriod(parsePeriod(xpp)); 2212 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2213 return false; 2214 } 2215 return true; 2216 } 2217 2218 protected ActivityDefinition parseActivityDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2219 ActivityDefinition res = new ActivityDefinition(); 2220 parseResourceAttributes(xpp, res); 2221 next(xpp); 2222 int eventType = nextNoWhitespace(xpp); 2223 while (eventType != XmlPullParser.END_TAG) { 2224 if (!parseActivityDefinitionContent(eventType, xpp, res)) 2225 unknownContent(xpp); 2226 eventType = nextNoWhitespace(xpp); 2227 } 2228 next(xpp); 2229 parseElementClose(res); 2230 return res; 2231 } 2232 2233 protected boolean parseActivityDefinitionContent(int eventType, XmlPullParser xpp, ActivityDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 2234 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 2235 res.setUrlElement(parseUri(xpp)); 2236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2237 res.getIdentifier().add(parseIdentifier(xpp)); 2238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 2239 res.setVersionElement(parseString(xpp)); 2240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 2241 res.setNameElement(parseString(xpp)); 2242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 2243 res.setTitleElement(parseString(xpp)); 2244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 2245 res.setSubtitleElement(parseString(xpp)); 2246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2247 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 2248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 2249 res.setExperimentalElement(parseBoolean(xpp)); 2250 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 2251 res.setSubject(parseType("subject", xpp)); 2252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 2253 res.setDateElement(parseDateTime(xpp)); 2254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 2255 res.setPublisherElement(parseString(xpp)); 2256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 2257 res.getContact().add(parseContactDetail(xpp)); 2258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2259 res.setDescriptionElement(parseMarkdown(xpp)); 2260 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 2261 res.getUseContext().add(parseUsageContext(xpp)); 2262 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 2263 res.getJurisdiction().add(parseCodeableConcept(xpp)); 2264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 2265 res.setPurposeElement(parseMarkdown(xpp)); 2266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 2267 res.setUsageElement(parseString(xpp)); 2268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 2269 res.setCopyrightElement(parseMarkdown(xpp)); 2270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 2271 res.setApprovalDateElement(parseDate(xpp)); 2272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 2273 res.setLastReviewDateElement(parseDate(xpp)); 2274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 2275 res.setEffectivePeriod(parsePeriod(xpp)); 2276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 2277 res.getTopic().add(parseCodeableConcept(xpp)); 2278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 2279 res.getAuthor().add(parseContactDetail(xpp)); 2280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 2281 res.getEditor().add(parseContactDetail(xpp)); 2282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 2283 res.getReviewer().add(parseContactDetail(xpp)); 2284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 2285 res.getEndorser().add(parseContactDetail(xpp)); 2286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 2287 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 2288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { 2289 res.getLibrary().add(parseCanonical(xpp)); 2290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 2291 res.setKindElement(parseEnumeration(xpp, ActivityDefinition.RequestResourceType.NULL, new ActivityDefinition.RequestResourceTypeEnumFactory())); 2292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 2293 res.setProfileElement(parseCanonical(xpp)); 2294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2295 res.setCode(parseCodeableConcept(xpp)); 2296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 2297 res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); 2298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2299 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 2300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 2301 res.setDoNotPerformElement(parseBoolean(xpp)); 2302 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 2303 res.setTiming(parseType("timing", xpp)); 2304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 2305 res.setLocation(parseReference(xpp)); 2306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 2307 res.getParticipant().add(parseActivityDefinitionParticipantComponent(xpp)); 2308 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "product")) { 2309 res.setProduct(parseType("product", xpp)); 2310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2311 res.setQuantity(parseQuantity(xpp)); 2312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 2313 res.getDosage().add(parseDosage(xpp)); 2314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 2315 res.getBodySite().add(parseCodeableConcept(xpp)); 2316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimenRequirement")) { 2317 res.getSpecimenRequirement().add(parseReference(xpp)); 2318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observationRequirement")) { 2319 res.getObservationRequirement().add(parseReference(xpp)); 2320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observationResultRequirement")) { 2321 res.getObservationResultRequirement().add(parseReference(xpp)); 2322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transform")) { 2323 res.setTransformElement(parseCanonical(xpp)); 2324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dynamicValue")) { 2325 res.getDynamicValue().add(parseActivityDefinitionDynamicValueComponent(xpp)); 2326 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2327 return false; 2328 } 2329 return true; 2330 } 2331 2332 protected ActivityDefinition.ActivityDefinitionParticipantComponent parseActivityDefinitionParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2333 ActivityDefinition.ActivityDefinitionParticipantComponent res = new ActivityDefinition.ActivityDefinitionParticipantComponent(); 2334 parseElementAttributes(xpp, res); 2335 next(xpp); 2336 int eventType = nextNoWhitespace(xpp); 2337 while (eventType != XmlPullParser.END_TAG) { 2338 if (!parseActivityDefinitionParticipantComponentContent(eventType, xpp, res)) 2339 unknownContent(xpp); 2340 eventType = nextNoWhitespace(xpp); 2341 } 2342 next(xpp); 2343 parseElementClose(res); 2344 return res; 2345 } 2346 2347 protected boolean parseActivityDefinitionParticipantComponentContent(int eventType, XmlPullParser xpp, ActivityDefinition.ActivityDefinitionParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2348 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2349 res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); 2350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 2351 res.setRole(parseCodeableConcept(xpp)); 2352 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2353 return false; 2354 } 2355 return true; 2356 } 2357 2358 protected ActivityDefinition.ActivityDefinitionDynamicValueComponent parseActivityDefinitionDynamicValueComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2359 ActivityDefinition.ActivityDefinitionDynamicValueComponent res = new ActivityDefinition.ActivityDefinitionDynamicValueComponent(); 2360 parseElementAttributes(xpp, res); 2361 next(xpp); 2362 int eventType = nextNoWhitespace(xpp); 2363 while (eventType != XmlPullParser.END_TAG) { 2364 if (!parseActivityDefinitionDynamicValueComponentContent(eventType, xpp, res)) 2365 unknownContent(xpp); 2366 eventType = nextNoWhitespace(xpp); 2367 } 2368 next(xpp); 2369 parseElementClose(res); 2370 return res; 2371 } 2372 2373 protected boolean parseActivityDefinitionDynamicValueComponentContent(int eventType, XmlPullParser xpp, ActivityDefinition.ActivityDefinitionDynamicValueComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2374 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 2375 res.setPathElement(parseString(xpp)); 2376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 2377 res.setExpression(parseExpression(xpp)); 2378 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2379 return false; 2380 } 2381 return true; 2382 } 2383 2384 protected AdministrableProductDefinition parseAdministrableProductDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2385 AdministrableProductDefinition res = new AdministrableProductDefinition(); 2386 parseResourceAttributes(xpp, res); 2387 next(xpp); 2388 int eventType = nextNoWhitespace(xpp); 2389 while (eventType != XmlPullParser.END_TAG) { 2390 if (!parseAdministrableProductDefinitionContent(eventType, xpp, res)) 2391 unknownContent(xpp); 2392 eventType = nextNoWhitespace(xpp); 2393 } 2394 next(xpp); 2395 parseElementClose(res); 2396 return res; 2397 } 2398 2399 protected boolean parseAdministrableProductDefinitionContent(int eventType, XmlPullParser xpp, AdministrableProductDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 2400 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2401 res.getIdentifier().add(parseIdentifier(xpp)); 2402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2403 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 2404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("formOf")) { 2405 res.getFormOf().add(parseReference(xpp)); 2406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administrableDoseForm")) { 2407 res.setAdministrableDoseForm(parseCodeableConcept(xpp)); 2408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitOfPresentation")) { 2409 res.setUnitOfPresentation(parseCodeableConcept(xpp)); 2410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("producedFrom")) { 2411 res.getProducedFrom().add(parseReference(xpp)); 2412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 2413 res.getIngredient().add(parseCodeableConcept(xpp)); 2414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 2415 res.setDevice(parseReference(xpp)); 2416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 2417 res.getProperty().add(parseAdministrableProductDefinitionPropertyComponent(xpp)); 2418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeOfAdministration")) { 2419 res.getRouteOfAdministration().add(parseAdministrableProductDefinitionRouteOfAdministrationComponent(xpp)); 2420 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2421 return false; 2422 } 2423 return true; 2424 } 2425 2426 protected AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent parseAdministrableProductDefinitionPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2427 AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent res = new AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent(); 2428 parseElementAttributes(xpp, res); 2429 next(xpp); 2430 int eventType = nextNoWhitespace(xpp); 2431 while (eventType != XmlPullParser.END_TAG) { 2432 if (!parseAdministrableProductDefinitionPropertyComponentContent(eventType, xpp, res)) 2433 unknownContent(xpp); 2434 eventType = nextNoWhitespace(xpp); 2435 } 2436 next(xpp); 2437 parseElementClose(res); 2438 return res; 2439 } 2440 2441 protected boolean parseAdministrableProductDefinitionPropertyComponentContent(int eventType, XmlPullParser xpp, AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2442 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2443 res.setType(parseCodeableConcept(xpp)); 2444 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 2445 res.setValue(parseType("value", xpp)); 2446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2447 res.setStatus(parseCodeableConcept(xpp)); 2448 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2449 return false; 2450 } 2451 return true; 2452 } 2453 2454 protected AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent parseAdministrableProductDefinitionRouteOfAdministrationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2455 AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent res = new AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent(); 2456 parseElementAttributes(xpp, res); 2457 next(xpp); 2458 int eventType = nextNoWhitespace(xpp); 2459 while (eventType != XmlPullParser.END_TAG) { 2460 if (!parseAdministrableProductDefinitionRouteOfAdministrationComponentContent(eventType, xpp, res)) 2461 unknownContent(xpp); 2462 eventType = nextNoWhitespace(xpp); 2463 } 2464 next(xpp); 2465 parseElementClose(res); 2466 return res; 2467 } 2468 2469 protected boolean parseAdministrableProductDefinitionRouteOfAdministrationComponentContent(int eventType, XmlPullParser xpp, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2470 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2471 res.setCode(parseCodeableConcept(xpp)); 2472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("firstDose")) { 2473 res.setFirstDose(parseQuantity(xpp)); 2474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxSingleDose")) { 2475 res.setMaxSingleDose(parseQuantity(xpp)); 2476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerDay")) { 2477 res.setMaxDosePerDay(parseQuantity(xpp)); 2478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerTreatmentPeriod")) { 2479 res.setMaxDosePerTreatmentPeriod(parseRatio(xpp)); 2480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxTreatmentPeriod")) { 2481 res.setMaxTreatmentPeriod(parseDuration(xpp)); 2482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetSpecies")) { 2483 res.getTargetSpecies().add(parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(xpp)); 2484 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2485 return false; 2486 } 2487 return true; 2488 } 2489 2490 protected AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2491 AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent res = new AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(); 2492 parseElementAttributes(xpp, res); 2493 next(xpp); 2494 int eventType = nextNoWhitespace(xpp); 2495 while (eventType != XmlPullParser.END_TAG) { 2496 if (!parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponentContent(eventType, xpp, res)) 2497 unknownContent(xpp); 2498 eventType = nextNoWhitespace(xpp); 2499 } 2500 next(xpp); 2501 parseElementClose(res); 2502 return res; 2503 } 2504 2505 protected boolean parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponentContent(int eventType, XmlPullParser xpp, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2506 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2507 res.setCode(parseCodeableConcept(xpp)); 2508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("withdrawalPeriod")) { 2509 res.getWithdrawalPeriod().add(parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(xpp)); 2510 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2511 return false; 2512 } 2513 return true; 2514 } 2515 2516 protected AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2517 AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent res = new AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(); 2518 parseElementAttributes(xpp, res); 2519 next(xpp); 2520 int eventType = nextNoWhitespace(xpp); 2521 while (eventType != XmlPullParser.END_TAG) { 2522 if (!parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponentContent(eventType, xpp, res)) 2523 unknownContent(xpp); 2524 eventType = nextNoWhitespace(xpp); 2525 } 2526 next(xpp); 2527 parseElementClose(res); 2528 return res; 2529 } 2530 2531 protected boolean parseAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponentContent(int eventType, XmlPullParser xpp, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2532 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tissue")) { 2533 res.setTissue(parseCodeableConcept(xpp)); 2534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2535 res.setValue(parseQuantity(xpp)); 2536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 2537 res.setSupportingInformationElement(parseString(xpp)); 2538 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2539 return false; 2540 } 2541 return true; 2542 } 2543 2544 protected AdverseEvent parseAdverseEvent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2545 AdverseEvent res = new AdverseEvent(); 2546 parseResourceAttributes(xpp, res); 2547 next(xpp); 2548 int eventType = nextNoWhitespace(xpp); 2549 while (eventType != XmlPullParser.END_TAG) { 2550 if (!parseAdverseEventContent(eventType, xpp, res)) 2551 unknownContent(xpp); 2552 eventType = nextNoWhitespace(xpp); 2553 } 2554 next(xpp); 2555 parseElementClose(res); 2556 return res; 2557 } 2558 2559 protected boolean parseAdverseEventContent(int eventType, XmlPullParser xpp, AdverseEvent res) throws XmlPullParserException, IOException, FHIRFormatError { 2560 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2561 res.setIdentifier(parseIdentifier(xpp)); 2562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actuality")) { 2563 res.setActualityElement(parseEnumeration(xpp, AdverseEvent.AdverseEventActuality.NULL, new AdverseEvent.AdverseEventActualityEnumFactory())); 2564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2565 res.getCategory().add(parseCodeableConcept(xpp)); 2566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 2567 res.setEvent(parseCodeableConcept(xpp)); 2568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2569 res.setSubject(parseReference(xpp)); 2570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2571 res.setEncounter(parseReference(xpp)); 2572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 2573 res.setDateElement(parseDateTime(xpp)); 2574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detected")) { 2575 res.setDetectedElement(parseDateTime(xpp)); 2576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedDate")) { 2577 res.setRecordedDateElement(parseDateTime(xpp)); 2578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resultingCondition")) { 2579 res.getResultingCondition().add(parseReference(xpp)); 2580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 2581 res.setLocation(parseReference(xpp)); 2582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("seriousness")) { 2583 res.setSeriousness(parseCodeableConcept(xpp)); 2584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 2585 res.setSeverity(parseCodeableConcept(xpp)); 2586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 2587 res.setOutcome(parseCodeableConcept(xpp)); 2588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 2589 res.setRecorder(parseReference(xpp)); 2590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributor")) { 2591 res.getContributor().add(parseReference(xpp)); 2592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suspectEntity")) { 2593 res.getSuspectEntity().add(parseAdverseEventSuspectEntityComponent(xpp)); 2594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectMedicalHistory")) { 2595 res.getSubjectMedicalHistory().add(parseReference(xpp)); 2596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceDocument")) { 2597 res.getReferenceDocument().add(parseReference(xpp)); 2598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { 2599 res.getStudy().add(parseReference(xpp)); 2600 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2601 return false; 2602 } 2603 return true; 2604 } 2605 2606 protected AdverseEvent.AdverseEventSuspectEntityComponent parseAdverseEventSuspectEntityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2607 AdverseEvent.AdverseEventSuspectEntityComponent res = new AdverseEvent.AdverseEventSuspectEntityComponent(); 2608 parseElementAttributes(xpp, res); 2609 next(xpp); 2610 int eventType = nextNoWhitespace(xpp); 2611 while (eventType != XmlPullParser.END_TAG) { 2612 if (!parseAdverseEventSuspectEntityComponentContent(eventType, xpp, res)) 2613 unknownContent(xpp); 2614 eventType = nextNoWhitespace(xpp); 2615 } 2616 next(xpp); 2617 parseElementClose(res); 2618 return res; 2619 } 2620 2621 protected boolean parseAdverseEventSuspectEntityComponentContent(int eventType, XmlPullParser xpp, AdverseEvent.AdverseEventSuspectEntityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2622 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 2623 res.setInstance(parseReference(xpp)); 2624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("causality")) { 2625 res.getCausality().add(parseAdverseEventSuspectEntityCausalityComponent(xpp)); 2626 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2627 return false; 2628 } 2629 return true; 2630 } 2631 2632 protected AdverseEvent.AdverseEventSuspectEntityCausalityComponent parseAdverseEventSuspectEntityCausalityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2633 AdverseEvent.AdverseEventSuspectEntityCausalityComponent res = new AdverseEvent.AdverseEventSuspectEntityCausalityComponent(); 2634 parseElementAttributes(xpp, res); 2635 next(xpp); 2636 int eventType = nextNoWhitespace(xpp); 2637 while (eventType != XmlPullParser.END_TAG) { 2638 if (!parseAdverseEventSuspectEntityCausalityComponentContent(eventType, xpp, res)) 2639 unknownContent(xpp); 2640 eventType = nextNoWhitespace(xpp); 2641 } 2642 next(xpp); 2643 parseElementClose(res); 2644 return res; 2645 } 2646 2647 protected boolean parseAdverseEventSuspectEntityCausalityComponentContent(int eventType, XmlPullParser xpp, AdverseEvent.AdverseEventSuspectEntityCausalityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2648 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessment")) { 2649 res.setAssessment(parseCodeableConcept(xpp)); 2650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productRelatedness")) { 2651 res.setProductRelatednessElement(parseString(xpp)); 2652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 2653 res.setAuthor(parseReference(xpp)); 2654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 2655 res.setMethod(parseCodeableConcept(xpp)); 2656 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2657 return false; 2658 } 2659 return true; 2660 } 2661 2662 protected AllergyIntolerance parseAllergyIntolerance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2663 AllergyIntolerance res = new AllergyIntolerance(); 2664 parseResourceAttributes(xpp, res); 2665 next(xpp); 2666 int eventType = nextNoWhitespace(xpp); 2667 while (eventType != XmlPullParser.END_TAG) { 2668 if (!parseAllergyIntoleranceContent(eventType, xpp, res)) 2669 unknownContent(xpp); 2670 eventType = nextNoWhitespace(xpp); 2671 } 2672 next(xpp); 2673 parseElementClose(res); 2674 return res; 2675 } 2676 2677 protected boolean parseAllergyIntoleranceContent(int eventType, XmlPullParser xpp, AllergyIntolerance res) throws XmlPullParserException, IOException, FHIRFormatError { 2678 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2679 res.getIdentifier().add(parseIdentifier(xpp)); 2680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalStatus")) { 2681 res.setClinicalStatus(parseCodeableConcept(xpp)); 2682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verificationStatus")) { 2683 res.setVerificationStatus(parseCodeableConcept(xpp)); 2684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2685 res.setTypeElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceType.NULL, new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory())); 2686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2687 res.getCategory().add(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCategory.NULL, new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory())); 2688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criticality")) { 2689 res.setCriticalityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCriticality.NULL, new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory())); 2690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2691 res.setCode(parseCodeableConcept(xpp)); 2692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 2693 res.setPatient(parseReference(xpp)); 2694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2695 res.setEncounter(parseReference(xpp)); 2696 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 2697 res.setOnset(parseType("onset", xpp)); 2698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedDate")) { 2699 res.setRecordedDateElement(parseDateTime(xpp)); 2700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 2701 res.setRecorder(parseReference(xpp)); 2702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { 2703 res.setAsserter(parseReference(xpp)); 2704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastOccurrence")) { 2705 res.setLastOccurrenceElement(parseDateTime(xpp)); 2706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 2707 res.getNote().add(parseAnnotation(xpp)); 2708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 2709 res.getReaction().add(parseAllergyIntoleranceReactionComponent(xpp)); 2710 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2711 return false; 2712 } 2713 return true; 2714 } 2715 2716 protected AllergyIntolerance.AllergyIntoleranceReactionComponent parseAllergyIntoleranceReactionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2717 AllergyIntolerance.AllergyIntoleranceReactionComponent res = new AllergyIntolerance.AllergyIntoleranceReactionComponent(); 2718 parseElementAttributes(xpp, res); 2719 next(xpp); 2720 int eventType = nextNoWhitespace(xpp); 2721 while (eventType != XmlPullParser.END_TAG) { 2722 if (!parseAllergyIntoleranceReactionComponentContent(eventType, xpp, res)) 2723 unknownContent(xpp); 2724 eventType = nextNoWhitespace(xpp); 2725 } 2726 next(xpp); 2727 parseElementClose(res); 2728 return res; 2729 } 2730 2731 protected boolean parseAllergyIntoleranceReactionComponentContent(int eventType, XmlPullParser xpp, AllergyIntolerance.AllergyIntoleranceReactionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2732 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 2733 res.setSubstance(parseCodeableConcept(xpp)); 2734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manifestation")) { 2735 res.getManifestation().add(parseCodeableConcept(xpp)); 2736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2737 res.setDescriptionElement(parseString(xpp)); 2738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onset")) { 2739 res.setOnsetElement(parseDateTime(xpp)); 2740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 2741 res.setSeverityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceSeverity.NULL, new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory())); 2742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exposureRoute")) { 2743 res.setExposureRoute(parseCodeableConcept(xpp)); 2744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 2745 res.getNote().add(parseAnnotation(xpp)); 2746 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2747 return false; 2748 } 2749 return true; 2750 } 2751 2752 protected Appointment parseAppointment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2753 Appointment res = new Appointment(); 2754 parseResourceAttributes(xpp, res); 2755 next(xpp); 2756 int eventType = nextNoWhitespace(xpp); 2757 while (eventType != XmlPullParser.END_TAG) { 2758 if (!parseAppointmentContent(eventType, xpp, res)) 2759 unknownContent(xpp); 2760 eventType = nextNoWhitespace(xpp); 2761 } 2762 next(xpp); 2763 parseElementClose(res); 2764 return res; 2765 } 2766 2767 protected boolean parseAppointmentContent(int eventType, XmlPullParser xpp, Appointment res) throws XmlPullParserException, IOException, FHIRFormatError { 2768 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2769 res.getIdentifier().add(parseIdentifier(xpp)); 2770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2771 res.setStatusElement(parseEnumeration(xpp, Appointment.AppointmentStatus.NULL, new Appointment.AppointmentStatusEnumFactory())); 2772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cancelationReason")) { 2773 res.setCancelationReason(parseCodeableConcept(xpp)); 2774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { 2775 res.getServiceCategory().add(parseCodeableConcept(xpp)); 2776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 2777 res.getServiceType().add(parseCodeableConcept(xpp)); 2778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 2779 res.getSpecialty().add(parseCodeableConcept(xpp)); 2780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentType")) { 2781 res.setAppointmentType(parseCodeableConcept(xpp)); 2782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 2783 res.getReasonCode().add(parseCodeableConcept(xpp)); 2784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 2785 res.getReasonReference().add(parseReference(xpp)); 2786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2787 res.setPriorityElement(parseUnsignedInt(xpp)); 2788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2789 res.setDescriptionElement(parseString(xpp)); 2790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 2791 res.getSupportingInformation().add(parseReference(xpp)); 2792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 2793 res.setStartElement(parseInstant(xpp)); 2794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 2795 res.setEndElement(parseInstant(xpp)); 2796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minutesDuration")) { 2797 res.setMinutesDurationElement(parsePositiveInt(xpp)); 2798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slot")) { 2799 res.getSlot().add(parseReference(xpp)); 2800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 2801 res.setCreatedElement(parseDateTime(xpp)); 2802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 2803 res.setCommentElement(parseString(xpp)); 2804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientInstruction")) { 2805 res.setPatientInstructionElement(parseString(xpp)); 2806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 2807 res.getBasedOn().add(parseReference(xpp)); 2808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 2809 res.getParticipant().add(parseAppointmentParticipantComponent(xpp)); 2810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedPeriod")) { 2811 res.getRequestedPeriod().add(parsePeriod(xpp)); 2812 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2813 return false; 2814 } 2815 return true; 2816 } 2817 2818 protected Appointment.AppointmentParticipantComponent parseAppointmentParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2819 Appointment.AppointmentParticipantComponent res = new Appointment.AppointmentParticipantComponent(); 2820 parseElementAttributes(xpp, res); 2821 next(xpp); 2822 int eventType = nextNoWhitespace(xpp); 2823 while (eventType != XmlPullParser.END_TAG) { 2824 if (!parseAppointmentParticipantComponentContent(eventType, xpp, res)) 2825 unknownContent(xpp); 2826 eventType = nextNoWhitespace(xpp); 2827 } 2828 next(xpp); 2829 parseElementClose(res); 2830 return res; 2831 } 2832 2833 protected boolean parseAppointmentParticipantComponentContent(int eventType, XmlPullParser xpp, Appointment.AppointmentParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2834 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2835 res.getType().add(parseCodeableConcept(xpp)); 2836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 2837 res.setActor(parseReference(xpp)); 2838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 2839 res.setRequiredElement(parseEnumeration(xpp, Appointment.ParticipantRequired.NULL, new Appointment.ParticipantRequiredEnumFactory())); 2840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2841 res.setStatusElement(parseEnumeration(xpp, Enumerations.ParticipationStatus.NULL, new Enumerations.ParticipationStatusEnumFactory())); 2842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 2843 res.setPeriod(parsePeriod(xpp)); 2844 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2845 return false; 2846 } 2847 return true; 2848 } 2849 2850 protected AppointmentResponse parseAppointmentResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2851 AppointmentResponse res = new AppointmentResponse(); 2852 parseResourceAttributes(xpp, res); 2853 next(xpp); 2854 int eventType = nextNoWhitespace(xpp); 2855 while (eventType != XmlPullParser.END_TAG) { 2856 if (!parseAppointmentResponseContent(eventType, xpp, res)) 2857 unknownContent(xpp); 2858 eventType = nextNoWhitespace(xpp); 2859 } 2860 next(xpp); 2861 parseElementClose(res); 2862 return res; 2863 } 2864 2865 protected boolean parseAppointmentResponseContent(int eventType, XmlPullParser xpp, AppointmentResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 2866 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2867 res.getIdentifier().add(parseIdentifier(xpp)); 2868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 2869 res.setAppointment(parseReference(xpp)); 2870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 2871 res.setStartElement(parseInstant(xpp)); 2872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 2873 res.setEndElement(parseInstant(xpp)); 2874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantType")) { 2875 res.getParticipantType().add(parseCodeableConcept(xpp)); 2876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 2877 res.setActor(parseReference(xpp)); 2878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantStatus")) { 2879 res.setParticipantStatusElement(parseEnumeration(xpp, Enumerations.ParticipationStatus.NULL, new Enumerations.ParticipationStatusEnumFactory())); 2880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 2881 res.setCommentElement(parseString(xpp)); 2882 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2883 return false; 2884 } 2885 return true; 2886 } 2887 2888 protected AuditEvent parseAuditEvent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2889 AuditEvent res = new AuditEvent(); 2890 parseResourceAttributes(xpp, res); 2891 next(xpp); 2892 int eventType = nextNoWhitespace(xpp); 2893 while (eventType != XmlPullParser.END_TAG) { 2894 if (!parseAuditEventContent(eventType, xpp, res)) 2895 unknownContent(xpp); 2896 eventType = nextNoWhitespace(xpp); 2897 } 2898 next(xpp); 2899 parseElementClose(res); 2900 return res; 2901 } 2902 2903 protected boolean parseAuditEventContent(int eventType, XmlPullParser xpp, AuditEvent res) throws XmlPullParserException, IOException, FHIRFormatError { 2904 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2905 res.setType(parseCoding(xpp)); 2906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 2907 res.getSubtype().add(parseCoding(xpp)); 2908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 2909 res.setActionElement(parseEnumeration(xpp, AuditEvent.AuditEventAction.NULL, new AuditEvent.AuditEventActionEnumFactory())); 2910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 2911 res.setPeriod(parsePeriod(xpp)); 2912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorded")) { 2913 res.setRecordedElement(parseInstant(xpp)); 2914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 2915 res.setOutcomeElement(parseEnumeration(xpp, AuditEvent.AuditEventOutcome.NULL, new AuditEvent.AuditEventOutcomeEnumFactory())); 2916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeDesc")) { 2917 res.setOutcomeDescElement(parseString(xpp)); 2918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfEvent")) { 2919 res.getPurposeOfEvent().add(parseCodeableConcept(xpp)); 2920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 2921 res.getAgent().add(parseAuditEventAgentComponent(xpp)); 2922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 2923 res.setSource(parseAuditEventSourceComponent(xpp)); 2924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 2925 res.getEntity().add(parseAuditEventEntityComponent(xpp)); 2926 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 2927 return false; 2928 } 2929 return true; 2930 } 2931 2932 protected AuditEvent.AuditEventAgentComponent parseAuditEventAgentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2933 AuditEvent.AuditEventAgentComponent res = new AuditEvent.AuditEventAgentComponent(); 2934 parseElementAttributes(xpp, res); 2935 next(xpp); 2936 int eventType = nextNoWhitespace(xpp); 2937 while (eventType != XmlPullParser.END_TAG) { 2938 if (!parseAuditEventAgentComponentContent(eventType, xpp, res)) 2939 unknownContent(xpp); 2940 eventType = nextNoWhitespace(xpp); 2941 } 2942 next(xpp); 2943 parseElementClose(res); 2944 return res; 2945 } 2946 2947 protected boolean parseAuditEventAgentComponentContent(int eventType, XmlPullParser xpp, AuditEvent.AuditEventAgentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2948 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2949 res.setType(parseCodeableConcept(xpp)); 2950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 2951 res.getRole().add(parseCodeableConcept(xpp)); 2952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 2953 res.setWho(parseReference(xpp)); 2954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altId")) { 2955 res.setAltIdElement(parseString(xpp)); 2956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 2957 res.setNameElement(parseString(xpp)); 2958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 2959 res.setRequestorElement(parseBoolean(xpp)); 2960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 2961 res.setLocation(parseReference(xpp)); 2962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 2963 res.getPolicy().add(parseUri(xpp)); 2964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("media")) { 2965 res.setMedia(parseCoding(xpp)); 2966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 2967 res.setNetwork(parseAuditEventAgentNetworkComponent(xpp)); 2968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfUse")) { 2969 res.getPurposeOfUse().add(parseCodeableConcept(xpp)); 2970 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2971 return false; 2972 } 2973 return true; 2974 } 2975 2976 protected AuditEvent.AuditEventAgentNetworkComponent parseAuditEventAgentNetworkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2977 AuditEvent.AuditEventAgentNetworkComponent res = new AuditEvent.AuditEventAgentNetworkComponent(); 2978 parseElementAttributes(xpp, res); 2979 next(xpp); 2980 int eventType = nextNoWhitespace(xpp); 2981 while (eventType != XmlPullParser.END_TAG) { 2982 if (!parseAuditEventAgentNetworkComponentContent(eventType, xpp, res)) 2983 unknownContent(xpp); 2984 eventType = nextNoWhitespace(xpp); 2985 } 2986 next(xpp); 2987 parseElementClose(res); 2988 return res; 2989 } 2990 2991 protected boolean parseAuditEventAgentNetworkComponentContent(int eventType, XmlPullParser xpp, AuditEvent.AuditEventAgentNetworkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 2992 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 2993 res.setAddressElement(parseString(xpp)); 2994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2995 res.setTypeElement(parseEnumeration(xpp, AuditEvent.AuditEventAgentNetworkType.NULL, new AuditEvent.AuditEventAgentNetworkTypeEnumFactory())); 2996 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 2997 return false; 2998 } 2999 return true; 3000 } 3001 3002 protected AuditEvent.AuditEventSourceComponent parseAuditEventSourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3003 AuditEvent.AuditEventSourceComponent res = new AuditEvent.AuditEventSourceComponent(); 3004 parseElementAttributes(xpp, res); 3005 next(xpp); 3006 int eventType = nextNoWhitespace(xpp); 3007 while (eventType != XmlPullParser.END_TAG) { 3008 if (!parseAuditEventSourceComponentContent(eventType, xpp, res)) 3009 unknownContent(xpp); 3010 eventType = nextNoWhitespace(xpp); 3011 } 3012 next(xpp); 3013 parseElementClose(res); 3014 return res; 3015 } 3016 3017 protected boolean parseAuditEventSourceComponentContent(int eventType, XmlPullParser xpp, AuditEvent.AuditEventSourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3018 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 3019 res.setSiteElement(parseString(xpp)); 3020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observer")) { 3021 res.setObserver(parseReference(xpp)); 3022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3023 res.getType().add(parseCoding(xpp)); 3024 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3025 return false; 3026 } 3027 return true; 3028 } 3029 3030 protected AuditEvent.AuditEventEntityComponent parseAuditEventEntityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3031 AuditEvent.AuditEventEntityComponent res = new AuditEvent.AuditEventEntityComponent(); 3032 parseElementAttributes(xpp, res); 3033 next(xpp); 3034 int eventType = nextNoWhitespace(xpp); 3035 while (eventType != XmlPullParser.END_TAG) { 3036 if (!parseAuditEventEntityComponentContent(eventType, xpp, res)) 3037 unknownContent(xpp); 3038 eventType = nextNoWhitespace(xpp); 3039 } 3040 next(xpp); 3041 parseElementClose(res); 3042 return res; 3043 } 3044 3045 protected boolean parseAuditEventEntityComponentContent(int eventType, XmlPullParser xpp, AuditEvent.AuditEventEntityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3046 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("what")) { 3047 res.setWhat(parseReference(xpp)); 3048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3049 res.setType(parseCoding(xpp)); 3050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 3051 res.setRole(parseCoding(xpp)); 3052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lifecycle")) { 3053 res.setLifecycle(parseCoding(xpp)); 3054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 3055 res.getSecurityLabel().add(parseCoding(xpp)); 3056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3057 res.setNameElement(parseString(xpp)); 3058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3059 res.setDescriptionElement(parseString(xpp)); 3060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("query")) { 3061 res.setQueryElement(parseBase64Binary(xpp)); 3062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 3063 res.getDetail().add(parseAuditEventEntityDetailComponent(xpp)); 3064 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3065 return false; 3066 } 3067 return true; 3068 } 3069 3070 protected AuditEvent.AuditEventEntityDetailComponent parseAuditEventEntityDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3071 AuditEvent.AuditEventEntityDetailComponent res = new AuditEvent.AuditEventEntityDetailComponent(); 3072 parseElementAttributes(xpp, res); 3073 next(xpp); 3074 int eventType = nextNoWhitespace(xpp); 3075 while (eventType != XmlPullParser.END_TAG) { 3076 if (!parseAuditEventEntityDetailComponentContent(eventType, xpp, res)) 3077 unknownContent(xpp); 3078 eventType = nextNoWhitespace(xpp); 3079 } 3080 next(xpp); 3081 parseElementClose(res); 3082 return res; 3083 } 3084 3085 protected boolean parseAuditEventEntityDetailComponentContent(int eventType, XmlPullParser xpp, AuditEvent.AuditEventEntityDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3086 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3087 res.setTypeElement(parseString(xpp)); 3088 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 3089 res.setValue(parseType("value", xpp)); 3090 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3091 return false; 3092 } 3093 return true; 3094 } 3095 3096 protected Basic parseBasic(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3097 Basic res = new Basic(); 3098 parseResourceAttributes(xpp, res); 3099 next(xpp); 3100 int eventType = nextNoWhitespace(xpp); 3101 while (eventType != XmlPullParser.END_TAG) { 3102 if (!parseBasicContent(eventType, xpp, res)) 3103 unknownContent(xpp); 3104 eventType = nextNoWhitespace(xpp); 3105 } 3106 next(xpp); 3107 parseElementClose(res); 3108 return res; 3109 } 3110 3111 protected boolean parseBasicContent(int eventType, XmlPullParser xpp, Basic res) throws XmlPullParserException, IOException, FHIRFormatError { 3112 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3113 res.getIdentifier().add(parseIdentifier(xpp)); 3114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3115 res.setCode(parseCodeableConcept(xpp)); 3116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3117 res.setSubject(parseReference(xpp)); 3118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 3119 res.setCreatedElement(parseDate(xpp)); 3120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 3121 res.setAuthor(parseReference(xpp)); 3122 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 3123 return false; 3124 } 3125 return true; 3126 } 3127 3128 protected Binary parseBinary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3129 Binary res = new Binary(); 3130 parseResourceAttributes(xpp, res); 3131 next(xpp); 3132 int eventType = nextNoWhitespace(xpp); 3133 while (eventType != XmlPullParser.END_TAG) { 3134 if (!parseBinaryContent(eventType, xpp, res)) 3135 unknownContent(xpp); 3136 eventType = nextNoWhitespace(xpp); 3137 } 3138 next(xpp); 3139 parseElementClose(res); 3140 return res; 3141 } 3142 3143 protected boolean parseBinaryContent(int eventType, XmlPullParser xpp, Binary res) throws XmlPullParserException, IOException, FHIRFormatError { 3144 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 3145 res.setContentTypeElement(parseCode(xpp)); 3146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityContext")) { 3147 res.setSecurityContext(parseReference(xpp)); 3148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 3149 res.setDataElement(parseBase64Binary(xpp)); 3150 } else if (!parseResourceContent(eventType, xpp, res)){ 3151 return false; 3152 } 3153 return true; 3154 } 3155 3156 protected BiologicallyDerivedProduct parseBiologicallyDerivedProduct(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3157 BiologicallyDerivedProduct res = new BiologicallyDerivedProduct(); 3158 parseResourceAttributes(xpp, res); 3159 next(xpp); 3160 int eventType = nextNoWhitespace(xpp); 3161 while (eventType != XmlPullParser.END_TAG) { 3162 if (!parseBiologicallyDerivedProductContent(eventType, xpp, res)) 3163 unknownContent(xpp); 3164 eventType = nextNoWhitespace(xpp); 3165 } 3166 next(xpp); 3167 parseElementClose(res); 3168 return res; 3169 } 3170 3171 protected boolean parseBiologicallyDerivedProductContent(int eventType, XmlPullParser xpp, BiologicallyDerivedProduct res) throws XmlPullParserException, IOException, FHIRFormatError { 3172 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3173 res.getIdentifier().add(parseIdentifier(xpp)); 3174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productCategory")) { 3175 res.setProductCategoryElement(parseEnumeration(xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductCategory.NULL, new BiologicallyDerivedProduct.BiologicallyDerivedProductCategoryEnumFactory())); 3176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productCode")) { 3177 res.setProductCode(parseCodeableConcept(xpp)); 3178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3179 res.setStatusElement(parseEnumeration(xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductStatus.NULL, new BiologicallyDerivedProduct.BiologicallyDerivedProductStatusEnumFactory())); 3180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 3181 res.getRequest().add(parseReference(xpp)); 3182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 3183 res.setQuantityElement(parseInteger(xpp)); 3184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 3185 res.getParent().add(parseReference(xpp)); 3186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { 3187 res.setCollection(parseBiologicallyDerivedProductCollectionComponent(xpp)); 3188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processing")) { 3189 res.getProcessing().add(parseBiologicallyDerivedProductProcessingComponent(xpp)); 3190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manipulation")) { 3191 res.setManipulation(parseBiologicallyDerivedProductManipulationComponent(xpp)); 3192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("storage")) { 3193 res.getStorage().add(parseBiologicallyDerivedProductStorageComponent(xpp)); 3194 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 3195 return false; 3196 } 3197 return true; 3198 } 3199 3200 protected BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent parseBiologicallyDerivedProductCollectionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3201 BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent res = new BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent(); 3202 parseElementAttributes(xpp, res); 3203 next(xpp); 3204 int eventType = nextNoWhitespace(xpp); 3205 while (eventType != XmlPullParser.END_TAG) { 3206 if (!parseBiologicallyDerivedProductCollectionComponentContent(eventType, xpp, res)) 3207 unknownContent(xpp); 3208 eventType = nextNoWhitespace(xpp); 3209 } 3210 next(xpp); 3211 parseElementClose(res); 3212 return res; 3213 } 3214 3215 protected boolean parseBiologicallyDerivedProductCollectionComponentContent(int eventType, XmlPullParser xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3216 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collector")) { 3217 res.setCollector(parseReference(xpp)); 3218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 3219 res.setSource(parseReference(xpp)); 3220 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "collected")) { 3221 res.setCollected(parseType("collected", xpp)); 3222 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3223 return false; 3224 } 3225 return true; 3226 } 3227 3228 protected BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent parseBiologicallyDerivedProductProcessingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3229 BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent res = new BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent(); 3230 parseElementAttributes(xpp, res); 3231 next(xpp); 3232 int eventType = nextNoWhitespace(xpp); 3233 while (eventType != XmlPullParser.END_TAG) { 3234 if (!parseBiologicallyDerivedProductProcessingComponentContent(eventType, xpp, res)) 3235 unknownContent(xpp); 3236 eventType = nextNoWhitespace(xpp); 3237 } 3238 next(xpp); 3239 parseElementClose(res); 3240 return res; 3241 } 3242 3243 protected boolean parseBiologicallyDerivedProductProcessingComponentContent(int eventType, XmlPullParser xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3244 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3245 res.setDescriptionElement(parseString(xpp)); 3246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 3247 res.setProcedure(parseCodeableConcept(xpp)); 3248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { 3249 res.setAdditive(parseReference(xpp)); 3250 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "time")) { 3251 res.setTime(parseType("time", xpp)); 3252 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3253 return false; 3254 } 3255 return true; 3256 } 3257 3258 protected BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent parseBiologicallyDerivedProductManipulationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3259 BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent res = new BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent(); 3260 parseElementAttributes(xpp, res); 3261 next(xpp); 3262 int eventType = nextNoWhitespace(xpp); 3263 while (eventType != XmlPullParser.END_TAG) { 3264 if (!parseBiologicallyDerivedProductManipulationComponentContent(eventType, xpp, res)) 3265 unknownContent(xpp); 3266 eventType = nextNoWhitespace(xpp); 3267 } 3268 next(xpp); 3269 parseElementClose(res); 3270 return res; 3271 } 3272 3273 protected boolean parseBiologicallyDerivedProductManipulationComponentContent(int eventType, XmlPullParser xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3274 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3275 res.setDescriptionElement(parseString(xpp)); 3276 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "time")) { 3277 res.setTime(parseType("time", xpp)); 3278 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3279 return false; 3280 } 3281 return true; 3282 } 3283 3284 protected BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent parseBiologicallyDerivedProductStorageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3285 BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent res = new BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent(); 3286 parseElementAttributes(xpp, res); 3287 next(xpp); 3288 int eventType = nextNoWhitespace(xpp); 3289 while (eventType != XmlPullParser.END_TAG) { 3290 if (!parseBiologicallyDerivedProductStorageComponentContent(eventType, xpp, res)) 3291 unknownContent(xpp); 3292 eventType = nextNoWhitespace(xpp); 3293 } 3294 next(xpp); 3295 parseElementClose(res); 3296 return res; 3297 } 3298 3299 protected boolean parseBiologicallyDerivedProductStorageComponentContent(int eventType, XmlPullParser xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3300 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3301 res.setDescriptionElement(parseString(xpp)); 3302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("temperature")) { 3303 res.setTemperatureElement(parseDecimal(xpp)); 3304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scale")) { 3305 res.setScaleElement(parseEnumeration(xpp, BiologicallyDerivedProduct.BiologicallyDerivedProductStorageScale.NULL, new BiologicallyDerivedProduct.BiologicallyDerivedProductStorageScaleEnumFactory())); 3306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 3307 res.setDuration(parsePeriod(xpp)); 3308 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3309 return false; 3310 } 3311 return true; 3312 } 3313 3314 protected BodyStructure parseBodyStructure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3315 BodyStructure res = new BodyStructure(); 3316 parseResourceAttributes(xpp, res); 3317 next(xpp); 3318 int eventType = nextNoWhitespace(xpp); 3319 while (eventType != XmlPullParser.END_TAG) { 3320 if (!parseBodyStructureContent(eventType, xpp, res)) 3321 unknownContent(xpp); 3322 eventType = nextNoWhitespace(xpp); 3323 } 3324 next(xpp); 3325 parseElementClose(res); 3326 return res; 3327 } 3328 3329 protected boolean parseBodyStructureContent(int eventType, XmlPullParser xpp, BodyStructure res) throws XmlPullParserException, IOException, FHIRFormatError { 3330 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3331 res.getIdentifier().add(parseIdentifier(xpp)); 3332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 3333 res.setActiveElement(parseBoolean(xpp)); 3334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("morphology")) { 3335 res.setMorphology(parseCodeableConcept(xpp)); 3336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 3337 res.setLocation(parseCodeableConcept(xpp)); 3338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("locationQualifier")) { 3339 res.getLocationQualifier().add(parseCodeableConcept(xpp)); 3340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3341 res.setDescriptionElement(parseString(xpp)); 3342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 3343 res.getImage().add(parseAttachment(xpp)); 3344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 3345 res.setPatient(parseReference(xpp)); 3346 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 3347 return false; 3348 } 3349 return true; 3350 } 3351 3352 protected Bundle parseBundle(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3353 Bundle res = new Bundle(); 3354 parseResourceAttributes(xpp, res); 3355 next(xpp); 3356 int eventType = nextNoWhitespace(xpp); 3357 while (eventType != XmlPullParser.END_TAG) { 3358 if (!parseBundleContent(eventType, xpp, res)) 3359 unknownContent(xpp); 3360 eventType = nextNoWhitespace(xpp); 3361 } 3362 next(xpp); 3363 parseElementClose(res); 3364 return res; 3365 } 3366 3367 protected boolean parseBundleContent(int eventType, XmlPullParser xpp, Bundle res) throws XmlPullParserException, IOException, FHIRFormatError { 3368 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3369 res.setIdentifier(parseIdentifier(xpp)); 3370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3371 res.setTypeElement(parseEnumeration(xpp, Bundle.BundleType.NULL, new Bundle.BundleTypeEnumFactory())); 3372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 3373 res.setTimestampElement(parseInstant(xpp)); 3374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 3375 res.setTotalElement(parseUnsignedInt(xpp)); 3376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 3377 res.getLink().add(parseBundleLinkComponent(xpp)); 3378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 3379 res.getEntry().add(parseBundleEntryComponent(xpp)); 3380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 3381 res.setSignature(parseSignature(xpp)); 3382 } else if (!parseResourceContent(eventType, xpp, res)){ 3383 return false; 3384 } 3385 return true; 3386 } 3387 3388 protected Bundle.BundleLinkComponent parseBundleLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3389 Bundle.BundleLinkComponent res = new Bundle.BundleLinkComponent(); 3390 parseElementAttributes(xpp, res); 3391 next(xpp); 3392 int eventType = nextNoWhitespace(xpp); 3393 while (eventType != XmlPullParser.END_TAG) { 3394 if (!parseBundleLinkComponentContent(eventType, xpp, res)) 3395 unknownContent(xpp); 3396 eventType = nextNoWhitespace(xpp); 3397 } 3398 next(xpp); 3399 parseElementClose(res); 3400 return res; 3401 } 3402 3403 protected boolean parseBundleLinkComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3404 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relation")) { 3405 res.setRelationElement(parseString(xpp)); 3406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3407 res.setUrlElement(parseUri(xpp)); 3408 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3409 return false; 3410 } 3411 return true; 3412 } 3413 3414 protected Bundle.BundleEntryComponent parseBundleEntryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3415 Bundle.BundleEntryComponent res = new Bundle.BundleEntryComponent(); 3416 parseElementAttributes(xpp, res); 3417 next(xpp); 3418 int eventType = nextNoWhitespace(xpp); 3419 while (eventType != XmlPullParser.END_TAG) { 3420 if (!parseBundleEntryComponentContent(eventType, xpp, res)) 3421 unknownContent(xpp); 3422 eventType = nextNoWhitespace(xpp); 3423 } 3424 next(xpp); 3425 parseElementClose(res); 3426 return res; 3427 } 3428 3429 protected boolean parseBundleEntryComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleEntryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 3431 res.getLink().add(parseBundleLinkComponent(xpp)); 3432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fullUrl")) { 3433 res.setFullUrlElement(parseUri(xpp)); 3434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 3435 res.setResource(parseResourceContained(xpp)); 3436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("search")) { 3437 res.setSearch(parseBundleEntrySearchComponent(xpp)); 3438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 3439 res.setRequest(parseBundleEntryRequestComponent(xpp)); 3440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 3441 res.setResponse(parseBundleEntryResponseComponent(xpp)); 3442 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3443 return false; 3444 } 3445 return true; 3446 } 3447 3448 protected Bundle.BundleEntrySearchComponent parseBundleEntrySearchComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3449 Bundle.BundleEntrySearchComponent res = new Bundle.BundleEntrySearchComponent(); 3450 parseElementAttributes(xpp, res); 3451 next(xpp); 3452 int eventType = nextNoWhitespace(xpp); 3453 while (eventType != XmlPullParser.END_TAG) { 3454 if (!parseBundleEntrySearchComponentContent(eventType, xpp, res)) 3455 unknownContent(xpp); 3456 eventType = nextNoWhitespace(xpp); 3457 } 3458 next(xpp); 3459 parseElementClose(res); 3460 return res; 3461 } 3462 3463 protected boolean parseBundleEntrySearchComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleEntrySearchComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3464 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3465 res.setModeElement(parseEnumeration(xpp, Bundle.SearchEntryMode.NULL, new Bundle.SearchEntryModeEnumFactory())); 3466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 3467 res.setScoreElement(parseDecimal(xpp)); 3468 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3469 return false; 3470 } 3471 return true; 3472 } 3473 3474 protected Bundle.BundleEntryRequestComponent parseBundleEntryRequestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3475 Bundle.BundleEntryRequestComponent res = new Bundle.BundleEntryRequestComponent(); 3476 parseElementAttributes(xpp, res); 3477 next(xpp); 3478 int eventType = nextNoWhitespace(xpp); 3479 while (eventType != XmlPullParser.END_TAG) { 3480 if (!parseBundleEntryRequestComponentContent(eventType, xpp, res)) 3481 unknownContent(xpp); 3482 eventType = nextNoWhitespace(xpp); 3483 } 3484 next(xpp); 3485 parseElementClose(res); 3486 return res; 3487 } 3488 3489 protected boolean parseBundleEntryRequestComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleEntryRequestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3490 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 3491 res.setMethodElement(parseEnumeration(xpp, Bundle.HTTPVerb.NULL, new Bundle.HTTPVerbEnumFactory())); 3492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3493 res.setUrlElement(parseUri(xpp)); 3494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneMatch")) { 3495 res.setIfNoneMatchElement(parseString(xpp)); 3496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifModifiedSince")) { 3497 res.setIfModifiedSinceElement(parseInstant(xpp)); 3498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifMatch")) { 3499 res.setIfMatchElement(parseString(xpp)); 3500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneExist")) { 3501 res.setIfNoneExistElement(parseString(xpp)); 3502 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3503 return false; 3504 } 3505 return true; 3506 } 3507 3508 protected Bundle.BundleEntryResponseComponent parseBundleEntryResponseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3509 Bundle.BundleEntryResponseComponent res = new Bundle.BundleEntryResponseComponent(); 3510 parseElementAttributes(xpp, res); 3511 next(xpp); 3512 int eventType = nextNoWhitespace(xpp); 3513 while (eventType != XmlPullParser.END_TAG) { 3514 if (!parseBundleEntryResponseComponentContent(eventType, xpp, res)) 3515 unknownContent(xpp); 3516 eventType = nextNoWhitespace(xpp); 3517 } 3518 next(xpp); 3519 parseElementClose(res); 3520 return res; 3521 } 3522 3523 protected boolean parseBundleEntryResponseComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleEntryResponseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3524 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3525 res.setStatusElement(parseString(xpp)); 3526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 3527 res.setLocationElement(parseUri(xpp)); 3528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("etag")) { 3529 res.setEtagElement(parseString(xpp)); 3530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastModified")) { 3531 res.setLastModifiedElement(parseInstant(xpp)); 3532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 3533 res.setOutcome(parseResourceContained(xpp)); 3534 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3535 return false; 3536 } 3537 return true; 3538 } 3539 3540 protected CapabilityStatement parseCapabilityStatement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3541 CapabilityStatement res = new CapabilityStatement(); 3542 parseResourceAttributes(xpp, res); 3543 next(xpp); 3544 int eventType = nextNoWhitespace(xpp); 3545 while (eventType != XmlPullParser.END_TAG) { 3546 if (!parseCapabilityStatementContent(eventType, xpp, res)) 3547 unknownContent(xpp); 3548 eventType = nextNoWhitespace(xpp); 3549 } 3550 next(xpp); 3551 parseElementClose(res); 3552 return res; 3553 } 3554 3555 protected boolean parseCapabilityStatementContent(int eventType, XmlPullParser xpp, CapabilityStatement res) throws XmlPullParserException, IOException, FHIRFormatError { 3556 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3557 res.setUrlElement(parseUri(xpp)); 3558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3559 res.setVersionElement(parseString(xpp)); 3560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3561 res.setNameElement(parseString(xpp)); 3562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 3563 res.setTitleElement(parseString(xpp)); 3564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3565 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 3566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3567 res.setExperimentalElement(parseBoolean(xpp)); 3568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3569 res.setDateElement(parseDateTime(xpp)); 3570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3571 res.setPublisherElement(parseString(xpp)); 3572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3573 res.getContact().add(parseContactDetail(xpp)); 3574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3575 res.setDescriptionElement(parseMarkdown(xpp)); 3576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 3577 res.getUseContext().add(parseUsageContext(xpp)); 3578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 3579 res.getJurisdiction().add(parseCodeableConcept(xpp)); 3580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 3581 res.setPurposeElement(parseMarkdown(xpp)); 3582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 3583 res.setCopyrightElement(parseMarkdown(xpp)); 3584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 3585 res.setKindElement(parseEnumeration(xpp, Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); 3586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { 3587 res.getInstantiates().add(parseCanonical(xpp)); 3588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imports")) { 3589 res.getImports().add(parseCanonical(xpp)); 3590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 3591 res.setSoftware(parseCapabilityStatementSoftwareComponent(xpp)); 3592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementation")) { 3593 res.setImplementation(parseCapabilityStatementImplementationComponent(xpp)); 3594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 3595 res.setFhirVersionElement(parseEnumeration(xpp, Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); 3596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 3597 res.getFormat().add(parseCode(xpp)); 3598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patchFormat")) { 3599 res.getPatchFormat().add(parseCode(xpp)); 3600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementationGuide")) { 3601 res.getImplementationGuide().add(parseCanonical(xpp)); 3602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rest")) { 3603 res.getRest().add(parseCapabilityStatementRestComponent(xpp)); 3604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("messaging")) { 3605 res.getMessaging().add(parseCapabilityStatementMessagingComponent(xpp)); 3606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("document")) { 3607 res.getDocument().add(parseCapabilityStatementDocumentComponent(xpp)); 3608 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 3609 return false; 3610 } 3611 return true; 3612 } 3613 3614 protected CapabilityStatement.CapabilityStatementSoftwareComponent parseCapabilityStatementSoftwareComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3615 CapabilityStatement.CapabilityStatementSoftwareComponent res = new CapabilityStatement.CapabilityStatementSoftwareComponent(); 3616 parseElementAttributes(xpp, res); 3617 next(xpp); 3618 int eventType = nextNoWhitespace(xpp); 3619 while (eventType != XmlPullParser.END_TAG) { 3620 if (!parseCapabilityStatementSoftwareComponentContent(eventType, xpp, res)) 3621 unknownContent(xpp); 3622 eventType = nextNoWhitespace(xpp); 3623 } 3624 next(xpp); 3625 parseElementClose(res); 3626 return res; 3627 } 3628 3629 protected boolean parseCapabilityStatementSoftwareComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementSoftwareComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3630 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3631 res.setNameElement(parseString(xpp)); 3632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3633 res.setVersionElement(parseString(xpp)); 3634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("releaseDate")) { 3635 res.setReleaseDateElement(parseDateTime(xpp)); 3636 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3637 return false; 3638 } 3639 return true; 3640 } 3641 3642 protected CapabilityStatement.CapabilityStatementImplementationComponent parseCapabilityStatementImplementationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3643 CapabilityStatement.CapabilityStatementImplementationComponent res = new CapabilityStatement.CapabilityStatementImplementationComponent(); 3644 parseElementAttributes(xpp, res); 3645 next(xpp); 3646 int eventType = nextNoWhitespace(xpp); 3647 while (eventType != XmlPullParser.END_TAG) { 3648 if (!parseCapabilityStatementImplementationComponentContent(eventType, xpp, res)) 3649 unknownContent(xpp); 3650 eventType = nextNoWhitespace(xpp); 3651 } 3652 next(xpp); 3653 parseElementClose(res); 3654 return res; 3655 } 3656 3657 protected boolean parseCapabilityStatementImplementationComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementImplementationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3658 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3659 res.setDescriptionElement(parseString(xpp)); 3660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3661 res.setUrlElement(parseUrl(xpp)); 3662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 3663 res.setCustodian(parseReference(xpp)); 3664 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3665 return false; 3666 } 3667 return true; 3668 } 3669 3670 protected CapabilityStatement.CapabilityStatementRestComponent parseCapabilityStatementRestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3671 CapabilityStatement.CapabilityStatementRestComponent res = new CapabilityStatement.CapabilityStatementRestComponent(); 3672 parseElementAttributes(xpp, res); 3673 next(xpp); 3674 int eventType = nextNoWhitespace(xpp); 3675 while (eventType != XmlPullParser.END_TAG) { 3676 if (!parseCapabilityStatementRestComponentContent(eventType, xpp, res)) 3677 unknownContent(xpp); 3678 eventType = nextNoWhitespace(xpp); 3679 } 3680 next(xpp); 3681 parseElementClose(res); 3682 return res; 3683 } 3684 3685 protected boolean parseCapabilityStatementRestComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3686 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3687 res.setModeElement(parseEnumeration(xpp, CapabilityStatement.RestfulCapabilityMode.NULL, new CapabilityStatement.RestfulCapabilityModeEnumFactory())); 3688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3689 res.setDocumentationElement(parseMarkdown(xpp)); 3690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 3691 res.setSecurity(parseCapabilityStatementRestSecurityComponent(xpp)); 3692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 3693 res.getResource().add(parseCapabilityStatementRestResourceComponent(xpp)); 3694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3695 res.getInteraction().add(parseCapabilityStatementSystemInteractionComponent(xpp)); 3696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3697 res.getSearchParam().add(parseCapabilityStatementRestResourceSearchParamComponent(xpp)); 3698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 3699 res.getOperation().add(parseCapabilityStatementRestResourceOperationComponent(xpp)); 3700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compartment")) { 3701 res.getCompartment().add(parseCanonical(xpp)); 3702 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3703 return false; 3704 } 3705 return true; 3706 } 3707 3708 protected CapabilityStatement.CapabilityStatementRestSecurityComponent parseCapabilityStatementRestSecurityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3709 CapabilityStatement.CapabilityStatementRestSecurityComponent res = new CapabilityStatement.CapabilityStatementRestSecurityComponent(); 3710 parseElementAttributes(xpp, res); 3711 next(xpp); 3712 int eventType = nextNoWhitespace(xpp); 3713 while (eventType != XmlPullParser.END_TAG) { 3714 if (!parseCapabilityStatementRestSecurityComponentContent(eventType, xpp, res)) 3715 unknownContent(xpp); 3716 eventType = nextNoWhitespace(xpp); 3717 } 3718 next(xpp); 3719 parseElementClose(res); 3720 return res; 3721 } 3722 3723 protected boolean parseCapabilityStatementRestSecurityComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestSecurityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3724 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cors")) { 3725 res.setCorsElement(parseBoolean(xpp)); 3726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 3727 res.getService().add(parseCodeableConcept(xpp)); 3728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3729 res.setDescriptionElement(parseMarkdown(xpp)); 3730 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3731 return false; 3732 } 3733 return true; 3734 } 3735 3736 protected CapabilityStatement.CapabilityStatementRestResourceComponent parseCapabilityStatementRestResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3737 CapabilityStatement.CapabilityStatementRestResourceComponent res = new CapabilityStatement.CapabilityStatementRestResourceComponent(); 3738 parseElementAttributes(xpp, res); 3739 next(xpp); 3740 int eventType = nextNoWhitespace(xpp); 3741 while (eventType != XmlPullParser.END_TAG) { 3742 if (!parseCapabilityStatementRestResourceComponentContent(eventType, xpp, res)) 3743 unknownContent(xpp); 3744 eventType = nextNoWhitespace(xpp); 3745 } 3746 next(xpp); 3747 parseElementClose(res); 3748 return res; 3749 } 3750 3751 protected boolean parseCapabilityStatementRestResourceComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3752 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3753 res.setTypeElement(parseCode(xpp)); 3754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3755 res.setProfileElement(parseCanonical(xpp)); 3756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportedProfile")) { 3757 res.getSupportedProfile().add(parseCanonical(xpp)); 3758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3759 res.setDocumentationElement(parseMarkdown(xpp)); 3760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3761 res.getInteraction().add(parseCapabilityStatementResourceInteractionComponent(xpp)); 3762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versioning")) { 3763 res.setVersioningElement(parseEnumeration(xpp, CapabilityStatement.ResourceVersionPolicy.NULL, new CapabilityStatement.ResourceVersionPolicyEnumFactory())); 3764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readHistory")) { 3765 res.setReadHistoryElement(parseBoolean(xpp)); 3766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("updateCreate")) { 3767 res.setUpdateCreateElement(parseBoolean(xpp)); 3768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalCreate")) { 3769 res.setConditionalCreateElement(parseBoolean(xpp)); 3770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalRead")) { 3771 res.setConditionalReadElement(parseEnumeration(xpp, CapabilityStatement.ConditionalReadStatus.NULL, new CapabilityStatement.ConditionalReadStatusEnumFactory())); 3772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalUpdate")) { 3773 res.setConditionalUpdateElement(parseBoolean(xpp)); 3774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalDelete")) { 3775 res.setConditionalDeleteElement(parseEnumeration(xpp, CapabilityStatement.ConditionalDeleteStatus.NULL, new CapabilityStatement.ConditionalDeleteStatusEnumFactory())); 3776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referencePolicy")) { 3777 res.getReferencePolicy().add(parseEnumeration(xpp, CapabilityStatement.ReferenceHandlingPolicy.NULL, new CapabilityStatement.ReferenceHandlingPolicyEnumFactory())); 3778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchInclude")) { 3779 res.getSearchInclude().add(parseString(xpp)); 3780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchRevInclude")) { 3781 res.getSearchRevInclude().add(parseString(xpp)); 3782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3783 res.getSearchParam().add(parseCapabilityStatementRestResourceSearchParamComponent(xpp)); 3784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 3785 res.getOperation().add(parseCapabilityStatementRestResourceOperationComponent(xpp)); 3786 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3787 return false; 3788 } 3789 return true; 3790 } 3791 3792 protected CapabilityStatement.ResourceInteractionComponent parseCapabilityStatementResourceInteractionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3793 CapabilityStatement.ResourceInteractionComponent res = new CapabilityStatement.ResourceInteractionComponent(); 3794 parseElementAttributes(xpp, res); 3795 next(xpp); 3796 int eventType = nextNoWhitespace(xpp); 3797 while (eventType != XmlPullParser.END_TAG) { 3798 if (!parseCapabilityStatementResourceInteractionComponentContent(eventType, xpp, res)) 3799 unknownContent(xpp); 3800 eventType = nextNoWhitespace(xpp); 3801 } 3802 next(xpp); 3803 parseElementClose(res); 3804 return res; 3805 } 3806 3807 protected boolean parseCapabilityStatementResourceInteractionComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.ResourceInteractionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3808 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3809 res.setCodeElement(parseEnumeration(xpp, CapabilityStatement.TypeRestfulInteraction.NULL, new CapabilityStatement.TypeRestfulInteractionEnumFactory())); 3810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3811 res.setDocumentationElement(parseMarkdown(xpp)); 3812 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3813 return false; 3814 } 3815 return true; 3816 } 3817 3818 protected CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent parseCapabilityStatementRestResourceSearchParamComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3819 CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent res = new CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent(); 3820 parseElementAttributes(xpp, res); 3821 next(xpp); 3822 int eventType = nextNoWhitespace(xpp); 3823 while (eventType != XmlPullParser.END_TAG) { 3824 if (!parseCapabilityStatementRestResourceSearchParamComponentContent(eventType, xpp, res)) 3825 unknownContent(xpp); 3826 eventType = nextNoWhitespace(xpp); 3827 } 3828 next(xpp); 3829 parseElementClose(res); 3830 return res; 3831 } 3832 3833 protected boolean parseCapabilityStatementRestResourceSearchParamComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3834 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3835 res.setNameElement(parseString(xpp)); 3836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3837 res.setDefinitionElement(parseCanonical(xpp)); 3838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3839 res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 3840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3841 res.setDocumentationElement(parseMarkdown(xpp)); 3842 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3843 return false; 3844 } 3845 return true; 3846 } 3847 3848 protected CapabilityStatement.CapabilityStatementRestResourceOperationComponent parseCapabilityStatementRestResourceOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3849 CapabilityStatement.CapabilityStatementRestResourceOperationComponent res = new CapabilityStatement.CapabilityStatementRestResourceOperationComponent(); 3850 parseElementAttributes(xpp, res); 3851 next(xpp); 3852 int eventType = nextNoWhitespace(xpp); 3853 while (eventType != XmlPullParser.END_TAG) { 3854 if (!parseCapabilityStatementRestResourceOperationComponentContent(eventType, xpp, res)) 3855 unknownContent(xpp); 3856 eventType = nextNoWhitespace(xpp); 3857 } 3858 next(xpp); 3859 parseElementClose(res); 3860 return res; 3861 } 3862 3863 protected boolean parseCapabilityStatementRestResourceOperationComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestResourceOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3864 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3865 res.setNameElement(parseString(xpp)); 3866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3867 res.setDefinitionElement(parseCanonical(xpp)); 3868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3869 res.setDocumentationElement(parseMarkdown(xpp)); 3870 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3871 return false; 3872 } 3873 return true; 3874 } 3875 3876 protected CapabilityStatement.SystemInteractionComponent parseCapabilityStatementSystemInteractionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3877 CapabilityStatement.SystemInteractionComponent res = new CapabilityStatement.SystemInteractionComponent(); 3878 parseElementAttributes(xpp, res); 3879 next(xpp); 3880 int eventType = nextNoWhitespace(xpp); 3881 while (eventType != XmlPullParser.END_TAG) { 3882 if (!parseCapabilityStatementSystemInteractionComponentContent(eventType, xpp, res)) 3883 unknownContent(xpp); 3884 eventType = nextNoWhitespace(xpp); 3885 } 3886 next(xpp); 3887 parseElementClose(res); 3888 return res; 3889 } 3890 3891 protected boolean parseCapabilityStatementSystemInteractionComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.SystemInteractionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3892 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3893 res.setCodeElement(parseEnumeration(xpp, CapabilityStatement.SystemRestfulInteraction.NULL, new CapabilityStatement.SystemRestfulInteractionEnumFactory())); 3894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3895 res.setDocumentationElement(parseMarkdown(xpp)); 3896 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3897 return false; 3898 } 3899 return true; 3900 } 3901 3902 protected CapabilityStatement.CapabilityStatementMessagingComponent parseCapabilityStatementMessagingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3903 CapabilityStatement.CapabilityStatementMessagingComponent res = new CapabilityStatement.CapabilityStatementMessagingComponent(); 3904 parseElementAttributes(xpp, res); 3905 next(xpp); 3906 int eventType = nextNoWhitespace(xpp); 3907 while (eventType != XmlPullParser.END_TAG) { 3908 if (!parseCapabilityStatementMessagingComponentContent(eventType, xpp, res)) 3909 unknownContent(xpp); 3910 eventType = nextNoWhitespace(xpp); 3911 } 3912 next(xpp); 3913 parseElementClose(res); 3914 return res; 3915 } 3916 3917 protected boolean parseCapabilityStatementMessagingComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementMessagingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3918 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 3919 res.getEndpoint().add(parseCapabilityStatementMessagingEndpointComponent(xpp)); 3920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reliableCache")) { 3921 res.setReliableCacheElement(parseUnsignedInt(xpp)); 3922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3923 res.setDocumentationElement(parseMarkdown(xpp)); 3924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportedMessage")) { 3925 res.getSupportedMessage().add(parseCapabilityStatementMessagingSupportedMessageComponent(xpp)); 3926 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3927 return false; 3928 } 3929 return true; 3930 } 3931 3932 protected CapabilityStatement.CapabilityStatementMessagingEndpointComponent parseCapabilityStatementMessagingEndpointComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3933 CapabilityStatement.CapabilityStatementMessagingEndpointComponent res = new CapabilityStatement.CapabilityStatementMessagingEndpointComponent(); 3934 parseElementAttributes(xpp, res); 3935 next(xpp); 3936 int eventType = nextNoWhitespace(xpp); 3937 while (eventType != XmlPullParser.END_TAG) { 3938 if (!parseCapabilityStatementMessagingEndpointComponentContent(eventType, xpp, res)) 3939 unknownContent(xpp); 3940 eventType = nextNoWhitespace(xpp); 3941 } 3942 next(xpp); 3943 parseElementClose(res); 3944 return res; 3945 } 3946 3947 protected boolean parseCapabilityStatementMessagingEndpointComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementMessagingEndpointComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3948 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 3949 res.setProtocol(parseCoding(xpp)); 3950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 3951 res.setAddressElement(parseUrl(xpp)); 3952 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3953 return false; 3954 } 3955 return true; 3956 } 3957 3958 protected CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent parseCapabilityStatementMessagingSupportedMessageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3959 CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent res = new CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent(); 3960 parseElementAttributes(xpp, res); 3961 next(xpp); 3962 int eventType = nextNoWhitespace(xpp); 3963 while (eventType != XmlPullParser.END_TAG) { 3964 if (!parseCapabilityStatementMessagingSupportedMessageComponentContent(eventType, xpp, res)) 3965 unknownContent(xpp); 3966 eventType = nextNoWhitespace(xpp); 3967 } 3968 next(xpp); 3969 parseElementClose(res); 3970 return res; 3971 } 3972 3973 protected boolean parseCapabilityStatementMessagingSupportedMessageComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 3974 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3975 res.setModeElement(parseEnumeration(xpp, CapabilityStatement.EventCapabilityMode.NULL, new CapabilityStatement.EventCapabilityModeEnumFactory())); 3976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3977 res.setDefinitionElement(parseCanonical(xpp)); 3978 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 3979 return false; 3980 } 3981 return true; 3982 } 3983 3984 protected CapabilityStatement.CapabilityStatementDocumentComponent parseCapabilityStatementDocumentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3985 CapabilityStatement.CapabilityStatementDocumentComponent res = new CapabilityStatement.CapabilityStatementDocumentComponent(); 3986 parseElementAttributes(xpp, res); 3987 next(xpp); 3988 int eventType = nextNoWhitespace(xpp); 3989 while (eventType != XmlPullParser.END_TAG) { 3990 if (!parseCapabilityStatementDocumentComponentContent(eventType, xpp, res)) 3991 unknownContent(xpp); 3992 eventType = nextNoWhitespace(xpp); 3993 } 3994 next(xpp); 3995 parseElementClose(res); 3996 return res; 3997 } 3998 3999 protected boolean parseCapabilityStatementDocumentComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementDocumentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4000 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 4001 res.setModeElement(parseEnumeration(xpp, CapabilityStatement.DocumentMode.NULL, new CapabilityStatement.DocumentModeEnumFactory())); 4002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 4003 res.setDocumentationElement(parseMarkdown(xpp)); 4004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 4005 res.setProfileElement(parseCanonical(xpp)); 4006 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4007 return false; 4008 } 4009 return true; 4010 } 4011 4012 protected CarePlan parseCarePlan(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4013 CarePlan res = new CarePlan(); 4014 parseResourceAttributes(xpp, res); 4015 next(xpp); 4016 int eventType = nextNoWhitespace(xpp); 4017 while (eventType != XmlPullParser.END_TAG) { 4018 if (!parseCarePlanContent(eventType, xpp, res)) 4019 unknownContent(xpp); 4020 eventType = nextNoWhitespace(xpp); 4021 } 4022 next(xpp); 4023 parseElementClose(res); 4024 return res; 4025 } 4026 4027 protected boolean parseCarePlanContent(int eventType, XmlPullParser xpp, CarePlan res) throws XmlPullParserException, IOException, FHIRFormatError { 4028 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4029 res.getIdentifier().add(parseIdentifier(xpp)); 4030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 4031 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 4032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 4033 res.getInstantiatesUri().add(parseUri(xpp)); 4034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 4035 res.getBasedOn().add(parseReference(xpp)); 4036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 4037 res.getReplaces().add(parseReference(xpp)); 4038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 4039 res.getPartOf().add(parseReference(xpp)); 4040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4041 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 4042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 4043 res.setIntentElement(parseEnumeration(xpp, CarePlan.CarePlanIntent.NULL, new CarePlan.CarePlanIntentEnumFactory())); 4044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4045 res.getCategory().add(parseCodeableConcept(xpp)); 4046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 4047 res.setTitleElement(parseString(xpp)); 4048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4049 res.setDescriptionElement(parseString(xpp)); 4050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4051 res.setSubject(parseReference(xpp)); 4052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4053 res.setEncounter(parseReference(xpp)); 4054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4055 res.setPeriod(parsePeriod(xpp)); 4056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4057 res.setCreatedElement(parseDateTime(xpp)); 4058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4059 res.setAuthor(parseReference(xpp)); 4060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributor")) { 4061 res.getContributor().add(parseReference(xpp)); 4062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { 4063 res.getCareTeam().add(parseReference(xpp)); 4064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 4065 res.getAddresses().add(parseReference(xpp)); 4066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 4067 res.getSupportingInfo().add(parseReference(xpp)); 4068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 4069 res.getGoal().add(parseReference(xpp)); 4070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 4071 res.getActivity().add(parseCarePlanActivityComponent(xpp)); 4072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4073 res.getNote().add(parseAnnotation(xpp)); 4074 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4075 return false; 4076 } 4077 return true; 4078 } 4079 4080 protected CarePlan.CarePlanActivityComponent parseCarePlanActivityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4081 CarePlan.CarePlanActivityComponent res = new CarePlan.CarePlanActivityComponent(); 4082 parseElementAttributes(xpp, res); 4083 next(xpp); 4084 int eventType = nextNoWhitespace(xpp); 4085 while (eventType != XmlPullParser.END_TAG) { 4086 if (!parseCarePlanActivityComponentContent(eventType, xpp, res)) 4087 unknownContent(xpp); 4088 eventType = nextNoWhitespace(xpp); 4089 } 4090 next(xpp); 4091 parseElementClose(res); 4092 return res; 4093 } 4094 4095 protected boolean parseCarePlanActivityComponentContent(int eventType, XmlPullParser xpp, CarePlan.CarePlanActivityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4096 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeCodeableConcept")) { 4097 res.getOutcomeCodeableConcept().add(parseCodeableConcept(xpp)); 4098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeReference")) { 4099 res.getOutcomeReference().add(parseReference(xpp)); 4100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("progress")) { 4101 res.getProgress().add(parseAnnotation(xpp)); 4102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 4103 res.setReference(parseReference(xpp)); 4104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 4105 res.setDetail(parseCarePlanActivityDetailComponent(xpp)); 4106 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4107 return false; 4108 } 4109 return true; 4110 } 4111 4112 protected CarePlan.CarePlanActivityDetailComponent parseCarePlanActivityDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4113 CarePlan.CarePlanActivityDetailComponent res = new CarePlan.CarePlanActivityDetailComponent(); 4114 parseElementAttributes(xpp, res); 4115 next(xpp); 4116 int eventType = nextNoWhitespace(xpp); 4117 while (eventType != XmlPullParser.END_TAG) { 4118 if (!parseCarePlanActivityDetailComponentContent(eventType, xpp, res)) 4119 unknownContent(xpp); 4120 eventType = nextNoWhitespace(xpp); 4121 } 4122 next(xpp); 4123 parseElementClose(res); 4124 return res; 4125 } 4126 4127 protected boolean parseCarePlanActivityDetailComponentContent(int eventType, XmlPullParser xpp, CarePlan.CarePlanActivityDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4128 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 4129 res.setKindElement(parseEnumeration(xpp, CarePlan.CarePlanActivityKind.NULL, new CarePlan.CarePlanActivityKindEnumFactory())); 4130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 4131 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 4132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 4133 res.getInstantiatesUri().add(parseUri(xpp)); 4134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4135 res.setCode(parseCodeableConcept(xpp)); 4136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 4137 res.getReasonCode().add(parseCodeableConcept(xpp)); 4138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 4139 res.getReasonReference().add(parseReference(xpp)); 4140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 4141 res.getGoal().add(parseReference(xpp)); 4142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4143 res.setStatusElement(parseEnumeration(xpp, CarePlan.CarePlanActivityStatus.NULL, new CarePlan.CarePlanActivityStatusEnumFactory())); 4144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 4145 res.setStatusReason(parseCodeableConcept(xpp)); 4146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 4147 res.setDoNotPerformElement(parseBoolean(xpp)); 4148 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 4149 res.setScheduled(parseType("scheduled", xpp)); 4150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 4151 res.setLocation(parseReference(xpp)); 4152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 4153 res.getPerformer().add(parseReference(xpp)); 4154 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "product")) { 4155 res.setProduct(parseType("product", xpp)); 4156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dailyAmount")) { 4157 res.setDailyAmount(parseQuantity(xpp)); 4158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 4159 res.setQuantity(parseQuantity(xpp)); 4160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4161 res.setDescriptionElement(parseString(xpp)); 4162 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4163 return false; 4164 } 4165 return true; 4166 } 4167 4168 protected CareTeam parseCareTeam(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4169 CareTeam res = new CareTeam(); 4170 parseResourceAttributes(xpp, res); 4171 next(xpp); 4172 int eventType = nextNoWhitespace(xpp); 4173 while (eventType != XmlPullParser.END_TAG) { 4174 if (!parseCareTeamContent(eventType, xpp, res)) 4175 unknownContent(xpp); 4176 eventType = nextNoWhitespace(xpp); 4177 } 4178 next(xpp); 4179 parseElementClose(res); 4180 return res; 4181 } 4182 4183 protected boolean parseCareTeamContent(int eventType, XmlPullParser xpp, CareTeam res) throws XmlPullParserException, IOException, FHIRFormatError { 4184 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4185 res.getIdentifier().add(parseIdentifier(xpp)); 4186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4187 res.setStatusElement(parseEnumeration(xpp, CareTeam.CareTeamStatus.NULL, new CareTeam.CareTeamStatusEnumFactory())); 4188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4189 res.getCategory().add(parseCodeableConcept(xpp)); 4190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4191 res.setNameElement(parseString(xpp)); 4192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4193 res.setSubject(parseReference(xpp)); 4194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4195 res.setEncounter(parseReference(xpp)); 4196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4197 res.setPeriod(parsePeriod(xpp)); 4198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 4199 res.getParticipant().add(parseCareTeamParticipantComponent(xpp)); 4200 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 4201 res.getReasonCode().add(parseCodeableConcept(xpp)); 4202 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 4203 res.getReasonReference().add(parseReference(xpp)); 4204 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 4205 res.getManagingOrganization().add(parseReference(xpp)); 4206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 4207 res.getTelecom().add(parseContactPoint(xpp)); 4208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4209 res.getNote().add(parseAnnotation(xpp)); 4210 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4211 return false; 4212 } 4213 return true; 4214 } 4215 4216 protected CareTeam.CareTeamParticipantComponent parseCareTeamParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4217 CareTeam.CareTeamParticipantComponent res = new CareTeam.CareTeamParticipantComponent(); 4218 parseElementAttributes(xpp, res); 4219 next(xpp); 4220 int eventType = nextNoWhitespace(xpp); 4221 while (eventType != XmlPullParser.END_TAG) { 4222 if (!parseCareTeamParticipantComponentContent(eventType, xpp, res)) 4223 unknownContent(xpp); 4224 eventType = nextNoWhitespace(xpp); 4225 } 4226 next(xpp); 4227 parseElementClose(res); 4228 return res; 4229 } 4230 4231 protected boolean parseCareTeamParticipantComponentContent(int eventType, XmlPullParser xpp, CareTeam.CareTeamParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4232 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 4233 res.getRole().add(parseCodeableConcept(xpp)); 4234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 4235 res.setMember(parseReference(xpp)); 4236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { 4237 res.setOnBehalfOf(parseReference(xpp)); 4238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4239 res.setPeriod(parsePeriod(xpp)); 4240 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4241 return false; 4242 } 4243 return true; 4244 } 4245 4246 protected CatalogEntry parseCatalogEntry(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4247 CatalogEntry res = new CatalogEntry(); 4248 parseResourceAttributes(xpp, res); 4249 next(xpp); 4250 int eventType = nextNoWhitespace(xpp); 4251 while (eventType != XmlPullParser.END_TAG) { 4252 if (!parseCatalogEntryContent(eventType, xpp, res)) 4253 unknownContent(xpp); 4254 eventType = nextNoWhitespace(xpp); 4255 } 4256 next(xpp); 4257 parseElementClose(res); 4258 return res; 4259 } 4260 4261 protected boolean parseCatalogEntryContent(int eventType, XmlPullParser xpp, CatalogEntry res) throws XmlPullParserException, IOException, FHIRFormatError { 4262 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4263 res.getIdentifier().add(parseIdentifier(xpp)); 4264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4265 res.setType(parseCodeableConcept(xpp)); 4266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderable")) { 4267 res.setOrderableElement(parseBoolean(xpp)); 4268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referencedItem")) { 4269 res.setReferencedItem(parseReference(xpp)); 4270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalIdentifier")) { 4271 res.getAdditionalIdentifier().add(parseIdentifier(xpp)); 4272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 4273 res.getClassification().add(parseCodeableConcept(xpp)); 4274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4275 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 4276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { 4277 res.setValidityPeriod(parsePeriod(xpp)); 4278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validTo")) { 4279 res.setValidToElement(parseDateTime(xpp)); 4280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastUpdated")) { 4281 res.setLastUpdatedElement(parseDateTime(xpp)); 4282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalCharacteristic")) { 4283 res.getAdditionalCharacteristic().add(parseCodeableConcept(xpp)); 4284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalClassification")) { 4285 res.getAdditionalClassification().add(parseCodeableConcept(xpp)); 4286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedEntry")) { 4287 res.getRelatedEntry().add(parseCatalogEntryRelatedEntryComponent(xpp)); 4288 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4289 return false; 4290 } 4291 return true; 4292 } 4293 4294 protected CatalogEntry.CatalogEntryRelatedEntryComponent parseCatalogEntryRelatedEntryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4295 CatalogEntry.CatalogEntryRelatedEntryComponent res = new CatalogEntry.CatalogEntryRelatedEntryComponent(); 4296 parseElementAttributes(xpp, res); 4297 next(xpp); 4298 int eventType = nextNoWhitespace(xpp); 4299 while (eventType != XmlPullParser.END_TAG) { 4300 if (!parseCatalogEntryRelatedEntryComponentContent(eventType, xpp, res)) 4301 unknownContent(xpp); 4302 eventType = nextNoWhitespace(xpp); 4303 } 4304 next(xpp); 4305 parseElementClose(res); 4306 return res; 4307 } 4308 4309 protected boolean parseCatalogEntryRelatedEntryComponentContent(int eventType, XmlPullParser xpp, CatalogEntry.CatalogEntryRelatedEntryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4310 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationtype")) { 4311 res.setRelationtypeElement(parseEnumeration(xpp, CatalogEntry.CatalogEntryRelationType.NULL, new CatalogEntry.CatalogEntryRelationTypeEnumFactory())); 4312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 4313 res.setItem(parseReference(xpp)); 4314 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4315 return false; 4316 } 4317 return true; 4318 } 4319 4320 protected ChargeItem parseChargeItem(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4321 ChargeItem res = new ChargeItem(); 4322 parseResourceAttributes(xpp, res); 4323 next(xpp); 4324 int eventType = nextNoWhitespace(xpp); 4325 while (eventType != XmlPullParser.END_TAG) { 4326 if (!parseChargeItemContent(eventType, xpp, res)) 4327 unknownContent(xpp); 4328 eventType = nextNoWhitespace(xpp); 4329 } 4330 next(xpp); 4331 parseElementClose(res); 4332 return res; 4333 } 4334 4335 protected boolean parseChargeItemContent(int eventType, XmlPullParser xpp, ChargeItem res) throws XmlPullParserException, IOException, FHIRFormatError { 4336 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4337 res.getIdentifier().add(parseIdentifier(xpp)); 4338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definitionUri")) { 4339 res.getDefinitionUri().add(parseUri(xpp)); 4340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definitionCanonical")) { 4341 res.getDefinitionCanonical().add(parseCanonical(xpp)); 4342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4343 res.setStatusElement(parseEnumeration(xpp, ChargeItem.ChargeItemStatus.NULL, new ChargeItem.ChargeItemStatusEnumFactory())); 4344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 4345 res.getPartOf().add(parseReference(xpp)); 4346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4347 res.setCode(parseCodeableConcept(xpp)); 4348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4349 res.setSubject(parseReference(xpp)); 4350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 4351 res.setContext(parseReference(xpp)); 4352 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 4353 res.setOccurrence(parseType("occurrence", xpp)); 4354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 4355 res.getPerformer().add(parseChargeItemPerformerComponent(xpp)); 4356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performingOrganization")) { 4357 res.setPerformingOrganization(parseReference(xpp)); 4358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestingOrganization")) { 4359 res.setRequestingOrganization(parseReference(xpp)); 4360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("costCenter")) { 4361 res.setCostCenter(parseReference(xpp)); 4362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 4363 res.setQuantity(parseQuantity(xpp)); 4364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodysite")) { 4365 res.getBodysite().add(parseCodeableConcept(xpp)); 4366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factorOverride")) { 4367 res.setFactorOverrideElement(parseDecimal(xpp)); 4368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceOverride")) { 4369 res.setPriceOverride(parseMoney(xpp)); 4370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overrideReason")) { 4371 res.setOverrideReasonElement(parseString(xpp)); 4372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 4373 res.setEnterer(parseReference(xpp)); 4374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enteredDate")) { 4375 res.setEnteredDateElement(parseDateTime(xpp)); 4376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 4377 res.getReason().add(parseCodeableConcept(xpp)); 4378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 4379 res.getService().add(parseReference(xpp)); 4380 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "product")) { 4381 res.setProduct(parseType("product", xpp)); 4382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { 4383 res.getAccount().add(parseReference(xpp)); 4384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4385 res.getNote().add(parseAnnotation(xpp)); 4386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 4387 res.getSupportingInformation().add(parseReference(xpp)); 4388 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4389 return false; 4390 } 4391 return true; 4392 } 4393 4394 protected ChargeItem.ChargeItemPerformerComponent parseChargeItemPerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4395 ChargeItem.ChargeItemPerformerComponent res = new ChargeItem.ChargeItemPerformerComponent(); 4396 parseElementAttributes(xpp, res); 4397 next(xpp); 4398 int eventType = nextNoWhitespace(xpp); 4399 while (eventType != XmlPullParser.END_TAG) { 4400 if (!parseChargeItemPerformerComponentContent(eventType, xpp, res)) 4401 unknownContent(xpp); 4402 eventType = nextNoWhitespace(xpp); 4403 } 4404 next(xpp); 4405 parseElementClose(res); 4406 return res; 4407 } 4408 4409 protected boolean parseChargeItemPerformerComponentContent(int eventType, XmlPullParser xpp, ChargeItem.ChargeItemPerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4410 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 4411 res.setFunction(parseCodeableConcept(xpp)); 4412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 4413 res.setActor(parseReference(xpp)); 4414 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4415 return false; 4416 } 4417 return true; 4418 } 4419 4420 protected ChargeItemDefinition parseChargeItemDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4421 ChargeItemDefinition res = new ChargeItemDefinition(); 4422 parseResourceAttributes(xpp, res); 4423 next(xpp); 4424 int eventType = nextNoWhitespace(xpp); 4425 while (eventType != XmlPullParser.END_TAG) { 4426 if (!parseChargeItemDefinitionContent(eventType, xpp, res)) 4427 unknownContent(xpp); 4428 eventType = nextNoWhitespace(xpp); 4429 } 4430 next(xpp); 4431 parseElementClose(res); 4432 return res; 4433 } 4434 4435 protected boolean parseChargeItemDefinitionContent(int eventType, XmlPullParser xpp, ChargeItemDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 4436 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 4437 res.setUrlElement(parseUri(xpp)); 4438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4439 res.getIdentifier().add(parseIdentifier(xpp)); 4440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4441 res.setVersionElement(parseString(xpp)); 4442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 4443 res.setTitleElement(parseString(xpp)); 4444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFromUri")) { 4445 res.getDerivedFromUri().add(parseUri(xpp)); 4446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 4447 res.getPartOf().add(parseCanonical(xpp)); 4448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 4449 res.getReplaces().add(parseCanonical(xpp)); 4450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4451 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 4452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 4453 res.setExperimentalElement(parseBoolean(xpp)); 4454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4455 res.setDateElement(parseDateTime(xpp)); 4456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 4457 res.setPublisherElement(parseString(xpp)); 4458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 4459 res.getContact().add(parseContactDetail(xpp)); 4460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4461 res.setDescriptionElement(parseMarkdown(xpp)); 4462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 4463 res.getUseContext().add(parseUsageContext(xpp)); 4464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 4465 res.getJurisdiction().add(parseCodeableConcept(xpp)); 4466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4467 res.setCopyrightElement(parseMarkdown(xpp)); 4468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 4469 res.setApprovalDateElement(parseDate(xpp)); 4470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 4471 res.setLastReviewDateElement(parseDate(xpp)); 4472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 4473 res.setEffectivePeriod(parsePeriod(xpp)); 4474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4475 res.setCode(parseCodeableConcept(xpp)); 4476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 4477 res.getInstance().add(parseReference(xpp)); 4478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applicability")) { 4479 res.getApplicability().add(parseChargeItemDefinitionApplicabilityComponent(xpp)); 4480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("propertyGroup")) { 4481 res.getPropertyGroup().add(parseChargeItemDefinitionPropertyGroupComponent(xpp)); 4482 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4483 return false; 4484 } 4485 return true; 4486 } 4487 4488 protected ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent parseChargeItemDefinitionApplicabilityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4489 ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent res = new ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent(); 4490 parseElementAttributes(xpp, res); 4491 next(xpp); 4492 int eventType = nextNoWhitespace(xpp); 4493 while (eventType != XmlPullParser.END_TAG) { 4494 if (!parseChargeItemDefinitionApplicabilityComponentContent(eventType, xpp, res)) 4495 unknownContent(xpp); 4496 eventType = nextNoWhitespace(xpp); 4497 } 4498 next(xpp); 4499 parseElementClose(res); 4500 return res; 4501 } 4502 4503 protected boolean parseChargeItemDefinitionApplicabilityComponentContent(int eventType, XmlPullParser xpp, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4504 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4505 res.setDescriptionElement(parseString(xpp)); 4506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 4507 res.setLanguageElement(parseString(xpp)); 4508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 4509 res.setExpressionElement(parseString(xpp)); 4510 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4511 return false; 4512 } 4513 return true; 4514 } 4515 4516 protected ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent parseChargeItemDefinitionPropertyGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4517 ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent res = new ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent(); 4518 parseElementAttributes(xpp, res); 4519 next(xpp); 4520 int eventType = nextNoWhitespace(xpp); 4521 while (eventType != XmlPullParser.END_TAG) { 4522 if (!parseChargeItemDefinitionPropertyGroupComponentContent(eventType, xpp, res)) 4523 unknownContent(xpp); 4524 eventType = nextNoWhitespace(xpp); 4525 } 4526 next(xpp); 4527 parseElementClose(res); 4528 return res; 4529 } 4530 4531 protected boolean parseChargeItemDefinitionPropertyGroupComponentContent(int eventType, XmlPullParser xpp, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4532 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applicability")) { 4533 res.getApplicability().add(parseChargeItemDefinitionApplicabilityComponent(xpp)); 4534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceComponent")) { 4535 res.getPriceComponent().add(parseChargeItemDefinitionPropertyGroupPriceComponentComponent(xpp)); 4536 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4537 return false; 4538 } 4539 return true; 4540 } 4541 4542 protected ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent parseChargeItemDefinitionPropertyGroupPriceComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4543 ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res = new ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); 4544 parseElementAttributes(xpp, res); 4545 next(xpp); 4546 int eventType = nextNoWhitespace(xpp); 4547 while (eventType != XmlPullParser.END_TAG) { 4548 if (!parseChargeItemDefinitionPropertyGroupPriceComponentComponentContent(eventType, xpp, res)) 4549 unknownContent(xpp); 4550 eventType = nextNoWhitespace(xpp); 4551 } 4552 next(xpp); 4553 parseElementClose(res); 4554 return res; 4555 } 4556 4557 protected boolean parseChargeItemDefinitionPropertyGroupPriceComponentComponentContent(int eventType, XmlPullParser xpp, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4558 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4559 res.setTypeElement(parseEnumeration(xpp, Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); 4560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4561 res.setCode(parseCodeableConcept(xpp)); 4562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 4563 res.setFactorElement(parseDecimal(xpp)); 4564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 4565 res.setAmount(parseMoney(xpp)); 4566 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4567 return false; 4568 } 4569 return true; 4570 } 4571 4572 protected Citation parseCitation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4573 Citation res = new Citation(); 4574 parseResourceAttributes(xpp, res); 4575 next(xpp); 4576 int eventType = nextNoWhitespace(xpp); 4577 while (eventType != XmlPullParser.END_TAG) { 4578 if (!parseCitationContent(eventType, xpp, res)) 4579 unknownContent(xpp); 4580 eventType = nextNoWhitespace(xpp); 4581 } 4582 next(xpp); 4583 parseElementClose(res); 4584 return res; 4585 } 4586 4587 protected boolean parseCitationContent(int eventType, XmlPullParser xpp, Citation res) throws XmlPullParserException, IOException, FHIRFormatError { 4588 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 4589 res.setUrlElement(parseUri(xpp)); 4590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4591 res.getIdentifier().add(parseIdentifier(xpp)); 4592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4593 res.setVersionElement(parseString(xpp)); 4594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4595 res.setNameElement(parseString(xpp)); 4596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 4597 res.setTitleElement(parseString(xpp)); 4598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4599 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 4600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 4601 res.setExperimentalElement(parseBoolean(xpp)); 4602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4603 res.setDateElement(parseDateTime(xpp)); 4604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 4605 res.setPublisherElement(parseString(xpp)); 4606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 4607 res.getContact().add(parseContactDetail(xpp)); 4608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4609 res.setDescriptionElement(parseMarkdown(xpp)); 4610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 4611 res.getUseContext().add(parseUsageContext(xpp)); 4612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 4613 res.getJurisdiction().add(parseCodeableConcept(xpp)); 4614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 4615 res.setPurposeElement(parseMarkdown(xpp)); 4616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4617 res.setCopyrightElement(parseMarkdown(xpp)); 4618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 4619 res.setApprovalDateElement(parseDate(xpp)); 4620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 4621 res.setLastReviewDateElement(parseDate(xpp)); 4622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 4623 res.setEffectivePeriod(parsePeriod(xpp)); 4624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4625 res.getAuthor().add(parseContactDetail(xpp)); 4626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 4627 res.getEditor().add(parseContactDetail(xpp)); 4628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 4629 res.getReviewer().add(parseContactDetail(xpp)); 4630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 4631 res.getEndorser().add(parseContactDetail(xpp)); 4632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 4633 res.getSummary().add(parseContactDetail(xpp)); 4634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 4635 res.getClassification().add(parseCitationClassificationComponent(xpp)); 4636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4637 res.getNote().add(parseAnnotation(xpp)); 4638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currentState")) { 4639 res.getCurrentState().add(parseCodeableConcept(xpp)); 4640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 4641 res.getStatusDate().add(parseCitationStatusDateComponent(xpp)); 4642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 4643 res.getRelatesTo().add(parseCitationRelatesToComponent(xpp)); 4644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("citedArtifact")) { 4645 res.setCitedArtifact(parseCitationCitedArtifactComponent(xpp)); 4646 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 4647 return false; 4648 } 4649 return true; 4650 } 4651 4652 protected Citation.CitationClassificationComponent parseCitationClassificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4653 Citation.CitationClassificationComponent res = new Citation.CitationClassificationComponent(); 4654 parseElementAttributes(xpp, res); 4655 next(xpp); 4656 int eventType = nextNoWhitespace(xpp); 4657 while (eventType != XmlPullParser.END_TAG) { 4658 if (!parseCitationClassificationComponentContent(eventType, xpp, res)) 4659 unknownContent(xpp); 4660 eventType = nextNoWhitespace(xpp); 4661 } 4662 next(xpp); 4663 parseElementClose(res); 4664 return res; 4665 } 4666 4667 protected boolean parseCitationClassificationComponentContent(int eventType, XmlPullParser xpp, Citation.CitationClassificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4668 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4669 res.setType(parseCodeableConcept(xpp)); 4670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classifier")) { 4671 res.getClassifier().add(parseCodeableConcept(xpp)); 4672 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4673 return false; 4674 } 4675 return true; 4676 } 4677 4678 protected Citation.CitationStatusDateComponent parseCitationStatusDateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4679 Citation.CitationStatusDateComponent res = new Citation.CitationStatusDateComponent(); 4680 parseElementAttributes(xpp, res); 4681 next(xpp); 4682 int eventType = nextNoWhitespace(xpp); 4683 while (eventType != XmlPullParser.END_TAG) { 4684 if (!parseCitationStatusDateComponentContent(eventType, xpp, res)) 4685 unknownContent(xpp); 4686 eventType = nextNoWhitespace(xpp); 4687 } 4688 next(xpp); 4689 parseElementClose(res); 4690 return res; 4691 } 4692 4693 protected boolean parseCitationStatusDateComponentContent(int eventType, XmlPullParser xpp, Citation.CitationStatusDateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4694 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 4695 res.setActivity(parseCodeableConcept(xpp)); 4696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 4697 res.setActualElement(parseBoolean(xpp)); 4698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4699 res.setPeriod(parsePeriod(xpp)); 4700 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4701 return false; 4702 } 4703 return true; 4704 } 4705 4706 protected Citation.CitationRelatesToComponent parseCitationRelatesToComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4707 Citation.CitationRelatesToComponent res = new Citation.CitationRelatesToComponent(); 4708 parseElementAttributes(xpp, res); 4709 next(xpp); 4710 int eventType = nextNoWhitespace(xpp); 4711 while (eventType != XmlPullParser.END_TAG) { 4712 if (!parseCitationRelatesToComponentContent(eventType, xpp, res)) 4713 unknownContent(xpp); 4714 eventType = nextNoWhitespace(xpp); 4715 } 4716 next(xpp); 4717 parseElementClose(res); 4718 return res; 4719 } 4720 4721 protected boolean parseCitationRelatesToComponentContent(int eventType, XmlPullParser xpp, Citation.CitationRelatesToComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4722 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationshipType")) { 4723 res.setRelationshipType(parseCodeableConcept(xpp)); 4724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetClassifier")) { 4725 res.getTargetClassifier().add(parseCodeableConcept(xpp)); 4726 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 4727 res.setTarget(parseType("target", xpp)); 4728 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4729 return false; 4730 } 4731 return true; 4732 } 4733 4734 protected Citation.CitationCitedArtifactComponent parseCitationCitedArtifactComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4735 Citation.CitationCitedArtifactComponent res = new Citation.CitationCitedArtifactComponent(); 4736 parseElementAttributes(xpp, res); 4737 next(xpp); 4738 int eventType = nextNoWhitespace(xpp); 4739 while (eventType != XmlPullParser.END_TAG) { 4740 if (!parseCitationCitedArtifactComponentContent(eventType, xpp, res)) 4741 unknownContent(xpp); 4742 eventType = nextNoWhitespace(xpp); 4743 } 4744 next(xpp); 4745 parseElementClose(res); 4746 return res; 4747 } 4748 4749 protected boolean parseCitationCitedArtifactComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4751 res.getIdentifier().add(parseIdentifier(xpp)); 4752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedIdentifier")) { 4753 res.getRelatedIdentifier().add(parseIdentifier(xpp)); 4754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateAccessed")) { 4755 res.setDateAccessedElement(parseDateTime(xpp)); 4756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4757 res.setVersion(parseCitationCitedArtifactVersionComponent(xpp)); 4758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currentState")) { 4759 res.getCurrentState().add(parseCodeableConcept(xpp)); 4760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 4761 res.getStatusDate().add(parseCitationCitedArtifactStatusDateComponent(xpp)); 4762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 4763 res.getTitle().add(parseCitationCitedArtifactTitleComponent(xpp)); 4764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 4765 res.getAbstract().add(parseCitationCitedArtifactAbstractComponent(xpp)); 4766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 4767 res.setPart(parseCitationCitedArtifactPartComponent(xpp)); 4768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 4769 res.getRelatesTo().add(parseCitationCitedArtifactRelatesToComponent(xpp)); 4770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationForm")) { 4771 res.getPublicationForm().add(parseCitationCitedArtifactPublicationFormComponent(xpp)); 4772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("webLocation")) { 4773 res.getWebLocation().add(parseCitationCitedArtifactWebLocationComponent(xpp)); 4774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 4775 res.getClassification().add(parseCitationCitedArtifactClassificationComponent(xpp)); 4776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributorship")) { 4777 res.setContributorship(parseCitationCitedArtifactContributorshipComponent(xpp)); 4778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4779 res.getNote().add(parseAnnotation(xpp)); 4780 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4781 return false; 4782 } 4783 return true; 4784 } 4785 4786 protected Citation.CitationCitedArtifactVersionComponent parseCitationCitedArtifactVersionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4787 Citation.CitationCitedArtifactVersionComponent res = new Citation.CitationCitedArtifactVersionComponent(); 4788 parseElementAttributes(xpp, res); 4789 next(xpp); 4790 int eventType = nextNoWhitespace(xpp); 4791 while (eventType != XmlPullParser.END_TAG) { 4792 if (!parseCitationCitedArtifactVersionComponentContent(eventType, xpp, res)) 4793 unknownContent(xpp); 4794 eventType = nextNoWhitespace(xpp); 4795 } 4796 next(xpp); 4797 parseElementClose(res); 4798 return res; 4799 } 4800 4801 protected boolean parseCitationCitedArtifactVersionComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactVersionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4802 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 4803 res.setValueElement(parseString(xpp)); 4804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseCitation")) { 4805 res.setBaseCitation(parseReference(xpp)); 4806 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4807 return false; 4808 } 4809 return true; 4810 } 4811 4812 protected Citation.CitationCitedArtifactStatusDateComponent parseCitationCitedArtifactStatusDateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4813 Citation.CitationCitedArtifactStatusDateComponent res = new Citation.CitationCitedArtifactStatusDateComponent(); 4814 parseElementAttributes(xpp, res); 4815 next(xpp); 4816 int eventType = nextNoWhitespace(xpp); 4817 while (eventType != XmlPullParser.END_TAG) { 4818 if (!parseCitationCitedArtifactStatusDateComponentContent(eventType, xpp, res)) 4819 unknownContent(xpp); 4820 eventType = nextNoWhitespace(xpp); 4821 } 4822 next(xpp); 4823 parseElementClose(res); 4824 return res; 4825 } 4826 4827 protected boolean parseCitationCitedArtifactStatusDateComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactStatusDateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4828 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 4829 res.setActivity(parseCodeableConcept(xpp)); 4830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 4831 res.setActualElement(parseBoolean(xpp)); 4832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4833 res.setPeriod(parsePeriod(xpp)); 4834 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4835 return false; 4836 } 4837 return true; 4838 } 4839 4840 protected Citation.CitationCitedArtifactTitleComponent parseCitationCitedArtifactTitleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4841 Citation.CitationCitedArtifactTitleComponent res = new Citation.CitationCitedArtifactTitleComponent(); 4842 parseElementAttributes(xpp, res); 4843 next(xpp); 4844 int eventType = nextNoWhitespace(xpp); 4845 while (eventType != XmlPullParser.END_TAG) { 4846 if (!parseCitationCitedArtifactTitleComponentContent(eventType, xpp, res)) 4847 unknownContent(xpp); 4848 eventType = nextNoWhitespace(xpp); 4849 } 4850 next(xpp); 4851 parseElementClose(res); 4852 return res; 4853 } 4854 4855 protected boolean parseCitationCitedArtifactTitleComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactTitleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4856 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4857 res.getType().add(parseCodeableConcept(xpp)); 4858 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 4859 res.setLanguage(parseCodeableConcept(xpp)); 4860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 4861 res.setTextElement(parseMarkdown(xpp)); 4862 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4863 return false; 4864 } 4865 return true; 4866 } 4867 4868 protected Citation.CitationCitedArtifactAbstractComponent parseCitationCitedArtifactAbstractComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4869 Citation.CitationCitedArtifactAbstractComponent res = new Citation.CitationCitedArtifactAbstractComponent(); 4870 parseElementAttributes(xpp, res); 4871 next(xpp); 4872 int eventType = nextNoWhitespace(xpp); 4873 while (eventType != XmlPullParser.END_TAG) { 4874 if (!parseCitationCitedArtifactAbstractComponentContent(eventType, xpp, res)) 4875 unknownContent(xpp); 4876 eventType = nextNoWhitespace(xpp); 4877 } 4878 next(xpp); 4879 parseElementClose(res); 4880 return res; 4881 } 4882 4883 protected boolean parseCitationCitedArtifactAbstractComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactAbstractComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4884 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4885 res.setType(parseCodeableConcept(xpp)); 4886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 4887 res.setLanguage(parseCodeableConcept(xpp)); 4888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 4889 res.setTextElement(parseMarkdown(xpp)); 4890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4891 res.setCopyrightElement(parseMarkdown(xpp)); 4892 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4893 return false; 4894 } 4895 return true; 4896 } 4897 4898 protected Citation.CitationCitedArtifactPartComponent parseCitationCitedArtifactPartComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4899 Citation.CitationCitedArtifactPartComponent res = new Citation.CitationCitedArtifactPartComponent(); 4900 parseElementAttributes(xpp, res); 4901 next(xpp); 4902 int eventType = nextNoWhitespace(xpp); 4903 while (eventType != XmlPullParser.END_TAG) { 4904 if (!parseCitationCitedArtifactPartComponentContent(eventType, xpp, res)) 4905 unknownContent(xpp); 4906 eventType = nextNoWhitespace(xpp); 4907 } 4908 next(xpp); 4909 parseElementClose(res); 4910 return res; 4911 } 4912 4913 protected boolean parseCitationCitedArtifactPartComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPartComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4914 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4915 res.setType(parseCodeableConcept(xpp)); 4916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 4917 res.setValueElement(parseString(xpp)); 4918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseCitation")) { 4919 res.setBaseCitation(parseReference(xpp)); 4920 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4921 return false; 4922 } 4923 return true; 4924 } 4925 4926 protected Citation.CitationCitedArtifactRelatesToComponent parseCitationCitedArtifactRelatesToComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4927 Citation.CitationCitedArtifactRelatesToComponent res = new Citation.CitationCitedArtifactRelatesToComponent(); 4928 parseElementAttributes(xpp, res); 4929 next(xpp); 4930 int eventType = nextNoWhitespace(xpp); 4931 while (eventType != XmlPullParser.END_TAG) { 4932 if (!parseCitationCitedArtifactRelatesToComponentContent(eventType, xpp, res)) 4933 unknownContent(xpp); 4934 eventType = nextNoWhitespace(xpp); 4935 } 4936 next(xpp); 4937 parseElementClose(res); 4938 return res; 4939 } 4940 4941 protected boolean parseCitationCitedArtifactRelatesToComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactRelatesToComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4942 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationshipType")) { 4943 res.setRelationshipType(parseCodeableConcept(xpp)); 4944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetClassifier")) { 4945 res.getTargetClassifier().add(parseCodeableConcept(xpp)); 4946 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 4947 res.setTarget(parseType("target", xpp)); 4948 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4949 return false; 4950 } 4951 return true; 4952 } 4953 4954 protected Citation.CitationCitedArtifactPublicationFormComponent parseCitationCitedArtifactPublicationFormComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4955 Citation.CitationCitedArtifactPublicationFormComponent res = new Citation.CitationCitedArtifactPublicationFormComponent(); 4956 parseElementAttributes(xpp, res); 4957 next(xpp); 4958 int eventType = nextNoWhitespace(xpp); 4959 while (eventType != XmlPullParser.END_TAG) { 4960 if (!parseCitationCitedArtifactPublicationFormComponentContent(eventType, xpp, res)) 4961 unknownContent(xpp); 4962 eventType = nextNoWhitespace(xpp); 4963 } 4964 next(xpp); 4965 parseElementClose(res); 4966 return res; 4967 } 4968 4969 protected boolean parseCitationCitedArtifactPublicationFormComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 4970 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publishedIn")) { 4971 res.setPublishedIn(parseCitationCitedArtifactPublicationFormPublishedInComponent(xpp)); 4972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodicRelease")) { 4973 res.setPeriodicRelease(parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(xpp)); 4974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("articleDate")) { 4975 res.setArticleDateElement(parseDateTime(xpp)); 4976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastRevisionDate")) { 4977 res.setLastRevisionDateElement(parseDateTime(xpp)); 4978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 4979 res.getLanguage().add(parseCodeableConcept(xpp)); 4980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accessionNumber")) { 4981 res.setAccessionNumberElement(parseString(xpp)); 4982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pageString")) { 4983 res.setPageStringElement(parseString(xpp)); 4984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("firstPage")) { 4985 res.setFirstPageElement(parseString(xpp)); 4986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastPage")) { 4987 res.setLastPageElement(parseString(xpp)); 4988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pageCount")) { 4989 res.setPageCountElement(parseString(xpp)); 4990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4991 res.setCopyrightElement(parseMarkdown(xpp)); 4992 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 4993 return false; 4994 } 4995 return true; 4996 } 4997 4998 protected Citation.CitationCitedArtifactPublicationFormPublishedInComponent parseCitationCitedArtifactPublicationFormPublishedInComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4999 Citation.CitationCitedArtifactPublicationFormPublishedInComponent res = new Citation.CitationCitedArtifactPublicationFormPublishedInComponent(); 5000 parseElementAttributes(xpp, res); 5001 next(xpp); 5002 int eventType = nextNoWhitespace(xpp); 5003 while (eventType != XmlPullParser.END_TAG) { 5004 if (!parseCitationCitedArtifactPublicationFormPublishedInComponentContent(eventType, xpp, res)) 5005 unknownContent(xpp); 5006 eventType = nextNoWhitespace(xpp); 5007 } 5008 next(xpp); 5009 parseElementClose(res); 5010 return res; 5011 } 5012 5013 protected boolean parseCitationCitedArtifactPublicationFormPublishedInComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormPublishedInComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5014 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5015 res.setType(parseCodeableConcept(xpp)); 5016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5017 res.getIdentifier().add(parseIdentifier(xpp)); 5018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 5019 res.setTitleElement(parseString(xpp)); 5020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 5021 res.setPublisher(parseReference(xpp)); 5022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisherLocation")) { 5023 res.setPublisherLocationElement(parseString(xpp)); 5024 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5025 return false; 5026 } 5027 return true; 5028 } 5029 5030 protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5031 Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); 5032 parseElementAttributes(xpp, res); 5033 next(xpp); 5034 int eventType = nextNoWhitespace(xpp); 5035 while (eventType != XmlPullParser.END_TAG) { 5036 if (!parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentContent(eventType, xpp, res)) 5037 unknownContent(xpp); 5038 eventType = nextNoWhitespace(xpp); 5039 } 5040 next(xpp); 5041 parseElementClose(res); 5042 return res; 5043 } 5044 5045 protected boolean parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5046 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("citedMedium")) { 5047 res.setCitedMedium(parseCodeableConcept(xpp)); 5048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("volume")) { 5049 res.setVolumeElement(parseString(xpp)); 5050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { 5051 res.setIssueElement(parseString(xpp)); 5052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateOfPublication")) { 5053 res.setDateOfPublication(parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(xpp)); 5054 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5055 return false; 5056 } 5057 return true; 5058 } 5059 5060 protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5061 Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); 5062 parseElementAttributes(xpp, res); 5063 next(xpp); 5064 int eventType = nextNoWhitespace(xpp); 5065 while (eventType != XmlPullParser.END_TAG) { 5066 if (!parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentContent(eventType, xpp, res)) 5067 unknownContent(xpp); 5068 eventType = nextNoWhitespace(xpp); 5069 } 5070 next(xpp); 5071 parseElementClose(res); 5072 return res; 5073 } 5074 5075 protected boolean parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5076 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5077 res.setDateElement(parseDate(xpp)); 5078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("year")) { 5079 res.setYearElement(parseString(xpp)); 5080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("month")) { 5081 res.setMonthElement(parseString(xpp)); 5082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("day")) { 5083 res.setDayElement(parseString(xpp)); 5084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("season")) { 5085 res.setSeasonElement(parseString(xpp)); 5086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 5087 res.setTextElement(parseString(xpp)); 5088 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5089 return false; 5090 } 5091 return true; 5092 } 5093 5094 protected Citation.CitationCitedArtifactWebLocationComponent parseCitationCitedArtifactWebLocationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5095 Citation.CitationCitedArtifactWebLocationComponent res = new Citation.CitationCitedArtifactWebLocationComponent(); 5096 parseElementAttributes(xpp, res); 5097 next(xpp); 5098 int eventType = nextNoWhitespace(xpp); 5099 while (eventType != XmlPullParser.END_TAG) { 5100 if (!parseCitationCitedArtifactWebLocationComponentContent(eventType, xpp, res)) 5101 unknownContent(xpp); 5102 eventType = nextNoWhitespace(xpp); 5103 } 5104 next(xpp); 5105 parseElementClose(res); 5106 return res; 5107 } 5108 5109 protected boolean parseCitationCitedArtifactWebLocationComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactWebLocationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5110 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5111 res.setType(parseCodeableConcept(xpp)); 5112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5113 res.setUrlElement(parseUri(xpp)); 5114 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5115 return false; 5116 } 5117 return true; 5118 } 5119 5120 protected Citation.CitationCitedArtifactClassificationComponent parseCitationCitedArtifactClassificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5121 Citation.CitationCitedArtifactClassificationComponent res = new Citation.CitationCitedArtifactClassificationComponent(); 5122 parseElementAttributes(xpp, res); 5123 next(xpp); 5124 int eventType = nextNoWhitespace(xpp); 5125 while (eventType != XmlPullParser.END_TAG) { 5126 if (!parseCitationCitedArtifactClassificationComponentContent(eventType, xpp, res)) 5127 unknownContent(xpp); 5128 eventType = nextNoWhitespace(xpp); 5129 } 5130 next(xpp); 5131 parseElementClose(res); 5132 return res; 5133 } 5134 5135 protected boolean parseCitationCitedArtifactClassificationComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactClassificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5136 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5137 res.setType(parseCodeableConcept(xpp)); 5138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classifier")) { 5139 res.getClassifier().add(parseCodeableConcept(xpp)); 5140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whoClassified")) { 5141 res.setWhoClassified(parseCitationCitedArtifactClassificationWhoClassifiedComponent(xpp)); 5142 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5143 return false; 5144 } 5145 return true; 5146 } 5147 5148 protected Citation.CitationCitedArtifactClassificationWhoClassifiedComponent parseCitationCitedArtifactClassificationWhoClassifiedComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5149 Citation.CitationCitedArtifactClassificationWhoClassifiedComponent res = new Citation.CitationCitedArtifactClassificationWhoClassifiedComponent(); 5150 parseElementAttributes(xpp, res); 5151 next(xpp); 5152 int eventType = nextNoWhitespace(xpp); 5153 while (eventType != XmlPullParser.END_TAG) { 5154 if (!parseCitationCitedArtifactClassificationWhoClassifiedComponentContent(eventType, xpp, res)) 5155 unknownContent(xpp); 5156 eventType = nextNoWhitespace(xpp); 5157 } 5158 next(xpp); 5159 parseElementClose(res); 5160 return res; 5161 } 5162 5163 protected boolean parseCitationCitedArtifactClassificationWhoClassifiedComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactClassificationWhoClassifiedComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5164 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("person")) { 5165 res.setPerson(parseReference(xpp)); 5166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 5167 res.setOrganization(parseReference(xpp)); 5168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 5169 res.setPublisher(parseReference(xpp)); 5170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classifierCopyright")) { 5171 res.setClassifierCopyrightElement(parseString(xpp)); 5172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("freeToShare")) { 5173 res.setFreeToShareElement(parseBoolean(xpp)); 5174 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5175 return false; 5176 } 5177 return true; 5178 } 5179 5180 protected Citation.CitationCitedArtifactContributorshipComponent parseCitationCitedArtifactContributorshipComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5181 Citation.CitationCitedArtifactContributorshipComponent res = new Citation.CitationCitedArtifactContributorshipComponent(); 5182 parseElementAttributes(xpp, res); 5183 next(xpp); 5184 int eventType = nextNoWhitespace(xpp); 5185 while (eventType != XmlPullParser.END_TAG) { 5186 if (!parseCitationCitedArtifactContributorshipComponentContent(eventType, xpp, res)) 5187 unknownContent(xpp); 5188 eventType = nextNoWhitespace(xpp); 5189 } 5190 next(xpp); 5191 parseElementClose(res); 5192 return res; 5193 } 5194 5195 protected boolean parseCitationCitedArtifactContributorshipComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactContributorshipComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5196 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("complete")) { 5197 res.setCompleteElement(parseBoolean(xpp)); 5198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 5199 res.getEntry().add(parseCitationCitedArtifactContributorshipEntryComponent(xpp)); 5200 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 5201 res.getSummary().add(parseCitationCitedArtifactContributorshipSummaryComponent(xpp)); 5202 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5203 return false; 5204 } 5205 return true; 5206 } 5207 5208 protected Citation.CitationCitedArtifactContributorshipEntryComponent parseCitationCitedArtifactContributorshipEntryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5209 Citation.CitationCitedArtifactContributorshipEntryComponent res = new Citation.CitationCitedArtifactContributorshipEntryComponent(); 5210 parseElementAttributes(xpp, res); 5211 next(xpp); 5212 int eventType = nextNoWhitespace(xpp); 5213 while (eventType != XmlPullParser.END_TAG) { 5214 if (!parseCitationCitedArtifactContributorshipEntryComponentContent(eventType, xpp, res)) 5215 unknownContent(xpp); 5216 eventType = nextNoWhitespace(xpp); 5217 } 5218 next(xpp); 5219 parseElementClose(res); 5220 return res; 5221 } 5222 5223 protected boolean parseCitationCitedArtifactContributorshipEntryComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactContributorshipEntryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5224 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5225 res.setName(parseHumanName(xpp)); 5226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initials")) { 5227 res.setInitialsElement(parseString(xpp)); 5228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collectiveName")) { 5229 res.setCollectiveNameElement(parseString(xpp)); 5230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5231 res.getIdentifier().add(parseIdentifier(xpp)); 5232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("affiliationInfo")) { 5233 res.getAffiliationInfo().add(parseCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(xpp)); 5234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 5235 res.getAddress().add(parseAddress(xpp)); 5236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 5237 res.getTelecom().add(parseContactPoint(xpp)); 5238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributionType")) { 5239 res.getContributionType().add(parseCodeableConcept(xpp)); 5240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 5241 res.setRole(parseCodeableConcept(xpp)); 5242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributionInstance")) { 5243 res.getContributionInstance().add(parseCitationCitedArtifactContributorshipEntryContributionInstanceComponent(xpp)); 5244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("correspondingContact")) { 5245 res.setCorrespondingContactElement(parseBoolean(xpp)); 5246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("listOrder")) { 5247 res.setListOrderElement(parsePositiveInt(xpp)); 5248 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5249 return false; 5250 } 5251 return true; 5252 } 5253 5254 protected Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent parseCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5255 Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent res = new Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent(); 5256 parseElementAttributes(xpp, res); 5257 next(xpp); 5258 int eventType = nextNoWhitespace(xpp); 5259 while (eventType != XmlPullParser.END_TAG) { 5260 if (!parseCitationCitedArtifactContributorshipEntryAffiliationInfoComponentContent(eventType, xpp, res)) 5261 unknownContent(xpp); 5262 eventType = nextNoWhitespace(xpp); 5263 } 5264 next(xpp); 5265 parseElementClose(res); 5266 return res; 5267 } 5268 5269 protected boolean parseCitationCitedArtifactContributorshipEntryAffiliationInfoComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5270 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("affiliation")) { 5271 res.setAffiliationElement(parseString(xpp)); 5272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 5273 res.setRoleElement(parseString(xpp)); 5274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5275 res.getIdentifier().add(parseIdentifier(xpp)); 5276 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5277 return false; 5278 } 5279 return true; 5280 } 5281 5282 protected Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent parseCitationCitedArtifactContributorshipEntryContributionInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5283 Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent res = new Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent(); 5284 parseElementAttributes(xpp, res); 5285 next(xpp); 5286 int eventType = nextNoWhitespace(xpp); 5287 while (eventType != XmlPullParser.END_TAG) { 5288 if (!parseCitationCitedArtifactContributorshipEntryContributionInstanceComponentContent(eventType, xpp, res)) 5289 unknownContent(xpp); 5290 eventType = nextNoWhitespace(xpp); 5291 } 5292 next(xpp); 5293 parseElementClose(res); 5294 return res; 5295 } 5296 5297 protected boolean parseCitationCitedArtifactContributorshipEntryContributionInstanceComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5298 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5299 res.setType(parseCodeableConcept(xpp)); 5300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 5301 res.setTimeElement(parseDateTime(xpp)); 5302 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5303 return false; 5304 } 5305 return true; 5306 } 5307 5308 protected Citation.CitationCitedArtifactContributorshipSummaryComponent parseCitationCitedArtifactContributorshipSummaryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5309 Citation.CitationCitedArtifactContributorshipSummaryComponent res = new Citation.CitationCitedArtifactContributorshipSummaryComponent(); 5310 parseElementAttributes(xpp, res); 5311 next(xpp); 5312 int eventType = nextNoWhitespace(xpp); 5313 while (eventType != XmlPullParser.END_TAG) { 5314 if (!parseCitationCitedArtifactContributorshipSummaryComponentContent(eventType, xpp, res)) 5315 unknownContent(xpp); 5316 eventType = nextNoWhitespace(xpp); 5317 } 5318 next(xpp); 5319 parseElementClose(res); 5320 return res; 5321 } 5322 5323 protected boolean parseCitationCitedArtifactContributorshipSummaryComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactContributorshipSummaryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5324 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5325 res.setType(parseCodeableConcept(xpp)); 5326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("style")) { 5327 res.setStyle(parseCodeableConcept(xpp)); 5328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 5329 res.setSource(parseCodeableConcept(xpp)); 5330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 5331 res.setValueElement(parseMarkdown(xpp)); 5332 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5333 return false; 5334 } 5335 return true; 5336 } 5337 5338 protected Claim parseClaim(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5339 Claim res = new Claim(); 5340 parseResourceAttributes(xpp, res); 5341 next(xpp); 5342 int eventType = nextNoWhitespace(xpp); 5343 while (eventType != XmlPullParser.END_TAG) { 5344 if (!parseClaimContent(eventType, xpp, res)) 5345 unknownContent(xpp); 5346 eventType = nextNoWhitespace(xpp); 5347 } 5348 next(xpp); 5349 parseElementClose(res); 5350 return res; 5351 } 5352 5353 protected boolean parseClaimContent(int eventType, XmlPullParser xpp, Claim res) throws XmlPullParserException, IOException, FHIRFormatError { 5354 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5355 res.getIdentifier().add(parseIdentifier(xpp)); 5356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5357 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 5358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5359 res.setType(parseCodeableConcept(xpp)); 5360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 5361 res.setSubType(parseCodeableConcept(xpp)); 5362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 5363 res.setUseElement(parseEnumeration(xpp, Enumerations.Use.NULL, new Enumerations.UseEnumFactory())); 5364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5365 res.setPatient(parseReference(xpp)); 5366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("billablePeriod")) { 5367 res.setBillablePeriod(parsePeriod(xpp)); 5368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5369 res.setCreatedElement(parseDateTime(xpp)); 5370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 5371 res.setEnterer(parseReference(xpp)); 5372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 5373 res.setInsurer(parseReference(xpp)); 5374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 5375 res.setProvider(parseReference(xpp)); 5376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 5377 res.setPriority(parseCodeableConcept(xpp)); 5378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserve")) { 5379 res.setFundsReserve(parseCodeableConcept(xpp)); 5380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 5381 res.getRelated().add(parseClaimRelatedClaimComponent(xpp)); 5382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 5383 res.setPrescription(parseReference(xpp)); 5384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalPrescription")) { 5385 res.setOriginalPrescription(parseReference(xpp)); 5386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 5387 res.setPayee(parseClaimPayeeComponent(xpp)); 5388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { 5389 res.setReferral(parseReference(xpp)); 5390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 5391 res.setFacility(parseReference(xpp)); 5392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { 5393 res.getCareTeam().add(parseClaimCareTeamComponent(xpp)); 5394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 5395 res.getSupportingInfo().add(parseClaimSupportingInformationComponent(xpp)); 5396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 5397 res.getDiagnosis().add(parseClaimDiagnosisComponent(xpp)); 5398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 5399 res.getProcedure().add(parseClaimProcedureComponent(xpp)); 5400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 5401 res.getInsurance().add(parseClaimInsuranceComponent(xpp)); 5402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { 5403 res.setAccident(parseClaimAccidentComponent(xpp)); 5404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 5405 res.getItem().add(parseClaimItemComponent(xpp)); 5406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 5407 res.setTotal(parseMoney(xpp)); 5408 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 5409 return false; 5410 } 5411 return true; 5412 } 5413 5414 protected Claim.RelatedClaimComponent parseClaimRelatedClaimComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5415 Claim.RelatedClaimComponent res = new Claim.RelatedClaimComponent(); 5416 parseElementAttributes(xpp, res); 5417 next(xpp); 5418 int eventType = nextNoWhitespace(xpp); 5419 while (eventType != XmlPullParser.END_TAG) { 5420 if (!parseClaimRelatedClaimComponentContent(eventType, xpp, res)) 5421 unknownContent(xpp); 5422 eventType = nextNoWhitespace(xpp); 5423 } 5424 next(xpp); 5425 parseElementClose(res); 5426 return res; 5427 } 5428 5429 protected boolean parseClaimRelatedClaimComponentContent(int eventType, XmlPullParser xpp, Claim.RelatedClaimComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claim")) { 5431 res.setClaim(parseReference(xpp)); 5432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 5433 res.setRelationship(parseCodeableConcept(xpp)); 5434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 5435 res.setReference(parseIdentifier(xpp)); 5436 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5437 return false; 5438 } 5439 return true; 5440 } 5441 5442 protected Claim.PayeeComponent parseClaimPayeeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5443 Claim.PayeeComponent res = new Claim.PayeeComponent(); 5444 parseElementAttributes(xpp, res); 5445 next(xpp); 5446 int eventType = nextNoWhitespace(xpp); 5447 while (eventType != XmlPullParser.END_TAG) { 5448 if (!parseClaimPayeeComponentContent(eventType, xpp, res)) 5449 unknownContent(xpp); 5450 eventType = nextNoWhitespace(xpp); 5451 } 5452 next(xpp); 5453 parseElementClose(res); 5454 return res; 5455 } 5456 5457 protected boolean parseClaimPayeeComponentContent(int eventType, XmlPullParser xpp, Claim.PayeeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5458 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5459 res.setType(parseCodeableConcept(xpp)); 5460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 5461 res.setParty(parseReference(xpp)); 5462 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5463 return false; 5464 } 5465 return true; 5466 } 5467 5468 protected Claim.CareTeamComponent parseClaimCareTeamComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5469 Claim.CareTeamComponent res = new Claim.CareTeamComponent(); 5470 parseElementAttributes(xpp, res); 5471 next(xpp); 5472 int eventType = nextNoWhitespace(xpp); 5473 while (eventType != XmlPullParser.END_TAG) { 5474 if (!parseClaimCareTeamComponentContent(eventType, xpp, res)) 5475 unknownContent(xpp); 5476 eventType = nextNoWhitespace(xpp); 5477 } 5478 next(xpp); 5479 parseElementClose(res); 5480 return res; 5481 } 5482 5483 protected boolean parseClaimCareTeamComponentContent(int eventType, XmlPullParser xpp, Claim.CareTeamComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5484 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5485 res.setSequenceElement(parsePositiveInt(xpp)); 5486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 5487 res.setProvider(parseReference(xpp)); 5488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 5489 res.setResponsibleElement(parseBoolean(xpp)); 5490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 5491 res.setRole(parseCodeableConcept(xpp)); 5492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { 5493 res.setQualification(parseCodeableConcept(xpp)); 5494 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5495 return false; 5496 } 5497 return true; 5498 } 5499 5500 protected Claim.SupportingInformationComponent parseClaimSupportingInformationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5501 Claim.SupportingInformationComponent res = new Claim.SupportingInformationComponent(); 5502 parseElementAttributes(xpp, res); 5503 next(xpp); 5504 int eventType = nextNoWhitespace(xpp); 5505 while (eventType != XmlPullParser.END_TAG) { 5506 if (!parseClaimSupportingInformationComponentContent(eventType, xpp, res)) 5507 unknownContent(xpp); 5508 eventType = nextNoWhitespace(xpp); 5509 } 5510 next(xpp); 5511 parseElementClose(res); 5512 return res; 5513 } 5514 5515 protected boolean parseClaimSupportingInformationComponentContent(int eventType, XmlPullParser xpp, Claim.SupportingInformationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5516 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5517 res.setSequenceElement(parsePositiveInt(xpp)); 5518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5519 res.setCategory(parseCodeableConcept(xpp)); 5520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5521 res.setCode(parseCodeableConcept(xpp)); 5522 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 5523 res.setTiming(parseType("timing", xpp)); 5524 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 5525 res.setValue(parseType("value", xpp)); 5526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 5527 res.setReason(parseCodeableConcept(xpp)); 5528 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5529 return false; 5530 } 5531 return true; 5532 } 5533 5534 protected Claim.DiagnosisComponent parseClaimDiagnosisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5535 Claim.DiagnosisComponent res = new Claim.DiagnosisComponent(); 5536 parseElementAttributes(xpp, res); 5537 next(xpp); 5538 int eventType = nextNoWhitespace(xpp); 5539 while (eventType != XmlPullParser.END_TAG) { 5540 if (!parseClaimDiagnosisComponentContent(eventType, xpp, res)) 5541 unknownContent(xpp); 5542 eventType = nextNoWhitespace(xpp); 5543 } 5544 next(xpp); 5545 parseElementClose(res); 5546 return res; 5547 } 5548 5549 protected boolean parseClaimDiagnosisComponentContent(int eventType, XmlPullParser xpp, Claim.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5550 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5551 res.setSequenceElement(parsePositiveInt(xpp)); 5552 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "diagnosis")) { 5553 res.setDiagnosis(parseType("diagnosis", xpp)); 5554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5555 res.getType().add(parseCodeableConcept(xpp)); 5556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onAdmission")) { 5557 res.setOnAdmission(parseCodeableConcept(xpp)); 5558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageCode")) { 5559 res.setPackageCode(parseCodeableConcept(xpp)); 5560 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5561 return false; 5562 } 5563 return true; 5564 } 5565 5566 protected Claim.ProcedureComponent parseClaimProcedureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5567 Claim.ProcedureComponent res = new Claim.ProcedureComponent(); 5568 parseElementAttributes(xpp, res); 5569 next(xpp); 5570 int eventType = nextNoWhitespace(xpp); 5571 while (eventType != XmlPullParser.END_TAG) { 5572 if (!parseClaimProcedureComponentContent(eventType, xpp, res)) 5573 unknownContent(xpp); 5574 eventType = nextNoWhitespace(xpp); 5575 } 5576 next(xpp); 5577 parseElementClose(res); 5578 return res; 5579 } 5580 5581 protected boolean parseClaimProcedureComponentContent(int eventType, XmlPullParser xpp, Claim.ProcedureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5582 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5583 res.setSequenceElement(parsePositiveInt(xpp)); 5584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5585 res.getType().add(parseCodeableConcept(xpp)); 5586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5587 res.setDateElement(parseDateTime(xpp)); 5588 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "procedure")) { 5589 res.setProcedure(parseType("procedure", xpp)); 5590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 5591 res.getUdi().add(parseReference(xpp)); 5592 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5593 return false; 5594 } 5595 return true; 5596 } 5597 5598 protected Claim.InsuranceComponent parseClaimInsuranceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5599 Claim.InsuranceComponent res = new Claim.InsuranceComponent(); 5600 parseElementAttributes(xpp, res); 5601 next(xpp); 5602 int eventType = nextNoWhitespace(xpp); 5603 while (eventType != XmlPullParser.END_TAG) { 5604 if (!parseClaimInsuranceComponentContent(eventType, xpp, res)) 5605 unknownContent(xpp); 5606 eventType = nextNoWhitespace(xpp); 5607 } 5608 next(xpp); 5609 parseElementClose(res); 5610 return res; 5611 } 5612 5613 protected boolean parseClaimInsuranceComponentContent(int eventType, XmlPullParser xpp, Claim.InsuranceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5614 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5615 res.setSequenceElement(parsePositiveInt(xpp)); 5616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 5617 res.setFocalElement(parseBoolean(xpp)); 5618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5619 res.setIdentifier(parseIdentifier(xpp)); 5620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 5621 res.setCoverage(parseReference(xpp)); 5622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 5623 res.setBusinessArrangementElement(parseString(xpp)); 5624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 5625 res.getPreAuthRef().add(parseString(xpp)); 5626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 5627 res.setClaimResponse(parseReference(xpp)); 5628 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5629 return false; 5630 } 5631 return true; 5632 } 5633 5634 protected Claim.AccidentComponent parseClaimAccidentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5635 Claim.AccidentComponent res = new Claim.AccidentComponent(); 5636 parseElementAttributes(xpp, res); 5637 next(xpp); 5638 int eventType = nextNoWhitespace(xpp); 5639 while (eventType != XmlPullParser.END_TAG) { 5640 if (!parseClaimAccidentComponentContent(eventType, xpp, res)) 5641 unknownContent(xpp); 5642 eventType = nextNoWhitespace(xpp); 5643 } 5644 next(xpp); 5645 parseElementClose(res); 5646 return res; 5647 } 5648 5649 protected boolean parseClaimAccidentComponentContent(int eventType, XmlPullParser xpp, Claim.AccidentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5650 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5651 res.setDateElement(parseDate(xpp)); 5652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5653 res.setType(parseCodeableConcept(xpp)); 5654 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 5655 res.setLocation(parseType("location", xpp)); 5656 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5657 return false; 5658 } 5659 return true; 5660 } 5661 5662 protected Claim.ItemComponent parseClaimItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5663 Claim.ItemComponent res = new Claim.ItemComponent(); 5664 parseElementAttributes(xpp, res); 5665 next(xpp); 5666 int eventType = nextNoWhitespace(xpp); 5667 while (eventType != XmlPullParser.END_TAG) { 5668 if (!parseClaimItemComponentContent(eventType, xpp, res)) 5669 unknownContent(xpp); 5670 eventType = nextNoWhitespace(xpp); 5671 } 5672 next(xpp); 5673 parseElementClose(res); 5674 return res; 5675 } 5676 5677 protected boolean parseClaimItemComponentContent(int eventType, XmlPullParser xpp, Claim.ItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5678 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5679 res.setSequenceElement(parsePositiveInt(xpp)); 5680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeamSequence")) { 5681 res.getCareTeamSequence().add(parsePositiveInt(xpp)); 5682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisSequence")) { 5683 res.getDiagnosisSequence().add(parsePositiveInt(xpp)); 5684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedureSequence")) { 5685 res.getProcedureSequence().add(parsePositiveInt(xpp)); 5686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSequence")) { 5687 res.getInformationSequence().add(parsePositiveInt(xpp)); 5688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 5689 res.setRevenue(parseCodeableConcept(xpp)); 5690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5691 res.setCategory(parseCodeableConcept(xpp)); 5692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 5693 res.setProductOrService(parseCodeableConcept(xpp)); 5694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 5695 res.getModifier().add(parseCodeableConcept(xpp)); 5696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 5697 res.getProgramCode().add(parseCodeableConcept(xpp)); 5698 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 5699 res.setServiced(parseType("serviced", xpp)); 5700 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 5701 res.setLocation(parseType("location", xpp)); 5702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 5703 res.setQuantity(parseQuantity(xpp)); 5704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 5705 res.setUnitPrice(parseMoney(xpp)); 5706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 5707 res.setFactorElement(parseDecimal(xpp)); 5708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 5709 res.setNet(parseMoney(xpp)); 5710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 5711 res.getUdi().add(parseReference(xpp)); 5712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 5713 res.setBodySite(parseCodeableConcept(xpp)); 5714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 5715 res.getSubSite().add(parseCodeableConcept(xpp)); 5716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 5717 res.getEncounter().add(parseReference(xpp)); 5718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 5719 res.getDetail().add(parseClaimDetailComponent(xpp)); 5720 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5721 return false; 5722 } 5723 return true; 5724 } 5725 5726 protected Claim.DetailComponent parseClaimDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5727 Claim.DetailComponent res = new Claim.DetailComponent(); 5728 parseElementAttributes(xpp, res); 5729 next(xpp); 5730 int eventType = nextNoWhitespace(xpp); 5731 while (eventType != XmlPullParser.END_TAG) { 5732 if (!parseClaimDetailComponentContent(eventType, xpp, res)) 5733 unknownContent(xpp); 5734 eventType = nextNoWhitespace(xpp); 5735 } 5736 next(xpp); 5737 parseElementClose(res); 5738 return res; 5739 } 5740 5741 protected boolean parseClaimDetailComponentContent(int eventType, XmlPullParser xpp, Claim.DetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5742 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5743 res.setSequenceElement(parsePositiveInt(xpp)); 5744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 5745 res.setRevenue(parseCodeableConcept(xpp)); 5746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5747 res.setCategory(parseCodeableConcept(xpp)); 5748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 5749 res.setProductOrService(parseCodeableConcept(xpp)); 5750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 5751 res.getModifier().add(parseCodeableConcept(xpp)); 5752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 5753 res.getProgramCode().add(parseCodeableConcept(xpp)); 5754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 5755 res.setQuantity(parseQuantity(xpp)); 5756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 5757 res.setUnitPrice(parseMoney(xpp)); 5758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 5759 res.setFactorElement(parseDecimal(xpp)); 5760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 5761 res.setNet(parseMoney(xpp)); 5762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 5763 res.getUdi().add(parseReference(xpp)); 5764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 5765 res.getSubDetail().add(parseClaimSubDetailComponent(xpp)); 5766 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5767 return false; 5768 } 5769 return true; 5770 } 5771 5772 protected Claim.SubDetailComponent parseClaimSubDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5773 Claim.SubDetailComponent res = new Claim.SubDetailComponent(); 5774 parseElementAttributes(xpp, res); 5775 next(xpp); 5776 int eventType = nextNoWhitespace(xpp); 5777 while (eventType != XmlPullParser.END_TAG) { 5778 if (!parseClaimSubDetailComponentContent(eventType, xpp, res)) 5779 unknownContent(xpp); 5780 eventType = nextNoWhitespace(xpp); 5781 } 5782 next(xpp); 5783 parseElementClose(res); 5784 return res; 5785 } 5786 5787 protected boolean parseClaimSubDetailComponentContent(int eventType, XmlPullParser xpp, Claim.SubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5788 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 5789 res.setSequenceElement(parsePositiveInt(xpp)); 5790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 5791 res.setRevenue(parseCodeableConcept(xpp)); 5792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5793 res.setCategory(parseCodeableConcept(xpp)); 5794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 5795 res.setProductOrService(parseCodeableConcept(xpp)); 5796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 5797 res.getModifier().add(parseCodeableConcept(xpp)); 5798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 5799 res.getProgramCode().add(parseCodeableConcept(xpp)); 5800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 5801 res.setQuantity(parseQuantity(xpp)); 5802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 5803 res.setUnitPrice(parseMoney(xpp)); 5804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 5805 res.setFactorElement(parseDecimal(xpp)); 5806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 5807 res.setNet(parseMoney(xpp)); 5808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 5809 res.getUdi().add(parseReference(xpp)); 5810 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5811 return false; 5812 } 5813 return true; 5814 } 5815 5816 protected ClaimResponse parseClaimResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5817 ClaimResponse res = new ClaimResponse(); 5818 parseResourceAttributes(xpp, res); 5819 next(xpp); 5820 int eventType = nextNoWhitespace(xpp); 5821 while (eventType != XmlPullParser.END_TAG) { 5822 if (!parseClaimResponseContent(eventType, xpp, res)) 5823 unknownContent(xpp); 5824 eventType = nextNoWhitespace(xpp); 5825 } 5826 next(xpp); 5827 parseElementClose(res); 5828 return res; 5829 } 5830 5831 protected boolean parseClaimResponseContent(int eventType, XmlPullParser xpp, ClaimResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 5832 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5833 res.getIdentifier().add(parseIdentifier(xpp)); 5834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5835 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 5836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5837 res.setType(parseCodeableConcept(xpp)); 5838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 5839 res.setSubType(parseCodeableConcept(xpp)); 5840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 5841 res.setUseElement(parseEnumeration(xpp, Enumerations.Use.NULL, new Enumerations.UseEnumFactory())); 5842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5843 res.setPatient(parseReference(xpp)); 5844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5845 res.setCreatedElement(parseDateTime(xpp)); 5846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 5847 res.setInsurer(parseReference(xpp)); 5848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 5849 res.setRequestor(parseReference(xpp)); 5850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 5851 res.setRequest(parseReference(xpp)); 5852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5853 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 5854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 5855 res.setDispositionElement(parseString(xpp)); 5856 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 5857 res.setPreAuthRefElement(parseString(xpp)); 5858 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthPeriod")) { 5859 res.setPreAuthPeriod(parsePeriod(xpp)); 5860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payeeType")) { 5861 res.setPayeeType(parseCodeableConcept(xpp)); 5862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 5863 res.getItem().add(parseClaimResponseItemComponent(xpp)); 5864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { 5865 res.getAddItem().add(parseClaimResponseAddedItemComponent(xpp)); 5866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 5867 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 5868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 5869 res.getTotal().add(parseClaimResponseTotalComponent(xpp)); 5870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payment")) { 5871 res.setPayment(parseClaimResponsePaymentComponent(xpp)); 5872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserve")) { 5873 res.setFundsReserve(parseCodeableConcept(xpp)); 5874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("formCode")) { 5875 res.setFormCode(parseCodeableConcept(xpp)); 5876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 5877 res.setForm(parseAttachment(xpp)); 5878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processNote")) { 5879 res.getProcessNote().add(parseClaimResponseNoteComponent(xpp)); 5880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communicationRequest")) { 5881 res.getCommunicationRequest().add(parseReference(xpp)); 5882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 5883 res.getInsurance().add(parseClaimResponseInsuranceComponent(xpp)); 5884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 5885 res.getError().add(parseClaimResponseErrorComponent(xpp)); 5886 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 5887 return false; 5888 } 5889 return true; 5890 } 5891 5892 protected ClaimResponse.ItemComponent parseClaimResponseItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5893 ClaimResponse.ItemComponent res = new ClaimResponse.ItemComponent(); 5894 parseElementAttributes(xpp, res); 5895 next(xpp); 5896 int eventType = nextNoWhitespace(xpp); 5897 while (eventType != XmlPullParser.END_TAG) { 5898 if (!parseClaimResponseItemComponentContent(eventType, xpp, res)) 5899 unknownContent(xpp); 5900 eventType = nextNoWhitespace(xpp); 5901 } 5902 next(xpp); 5903 parseElementClose(res); 5904 return res; 5905 } 5906 5907 protected boolean parseClaimResponseItemComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.ItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5908 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemSequence")) { 5909 res.setItemSequenceElement(parsePositiveInt(xpp)); 5910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 5911 res.getNoteNumber().add(parsePositiveInt(xpp)); 5912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 5913 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 5914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 5915 res.getDetail().add(parseClaimResponseItemDetailComponent(xpp)); 5916 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5917 return false; 5918 } 5919 return true; 5920 } 5921 5922 protected ClaimResponse.AdjudicationComponent parseClaimResponseAdjudicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5923 ClaimResponse.AdjudicationComponent res = new ClaimResponse.AdjudicationComponent(); 5924 parseElementAttributes(xpp, res); 5925 next(xpp); 5926 int eventType = nextNoWhitespace(xpp); 5927 while (eventType != XmlPullParser.END_TAG) { 5928 if (!parseClaimResponseAdjudicationComponentContent(eventType, xpp, res)) 5929 unknownContent(xpp); 5930 eventType = nextNoWhitespace(xpp); 5931 } 5932 next(xpp); 5933 parseElementClose(res); 5934 return res; 5935 } 5936 5937 protected boolean parseClaimResponseAdjudicationComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AdjudicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5938 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5939 res.setCategory(parseCodeableConcept(xpp)); 5940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 5941 res.setReason(parseCodeableConcept(xpp)); 5942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 5943 res.setAmount(parseMoney(xpp)); 5944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 5945 res.setValueElement(parseDecimal(xpp)); 5946 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5947 return false; 5948 } 5949 return true; 5950 } 5951 5952 protected ClaimResponse.ItemDetailComponent parseClaimResponseItemDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5953 ClaimResponse.ItemDetailComponent res = new ClaimResponse.ItemDetailComponent(); 5954 parseElementAttributes(xpp, res); 5955 next(xpp); 5956 int eventType = nextNoWhitespace(xpp); 5957 while (eventType != XmlPullParser.END_TAG) { 5958 if (!parseClaimResponseItemDetailComponentContent(eventType, xpp, res)) 5959 unknownContent(xpp); 5960 eventType = nextNoWhitespace(xpp); 5961 } 5962 next(xpp); 5963 parseElementClose(res); 5964 return res; 5965 } 5966 5967 protected boolean parseClaimResponseItemDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.ItemDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5968 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequence")) { 5969 res.setDetailSequenceElement(parsePositiveInt(xpp)); 5970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 5971 res.getNoteNumber().add(parsePositiveInt(xpp)); 5972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 5973 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 5974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 5975 res.getSubDetail().add(parseClaimResponseSubDetailComponent(xpp)); 5976 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 5977 return false; 5978 } 5979 return true; 5980 } 5981 5982 protected ClaimResponse.SubDetailComponent parseClaimResponseSubDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5983 ClaimResponse.SubDetailComponent res = new ClaimResponse.SubDetailComponent(); 5984 parseElementAttributes(xpp, res); 5985 next(xpp); 5986 int eventType = nextNoWhitespace(xpp); 5987 while (eventType != XmlPullParser.END_TAG) { 5988 if (!parseClaimResponseSubDetailComponentContent(eventType, xpp, res)) 5989 unknownContent(xpp); 5990 eventType = nextNoWhitespace(xpp); 5991 } 5992 next(xpp); 5993 parseElementClose(res); 5994 return res; 5995 } 5996 5997 protected boolean parseClaimResponseSubDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.SubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 5998 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetailSequence")) { 5999 res.setSubDetailSequenceElement(parsePositiveInt(xpp)); 6000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 6001 res.getNoteNumber().add(parsePositiveInt(xpp)); 6002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 6003 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 6004 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6005 return false; 6006 } 6007 return true; 6008 } 6009 6010 protected ClaimResponse.AddedItemComponent parseClaimResponseAddedItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6011 ClaimResponse.AddedItemComponent res = new ClaimResponse.AddedItemComponent(); 6012 parseElementAttributes(xpp, res); 6013 next(xpp); 6014 int eventType = nextNoWhitespace(xpp); 6015 while (eventType != XmlPullParser.END_TAG) { 6016 if (!parseClaimResponseAddedItemComponentContent(eventType, xpp, res)) 6017 unknownContent(xpp); 6018 eventType = nextNoWhitespace(xpp); 6019 } 6020 next(xpp); 6021 parseElementClose(res); 6022 return res; 6023 } 6024 6025 protected boolean parseClaimResponseAddedItemComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AddedItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6026 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemSequence")) { 6027 res.getItemSequence().add(parsePositiveInt(xpp)); 6028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequence")) { 6029 res.getDetailSequence().add(parsePositiveInt(xpp)); 6030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subdetailSequence")) { 6031 res.getSubdetailSequence().add(parsePositiveInt(xpp)); 6032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 6033 res.getProvider().add(parseReference(xpp)); 6034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 6035 res.setProductOrService(parseCodeableConcept(xpp)); 6036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 6037 res.getModifier().add(parseCodeableConcept(xpp)); 6038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 6039 res.getProgramCode().add(parseCodeableConcept(xpp)); 6040 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 6041 res.setServiced(parseType("serviced", xpp)); 6042 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 6043 res.setLocation(parseType("location", xpp)); 6044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6045 res.setQuantity(parseQuantity(xpp)); 6046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 6047 res.setUnitPrice(parseMoney(xpp)); 6048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 6049 res.setFactorElement(parseDecimal(xpp)); 6050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 6051 res.setNet(parseMoney(xpp)); 6052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 6053 res.setBodySite(parseCodeableConcept(xpp)); 6054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 6055 res.getSubSite().add(parseCodeableConcept(xpp)); 6056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 6057 res.getNoteNumber().add(parsePositiveInt(xpp)); 6058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 6059 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 6060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 6061 res.getDetail().add(parseClaimResponseAddedItemDetailComponent(xpp)); 6062 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6063 return false; 6064 } 6065 return true; 6066 } 6067 6068 protected ClaimResponse.AddedItemDetailComponent parseClaimResponseAddedItemDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6069 ClaimResponse.AddedItemDetailComponent res = new ClaimResponse.AddedItemDetailComponent(); 6070 parseElementAttributes(xpp, res); 6071 next(xpp); 6072 int eventType = nextNoWhitespace(xpp); 6073 while (eventType != XmlPullParser.END_TAG) { 6074 if (!parseClaimResponseAddedItemDetailComponentContent(eventType, xpp, res)) 6075 unknownContent(xpp); 6076 eventType = nextNoWhitespace(xpp); 6077 } 6078 next(xpp); 6079 parseElementClose(res); 6080 return res; 6081 } 6082 6083 protected boolean parseClaimResponseAddedItemDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AddedItemDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6084 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 6085 res.setProductOrService(parseCodeableConcept(xpp)); 6086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 6087 res.getModifier().add(parseCodeableConcept(xpp)); 6088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6089 res.setQuantity(parseQuantity(xpp)); 6090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 6091 res.setUnitPrice(parseMoney(xpp)); 6092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 6093 res.setFactorElement(parseDecimal(xpp)); 6094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 6095 res.setNet(parseMoney(xpp)); 6096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 6097 res.getNoteNumber().add(parsePositiveInt(xpp)); 6098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 6099 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 6100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 6101 res.getSubDetail().add(parseClaimResponseAddedItemSubDetailComponent(xpp)); 6102 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6103 return false; 6104 } 6105 return true; 6106 } 6107 6108 protected ClaimResponse.AddedItemSubDetailComponent parseClaimResponseAddedItemSubDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6109 ClaimResponse.AddedItemSubDetailComponent res = new ClaimResponse.AddedItemSubDetailComponent(); 6110 parseElementAttributes(xpp, res); 6111 next(xpp); 6112 int eventType = nextNoWhitespace(xpp); 6113 while (eventType != XmlPullParser.END_TAG) { 6114 if (!parseClaimResponseAddedItemSubDetailComponentContent(eventType, xpp, res)) 6115 unknownContent(xpp); 6116 eventType = nextNoWhitespace(xpp); 6117 } 6118 next(xpp); 6119 parseElementClose(res); 6120 return res; 6121 } 6122 6123 protected boolean parseClaimResponseAddedItemSubDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AddedItemSubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6124 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 6125 res.setProductOrService(parseCodeableConcept(xpp)); 6126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 6127 res.getModifier().add(parseCodeableConcept(xpp)); 6128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6129 res.setQuantity(parseQuantity(xpp)); 6130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 6131 res.setUnitPrice(parseMoney(xpp)); 6132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 6133 res.setFactorElement(parseDecimal(xpp)); 6134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 6135 res.setNet(parseMoney(xpp)); 6136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 6137 res.getNoteNumber().add(parsePositiveInt(xpp)); 6138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 6139 res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); 6140 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6141 return false; 6142 } 6143 return true; 6144 } 6145 6146 protected ClaimResponse.TotalComponent parseClaimResponseTotalComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6147 ClaimResponse.TotalComponent res = new ClaimResponse.TotalComponent(); 6148 parseElementAttributes(xpp, res); 6149 next(xpp); 6150 int eventType = nextNoWhitespace(xpp); 6151 while (eventType != XmlPullParser.END_TAG) { 6152 if (!parseClaimResponseTotalComponentContent(eventType, xpp, res)) 6153 unknownContent(xpp); 6154 eventType = nextNoWhitespace(xpp); 6155 } 6156 next(xpp); 6157 parseElementClose(res); 6158 return res; 6159 } 6160 6161 protected boolean parseClaimResponseTotalComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.TotalComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6162 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 6163 res.setCategory(parseCodeableConcept(xpp)); 6164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6165 res.setAmount(parseMoney(xpp)); 6166 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6167 return false; 6168 } 6169 return true; 6170 } 6171 6172 protected ClaimResponse.PaymentComponent parseClaimResponsePaymentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6173 ClaimResponse.PaymentComponent res = new ClaimResponse.PaymentComponent(); 6174 parseElementAttributes(xpp, res); 6175 next(xpp); 6176 int eventType = nextNoWhitespace(xpp); 6177 while (eventType != XmlPullParser.END_TAG) { 6178 if (!parseClaimResponsePaymentComponentContent(eventType, xpp, res)) 6179 unknownContent(xpp); 6180 eventType = nextNoWhitespace(xpp); 6181 } 6182 next(xpp); 6183 parseElementClose(res); 6184 return res; 6185 } 6186 6187 protected boolean parseClaimResponsePaymentComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.PaymentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6188 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6189 res.setType(parseCodeableConcept(xpp)); 6190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjustment")) { 6191 res.setAdjustment(parseMoney(xpp)); 6192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjustmentReason")) { 6193 res.setAdjustmentReason(parseCodeableConcept(xpp)); 6194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6195 res.setDateElement(parseDate(xpp)); 6196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6197 res.setAmount(parseMoney(xpp)); 6198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6199 res.setIdentifier(parseIdentifier(xpp)); 6200 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6201 return false; 6202 } 6203 return true; 6204 } 6205 6206 protected ClaimResponse.NoteComponent parseClaimResponseNoteComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6207 ClaimResponse.NoteComponent res = new ClaimResponse.NoteComponent(); 6208 parseElementAttributes(xpp, res); 6209 next(xpp); 6210 int eventType = nextNoWhitespace(xpp); 6211 while (eventType != XmlPullParser.END_TAG) { 6212 if (!parseClaimResponseNoteComponentContent(eventType, xpp, res)) 6213 unknownContent(xpp); 6214 eventType = nextNoWhitespace(xpp); 6215 } 6216 next(xpp); 6217 parseElementClose(res); 6218 return res; 6219 } 6220 6221 protected boolean parseClaimResponseNoteComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.NoteComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6222 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 6223 res.setNumberElement(parsePositiveInt(xpp)); 6224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6225 res.setTypeElement(parseEnumeration(xpp, Enumerations.NoteType.NULL, new Enumerations.NoteTypeEnumFactory())); 6226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6227 res.setTextElement(parseString(xpp)); 6228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 6229 res.setLanguage(parseCodeableConcept(xpp)); 6230 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6231 return false; 6232 } 6233 return true; 6234 } 6235 6236 protected ClaimResponse.InsuranceComponent parseClaimResponseInsuranceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6237 ClaimResponse.InsuranceComponent res = new ClaimResponse.InsuranceComponent(); 6238 parseElementAttributes(xpp, res); 6239 next(xpp); 6240 int eventType = nextNoWhitespace(xpp); 6241 while (eventType != XmlPullParser.END_TAG) { 6242 if (!parseClaimResponseInsuranceComponentContent(eventType, xpp, res)) 6243 unknownContent(xpp); 6244 eventType = nextNoWhitespace(xpp); 6245 } 6246 next(xpp); 6247 parseElementClose(res); 6248 return res; 6249 } 6250 6251 protected boolean parseClaimResponseInsuranceComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.InsuranceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6252 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 6253 res.setSequenceElement(parsePositiveInt(xpp)); 6254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 6255 res.setFocalElement(parseBoolean(xpp)); 6256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 6257 res.setCoverage(parseReference(xpp)); 6258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 6259 res.setBusinessArrangementElement(parseString(xpp)); 6260 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 6261 res.setClaimResponse(parseReference(xpp)); 6262 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6263 return false; 6264 } 6265 return true; 6266 } 6267 6268 protected ClaimResponse.ErrorComponent parseClaimResponseErrorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6269 ClaimResponse.ErrorComponent res = new ClaimResponse.ErrorComponent(); 6270 parseElementAttributes(xpp, res); 6271 next(xpp); 6272 int eventType = nextNoWhitespace(xpp); 6273 while (eventType != XmlPullParser.END_TAG) { 6274 if (!parseClaimResponseErrorComponentContent(eventType, xpp, res)) 6275 unknownContent(xpp); 6276 eventType = nextNoWhitespace(xpp); 6277 } 6278 next(xpp); 6279 parseElementClose(res); 6280 return res; 6281 } 6282 6283 protected boolean parseClaimResponseErrorComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.ErrorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6284 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemSequence")) { 6285 res.setItemSequenceElement(parsePositiveInt(xpp)); 6286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequence")) { 6287 res.setDetailSequenceElement(parsePositiveInt(xpp)); 6288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetailSequence")) { 6289 res.setSubDetailSequenceElement(parsePositiveInt(xpp)); 6290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6291 res.setCode(parseCodeableConcept(xpp)); 6292 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6293 return false; 6294 } 6295 return true; 6296 } 6297 6298 protected ClinicalImpression parseClinicalImpression(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6299 ClinicalImpression res = new ClinicalImpression(); 6300 parseResourceAttributes(xpp, res); 6301 next(xpp); 6302 int eventType = nextNoWhitespace(xpp); 6303 while (eventType != XmlPullParser.END_TAG) { 6304 if (!parseClinicalImpressionContent(eventType, xpp, res)) 6305 unknownContent(xpp); 6306 eventType = nextNoWhitespace(xpp); 6307 } 6308 next(xpp); 6309 parseElementClose(res); 6310 return res; 6311 } 6312 6313 protected boolean parseClinicalImpressionContent(int eventType, XmlPullParser xpp, ClinicalImpression res) throws XmlPullParserException, IOException, FHIRFormatError { 6314 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6315 res.getIdentifier().add(parseIdentifier(xpp)); 6316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6317 res.setStatusElement(parseEnumeration(xpp, ClinicalImpression.ClinicalImpressionStatus.NULL, new ClinicalImpression.ClinicalImpressionStatusEnumFactory())); 6318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 6319 res.setStatusReason(parseCodeableConcept(xpp)); 6320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6321 res.setCode(parseCodeableConcept(xpp)); 6322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6323 res.setDescriptionElement(parseString(xpp)); 6324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6325 res.setSubject(parseReference(xpp)); 6326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6327 res.setEncounter(parseReference(xpp)); 6328 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 6329 res.setEffective(parseType("effective", xpp)); 6330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6331 res.setDateElement(parseDateTime(xpp)); 6332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessor")) { 6333 res.setAssessor(parseReference(xpp)); 6334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("previous")) { 6335 res.setPrevious(parseReference(xpp)); 6336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("problem")) { 6337 res.getProblem().add(parseReference(xpp)); 6338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("investigation")) { 6339 res.getInvestigation().add(parseClinicalImpressionInvestigationComponent(xpp)); 6340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 6341 res.getProtocol().add(parseUri(xpp)); 6342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 6343 res.setSummaryElement(parseString(xpp)); 6344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("finding")) { 6345 res.getFinding().add(parseClinicalImpressionFindingComponent(xpp)); 6346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prognosisCodeableConcept")) { 6347 res.getPrognosisCodeableConcept().add(parseCodeableConcept(xpp)); 6348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prognosisReference")) { 6349 res.getPrognosisReference().add(parseReference(xpp)); 6350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 6351 res.getSupportingInfo().add(parseReference(xpp)); 6352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6353 res.getNote().add(parseAnnotation(xpp)); 6354 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 6355 return false; 6356 } 6357 return true; 6358 } 6359 6360 protected ClinicalImpression.ClinicalImpressionInvestigationComponent parseClinicalImpressionInvestigationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6361 ClinicalImpression.ClinicalImpressionInvestigationComponent res = new ClinicalImpression.ClinicalImpressionInvestigationComponent(); 6362 parseElementAttributes(xpp, res); 6363 next(xpp); 6364 int eventType = nextNoWhitespace(xpp); 6365 while (eventType != XmlPullParser.END_TAG) { 6366 if (!parseClinicalImpressionInvestigationComponentContent(eventType, xpp, res)) 6367 unknownContent(xpp); 6368 eventType = nextNoWhitespace(xpp); 6369 } 6370 next(xpp); 6371 parseElementClose(res); 6372 return res; 6373 } 6374 6375 protected boolean parseClinicalImpressionInvestigationComponentContent(int eventType, XmlPullParser xpp, ClinicalImpression.ClinicalImpressionInvestigationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6376 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6377 res.setCode(parseCodeableConcept(xpp)); 6378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6379 res.getItem().add(parseReference(xpp)); 6380 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6381 return false; 6382 } 6383 return true; 6384 } 6385 6386 protected ClinicalImpression.ClinicalImpressionFindingComponent parseClinicalImpressionFindingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6387 ClinicalImpression.ClinicalImpressionFindingComponent res = new ClinicalImpression.ClinicalImpressionFindingComponent(); 6388 parseElementAttributes(xpp, res); 6389 next(xpp); 6390 int eventType = nextNoWhitespace(xpp); 6391 while (eventType != XmlPullParser.END_TAG) { 6392 if (!parseClinicalImpressionFindingComponentContent(eventType, xpp, res)) 6393 unknownContent(xpp); 6394 eventType = nextNoWhitespace(xpp); 6395 } 6396 next(xpp); 6397 parseElementClose(res); 6398 return res; 6399 } 6400 6401 protected boolean parseClinicalImpressionFindingComponentContent(int eventType, XmlPullParser xpp, ClinicalImpression.ClinicalImpressionFindingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6402 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemCodeableConcept")) { 6403 res.setItemCodeableConcept(parseCodeableConcept(xpp)); 6404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemReference")) { 6405 res.setItemReference(parseReference(xpp)); 6406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { 6407 res.setBasisElement(parseString(xpp)); 6408 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6409 return false; 6410 } 6411 return true; 6412 } 6413 6414 protected ClinicalUseDefinition parseClinicalUseDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6415 ClinicalUseDefinition res = new ClinicalUseDefinition(); 6416 parseResourceAttributes(xpp, res); 6417 next(xpp); 6418 int eventType = nextNoWhitespace(xpp); 6419 while (eventType != XmlPullParser.END_TAG) { 6420 if (!parseClinicalUseDefinitionContent(eventType, xpp, res)) 6421 unknownContent(xpp); 6422 eventType = nextNoWhitespace(xpp); 6423 } 6424 next(xpp); 6425 parseElementClose(res); 6426 return res; 6427 } 6428 6429 protected boolean parseClinicalUseDefinitionContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 6430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6431 res.getIdentifier().add(parseIdentifier(xpp)); 6432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6433 res.setTypeElement(parseEnumeration(xpp, ClinicalUseDefinition.ClinicalUseIssueType.NULL, new ClinicalUseDefinition.ClinicalUseIssueTypeEnumFactory())); 6434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 6435 res.getCategory().add(parseCodeableConcept(xpp)); 6436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6437 res.getSubject().add(parseReference(xpp)); 6438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6439 res.setStatus(parseCodeableConcept(xpp)); 6440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contraindication")) { 6441 res.setContraindication(parseClinicalUseDefinitionContraindicationComponent(xpp)); 6442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 6443 res.setIndication(parseClinicalUseDefinitionIndicationComponent(xpp)); 6444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 6445 res.setInteraction(parseClinicalUseDefinitionInteractionComponent(xpp)); 6446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("population")) { 6447 res.getPopulation().add(parseReference(xpp)); 6448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("undesirableEffect")) { 6449 res.setUndesirableEffect(parseClinicalUseDefinitionUndesirableEffectComponent(xpp)); 6450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("warning")) { 6451 res.setWarning(parseClinicalUseDefinitionWarningComponent(xpp)); 6452 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 6453 return false; 6454 } 6455 return true; 6456 } 6457 6458 protected ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent parseClinicalUseDefinitionContraindicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6459 ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent(); 6460 parseElementAttributes(xpp, res); 6461 next(xpp); 6462 int eventType = nextNoWhitespace(xpp); 6463 while (eventType != XmlPullParser.END_TAG) { 6464 if (!parseClinicalUseDefinitionContraindicationComponentContent(eventType, xpp, res)) 6465 unknownContent(xpp); 6466 eventType = nextNoWhitespace(xpp); 6467 } 6468 next(xpp); 6469 parseElementClose(res); 6470 return res; 6471 } 6472 6473 protected boolean parseClinicalUseDefinitionContraindicationComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6474 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diseaseSymptomProcedure")) { 6475 res.setDiseaseSymptomProcedure(parseCodeableReference(xpp)); 6476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diseaseStatus")) { 6477 res.setDiseaseStatus(parseCodeableReference(xpp)); 6478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comorbidity")) { 6479 res.getComorbidity().add(parseCodeableReference(xpp)); 6480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 6481 res.getIndication().add(parseReference(xpp)); 6482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("otherTherapy")) { 6483 res.getOtherTherapy().add(parseClinicalUseDefinitionContraindicationOtherTherapyComponent(xpp)); 6484 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6485 return false; 6486 } 6487 return true; 6488 } 6489 6490 protected ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent parseClinicalUseDefinitionContraindicationOtherTherapyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6491 ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent(); 6492 parseElementAttributes(xpp, res); 6493 next(xpp); 6494 int eventType = nextNoWhitespace(xpp); 6495 while (eventType != XmlPullParser.END_TAG) { 6496 if (!parseClinicalUseDefinitionContraindicationOtherTherapyComponentContent(eventType, xpp, res)) 6497 unknownContent(xpp); 6498 eventType = nextNoWhitespace(xpp); 6499 } 6500 next(xpp); 6501 parseElementClose(res); 6502 return res; 6503 } 6504 6505 protected boolean parseClinicalUseDefinitionContraindicationOtherTherapyComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6506 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationshipType")) { 6507 res.setRelationshipType(parseCodeableConcept(xpp)); 6508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("therapy")) { 6509 res.setTherapy(parseCodeableReference(xpp)); 6510 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6511 return false; 6512 } 6513 return true; 6514 } 6515 6516 protected ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent parseClinicalUseDefinitionIndicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6517 ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent(); 6518 parseElementAttributes(xpp, res); 6519 next(xpp); 6520 int eventType = nextNoWhitespace(xpp); 6521 while (eventType != XmlPullParser.END_TAG) { 6522 if (!parseClinicalUseDefinitionIndicationComponentContent(eventType, xpp, res)) 6523 unknownContent(xpp); 6524 eventType = nextNoWhitespace(xpp); 6525 } 6526 next(xpp); 6527 parseElementClose(res); 6528 return res; 6529 } 6530 6531 protected boolean parseClinicalUseDefinitionIndicationComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6532 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diseaseSymptomProcedure")) { 6533 res.setDiseaseSymptomProcedure(parseCodeableReference(xpp)); 6534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diseaseStatus")) { 6535 res.setDiseaseStatus(parseCodeableReference(xpp)); 6536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comorbidity")) { 6537 res.getComorbidity().add(parseCodeableReference(xpp)); 6538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intendedEffect")) { 6539 res.setIntendedEffect(parseCodeableReference(xpp)); 6540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 6541 res.setDuration(parseQuantity(xpp)); 6542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("undesirableEffect")) { 6543 res.getUndesirableEffect().add(parseReference(xpp)); 6544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("otherTherapy")) { 6545 res.getOtherTherapy().add(parseClinicalUseDefinitionContraindicationOtherTherapyComponent(xpp)); 6546 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6547 return false; 6548 } 6549 return true; 6550 } 6551 6552 protected ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent parseClinicalUseDefinitionInteractionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6553 ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent(); 6554 parseElementAttributes(xpp, res); 6555 next(xpp); 6556 int eventType = nextNoWhitespace(xpp); 6557 while (eventType != XmlPullParser.END_TAG) { 6558 if (!parseClinicalUseDefinitionInteractionComponentContent(eventType, xpp, res)) 6559 unknownContent(xpp); 6560 eventType = nextNoWhitespace(xpp); 6561 } 6562 next(xpp); 6563 parseElementClose(res); 6564 return res; 6565 } 6566 6567 protected boolean parseClinicalUseDefinitionInteractionComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6568 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interactant")) { 6569 res.getInteractant().add(parseClinicalUseDefinitionInteractionInteractantComponent(xpp)); 6570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6571 res.setType(parseCodeableConcept(xpp)); 6572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effect")) { 6573 res.setEffect(parseCodeableReference(xpp)); 6574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("incidence")) { 6575 res.setIncidence(parseCodeableConcept(xpp)); 6576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("management")) { 6577 res.getManagement().add(parseCodeableConcept(xpp)); 6578 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6579 return false; 6580 } 6581 return true; 6582 } 6583 6584 protected ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent parseClinicalUseDefinitionInteractionInteractantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6585 ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent(); 6586 parseElementAttributes(xpp, res); 6587 next(xpp); 6588 int eventType = nextNoWhitespace(xpp); 6589 while (eventType != XmlPullParser.END_TAG) { 6590 if (!parseClinicalUseDefinitionInteractionInteractantComponentContent(eventType, xpp, res)) 6591 unknownContent(xpp); 6592 eventType = nextNoWhitespace(xpp); 6593 } 6594 next(xpp); 6595 parseElementClose(res); 6596 return res; 6597 } 6598 6599 protected boolean parseClinicalUseDefinitionInteractionInteractantComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6600 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "item")) { 6601 res.setItem(parseType("item", xpp)); 6602 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6603 return false; 6604 } 6605 return true; 6606 } 6607 6608 protected ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent parseClinicalUseDefinitionUndesirableEffectComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6609 ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent(); 6610 parseElementAttributes(xpp, res); 6611 next(xpp); 6612 int eventType = nextNoWhitespace(xpp); 6613 while (eventType != XmlPullParser.END_TAG) { 6614 if (!parseClinicalUseDefinitionUndesirableEffectComponentContent(eventType, xpp, res)) 6615 unknownContent(xpp); 6616 eventType = nextNoWhitespace(xpp); 6617 } 6618 next(xpp); 6619 parseElementClose(res); 6620 return res; 6621 } 6622 6623 protected boolean parseClinicalUseDefinitionUndesirableEffectComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6624 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("symptomConditionEffect")) { 6625 res.setSymptomConditionEffect(parseCodeableReference(xpp)); 6626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 6627 res.setClassification(parseCodeableConcept(xpp)); 6628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequencyOfOccurrence")) { 6629 res.setFrequencyOfOccurrence(parseCodeableConcept(xpp)); 6630 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6631 return false; 6632 } 6633 return true; 6634 } 6635 6636 protected ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent parseClinicalUseDefinitionWarningComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6637 ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent res = new ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent(); 6638 parseElementAttributes(xpp, res); 6639 next(xpp); 6640 int eventType = nextNoWhitespace(xpp); 6641 while (eventType != XmlPullParser.END_TAG) { 6642 if (!parseClinicalUseDefinitionWarningComponentContent(eventType, xpp, res)) 6643 unknownContent(xpp); 6644 eventType = nextNoWhitespace(xpp); 6645 } 6646 next(xpp); 6647 parseElementClose(res); 6648 return res; 6649 } 6650 6651 protected boolean parseClinicalUseDefinitionWarningComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6652 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6653 res.setDescriptionElement(parseMarkdown(xpp)); 6654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6655 res.setCode(parseCodeableConcept(xpp)); 6656 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6657 return false; 6658 } 6659 return true; 6660 } 6661 6662 protected CodeSystem parseCodeSystem(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6663 CodeSystem res = new CodeSystem(); 6664 parseResourceAttributes(xpp, res); 6665 next(xpp); 6666 int eventType = nextNoWhitespace(xpp); 6667 while (eventType != XmlPullParser.END_TAG) { 6668 if (!parseCodeSystemContent(eventType, xpp, res)) 6669 unknownContent(xpp); 6670 eventType = nextNoWhitespace(xpp); 6671 } 6672 next(xpp); 6673 parseElementClose(res); 6674 return res; 6675 } 6676 6677 protected boolean parseCodeSystemContent(int eventType, XmlPullParser xpp, CodeSystem res) throws XmlPullParserException, IOException, FHIRFormatError { 6678 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 6679 res.setUrlElement(parseUri(xpp)); 6680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6681 res.getIdentifier().add(parseIdentifier(xpp)); 6682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 6683 res.setVersionElement(parseString(xpp)); 6684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6685 res.setNameElement(parseString(xpp)); 6686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 6687 res.setTitleElement(parseString(xpp)); 6688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6689 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 6690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 6691 res.setExperimentalElement(parseBoolean(xpp)); 6692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6693 res.setDateElement(parseDateTime(xpp)); 6694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 6695 res.setPublisherElement(parseString(xpp)); 6696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 6697 res.getContact().add(parseContactDetail(xpp)); 6698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6699 res.setDescriptionElement(parseMarkdown(xpp)); 6700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 6701 res.getUseContext().add(parseUsageContext(xpp)); 6702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 6703 res.getJurisdiction().add(parseCodeableConcept(xpp)); 6704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 6705 res.setPurposeElement(parseMarkdown(xpp)); 6706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 6707 res.setCopyrightElement(parseMarkdown(xpp)); 6708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caseSensitive")) { 6709 res.setCaseSensitiveElement(parseBoolean(xpp)); 6710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { 6711 res.setValueSetElement(parseCanonical(xpp)); 6712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hierarchyMeaning")) { 6713 res.setHierarchyMeaningElement(parseEnumeration(xpp, CodeSystem.CodeSystemHierarchyMeaning.NULL, new CodeSystem.CodeSystemHierarchyMeaningEnumFactory())); 6714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compositional")) { 6715 res.setCompositionalElement(parseBoolean(xpp)); 6716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionNeeded")) { 6717 res.setVersionNeededElement(parseBoolean(xpp)); 6718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 6719 res.setContentElement(parseEnumeration(xpp, CodeSystem.CodeSystemContentMode.NULL, new CodeSystem.CodeSystemContentModeEnumFactory())); 6720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplements")) { 6721 res.setSupplementsElement(parseCanonical(xpp)); 6722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("count")) { 6723 res.setCountElement(parseUnsignedInt(xpp)); 6724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { 6725 res.getFilter().add(parseCodeSystemFilterComponent(xpp)); 6726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 6727 res.getProperty().add(parseCodeSystemPropertyComponent(xpp)); 6728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 6729 res.getConcept().add(parseCodeSystemConceptDefinitionComponent(xpp)); 6730 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 6731 return false; 6732 } 6733 return true; 6734 } 6735 6736 protected CodeSystem.CodeSystemFilterComponent parseCodeSystemFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6737 CodeSystem.CodeSystemFilterComponent res = new CodeSystem.CodeSystemFilterComponent(); 6738 parseElementAttributes(xpp, res); 6739 next(xpp); 6740 int eventType = nextNoWhitespace(xpp); 6741 while (eventType != XmlPullParser.END_TAG) { 6742 if (!parseCodeSystemFilterComponentContent(eventType, xpp, res)) 6743 unknownContent(xpp); 6744 eventType = nextNoWhitespace(xpp); 6745 } 6746 next(xpp); 6747 parseElementClose(res); 6748 return res; 6749 } 6750 6751 protected boolean parseCodeSystemFilterComponentContent(int eventType, XmlPullParser xpp, CodeSystem.CodeSystemFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6752 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6753 res.setCodeElement(parseCode(xpp)); 6754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6755 res.setDescriptionElement(parseString(xpp)); 6756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 6757 res.getOperator().add(parseEnumeration(xpp, Enumerations.FilterOperator.NULL, new Enumerations.FilterOperatorEnumFactory())); 6758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 6759 res.setValueElement(parseString(xpp)); 6760 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6761 return false; 6762 } 6763 return true; 6764 } 6765 6766 protected CodeSystem.PropertyComponent parseCodeSystemPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6767 CodeSystem.PropertyComponent res = new CodeSystem.PropertyComponent(); 6768 parseElementAttributes(xpp, res); 6769 next(xpp); 6770 int eventType = nextNoWhitespace(xpp); 6771 while (eventType != XmlPullParser.END_TAG) { 6772 if (!parseCodeSystemPropertyComponentContent(eventType, xpp, res)) 6773 unknownContent(xpp); 6774 eventType = nextNoWhitespace(xpp); 6775 } 6776 next(xpp); 6777 parseElementClose(res); 6778 return res; 6779 } 6780 6781 protected boolean parseCodeSystemPropertyComponentContent(int eventType, XmlPullParser xpp, CodeSystem.PropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6782 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6783 res.setCodeElement(parseCode(xpp)); 6784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 6785 res.setUriElement(parseUri(xpp)); 6786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6787 res.setDescriptionElement(parseString(xpp)); 6788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6789 res.setTypeElement(parseEnumeration(xpp, CodeSystem.PropertyType.NULL, new CodeSystem.PropertyTypeEnumFactory())); 6790 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6791 return false; 6792 } 6793 return true; 6794 } 6795 6796 protected CodeSystem.ConceptDefinitionComponent parseCodeSystemConceptDefinitionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6797 CodeSystem.ConceptDefinitionComponent res = new CodeSystem.ConceptDefinitionComponent(); 6798 parseElementAttributes(xpp, res); 6799 next(xpp); 6800 int eventType = nextNoWhitespace(xpp); 6801 while (eventType != XmlPullParser.END_TAG) { 6802 if (!parseCodeSystemConceptDefinitionComponentContent(eventType, xpp, res)) 6803 unknownContent(xpp); 6804 eventType = nextNoWhitespace(xpp); 6805 } 6806 next(xpp); 6807 parseElementClose(res); 6808 return res; 6809 } 6810 6811 protected boolean parseCodeSystemConceptDefinitionComponentContent(int eventType, XmlPullParser xpp, CodeSystem.ConceptDefinitionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6812 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6813 res.setCodeElement(parseCode(xpp)); 6814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 6815 res.setDisplayElement(parseString(xpp)); 6816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 6817 res.setDefinitionElement(parseString(xpp)); 6818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 6819 res.getDesignation().add(parseCodeSystemConceptDefinitionDesignationComponent(xpp)); 6820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 6821 res.getProperty().add(parseCodeSystemConceptPropertyComponent(xpp)); 6822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 6823 res.getConcept().add(parseCodeSystemConceptDefinitionComponent(xpp)); 6824 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6825 return false; 6826 } 6827 return true; 6828 } 6829 6830 protected CodeSystem.ConceptDefinitionDesignationComponent parseCodeSystemConceptDefinitionDesignationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6831 CodeSystem.ConceptDefinitionDesignationComponent res = new CodeSystem.ConceptDefinitionDesignationComponent(); 6832 parseElementAttributes(xpp, res); 6833 next(xpp); 6834 int eventType = nextNoWhitespace(xpp); 6835 while (eventType != XmlPullParser.END_TAG) { 6836 if (!parseCodeSystemConceptDefinitionDesignationComponentContent(eventType, xpp, res)) 6837 unknownContent(xpp); 6838 eventType = nextNoWhitespace(xpp); 6839 } 6840 next(xpp); 6841 parseElementClose(res); 6842 return res; 6843 } 6844 6845 protected boolean parseCodeSystemConceptDefinitionDesignationComponentContent(int eventType, XmlPullParser xpp, CodeSystem.ConceptDefinitionDesignationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6846 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 6847 res.setLanguageElement(parseCode(xpp)); 6848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 6849 res.setUse(parseCoding(xpp)); 6850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 6851 res.setValueElement(parseString(xpp)); 6852 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6853 return false; 6854 } 6855 return true; 6856 } 6857 6858 protected CodeSystem.ConceptPropertyComponent parseCodeSystemConceptPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6859 CodeSystem.ConceptPropertyComponent res = new CodeSystem.ConceptPropertyComponent(); 6860 parseElementAttributes(xpp, res); 6861 next(xpp); 6862 int eventType = nextNoWhitespace(xpp); 6863 while (eventType != XmlPullParser.END_TAG) { 6864 if (!parseCodeSystemConceptPropertyComponentContent(eventType, xpp, res)) 6865 unknownContent(xpp); 6866 eventType = nextNoWhitespace(xpp); 6867 } 6868 next(xpp); 6869 parseElementClose(res); 6870 return res; 6871 } 6872 6873 protected boolean parseCodeSystemConceptPropertyComponentContent(int eventType, XmlPullParser xpp, CodeSystem.ConceptPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6874 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6875 res.setCodeElement(parseCode(xpp)); 6876 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 6877 res.setValue(parseType("value", xpp)); 6878 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6879 return false; 6880 } 6881 return true; 6882 } 6883 6884 protected Communication parseCommunication(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6885 Communication res = new Communication(); 6886 parseResourceAttributes(xpp, res); 6887 next(xpp); 6888 int eventType = nextNoWhitespace(xpp); 6889 while (eventType != XmlPullParser.END_TAG) { 6890 if (!parseCommunicationContent(eventType, xpp, res)) 6891 unknownContent(xpp); 6892 eventType = nextNoWhitespace(xpp); 6893 } 6894 next(xpp); 6895 parseElementClose(res); 6896 return res; 6897 } 6898 6899 protected boolean parseCommunicationContent(int eventType, XmlPullParser xpp, Communication res) throws XmlPullParserException, IOException, FHIRFormatError { 6900 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6901 res.getIdentifier().add(parseIdentifier(xpp)); 6902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 6903 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 6904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 6905 res.getInstantiatesUri().add(parseUri(xpp)); 6906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 6907 res.getBasedOn().add(parseReference(xpp)); 6908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 6909 res.getPartOf().add(parseReference(xpp)); 6910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inResponseTo")) { 6911 res.getInResponseTo().add(parseReference(xpp)); 6912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6913 res.setStatusElement(parseEnumeration(xpp, Enumerations.EventStatus.NULL, new Enumerations.EventStatusEnumFactory())); 6914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 6915 res.setStatusReason(parseCodeableConcept(xpp)); 6916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 6917 res.getCategory().add(parseCodeableConcept(xpp)); 6918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 6919 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 6920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 6921 res.getMedium().add(parseCodeableConcept(xpp)); 6922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6923 res.setSubject(parseReference(xpp)); 6924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 6925 res.setTopic(parseCodeableConcept(xpp)); 6926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("about")) { 6927 res.getAbout().add(parseReference(xpp)); 6928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6929 res.setEncounter(parseReference(xpp)); 6930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sent")) { 6931 res.setSentElement(parseDateTime(xpp)); 6932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("received")) { 6933 res.setReceivedElement(parseDateTime(xpp)); 6934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 6935 res.getRecipient().add(parseReference(xpp)); 6936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 6937 res.setSender(parseReference(xpp)); 6938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 6939 res.getReasonCode().add(parseCodeableConcept(xpp)); 6940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 6941 res.getReasonReference().add(parseReference(xpp)); 6942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 6943 res.getPayload().add(parseCommunicationPayloadComponent(xpp)); 6944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6945 res.getNote().add(parseAnnotation(xpp)); 6946 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 6947 return false; 6948 } 6949 return true; 6950 } 6951 6952 protected Communication.CommunicationPayloadComponent parseCommunicationPayloadComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6953 Communication.CommunicationPayloadComponent res = new Communication.CommunicationPayloadComponent(); 6954 parseElementAttributes(xpp, res); 6955 next(xpp); 6956 int eventType = nextNoWhitespace(xpp); 6957 while (eventType != XmlPullParser.END_TAG) { 6958 if (!parseCommunicationPayloadComponentContent(eventType, xpp, res)) 6959 unknownContent(xpp); 6960 eventType = nextNoWhitespace(xpp); 6961 } 6962 next(xpp); 6963 parseElementClose(res); 6964 return res; 6965 } 6966 6967 protected boolean parseCommunicationPayloadComponentContent(int eventType, XmlPullParser xpp, Communication.CommunicationPayloadComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 6968 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 6969 res.setContent(parseType("content", xpp)); 6970 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 6971 return false; 6972 } 6973 return true; 6974 } 6975 6976 protected CommunicationRequest parseCommunicationRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6977 CommunicationRequest res = new CommunicationRequest(); 6978 parseResourceAttributes(xpp, res); 6979 next(xpp); 6980 int eventType = nextNoWhitespace(xpp); 6981 while (eventType != XmlPullParser.END_TAG) { 6982 if (!parseCommunicationRequestContent(eventType, xpp, res)) 6983 unknownContent(xpp); 6984 eventType = nextNoWhitespace(xpp); 6985 } 6986 next(xpp); 6987 parseElementClose(res); 6988 return res; 6989 } 6990 6991 protected boolean parseCommunicationRequestContent(int eventType, XmlPullParser xpp, CommunicationRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 6992 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6993 res.getIdentifier().add(parseIdentifier(xpp)); 6994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 6995 res.getBasedOn().add(parseReference(xpp)); 6996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 6997 res.getReplaces().add(parseReference(xpp)); 6998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { 6999 res.setGroupIdentifier(parseIdentifier(xpp)); 7000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7001 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 7002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 7003 res.setStatusReason(parseCodeableConcept(xpp)); 7004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7005 res.getCategory().add(parseCodeableConcept(xpp)); 7006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 7007 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 7008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 7009 res.setDoNotPerformElement(parseBoolean(xpp)); 7010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 7011 res.getMedium().add(parseCodeableConcept(xpp)); 7012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7013 res.setSubject(parseReference(xpp)); 7014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("about")) { 7015 res.getAbout().add(parseReference(xpp)); 7016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7017 res.setEncounter(parseReference(xpp)); 7018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 7019 res.getPayload().add(parseCommunicationRequestPayloadComponent(xpp)); 7020 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 7021 res.setOccurrence(parseType("occurrence", xpp)); 7022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 7023 res.setAuthoredOnElement(parseDateTime(xpp)); 7024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 7025 res.setRequester(parseReference(xpp)); 7026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 7027 res.getRecipient().add(parseReference(xpp)); 7028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 7029 res.setSender(parseReference(xpp)); 7030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 7031 res.getReasonCode().add(parseCodeableConcept(xpp)); 7032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 7033 res.getReasonReference().add(parseReference(xpp)); 7034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 7035 res.getNote().add(parseAnnotation(xpp)); 7036 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7037 return false; 7038 } 7039 return true; 7040 } 7041 7042 protected CommunicationRequest.CommunicationRequestPayloadComponent parseCommunicationRequestPayloadComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7043 CommunicationRequest.CommunicationRequestPayloadComponent res = new CommunicationRequest.CommunicationRequestPayloadComponent(); 7044 parseElementAttributes(xpp, res); 7045 next(xpp); 7046 int eventType = nextNoWhitespace(xpp); 7047 while (eventType != XmlPullParser.END_TAG) { 7048 if (!parseCommunicationRequestPayloadComponentContent(eventType, xpp, res)) 7049 unknownContent(xpp); 7050 eventType = nextNoWhitespace(xpp); 7051 } 7052 next(xpp); 7053 parseElementClose(res); 7054 return res; 7055 } 7056 7057 protected boolean parseCommunicationRequestPayloadComponentContent(int eventType, XmlPullParser xpp, CommunicationRequest.CommunicationRequestPayloadComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7058 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 7059 res.setContent(parseType("content", xpp)); 7060 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7061 return false; 7062 } 7063 return true; 7064 } 7065 7066 protected CompartmentDefinition parseCompartmentDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7067 CompartmentDefinition res = new CompartmentDefinition(); 7068 parseResourceAttributes(xpp, res); 7069 next(xpp); 7070 int eventType = nextNoWhitespace(xpp); 7071 while (eventType != XmlPullParser.END_TAG) { 7072 if (!parseCompartmentDefinitionContent(eventType, xpp, res)) 7073 unknownContent(xpp); 7074 eventType = nextNoWhitespace(xpp); 7075 } 7076 next(xpp); 7077 parseElementClose(res); 7078 return res; 7079 } 7080 7081 protected boolean parseCompartmentDefinitionContent(int eventType, XmlPullParser xpp, CompartmentDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 7082 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7083 res.setUrlElement(parseUri(xpp)); 7084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7085 res.setVersionElement(parseString(xpp)); 7086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7087 res.setNameElement(parseString(xpp)); 7088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7089 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 7090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 7091 res.setExperimentalElement(parseBoolean(xpp)); 7092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7093 res.setDateElement(parseDateTime(xpp)); 7094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7095 res.setPublisherElement(parseString(xpp)); 7096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7097 res.getContact().add(parseContactDetail(xpp)); 7098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7099 res.setDescriptionElement(parseMarkdown(xpp)); 7100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 7101 res.getUseContext().add(parseUsageContext(xpp)); 7102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 7103 res.setPurposeElement(parseMarkdown(xpp)); 7104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7105 res.setCodeElement(parseEnumeration(xpp, Enumerations.CompartmentType.NULL, new Enumerations.CompartmentTypeEnumFactory())); 7106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("search")) { 7107 res.setSearchElement(parseBoolean(xpp)); 7108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 7109 res.getResource().add(parseCompartmentDefinitionResourceComponent(xpp)); 7110 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7111 return false; 7112 } 7113 return true; 7114 } 7115 7116 protected CompartmentDefinition.CompartmentDefinitionResourceComponent parseCompartmentDefinitionResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7117 CompartmentDefinition.CompartmentDefinitionResourceComponent res = new CompartmentDefinition.CompartmentDefinitionResourceComponent(); 7118 parseElementAttributes(xpp, res); 7119 next(xpp); 7120 int eventType = nextNoWhitespace(xpp); 7121 while (eventType != XmlPullParser.END_TAG) { 7122 if (!parseCompartmentDefinitionResourceComponentContent(eventType, xpp, res)) 7123 unknownContent(xpp); 7124 eventType = nextNoWhitespace(xpp); 7125 } 7126 next(xpp); 7127 parseElementClose(res); 7128 return res; 7129 } 7130 7131 protected boolean parseCompartmentDefinitionResourceComponentContent(int eventType, XmlPullParser xpp, CompartmentDefinition.CompartmentDefinitionResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7132 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7133 res.setCodeElement(parseCode(xpp)); 7134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("param")) { 7135 res.getParam().add(parseString(xpp)); 7136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 7137 res.setDocumentationElement(parseString(xpp)); 7138 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7139 return false; 7140 } 7141 return true; 7142 } 7143 7144 protected Composition parseComposition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7145 Composition res = new Composition(); 7146 parseResourceAttributes(xpp, res); 7147 next(xpp); 7148 int eventType = nextNoWhitespace(xpp); 7149 while (eventType != XmlPullParser.END_TAG) { 7150 if (!parseCompositionContent(eventType, xpp, res)) 7151 unknownContent(xpp); 7152 eventType = nextNoWhitespace(xpp); 7153 } 7154 next(xpp); 7155 parseElementClose(res); 7156 return res; 7157 } 7158 7159 protected boolean parseCompositionContent(int eventType, XmlPullParser xpp, Composition res) throws XmlPullParserException, IOException, FHIRFormatError { 7160 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7161 res.setIdentifier(parseIdentifier(xpp)); 7162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7163 res.setStatusElement(parseEnumeration(xpp, Enumerations.CompositionStatus.NULL, new Enumerations.CompositionStatusEnumFactory())); 7164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7165 res.setType(parseCodeableConcept(xpp)); 7166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7167 res.getCategory().add(parseCodeableConcept(xpp)); 7168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7169 res.setSubject(parseReference(xpp)); 7170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7171 res.setEncounter(parseReference(xpp)); 7172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7173 res.setDateElement(parseDateTime(xpp)); 7174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 7175 res.getAuthor().add(parseReference(xpp)); 7176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 7177 res.setTitleElement(parseString(xpp)); 7178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("confidentiality")) { 7179 res.setConfidentialityElement(parseCode(xpp)); 7180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attester")) { 7181 res.getAttester().add(parseCompositionAttesterComponent(xpp)); 7182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 7183 res.setCustodian(parseReference(xpp)); 7184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 7185 res.getRelatesTo().add(parseCompositionRelatesToComponent(xpp)); 7186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 7187 res.getEvent().add(parseCompositionEventComponent(xpp)); 7188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 7189 res.getSection().add(parseCompositionSectionComponent(xpp)); 7190 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7191 return false; 7192 } 7193 return true; 7194 } 7195 7196 protected Composition.CompositionAttesterComponent parseCompositionAttesterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7197 Composition.CompositionAttesterComponent res = new Composition.CompositionAttesterComponent(); 7198 parseElementAttributes(xpp, res); 7199 next(xpp); 7200 int eventType = nextNoWhitespace(xpp); 7201 while (eventType != XmlPullParser.END_TAG) { 7202 if (!parseCompositionAttesterComponentContent(eventType, xpp, res)) 7203 unknownContent(xpp); 7204 eventType = nextNoWhitespace(xpp); 7205 } 7206 next(xpp); 7207 parseElementClose(res); 7208 return res; 7209 } 7210 7211 protected boolean parseCompositionAttesterComponentContent(int eventType, XmlPullParser xpp, Composition.CompositionAttesterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7212 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 7213 res.setModeElement(parseEnumeration(xpp, Composition.CompositionAttestationMode.NULL, new Composition.CompositionAttestationModeEnumFactory())); 7214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 7215 res.setTimeElement(parseDateTime(xpp)); 7216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 7217 res.setParty(parseReference(xpp)); 7218 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7219 return false; 7220 } 7221 return true; 7222 } 7223 7224 protected Composition.CompositionRelatesToComponent parseCompositionRelatesToComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7225 Composition.CompositionRelatesToComponent res = new Composition.CompositionRelatesToComponent(); 7226 parseElementAttributes(xpp, res); 7227 next(xpp); 7228 int eventType = nextNoWhitespace(xpp); 7229 while (eventType != XmlPullParser.END_TAG) { 7230 if (!parseCompositionRelatesToComponentContent(eventType, xpp, res)) 7231 unknownContent(xpp); 7232 eventType = nextNoWhitespace(xpp); 7233 } 7234 next(xpp); 7235 parseElementClose(res); 7236 return res; 7237 } 7238 7239 protected boolean parseCompositionRelatesToComponentContent(int eventType, XmlPullParser xpp, Composition.CompositionRelatesToComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7240 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7241 res.setCodeElement(parseEnumeration(xpp, Enumerations.DocumentRelationshipType.NULL, new Enumerations.DocumentRelationshipTypeEnumFactory())); 7242 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 7243 res.setTarget(parseType("target", xpp)); 7244 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7245 return false; 7246 } 7247 return true; 7248 } 7249 7250 protected Composition.CompositionEventComponent parseCompositionEventComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7251 Composition.CompositionEventComponent res = new Composition.CompositionEventComponent(); 7252 parseElementAttributes(xpp, res); 7253 next(xpp); 7254 int eventType = nextNoWhitespace(xpp); 7255 while (eventType != XmlPullParser.END_TAG) { 7256 if (!parseCompositionEventComponentContent(eventType, xpp, res)) 7257 unknownContent(xpp); 7258 eventType = nextNoWhitespace(xpp); 7259 } 7260 next(xpp); 7261 parseElementClose(res); 7262 return res; 7263 } 7264 7265 protected boolean parseCompositionEventComponentContent(int eventType, XmlPullParser xpp, Composition.CompositionEventComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7266 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7267 res.getCode().add(parseCodeableConcept(xpp)); 7268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7269 res.setPeriod(parsePeriod(xpp)); 7270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 7271 res.getDetail().add(parseReference(xpp)); 7272 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7273 return false; 7274 } 7275 return true; 7276 } 7277 7278 protected Composition.SectionComponent parseCompositionSectionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7279 Composition.SectionComponent res = new Composition.SectionComponent(); 7280 parseElementAttributes(xpp, res); 7281 next(xpp); 7282 int eventType = nextNoWhitespace(xpp); 7283 while (eventType != XmlPullParser.END_TAG) { 7284 if (!parseCompositionSectionComponentContent(eventType, xpp, res)) 7285 unknownContent(xpp); 7286 eventType = nextNoWhitespace(xpp); 7287 } 7288 next(xpp); 7289 parseElementClose(res); 7290 return res; 7291 } 7292 7293 protected boolean parseCompositionSectionComponentContent(int eventType, XmlPullParser xpp, Composition.SectionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7294 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 7295 res.setTitleElement(parseString(xpp)); 7296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7297 res.setCode(parseCodeableConcept(xpp)); 7298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 7299 res.getAuthor().add(parseReference(xpp)); 7300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 7301 res.setFocus(parseReference(xpp)); 7302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 7303 res.setText(parseNarrative(xpp)); 7304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 7305 res.setModeElement(parseEnumeration(xpp, Enumerations.ListMode.NULL, new Enumerations.ListModeEnumFactory())); 7306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 7307 res.setOrderedBy(parseCodeableConcept(xpp)); 7308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 7309 res.getEntry().add(parseReference(xpp)); 7310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 7311 res.setEmptyReason(parseCodeableConcept(xpp)); 7312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 7313 res.getSection().add(parseCompositionSectionComponent(xpp)); 7314 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7315 return false; 7316 } 7317 return true; 7318 } 7319 7320 protected ConceptMap parseConceptMap(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7321 ConceptMap res = new ConceptMap(); 7322 parseResourceAttributes(xpp, res); 7323 next(xpp); 7324 int eventType = nextNoWhitespace(xpp); 7325 while (eventType != XmlPullParser.END_TAG) { 7326 if (!parseConceptMapContent(eventType, xpp, res)) 7327 unknownContent(xpp); 7328 eventType = nextNoWhitespace(xpp); 7329 } 7330 next(xpp); 7331 parseElementClose(res); 7332 return res; 7333 } 7334 7335 protected boolean parseConceptMapContent(int eventType, XmlPullParser xpp, ConceptMap res) throws XmlPullParserException, IOException, FHIRFormatError { 7336 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7337 res.setUrlElement(parseUri(xpp)); 7338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7339 res.setIdentifier(parseIdentifier(xpp)); 7340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7341 res.setVersionElement(parseString(xpp)); 7342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7343 res.setNameElement(parseString(xpp)); 7344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 7345 res.setTitleElement(parseString(xpp)); 7346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7347 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 7348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 7349 res.setExperimentalElement(parseBoolean(xpp)); 7350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7351 res.setDateElement(parseDateTime(xpp)); 7352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7353 res.setPublisherElement(parseString(xpp)); 7354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7355 res.getContact().add(parseContactDetail(xpp)); 7356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7357 res.setDescriptionElement(parseMarkdown(xpp)); 7358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 7359 res.getUseContext().add(parseUsageContext(xpp)); 7360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 7361 res.getJurisdiction().add(parseCodeableConcept(xpp)); 7362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 7363 res.setPurposeElement(parseMarkdown(xpp)); 7364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 7365 res.setCopyrightElement(parseMarkdown(xpp)); 7366 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 7367 res.setSource(parseType("source", xpp)); 7368 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 7369 res.setTarget(parseType("target", xpp)); 7370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 7371 res.getGroup().add(parseConceptMapGroupComponent(xpp)); 7372 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7373 return false; 7374 } 7375 return true; 7376 } 7377 7378 protected ConceptMap.ConceptMapGroupComponent parseConceptMapGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7379 ConceptMap.ConceptMapGroupComponent res = new ConceptMap.ConceptMapGroupComponent(); 7380 parseElementAttributes(xpp, res); 7381 next(xpp); 7382 int eventType = nextNoWhitespace(xpp); 7383 while (eventType != XmlPullParser.END_TAG) { 7384 if (!parseConceptMapGroupComponentContent(eventType, xpp, res)) 7385 unknownContent(xpp); 7386 eventType = nextNoWhitespace(xpp); 7387 } 7388 next(xpp); 7389 parseElementClose(res); 7390 return res; 7391 } 7392 7393 protected boolean parseConceptMapGroupComponentContent(int eventType, XmlPullParser xpp, ConceptMap.ConceptMapGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7394 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 7395 res.setSourceElement(parseUri(xpp)); 7396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceVersion")) { 7397 res.setSourceVersionElement(parseString(xpp)); 7398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7399 res.setTargetElement(parseUri(xpp)); 7400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetVersion")) { 7401 res.setTargetVersionElement(parseString(xpp)); 7402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 7403 res.getElement().add(parseConceptMapSourceElementComponent(xpp)); 7404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unmapped")) { 7405 res.setUnmapped(parseConceptMapGroupUnmappedComponent(xpp)); 7406 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7407 return false; 7408 } 7409 return true; 7410 } 7411 7412 protected ConceptMap.SourceElementComponent parseConceptMapSourceElementComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7413 ConceptMap.SourceElementComponent res = new ConceptMap.SourceElementComponent(); 7414 parseElementAttributes(xpp, res); 7415 next(xpp); 7416 int eventType = nextNoWhitespace(xpp); 7417 while (eventType != XmlPullParser.END_TAG) { 7418 if (!parseConceptMapSourceElementComponentContent(eventType, xpp, res)) 7419 unknownContent(xpp); 7420 eventType = nextNoWhitespace(xpp); 7421 } 7422 next(xpp); 7423 parseElementClose(res); 7424 return res; 7425 } 7426 7427 protected boolean parseConceptMapSourceElementComponentContent(int eventType, XmlPullParser xpp, ConceptMap.SourceElementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7428 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7429 res.setCodeElement(parseCode(xpp)); 7430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 7431 res.setDisplayElement(parseString(xpp)); 7432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7433 res.getTarget().add(parseConceptMapTargetElementComponent(xpp)); 7434 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7435 return false; 7436 } 7437 return true; 7438 } 7439 7440 protected ConceptMap.TargetElementComponent parseConceptMapTargetElementComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7441 ConceptMap.TargetElementComponent res = new ConceptMap.TargetElementComponent(); 7442 parseElementAttributes(xpp, res); 7443 next(xpp); 7444 int eventType = nextNoWhitespace(xpp); 7445 while (eventType != XmlPullParser.END_TAG) { 7446 if (!parseConceptMapTargetElementComponentContent(eventType, xpp, res)) 7447 unknownContent(xpp); 7448 eventType = nextNoWhitespace(xpp); 7449 } 7450 next(xpp); 7451 parseElementClose(res); 7452 return res; 7453 } 7454 7455 protected boolean parseConceptMapTargetElementComponentContent(int eventType, XmlPullParser xpp, ConceptMap.TargetElementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7456 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7457 res.setCodeElement(parseCode(xpp)); 7458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 7459 res.setDisplayElement(parseString(xpp)); 7460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("equivalence")) { 7461 res.setEquivalenceElement(parseEnumeration(xpp, ConceptMap.ConceptMapEquivalence.NULL, new ConceptMap.ConceptMapEquivalenceEnumFactory())); 7462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 7463 res.setCommentElement(parseString(xpp)); 7464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependsOn")) { 7465 res.getDependsOn().add(parseConceptMapOtherElementComponent(xpp)); 7466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 7467 res.getProduct().add(parseConceptMapOtherElementComponent(xpp)); 7468 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7469 return false; 7470 } 7471 return true; 7472 } 7473 7474 protected ConceptMap.OtherElementComponent parseConceptMapOtherElementComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7475 ConceptMap.OtherElementComponent res = new ConceptMap.OtherElementComponent(); 7476 parseElementAttributes(xpp, res); 7477 next(xpp); 7478 int eventType = nextNoWhitespace(xpp); 7479 while (eventType != XmlPullParser.END_TAG) { 7480 if (!parseConceptMapOtherElementComponentContent(eventType, xpp, res)) 7481 unknownContent(xpp); 7482 eventType = nextNoWhitespace(xpp); 7483 } 7484 next(xpp); 7485 parseElementClose(res); 7486 return res; 7487 } 7488 7489 protected boolean parseConceptMapOtherElementComponentContent(int eventType, XmlPullParser xpp, ConceptMap.OtherElementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7490 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 7491 res.setPropertyElement(parseUri(xpp)); 7492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 7493 res.setSystemElement(parseCanonical(xpp)); 7494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 7495 res.setValueElement(parseString(xpp)); 7496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 7497 res.setDisplayElement(parseString(xpp)); 7498 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7499 return false; 7500 } 7501 return true; 7502 } 7503 7504 protected ConceptMap.ConceptMapGroupUnmappedComponent parseConceptMapGroupUnmappedComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7505 ConceptMap.ConceptMapGroupUnmappedComponent res = new ConceptMap.ConceptMapGroupUnmappedComponent(); 7506 parseElementAttributes(xpp, res); 7507 next(xpp); 7508 int eventType = nextNoWhitespace(xpp); 7509 while (eventType != XmlPullParser.END_TAG) { 7510 if (!parseConceptMapGroupUnmappedComponentContent(eventType, xpp, res)) 7511 unknownContent(xpp); 7512 eventType = nextNoWhitespace(xpp); 7513 } 7514 next(xpp); 7515 parseElementClose(res); 7516 return res; 7517 } 7518 7519 protected boolean parseConceptMapGroupUnmappedComponentContent(int eventType, XmlPullParser xpp, ConceptMap.ConceptMapGroupUnmappedComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7520 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 7521 res.setModeElement(parseEnumeration(xpp, ConceptMap.ConceptMapGroupUnmappedMode.NULL, new ConceptMap.ConceptMapGroupUnmappedModeEnumFactory())); 7522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7523 res.setCodeElement(parseCode(xpp)); 7524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 7525 res.setDisplayElement(parseString(xpp)); 7526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7527 res.setUrlElement(parseCanonical(xpp)); 7528 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7529 return false; 7530 } 7531 return true; 7532 } 7533 7534 protected Condition parseCondition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7535 Condition res = new Condition(); 7536 parseResourceAttributes(xpp, res); 7537 next(xpp); 7538 int eventType = nextNoWhitespace(xpp); 7539 while (eventType != XmlPullParser.END_TAG) { 7540 if (!parseConditionContent(eventType, xpp, res)) 7541 unknownContent(xpp); 7542 eventType = nextNoWhitespace(xpp); 7543 } 7544 next(xpp); 7545 parseElementClose(res); 7546 return res; 7547 } 7548 7549 protected boolean parseConditionContent(int eventType, XmlPullParser xpp, Condition res) throws XmlPullParserException, IOException, FHIRFormatError { 7550 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7551 res.getIdentifier().add(parseIdentifier(xpp)); 7552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalStatus")) { 7553 res.setClinicalStatus(parseCodeableConcept(xpp)); 7554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verificationStatus")) { 7555 res.setVerificationStatus(parseCodeableConcept(xpp)); 7556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7557 res.getCategory().add(parseCodeableConcept(xpp)); 7558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 7559 res.setSeverity(parseCodeableConcept(xpp)); 7560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7561 res.setCode(parseCodeableConcept(xpp)); 7562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 7563 res.getBodySite().add(parseCodeableConcept(xpp)); 7564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7565 res.setSubject(parseReference(xpp)); 7566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7567 res.setEncounter(parseReference(xpp)); 7568 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 7569 res.setOnset(parseType("onset", xpp)); 7570 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "abatement")) { 7571 res.setAbatement(parseType("abatement", xpp)); 7572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedDate")) { 7573 res.setRecordedDateElement(parseDateTime(xpp)); 7574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 7575 res.setRecorder(parseReference(xpp)); 7576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { 7577 res.setAsserter(parseReference(xpp)); 7578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stage")) { 7579 res.getStage().add(parseConditionStageComponent(xpp)); 7580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { 7581 res.getEvidence().add(parseConditionEvidenceComponent(xpp)); 7582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 7583 res.getNote().add(parseAnnotation(xpp)); 7584 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7585 return false; 7586 } 7587 return true; 7588 } 7589 7590 protected Condition.ConditionStageComponent parseConditionStageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7591 Condition.ConditionStageComponent res = new Condition.ConditionStageComponent(); 7592 parseElementAttributes(xpp, res); 7593 next(xpp); 7594 int eventType = nextNoWhitespace(xpp); 7595 while (eventType != XmlPullParser.END_TAG) { 7596 if (!parseConditionStageComponentContent(eventType, xpp, res)) 7597 unknownContent(xpp); 7598 eventType = nextNoWhitespace(xpp); 7599 } 7600 next(xpp); 7601 parseElementClose(res); 7602 return res; 7603 } 7604 7605 protected boolean parseConditionStageComponentContent(int eventType, XmlPullParser xpp, Condition.ConditionStageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7606 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 7607 res.setSummary(parseCodeableConcept(xpp)); 7608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessment")) { 7609 res.getAssessment().add(parseReference(xpp)); 7610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7611 res.setType(parseCodeableConcept(xpp)); 7612 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7613 return false; 7614 } 7615 return true; 7616 } 7617 7618 protected Condition.ConditionEvidenceComponent parseConditionEvidenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7619 Condition.ConditionEvidenceComponent res = new Condition.ConditionEvidenceComponent(); 7620 parseElementAttributes(xpp, res); 7621 next(xpp); 7622 int eventType = nextNoWhitespace(xpp); 7623 while (eventType != XmlPullParser.END_TAG) { 7624 if (!parseConditionEvidenceComponentContent(eventType, xpp, res)) 7625 unknownContent(xpp); 7626 eventType = nextNoWhitespace(xpp); 7627 } 7628 next(xpp); 7629 parseElementClose(res); 7630 return res; 7631 } 7632 7633 protected boolean parseConditionEvidenceComponentContent(int eventType, XmlPullParser xpp, Condition.ConditionEvidenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7634 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7635 res.getCode().add(parseCodeableConcept(xpp)); 7636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 7637 res.getDetail().add(parseReference(xpp)); 7638 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7639 return false; 7640 } 7641 return true; 7642 } 7643 7644 protected Consent parseConsent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7645 Consent res = new Consent(); 7646 parseResourceAttributes(xpp, res); 7647 next(xpp); 7648 int eventType = nextNoWhitespace(xpp); 7649 while (eventType != XmlPullParser.END_TAG) { 7650 if (!parseConsentContent(eventType, xpp, res)) 7651 unknownContent(xpp); 7652 eventType = nextNoWhitespace(xpp); 7653 } 7654 next(xpp); 7655 parseElementClose(res); 7656 return res; 7657 } 7658 7659 protected boolean parseConsentContent(int eventType, XmlPullParser xpp, Consent res) throws XmlPullParserException, IOException, FHIRFormatError { 7660 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7661 res.getIdentifier().add(parseIdentifier(xpp)); 7662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7663 res.setStatusElement(parseEnumeration(xpp, Consent.ConsentState.NULL, new Consent.ConsentStateEnumFactory())); 7664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { 7665 res.setScope(parseCodeableConcept(xpp)); 7666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7667 res.getCategory().add(parseCodeableConcept(xpp)); 7668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 7669 res.setPatient(parseReference(xpp)); 7670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 7671 res.setDateTimeElement(parseDateTime(xpp)); 7672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 7673 res.getPerformer().add(parseReference(xpp)); 7674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 7675 res.getOrganization().add(parseReference(xpp)); 7676 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 7677 res.setSource(parseType("source", xpp)); 7678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 7679 res.getPolicy().add(parseConsentPolicyComponent(xpp)); 7680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policyRule")) { 7681 res.setPolicyRule(parseCodeableConcept(xpp)); 7682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verification")) { 7683 res.getVerification().add(parseConsentVerificationComponent(xpp)); 7684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provision")) { 7685 res.setProvision(parseConsentProvisionComponent(xpp)); 7686 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7687 return false; 7688 } 7689 return true; 7690 } 7691 7692 protected Consent.ConsentPolicyComponent parseConsentPolicyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7693 Consent.ConsentPolicyComponent res = new Consent.ConsentPolicyComponent(); 7694 parseElementAttributes(xpp, res); 7695 next(xpp); 7696 int eventType = nextNoWhitespace(xpp); 7697 while (eventType != XmlPullParser.END_TAG) { 7698 if (!parseConsentPolicyComponentContent(eventType, xpp, res)) 7699 unknownContent(xpp); 7700 eventType = nextNoWhitespace(xpp); 7701 } 7702 next(xpp); 7703 parseElementClose(res); 7704 return res; 7705 } 7706 7707 protected boolean parseConsentPolicyComponentContent(int eventType, XmlPullParser xpp, Consent.ConsentPolicyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7708 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 7709 res.setAuthorityElement(parseUri(xpp)); 7710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 7711 res.setUriElement(parseUri(xpp)); 7712 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7713 return false; 7714 } 7715 return true; 7716 } 7717 7718 protected Consent.ConsentVerificationComponent parseConsentVerificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7719 Consent.ConsentVerificationComponent res = new Consent.ConsentVerificationComponent(); 7720 parseElementAttributes(xpp, res); 7721 next(xpp); 7722 int eventType = nextNoWhitespace(xpp); 7723 while (eventType != XmlPullParser.END_TAG) { 7724 if (!parseConsentVerificationComponentContent(eventType, xpp, res)) 7725 unknownContent(xpp); 7726 eventType = nextNoWhitespace(xpp); 7727 } 7728 next(xpp); 7729 parseElementClose(res); 7730 return res; 7731 } 7732 7733 protected boolean parseConsentVerificationComponentContent(int eventType, XmlPullParser xpp, Consent.ConsentVerificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7734 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verified")) { 7735 res.setVerifiedElement(parseBoolean(xpp)); 7736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verifiedWith")) { 7737 res.setVerifiedWith(parseReference(xpp)); 7738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verificationDate")) { 7739 res.setVerificationDateElement(parseDateTime(xpp)); 7740 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7741 return false; 7742 } 7743 return true; 7744 } 7745 7746 protected Consent.ProvisionComponent parseConsentProvisionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7747 Consent.ProvisionComponent res = new Consent.ProvisionComponent(); 7748 parseElementAttributes(xpp, res); 7749 next(xpp); 7750 int eventType = nextNoWhitespace(xpp); 7751 while (eventType != XmlPullParser.END_TAG) { 7752 if (!parseConsentProvisionComponentContent(eventType, xpp, res)) 7753 unknownContent(xpp); 7754 eventType = nextNoWhitespace(xpp); 7755 } 7756 next(xpp); 7757 parseElementClose(res); 7758 return res; 7759 } 7760 7761 protected boolean parseConsentProvisionComponentContent(int eventType, XmlPullParser xpp, Consent.ProvisionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7762 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7763 res.setTypeElement(parseEnumeration(xpp, Consent.ConsentProvisionType.NULL, new Consent.ConsentProvisionTypeEnumFactory())); 7764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7765 res.setPeriod(parsePeriod(xpp)); 7766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 7767 res.getActor().add(parseConsentProvisionActorComponent(xpp)); 7768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 7769 res.getAction().add(parseCodeableConcept(xpp)); 7770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 7771 res.getSecurityLabel().add(parseCoding(xpp)); 7772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 7773 res.getPurpose().add(parseCoding(xpp)); 7774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 7775 res.getClass_().add(parseCoding(xpp)); 7776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7777 res.getCode().add(parseCodeableConcept(xpp)); 7778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataPeriod")) { 7779 res.setDataPeriod(parsePeriod(xpp)); 7780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 7781 res.getData().add(parseConsentProvisionDataComponent(xpp)); 7782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provision")) { 7783 res.getProvision().add(parseConsentProvisionComponent(xpp)); 7784 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7785 return false; 7786 } 7787 return true; 7788 } 7789 7790 protected Consent.ProvisionActorComponent parseConsentProvisionActorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7791 Consent.ProvisionActorComponent res = new Consent.ProvisionActorComponent(); 7792 parseElementAttributes(xpp, res); 7793 next(xpp); 7794 int eventType = nextNoWhitespace(xpp); 7795 while (eventType != XmlPullParser.END_TAG) { 7796 if (!parseConsentProvisionActorComponentContent(eventType, xpp, res)) 7797 unknownContent(xpp); 7798 eventType = nextNoWhitespace(xpp); 7799 } 7800 next(xpp); 7801 parseElementClose(res); 7802 return res; 7803 } 7804 7805 protected boolean parseConsentProvisionActorComponentContent(int eventType, XmlPullParser xpp, Consent.ProvisionActorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7806 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 7807 res.setRole(parseCodeableConcept(xpp)); 7808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 7809 res.setReference(parseReference(xpp)); 7810 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7811 return false; 7812 } 7813 return true; 7814 } 7815 7816 protected Consent.ProvisionDataComponent parseConsentProvisionDataComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7817 Consent.ProvisionDataComponent res = new Consent.ProvisionDataComponent(); 7818 parseElementAttributes(xpp, res); 7819 next(xpp); 7820 int eventType = nextNoWhitespace(xpp); 7821 while (eventType != XmlPullParser.END_TAG) { 7822 if (!parseConsentProvisionDataComponentContent(eventType, xpp, res)) 7823 unknownContent(xpp); 7824 eventType = nextNoWhitespace(xpp); 7825 } 7826 next(xpp); 7827 parseElementClose(res); 7828 return res; 7829 } 7830 7831 protected boolean parseConsentProvisionDataComponentContent(int eventType, XmlPullParser xpp, Consent.ProvisionDataComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7832 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaning")) { 7833 res.setMeaningElement(parseEnumeration(xpp, Consent.ConsentDataMeaning.NULL, new Consent.ConsentDataMeaningEnumFactory())); 7834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 7835 res.setReference(parseReference(xpp)); 7836 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7837 return false; 7838 } 7839 return true; 7840 } 7841 7842 protected Contract parseContract(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7843 Contract res = new Contract(); 7844 parseResourceAttributes(xpp, res); 7845 next(xpp); 7846 int eventType = nextNoWhitespace(xpp); 7847 while (eventType != XmlPullParser.END_TAG) { 7848 if (!parseContractContent(eventType, xpp, res)) 7849 unknownContent(xpp); 7850 eventType = nextNoWhitespace(xpp); 7851 } 7852 next(xpp); 7853 parseElementClose(res); 7854 return res; 7855 } 7856 7857 protected boolean parseContractContent(int eventType, XmlPullParser xpp, Contract res) throws XmlPullParserException, IOException, FHIRFormatError { 7858 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7859 res.getIdentifier().add(parseIdentifier(xpp)); 7860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7861 res.setUrlElement(parseUri(xpp)); 7862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7863 res.setVersionElement(parseString(xpp)); 7864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7865 res.setStatusElement(parseEnumeration(xpp, Contract.ContractResourceStatusCodes.NULL, new Contract.ContractResourceStatusCodesEnumFactory())); 7866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legalState")) { 7867 res.setLegalState(parseCodeableConcept(xpp)); 7868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 7869 res.setInstantiatesCanonical(parseReference(xpp)); 7870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 7871 res.setInstantiatesUriElement(parseUri(xpp)); 7872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentDerivative")) { 7873 res.setContentDerivative(parseCodeableConcept(xpp)); 7874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 7875 res.setIssuedElement(parseDateTime(xpp)); 7876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 7877 res.setApplies(parsePeriod(xpp)); 7878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationType")) { 7879 res.setExpirationType(parseCodeableConcept(xpp)); 7880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7881 res.getSubject().add(parseReference(xpp)); 7882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 7883 res.getAuthority().add(parseReference(xpp)); 7884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 7885 res.getDomain().add(parseReference(xpp)); 7886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 7887 res.getSite().add(parseReference(xpp)); 7888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7889 res.setNameElement(parseString(xpp)); 7890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 7891 res.setTitleElement(parseString(xpp)); 7892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 7893 res.setSubtitleElement(parseString(xpp)); 7894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 7895 res.getAlias().add(parseString(xpp)); 7896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 7897 res.setAuthor(parseReference(xpp)); 7898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { 7899 res.setScope(parseCodeableConcept(xpp)); 7900 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "topic")) { 7901 res.setTopic(parseType("topic", xpp)); 7902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7903 res.setType(parseCodeableConcept(xpp)); 7904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 7905 res.getSubType().add(parseCodeableConcept(xpp)); 7906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentDefinition")) { 7907 res.setContentDefinition(parseContractContentDefinitionComponent(xpp)); 7908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { 7909 res.getTerm().add(parseContractTermComponent(xpp)); 7910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 7911 res.getSupportingInfo().add(parseReference(xpp)); 7912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relevantHistory")) { 7913 res.getRelevantHistory().add(parseReference(xpp)); 7914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signer")) { 7915 res.getSigner().add(parseContractSignatoryComponent(xpp)); 7916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("friendly")) { 7917 res.getFriendly().add(parseContractFriendlyLanguageComponent(xpp)); 7918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legal")) { 7919 res.getLegal().add(parseContractLegalLanguageComponent(xpp)); 7920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 7921 res.getRule().add(parseContractComputableLanguageComponent(xpp)); 7922 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "legallyBinding")) { 7923 res.setLegallyBinding(parseType("legallyBinding", xpp)); 7924 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 7925 return false; 7926 } 7927 return true; 7928 } 7929 7930 protected Contract.ContentDefinitionComponent parseContractContentDefinitionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7931 Contract.ContentDefinitionComponent res = new Contract.ContentDefinitionComponent(); 7932 parseElementAttributes(xpp, res); 7933 next(xpp); 7934 int eventType = nextNoWhitespace(xpp); 7935 while (eventType != XmlPullParser.END_TAG) { 7936 if (!parseContractContentDefinitionComponentContent(eventType, xpp, res)) 7937 unknownContent(xpp); 7938 eventType = nextNoWhitespace(xpp); 7939 } 7940 next(xpp); 7941 parseElementClose(res); 7942 return res; 7943 } 7944 7945 protected boolean parseContractContentDefinitionComponentContent(int eventType, XmlPullParser xpp, Contract.ContentDefinitionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7946 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7947 res.setType(parseCodeableConcept(xpp)); 7948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 7949 res.setSubType(parseCodeableConcept(xpp)); 7950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7951 res.setPublisher(parseReference(xpp)); 7952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDate")) { 7953 res.setPublicationDateElement(parseDateTime(xpp)); 7954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationStatus")) { 7955 res.setPublicationStatusElement(parseEnumeration(xpp, Contract.ContractResourcePublicationStatusCodes.NULL, new Contract.ContractResourcePublicationStatusCodesEnumFactory())); 7956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 7957 res.setCopyrightElement(parseMarkdown(xpp)); 7958 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 7959 return false; 7960 } 7961 return true; 7962 } 7963 7964 protected Contract.TermComponent parseContractTermComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7965 Contract.TermComponent res = new Contract.TermComponent(); 7966 parseElementAttributes(xpp, res); 7967 next(xpp); 7968 int eventType = nextNoWhitespace(xpp); 7969 while (eventType != XmlPullParser.END_TAG) { 7970 if (!parseContractTermComponentContent(eventType, xpp, res)) 7971 unknownContent(xpp); 7972 eventType = nextNoWhitespace(xpp); 7973 } 7974 next(xpp); 7975 parseElementClose(res); 7976 return res; 7977 } 7978 7979 protected boolean parseContractTermComponentContent(int eventType, XmlPullParser xpp, Contract.TermComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 7980 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7981 res.setIdentifier(parseIdentifier(xpp)); 7982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 7983 res.setIssuedElement(parseDateTime(xpp)); 7984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 7985 res.setApplies(parsePeriod(xpp)); 7986 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "topic")) { 7987 res.setTopic(parseType("topic", xpp)); 7988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7989 res.setType(parseCodeableConcept(xpp)); 7990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 7991 res.setSubType(parseCodeableConcept(xpp)); 7992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 7993 res.setTextElement(parseString(xpp)); 7994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 7995 res.getSecurityLabel().add(parseContractSecurityLabelComponent(xpp)); 7996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offer")) { 7997 res.setOffer(parseContractOfferComponent(xpp)); 7998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asset")) { 7999 res.getAsset().add(parseContractAssetComponent(xpp)); 8000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 8001 res.getAction().add(parseContractActionComponent(xpp)); 8002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8003 res.getGroup().add(parseContractTermComponent(xpp)); 8004 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8005 return false; 8006 } 8007 return true; 8008 } 8009 8010 protected Contract.SecurityLabelComponent parseContractSecurityLabelComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8011 Contract.SecurityLabelComponent res = new Contract.SecurityLabelComponent(); 8012 parseElementAttributes(xpp, res); 8013 next(xpp); 8014 int eventType = nextNoWhitespace(xpp); 8015 while (eventType != XmlPullParser.END_TAG) { 8016 if (!parseContractSecurityLabelComponentContent(eventType, xpp, res)) 8017 unknownContent(xpp); 8018 eventType = nextNoWhitespace(xpp); 8019 } 8020 next(xpp); 8021 parseElementClose(res); 8022 return res; 8023 } 8024 8025 protected boolean parseContractSecurityLabelComponentContent(int eventType, XmlPullParser xpp, Contract.SecurityLabelComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8026 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 8027 res.getNumber().add(parseUnsignedInt(xpp)); 8028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 8029 res.setClassification(parseCoding(xpp)); 8030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 8031 res.getCategory().add(parseCoding(xpp)); 8032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("control")) { 8033 res.getControl().add(parseCoding(xpp)); 8034 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8035 return false; 8036 } 8037 return true; 8038 } 8039 8040 protected Contract.ContractOfferComponent parseContractOfferComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8041 Contract.ContractOfferComponent res = new Contract.ContractOfferComponent(); 8042 parseElementAttributes(xpp, res); 8043 next(xpp); 8044 int eventType = nextNoWhitespace(xpp); 8045 while (eventType != XmlPullParser.END_TAG) { 8046 if (!parseContractOfferComponentContent(eventType, xpp, res)) 8047 unknownContent(xpp); 8048 eventType = nextNoWhitespace(xpp); 8049 } 8050 next(xpp); 8051 parseElementClose(res); 8052 return res; 8053 } 8054 8055 protected boolean parseContractOfferComponentContent(int eventType, XmlPullParser xpp, Contract.ContractOfferComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8056 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8057 res.getIdentifier().add(parseIdentifier(xpp)); 8058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 8059 res.getParty().add(parseContractPartyComponent(xpp)); 8060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 8061 res.setTopic(parseReference(xpp)); 8062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8063 res.setType(parseCodeableConcept(xpp)); 8064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { 8065 res.setDecision(parseCodeableConcept(xpp)); 8066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decisionMode")) { 8067 res.getDecisionMode().add(parseCodeableConcept(xpp)); 8068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answer")) { 8069 res.getAnswer().add(parseContractAnswerComponent(xpp)); 8070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8071 res.setTextElement(parseString(xpp)); 8072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8073 res.getLinkId().add(parseString(xpp)); 8074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabelNumber")) { 8075 res.getSecurityLabelNumber().add(parseUnsignedInt(xpp)); 8076 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8077 return false; 8078 } 8079 return true; 8080 } 8081 8082 protected Contract.ContractPartyComponent parseContractPartyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8083 Contract.ContractPartyComponent res = new Contract.ContractPartyComponent(); 8084 parseElementAttributes(xpp, res); 8085 next(xpp); 8086 int eventType = nextNoWhitespace(xpp); 8087 while (eventType != XmlPullParser.END_TAG) { 8088 if (!parseContractPartyComponentContent(eventType, xpp, res)) 8089 unknownContent(xpp); 8090 eventType = nextNoWhitespace(xpp); 8091 } 8092 next(xpp); 8093 parseElementClose(res); 8094 return res; 8095 } 8096 8097 protected boolean parseContractPartyComponentContent(int eventType, XmlPullParser xpp, Contract.ContractPartyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8098 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8099 res.getReference().add(parseReference(xpp)); 8100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8101 res.setRole(parseCodeableConcept(xpp)); 8102 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8103 return false; 8104 } 8105 return true; 8106 } 8107 8108 protected Contract.AnswerComponent parseContractAnswerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8109 Contract.AnswerComponent res = new Contract.AnswerComponent(); 8110 parseElementAttributes(xpp, res); 8111 next(xpp); 8112 int eventType = nextNoWhitespace(xpp); 8113 while (eventType != XmlPullParser.END_TAG) { 8114 if (!parseContractAnswerComponentContent(eventType, xpp, res)) 8115 unknownContent(xpp); 8116 eventType = nextNoWhitespace(xpp); 8117 } 8118 next(xpp); 8119 parseElementClose(res); 8120 return res; 8121 } 8122 8123 protected boolean parseContractAnswerComponentContent(int eventType, XmlPullParser xpp, Contract.AnswerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8124 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 8125 res.setValue(parseType("value", xpp)); 8126 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8127 return false; 8128 } 8129 return true; 8130 } 8131 8132 protected Contract.ContractAssetComponent parseContractAssetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8133 Contract.ContractAssetComponent res = new Contract.ContractAssetComponent(); 8134 parseElementAttributes(xpp, res); 8135 next(xpp); 8136 int eventType = nextNoWhitespace(xpp); 8137 while (eventType != XmlPullParser.END_TAG) { 8138 if (!parseContractAssetComponentContent(eventType, xpp, res)) 8139 unknownContent(xpp); 8140 eventType = nextNoWhitespace(xpp); 8141 } 8142 next(xpp); 8143 parseElementClose(res); 8144 return res; 8145 } 8146 8147 protected boolean parseContractAssetComponentContent(int eventType, XmlPullParser xpp, Contract.ContractAssetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8148 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { 8149 res.setScope(parseCodeableConcept(xpp)); 8150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8151 res.getType().add(parseCodeableConcept(xpp)); 8152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { 8153 res.getTypeReference().add(parseReference(xpp)); 8154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 8155 res.getSubtype().add(parseCodeableConcept(xpp)); 8156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 8157 res.setRelationship(parseCoding(xpp)); 8158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 8159 res.getContext().add(parseContractAssetContextComponent(xpp)); 8160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 8161 res.setConditionElement(parseString(xpp)); 8162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodType")) { 8163 res.getPeriodType().add(parseCodeableConcept(xpp)); 8164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8165 res.getPeriod().add(parsePeriod(xpp)); 8166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usePeriod")) { 8167 res.getUsePeriod().add(parsePeriod(xpp)); 8168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8169 res.setTextElement(parseString(xpp)); 8170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8171 res.getLinkId().add(parseString(xpp)); 8172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answer")) { 8173 res.getAnswer().add(parseContractAnswerComponent(xpp)); 8174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabelNumber")) { 8175 res.getSecurityLabelNumber().add(parseUnsignedInt(xpp)); 8176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valuedItem")) { 8177 res.getValuedItem().add(parseContractValuedItemComponent(xpp)); 8178 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8179 return false; 8180 } 8181 return true; 8182 } 8183 8184 protected Contract.AssetContextComponent parseContractAssetContextComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8185 Contract.AssetContextComponent res = new Contract.AssetContextComponent(); 8186 parseElementAttributes(xpp, res); 8187 next(xpp); 8188 int eventType = nextNoWhitespace(xpp); 8189 while (eventType != XmlPullParser.END_TAG) { 8190 if (!parseContractAssetContextComponentContent(eventType, xpp, res)) 8191 unknownContent(xpp); 8192 eventType = nextNoWhitespace(xpp); 8193 } 8194 next(xpp); 8195 parseElementClose(res); 8196 return res; 8197 } 8198 8199 protected boolean parseContractAssetContextComponentContent(int eventType, XmlPullParser xpp, Contract.AssetContextComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8200 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8201 res.setReference(parseReference(xpp)); 8202 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8203 res.getCode().add(parseCodeableConcept(xpp)); 8204 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8205 res.setTextElement(parseString(xpp)); 8206 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8207 return false; 8208 } 8209 return true; 8210 } 8211 8212 protected Contract.ValuedItemComponent parseContractValuedItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8213 Contract.ValuedItemComponent res = new Contract.ValuedItemComponent(); 8214 parseElementAttributes(xpp, res); 8215 next(xpp); 8216 int eventType = nextNoWhitespace(xpp); 8217 while (eventType != XmlPullParser.END_TAG) { 8218 if (!parseContractValuedItemComponentContent(eventType, xpp, res)) 8219 unknownContent(xpp); 8220 eventType = nextNoWhitespace(xpp); 8221 } 8222 next(xpp); 8223 parseElementClose(res); 8224 return res; 8225 } 8226 8227 protected boolean parseContractValuedItemComponentContent(int eventType, XmlPullParser xpp, Contract.ValuedItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8228 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "entity")) { 8229 res.setEntity(parseType("entity", xpp)); 8230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8231 res.setIdentifier(parseIdentifier(xpp)); 8232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveTime")) { 8233 res.setEffectiveTimeElement(parseDateTime(xpp)); 8234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 8235 res.setQuantity(parseQuantity(xpp)); 8236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 8237 res.setUnitPrice(parseMoney(xpp)); 8238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 8239 res.setFactorElement(parseDecimal(xpp)); 8240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 8241 res.setPointsElement(parseDecimal(xpp)); 8242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 8243 res.setNet(parseMoney(xpp)); 8244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payment")) { 8245 res.setPaymentElement(parseString(xpp)); 8246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { 8247 res.setPaymentDateElement(parseDateTime(xpp)); 8248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 8249 res.setResponsible(parseReference(xpp)); 8250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 8251 res.setRecipient(parseReference(xpp)); 8252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8253 res.getLinkId().add(parseString(xpp)); 8254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabelNumber")) { 8255 res.getSecurityLabelNumber().add(parseUnsignedInt(xpp)); 8256 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8257 return false; 8258 } 8259 return true; 8260 } 8261 8262 protected Contract.ActionComponent parseContractActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8263 Contract.ActionComponent res = new Contract.ActionComponent(); 8264 parseElementAttributes(xpp, res); 8265 next(xpp); 8266 int eventType = nextNoWhitespace(xpp); 8267 while (eventType != XmlPullParser.END_TAG) { 8268 if (!parseContractActionComponentContent(eventType, xpp, res)) 8269 unknownContent(xpp); 8270 eventType = nextNoWhitespace(xpp); 8271 } 8272 next(xpp); 8273 parseElementClose(res); 8274 return res; 8275 } 8276 8277 protected boolean parseContractActionComponentContent(int eventType, XmlPullParser xpp, Contract.ActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8278 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 8279 res.setDoNotPerformElement(parseBoolean(xpp)); 8280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8281 res.setType(parseCodeableConcept(xpp)); 8282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8283 res.getSubject().add(parseContractActionSubjectComponent(xpp)); 8284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 8285 res.setIntent(parseCodeableConcept(xpp)); 8286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8287 res.getLinkId().add(parseString(xpp)); 8288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8289 res.setStatus(parseCodeableConcept(xpp)); 8290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 8291 res.setContext(parseReference(xpp)); 8292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contextLinkId")) { 8293 res.getContextLinkId().add(parseString(xpp)); 8294 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 8295 res.setOccurrence(parseType("occurrence", xpp)); 8296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 8297 res.getRequester().add(parseReference(xpp)); 8298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requesterLinkId")) { 8299 res.getRequesterLinkId().add(parseString(xpp)); 8300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { 8301 res.getPerformerType().add(parseCodeableConcept(xpp)); 8302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerRole")) { 8303 res.setPerformerRole(parseCodeableConcept(xpp)); 8304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8305 res.setPerformer(parseReference(xpp)); 8306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerLinkId")) { 8307 res.getPerformerLinkId().add(parseString(xpp)); 8308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 8309 res.getReasonCode().add(parseCodeableConcept(xpp)); 8310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 8311 res.getReasonReference().add(parseReference(xpp)); 8312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 8313 res.getReason().add(parseString(xpp)); 8314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonLinkId")) { 8315 res.getReasonLinkId().add(parseString(xpp)); 8316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 8317 res.getNote().add(parseAnnotation(xpp)); 8318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabelNumber")) { 8319 res.getSecurityLabelNumber().add(parseUnsignedInt(xpp)); 8320 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8321 return false; 8322 } 8323 return true; 8324 } 8325 8326 protected Contract.ActionSubjectComponent parseContractActionSubjectComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8327 Contract.ActionSubjectComponent res = new Contract.ActionSubjectComponent(); 8328 parseElementAttributes(xpp, res); 8329 next(xpp); 8330 int eventType = nextNoWhitespace(xpp); 8331 while (eventType != XmlPullParser.END_TAG) { 8332 if (!parseContractActionSubjectComponentContent(eventType, xpp, res)) 8333 unknownContent(xpp); 8334 eventType = nextNoWhitespace(xpp); 8335 } 8336 next(xpp); 8337 parseElementClose(res); 8338 return res; 8339 } 8340 8341 protected boolean parseContractActionSubjectComponentContent(int eventType, XmlPullParser xpp, Contract.ActionSubjectComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8342 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8343 res.getReference().add(parseReference(xpp)); 8344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8345 res.setRole(parseCodeableConcept(xpp)); 8346 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8347 return false; 8348 } 8349 return true; 8350 } 8351 8352 protected Contract.SignatoryComponent parseContractSignatoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8353 Contract.SignatoryComponent res = new Contract.SignatoryComponent(); 8354 parseElementAttributes(xpp, res); 8355 next(xpp); 8356 int eventType = nextNoWhitespace(xpp); 8357 while (eventType != XmlPullParser.END_TAG) { 8358 if (!parseContractSignatoryComponentContent(eventType, xpp, res)) 8359 unknownContent(xpp); 8360 eventType = nextNoWhitespace(xpp); 8361 } 8362 next(xpp); 8363 parseElementClose(res); 8364 return res; 8365 } 8366 8367 protected boolean parseContractSignatoryComponentContent(int eventType, XmlPullParser xpp, Contract.SignatoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8368 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8369 res.setType(parseCoding(xpp)); 8370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 8371 res.setParty(parseReference(xpp)); 8372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 8373 res.getSignature().add(parseSignature(xpp)); 8374 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8375 return false; 8376 } 8377 return true; 8378 } 8379 8380 protected Contract.FriendlyLanguageComponent parseContractFriendlyLanguageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8381 Contract.FriendlyLanguageComponent res = new Contract.FriendlyLanguageComponent(); 8382 parseElementAttributes(xpp, res); 8383 next(xpp); 8384 int eventType = nextNoWhitespace(xpp); 8385 while (eventType != XmlPullParser.END_TAG) { 8386 if (!parseContractFriendlyLanguageComponentContent(eventType, xpp, res)) 8387 unknownContent(xpp); 8388 eventType = nextNoWhitespace(xpp); 8389 } 8390 next(xpp); 8391 parseElementClose(res); 8392 return res; 8393 } 8394 8395 protected boolean parseContractFriendlyLanguageComponentContent(int eventType, XmlPullParser xpp, Contract.FriendlyLanguageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8396 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 8397 res.setContent(parseType("content", xpp)); 8398 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8399 return false; 8400 } 8401 return true; 8402 } 8403 8404 protected Contract.LegalLanguageComponent parseContractLegalLanguageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8405 Contract.LegalLanguageComponent res = new Contract.LegalLanguageComponent(); 8406 parseElementAttributes(xpp, res); 8407 next(xpp); 8408 int eventType = nextNoWhitespace(xpp); 8409 while (eventType != XmlPullParser.END_TAG) { 8410 if (!parseContractLegalLanguageComponentContent(eventType, xpp, res)) 8411 unknownContent(xpp); 8412 eventType = nextNoWhitespace(xpp); 8413 } 8414 next(xpp); 8415 parseElementClose(res); 8416 return res; 8417 } 8418 8419 protected boolean parseContractLegalLanguageComponentContent(int eventType, XmlPullParser xpp, Contract.LegalLanguageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8420 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 8421 res.setContent(parseType("content", xpp)); 8422 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8423 return false; 8424 } 8425 return true; 8426 } 8427 8428 protected Contract.ComputableLanguageComponent parseContractComputableLanguageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8429 Contract.ComputableLanguageComponent res = new Contract.ComputableLanguageComponent(); 8430 parseElementAttributes(xpp, res); 8431 next(xpp); 8432 int eventType = nextNoWhitespace(xpp); 8433 while (eventType != XmlPullParser.END_TAG) { 8434 if (!parseContractComputableLanguageComponentContent(eventType, xpp, res)) 8435 unknownContent(xpp); 8436 eventType = nextNoWhitespace(xpp); 8437 } 8438 next(xpp); 8439 parseElementClose(res); 8440 return res; 8441 } 8442 8443 protected boolean parseContractComputableLanguageComponentContent(int eventType, XmlPullParser xpp, Contract.ComputableLanguageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8444 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 8445 res.setContent(parseType("content", xpp)); 8446 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8447 return false; 8448 } 8449 return true; 8450 } 8451 8452 protected Coverage parseCoverage(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8453 Coverage res = new Coverage(); 8454 parseResourceAttributes(xpp, res); 8455 next(xpp); 8456 int eventType = nextNoWhitespace(xpp); 8457 while (eventType != XmlPullParser.END_TAG) { 8458 if (!parseCoverageContent(eventType, xpp, res)) 8459 unknownContent(xpp); 8460 eventType = nextNoWhitespace(xpp); 8461 } 8462 next(xpp); 8463 parseElementClose(res); 8464 return res; 8465 } 8466 8467 protected boolean parseCoverageContent(int eventType, XmlPullParser xpp, Coverage res) throws XmlPullParserException, IOException, FHIRFormatError { 8468 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8469 res.getIdentifier().add(parseIdentifier(xpp)); 8470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8471 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 8472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8473 res.setType(parseCodeableConcept(xpp)); 8474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policyHolder")) { 8475 res.setPolicyHolder(parseReference(xpp)); 8476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriber")) { 8477 res.setSubscriber(parseReference(xpp)); 8478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriberId")) { 8479 res.setSubscriberIdElement(parseString(xpp)); 8480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("beneficiary")) { 8481 res.setBeneficiary(parseReference(xpp)); 8482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependent")) { 8483 res.setDependentElement(parseString(xpp)); 8484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 8485 res.setRelationship(parseCodeableConcept(xpp)); 8486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8487 res.setPeriod(parsePeriod(xpp)); 8488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payor")) { 8489 res.getPayor().add(parseReference(xpp)); 8490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 8491 res.getClass_().add(parseCoverageClassComponent(xpp)); 8492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("order")) { 8493 res.setOrderElement(parsePositiveInt(xpp)); 8494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 8495 res.setNetworkElement(parseString(xpp)); 8496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("costToBeneficiary")) { 8497 res.getCostToBeneficiary().add(parseCoverageCostToBeneficiaryComponent(xpp)); 8498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subrogation")) { 8499 res.setSubrogationElement(parseBoolean(xpp)); 8500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contract")) { 8501 res.getContract().add(parseReference(xpp)); 8502 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 8503 return false; 8504 } 8505 return true; 8506 } 8507 8508 protected Coverage.ClassComponent parseCoverageClassComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8509 Coverage.ClassComponent res = new Coverage.ClassComponent(); 8510 parseElementAttributes(xpp, res); 8511 next(xpp); 8512 int eventType = nextNoWhitespace(xpp); 8513 while (eventType != XmlPullParser.END_TAG) { 8514 if (!parseCoverageClassComponentContent(eventType, xpp, res)) 8515 unknownContent(xpp); 8516 eventType = nextNoWhitespace(xpp); 8517 } 8518 next(xpp); 8519 parseElementClose(res); 8520 return res; 8521 } 8522 8523 protected boolean parseCoverageClassComponentContent(int eventType, XmlPullParser xpp, Coverage.ClassComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8524 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8525 res.setType(parseCodeableConcept(xpp)); 8526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 8527 res.setValueElement(parseString(xpp)); 8528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8529 res.setNameElement(parseString(xpp)); 8530 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8531 return false; 8532 } 8533 return true; 8534 } 8535 8536 protected Coverage.CostToBeneficiaryComponent parseCoverageCostToBeneficiaryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8537 Coverage.CostToBeneficiaryComponent res = new Coverage.CostToBeneficiaryComponent(); 8538 parseElementAttributes(xpp, res); 8539 next(xpp); 8540 int eventType = nextNoWhitespace(xpp); 8541 while (eventType != XmlPullParser.END_TAG) { 8542 if (!parseCoverageCostToBeneficiaryComponentContent(eventType, xpp, res)) 8543 unknownContent(xpp); 8544 eventType = nextNoWhitespace(xpp); 8545 } 8546 next(xpp); 8547 parseElementClose(res); 8548 return res; 8549 } 8550 8551 protected boolean parseCoverageCostToBeneficiaryComponentContent(int eventType, XmlPullParser xpp, Coverage.CostToBeneficiaryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8552 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8553 res.setType(parseCodeableConcept(xpp)); 8554 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 8555 res.setValue(parseType("value", xpp)); 8556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exception")) { 8557 res.getException().add(parseCoverageExemptionComponent(xpp)); 8558 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8559 return false; 8560 } 8561 return true; 8562 } 8563 8564 protected Coverage.ExemptionComponent parseCoverageExemptionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8565 Coverage.ExemptionComponent res = new Coverage.ExemptionComponent(); 8566 parseElementAttributes(xpp, res); 8567 next(xpp); 8568 int eventType = nextNoWhitespace(xpp); 8569 while (eventType != XmlPullParser.END_TAG) { 8570 if (!parseCoverageExemptionComponentContent(eventType, xpp, res)) 8571 unknownContent(xpp); 8572 eventType = nextNoWhitespace(xpp); 8573 } 8574 next(xpp); 8575 parseElementClose(res); 8576 return res; 8577 } 8578 8579 protected boolean parseCoverageExemptionComponentContent(int eventType, XmlPullParser xpp, Coverage.ExemptionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8580 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8581 res.setType(parseCodeableConcept(xpp)); 8582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8583 res.setPeriod(parsePeriod(xpp)); 8584 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8585 return false; 8586 } 8587 return true; 8588 } 8589 8590 protected CoverageEligibilityRequest parseCoverageEligibilityRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8591 CoverageEligibilityRequest res = new CoverageEligibilityRequest(); 8592 parseResourceAttributes(xpp, res); 8593 next(xpp); 8594 int eventType = nextNoWhitespace(xpp); 8595 while (eventType != XmlPullParser.END_TAG) { 8596 if (!parseCoverageEligibilityRequestContent(eventType, xpp, res)) 8597 unknownContent(xpp); 8598 eventType = nextNoWhitespace(xpp); 8599 } 8600 next(xpp); 8601 parseElementClose(res); 8602 return res; 8603 } 8604 8605 protected boolean parseCoverageEligibilityRequestContent(int eventType, XmlPullParser xpp, CoverageEligibilityRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 8606 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8607 res.getIdentifier().add(parseIdentifier(xpp)); 8608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8609 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 8610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 8611 res.setPriority(parseCodeableConcept(xpp)); 8612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 8613 res.getPurpose().add(parseEnumeration(xpp, CoverageEligibilityRequest.EligibilityRequestPurpose.NULL, new CoverageEligibilityRequest.EligibilityRequestPurposeEnumFactory())); 8614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8615 res.setPatient(parseReference(xpp)); 8616 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 8617 res.setServiced(parseType("serviced", xpp)); 8618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8619 res.setCreatedElement(parseDateTime(xpp)); 8620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 8621 res.setEnterer(parseReference(xpp)); 8622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8623 res.setProvider(parseReference(xpp)); 8624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 8625 res.setInsurer(parseReference(xpp)); 8626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 8627 res.setFacility(parseReference(xpp)); 8628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 8629 res.getSupportingInfo().add(parseCoverageEligibilityRequestSupportingInformationComponent(xpp)); 8630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 8631 res.getInsurance().add(parseCoverageEligibilityRequestInsuranceComponent(xpp)); 8632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 8633 res.getItem().add(parseCoverageEligibilityRequestDetailsComponent(xpp)); 8634 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 8635 return false; 8636 } 8637 return true; 8638 } 8639 8640 protected CoverageEligibilityRequest.SupportingInformationComponent parseCoverageEligibilityRequestSupportingInformationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8641 CoverageEligibilityRequest.SupportingInformationComponent res = new CoverageEligibilityRequest.SupportingInformationComponent(); 8642 parseElementAttributes(xpp, res); 8643 next(xpp); 8644 int eventType = nextNoWhitespace(xpp); 8645 while (eventType != XmlPullParser.END_TAG) { 8646 if (!parseCoverageEligibilityRequestSupportingInformationComponentContent(eventType, xpp, res)) 8647 unknownContent(xpp); 8648 eventType = nextNoWhitespace(xpp); 8649 } 8650 next(xpp); 8651 parseElementClose(res); 8652 return res; 8653 } 8654 8655 protected boolean parseCoverageEligibilityRequestSupportingInformationComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityRequest.SupportingInformationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8656 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 8657 res.setSequenceElement(parsePositiveInt(xpp)); 8658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("information")) { 8659 res.setInformation(parseReference(xpp)); 8660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appliesToAll")) { 8661 res.setAppliesToAllElement(parseBoolean(xpp)); 8662 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8663 return false; 8664 } 8665 return true; 8666 } 8667 8668 protected CoverageEligibilityRequest.InsuranceComponent parseCoverageEligibilityRequestInsuranceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8669 CoverageEligibilityRequest.InsuranceComponent res = new CoverageEligibilityRequest.InsuranceComponent(); 8670 parseElementAttributes(xpp, res); 8671 next(xpp); 8672 int eventType = nextNoWhitespace(xpp); 8673 while (eventType != XmlPullParser.END_TAG) { 8674 if (!parseCoverageEligibilityRequestInsuranceComponentContent(eventType, xpp, res)) 8675 unknownContent(xpp); 8676 eventType = nextNoWhitespace(xpp); 8677 } 8678 next(xpp); 8679 parseElementClose(res); 8680 return res; 8681 } 8682 8683 protected boolean parseCoverageEligibilityRequestInsuranceComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityRequest.InsuranceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8684 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 8685 res.setFocalElement(parseBoolean(xpp)); 8686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 8687 res.setCoverage(parseReference(xpp)); 8688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 8689 res.setBusinessArrangementElement(parseString(xpp)); 8690 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8691 return false; 8692 } 8693 return true; 8694 } 8695 8696 protected CoverageEligibilityRequest.DetailsComponent parseCoverageEligibilityRequestDetailsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8697 CoverageEligibilityRequest.DetailsComponent res = new CoverageEligibilityRequest.DetailsComponent(); 8698 parseElementAttributes(xpp, res); 8699 next(xpp); 8700 int eventType = nextNoWhitespace(xpp); 8701 while (eventType != XmlPullParser.END_TAG) { 8702 if (!parseCoverageEligibilityRequestDetailsComponentContent(eventType, xpp, res)) 8703 unknownContent(xpp); 8704 eventType = nextNoWhitespace(xpp); 8705 } 8706 next(xpp); 8707 parseElementClose(res); 8708 return res; 8709 } 8710 8711 protected boolean parseCoverageEligibilityRequestDetailsComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityRequest.DetailsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8712 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfoSequence")) { 8713 res.getSupportingInfoSequence().add(parsePositiveInt(xpp)); 8714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 8715 res.setCategory(parseCodeableConcept(xpp)); 8716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 8717 res.setProductOrService(parseCodeableConcept(xpp)); 8718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 8719 res.getModifier().add(parseCodeableConcept(xpp)); 8720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8721 res.setProvider(parseReference(xpp)); 8722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 8723 res.setQuantity(parseQuantity(xpp)); 8724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 8725 res.setUnitPrice(parseMoney(xpp)); 8726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 8727 res.setFacility(parseReference(xpp)); 8728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 8729 res.getDiagnosis().add(parseCoverageEligibilityRequestDiagnosisComponent(xpp)); 8730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 8731 res.getDetail().add(parseReference(xpp)); 8732 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8733 return false; 8734 } 8735 return true; 8736 } 8737 8738 protected CoverageEligibilityRequest.DiagnosisComponent parseCoverageEligibilityRequestDiagnosisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8739 CoverageEligibilityRequest.DiagnosisComponent res = new CoverageEligibilityRequest.DiagnosisComponent(); 8740 parseElementAttributes(xpp, res); 8741 next(xpp); 8742 int eventType = nextNoWhitespace(xpp); 8743 while (eventType != XmlPullParser.END_TAG) { 8744 if (!parseCoverageEligibilityRequestDiagnosisComponentContent(eventType, xpp, res)) 8745 unknownContent(xpp); 8746 eventType = nextNoWhitespace(xpp); 8747 } 8748 next(xpp); 8749 parseElementClose(res); 8750 return res; 8751 } 8752 8753 protected boolean parseCoverageEligibilityRequestDiagnosisComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityRequest.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8754 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "diagnosis")) { 8755 res.setDiagnosis(parseType("diagnosis", xpp)); 8756 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8757 return false; 8758 } 8759 return true; 8760 } 8761 8762 protected CoverageEligibilityResponse parseCoverageEligibilityResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8763 CoverageEligibilityResponse res = new CoverageEligibilityResponse(); 8764 parseResourceAttributes(xpp, res); 8765 next(xpp); 8766 int eventType = nextNoWhitespace(xpp); 8767 while (eventType != XmlPullParser.END_TAG) { 8768 if (!parseCoverageEligibilityResponseContent(eventType, xpp, res)) 8769 unknownContent(xpp); 8770 eventType = nextNoWhitespace(xpp); 8771 } 8772 next(xpp); 8773 parseElementClose(res); 8774 return res; 8775 } 8776 8777 protected boolean parseCoverageEligibilityResponseContent(int eventType, XmlPullParser xpp, CoverageEligibilityResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 8778 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8779 res.getIdentifier().add(parseIdentifier(xpp)); 8780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8781 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 8782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 8783 res.getPurpose().add(parseEnumeration(xpp, CoverageEligibilityResponse.EligibilityResponsePurpose.NULL, new CoverageEligibilityResponse.EligibilityResponsePurposeEnumFactory())); 8784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8785 res.setPatient(parseReference(xpp)); 8786 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 8787 res.setServiced(parseType("serviced", xpp)); 8788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8789 res.setCreatedElement(parseDateTime(xpp)); 8790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 8791 res.setRequestor(parseReference(xpp)); 8792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8793 res.setRequest(parseReference(xpp)); 8794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8795 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 8796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 8797 res.setDispositionElement(parseString(xpp)); 8798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 8799 res.setInsurer(parseReference(xpp)); 8800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 8801 res.getInsurance().add(parseCoverageEligibilityResponseInsuranceComponent(xpp)); 8802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 8803 res.setPreAuthRefElement(parseString(xpp)); 8804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 8805 res.setForm(parseCodeableConcept(xpp)); 8806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 8807 res.getError().add(parseCoverageEligibilityResponseErrorsComponent(xpp)); 8808 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 8809 return false; 8810 } 8811 return true; 8812 } 8813 8814 protected CoverageEligibilityResponse.InsuranceComponent parseCoverageEligibilityResponseInsuranceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8815 CoverageEligibilityResponse.InsuranceComponent res = new CoverageEligibilityResponse.InsuranceComponent(); 8816 parseElementAttributes(xpp, res); 8817 next(xpp); 8818 int eventType = nextNoWhitespace(xpp); 8819 while (eventType != XmlPullParser.END_TAG) { 8820 if (!parseCoverageEligibilityResponseInsuranceComponentContent(eventType, xpp, res)) 8821 unknownContent(xpp); 8822 eventType = nextNoWhitespace(xpp); 8823 } 8824 next(xpp); 8825 parseElementClose(res); 8826 return res; 8827 } 8828 8829 protected boolean parseCoverageEligibilityResponseInsuranceComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityResponse.InsuranceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8830 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 8831 res.setCoverage(parseReference(xpp)); 8832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inforce")) { 8833 res.setInforceElement(parseBoolean(xpp)); 8834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefitPeriod")) { 8835 res.setBenefitPeriod(parsePeriod(xpp)); 8836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 8837 res.getItem().add(parseCoverageEligibilityResponseItemsComponent(xpp)); 8838 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8839 return false; 8840 } 8841 return true; 8842 } 8843 8844 protected CoverageEligibilityResponse.ItemsComponent parseCoverageEligibilityResponseItemsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8845 CoverageEligibilityResponse.ItemsComponent res = new CoverageEligibilityResponse.ItemsComponent(); 8846 parseElementAttributes(xpp, res); 8847 next(xpp); 8848 int eventType = nextNoWhitespace(xpp); 8849 while (eventType != XmlPullParser.END_TAG) { 8850 if (!parseCoverageEligibilityResponseItemsComponentContent(eventType, xpp, res)) 8851 unknownContent(xpp); 8852 eventType = nextNoWhitespace(xpp); 8853 } 8854 next(xpp); 8855 parseElementClose(res); 8856 return res; 8857 } 8858 8859 protected boolean parseCoverageEligibilityResponseItemsComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityResponse.ItemsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8860 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 8861 res.setCategory(parseCodeableConcept(xpp)); 8862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 8863 res.setProductOrService(parseCodeableConcept(xpp)); 8864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 8865 res.getModifier().add(parseCodeableConcept(xpp)); 8866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8867 res.setProvider(parseReference(xpp)); 8868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excluded")) { 8869 res.setExcludedElement(parseBoolean(xpp)); 8870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8871 res.setNameElement(parseString(xpp)); 8872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8873 res.setDescriptionElement(parseString(xpp)); 8874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 8875 res.setNetwork(parseCodeableConcept(xpp)); 8876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 8877 res.setUnit(parseCodeableConcept(xpp)); 8878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { 8879 res.setTerm(parseCodeableConcept(xpp)); 8880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefit")) { 8881 res.getBenefit().add(parseCoverageEligibilityResponseBenefitComponent(xpp)); 8882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizationRequired")) { 8883 res.setAuthorizationRequiredElement(parseBoolean(xpp)); 8884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizationSupporting")) { 8885 res.getAuthorizationSupporting().add(parseCodeableConcept(xpp)); 8886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizationUrl")) { 8887 res.setAuthorizationUrlElement(parseUri(xpp)); 8888 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8889 return false; 8890 } 8891 return true; 8892 } 8893 8894 protected CoverageEligibilityResponse.BenefitComponent parseCoverageEligibilityResponseBenefitComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8895 CoverageEligibilityResponse.BenefitComponent res = new CoverageEligibilityResponse.BenefitComponent(); 8896 parseElementAttributes(xpp, res); 8897 next(xpp); 8898 int eventType = nextNoWhitespace(xpp); 8899 while (eventType != XmlPullParser.END_TAG) { 8900 if (!parseCoverageEligibilityResponseBenefitComponentContent(eventType, xpp, res)) 8901 unknownContent(xpp); 8902 eventType = nextNoWhitespace(xpp); 8903 } 8904 next(xpp); 8905 parseElementClose(res); 8906 return res; 8907 } 8908 8909 protected boolean parseCoverageEligibilityResponseBenefitComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityResponse.BenefitComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8910 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8911 res.setType(parseCodeableConcept(xpp)); 8912 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "allowed")) { 8913 res.setAllowed(parseType("allowed", xpp)); 8914 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "used")) { 8915 res.setUsed(parseType("used", xpp)); 8916 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8917 return false; 8918 } 8919 return true; 8920 } 8921 8922 protected CoverageEligibilityResponse.ErrorsComponent parseCoverageEligibilityResponseErrorsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8923 CoverageEligibilityResponse.ErrorsComponent res = new CoverageEligibilityResponse.ErrorsComponent(); 8924 parseElementAttributes(xpp, res); 8925 next(xpp); 8926 int eventType = nextNoWhitespace(xpp); 8927 while (eventType != XmlPullParser.END_TAG) { 8928 if (!parseCoverageEligibilityResponseErrorsComponentContent(eventType, xpp, res)) 8929 unknownContent(xpp); 8930 eventType = nextNoWhitespace(xpp); 8931 } 8932 next(xpp); 8933 parseElementClose(res); 8934 return res; 8935 } 8936 8937 protected boolean parseCoverageEligibilityResponseErrorsComponentContent(int eventType, XmlPullParser xpp, CoverageEligibilityResponse.ErrorsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 8938 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8939 res.setCode(parseCodeableConcept(xpp)); 8940 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 8941 return false; 8942 } 8943 return true; 8944 } 8945 8946 protected DetectedIssue parseDetectedIssue(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8947 DetectedIssue res = new DetectedIssue(); 8948 parseResourceAttributes(xpp, res); 8949 next(xpp); 8950 int eventType = nextNoWhitespace(xpp); 8951 while (eventType != XmlPullParser.END_TAG) { 8952 if (!parseDetectedIssueContent(eventType, xpp, res)) 8953 unknownContent(xpp); 8954 eventType = nextNoWhitespace(xpp); 8955 } 8956 next(xpp); 8957 parseElementClose(res); 8958 return res; 8959 } 8960 8961 protected boolean parseDetectedIssueContent(int eventType, XmlPullParser xpp, DetectedIssue res) throws XmlPullParserException, IOException, FHIRFormatError { 8962 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8963 res.getIdentifier().add(parseIdentifier(xpp)); 8964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8965 res.setStatusElement(parseEnumeration(xpp, Enumerations.ObservationStatus.NULL, new Enumerations.ObservationStatusEnumFactory())); 8966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8967 res.setCode(parseCodeableConcept(xpp)); 8968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 8969 res.setSeverityElement(parseEnumeration(xpp, DetectedIssue.DetectedIssueSeverity.NULL, new DetectedIssue.DetectedIssueSeverityEnumFactory())); 8970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8971 res.setPatient(parseReference(xpp)); 8972 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "identified")) { 8973 res.setIdentified(parseType("identified", xpp)); 8974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 8975 res.setAuthor(parseReference(xpp)); 8976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicated")) { 8977 res.getImplicated().add(parseReference(xpp)); 8978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { 8979 res.getEvidence().add(parseDetectedIssueEvidenceComponent(xpp)); 8980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 8981 res.setDetailElement(parseString(xpp)); 8982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8983 res.setReferenceElement(parseUri(xpp)); 8984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 8985 res.getMitigation().add(parseDetectedIssueMitigationComponent(xpp)); 8986 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 8987 return false; 8988 } 8989 return true; 8990 } 8991 8992 protected DetectedIssue.DetectedIssueEvidenceComponent parseDetectedIssueEvidenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8993 DetectedIssue.DetectedIssueEvidenceComponent res = new DetectedIssue.DetectedIssueEvidenceComponent(); 8994 parseElementAttributes(xpp, res); 8995 next(xpp); 8996 int eventType = nextNoWhitespace(xpp); 8997 while (eventType != XmlPullParser.END_TAG) { 8998 if (!parseDetectedIssueEvidenceComponentContent(eventType, xpp, res)) 8999 unknownContent(xpp); 9000 eventType = nextNoWhitespace(xpp); 9001 } 9002 next(xpp); 9003 parseElementClose(res); 9004 return res; 9005 } 9006 9007 protected boolean parseDetectedIssueEvidenceComponentContent(int eventType, XmlPullParser xpp, DetectedIssue.DetectedIssueEvidenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9008 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9009 res.getCode().add(parseCodeableConcept(xpp)); 9010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 9011 res.getDetail().add(parseReference(xpp)); 9012 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9013 return false; 9014 } 9015 return true; 9016 } 9017 9018 protected DetectedIssue.DetectedIssueMitigationComponent parseDetectedIssueMitigationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9019 DetectedIssue.DetectedIssueMitigationComponent res = new DetectedIssue.DetectedIssueMitigationComponent(); 9020 parseElementAttributes(xpp, res); 9021 next(xpp); 9022 int eventType = nextNoWhitespace(xpp); 9023 while (eventType != XmlPullParser.END_TAG) { 9024 if (!parseDetectedIssueMitigationComponentContent(eventType, xpp, res)) 9025 unknownContent(xpp); 9026 eventType = nextNoWhitespace(xpp); 9027 } 9028 next(xpp); 9029 parseElementClose(res); 9030 return res; 9031 } 9032 9033 protected boolean parseDetectedIssueMitigationComponentContent(int eventType, XmlPullParser xpp, DetectedIssue.DetectedIssueMitigationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9034 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9035 res.setAction(parseCodeableConcept(xpp)); 9036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9037 res.setDateElement(parseDateTime(xpp)); 9038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 9039 res.setAuthor(parseReference(xpp)); 9040 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9041 return false; 9042 } 9043 return true; 9044 } 9045 9046 protected Device parseDevice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9047 Device res = new Device(); 9048 parseResourceAttributes(xpp, res); 9049 next(xpp); 9050 int eventType = nextNoWhitespace(xpp); 9051 while (eventType != XmlPullParser.END_TAG) { 9052 if (!parseDeviceContent(eventType, xpp, res)) 9053 unknownContent(xpp); 9054 eventType = nextNoWhitespace(xpp); 9055 } 9056 next(xpp); 9057 parseElementClose(res); 9058 return res; 9059 } 9060 9061 protected boolean parseDeviceContent(int eventType, XmlPullParser xpp, Device res) throws XmlPullParserException, IOException, FHIRFormatError { 9062 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9063 res.getIdentifier().add(parseIdentifier(xpp)); 9064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 9065 res.setDefinition(parseReference(xpp)); 9066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udiCarrier")) { 9067 res.getUdiCarrier().add(parseDeviceUdiCarrierComponent(xpp)); 9068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9069 res.setStatusElement(parseEnumeration(xpp, Device.FHIRDeviceStatus.NULL, new Device.FHIRDeviceStatusEnumFactory())); 9070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 9071 res.getStatusReason().add(parseCodeableConcept(xpp)); 9072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("distinctIdentifier")) { 9073 res.setDistinctIdentifierElement(parseString(xpp)); 9074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 9075 res.setManufacturerElement(parseString(xpp)); 9076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufactureDate")) { 9077 res.setManufactureDateElement(parseDateTime(xpp)); 9078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 9079 res.setExpirationDateElement(parseDateTime(xpp)); 9080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 9081 res.setLotNumberElement(parseString(xpp)); 9082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serialNumber")) { 9083 res.setSerialNumberElement(parseString(xpp)); 9084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceName")) { 9085 res.getDeviceName().add(parseDeviceDeviceNameComponent(xpp)); 9086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modelNumber")) { 9087 res.setModelNumberElement(parseString(xpp)); 9088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partNumber")) { 9089 res.setPartNumberElement(parseString(xpp)); 9090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9091 res.setType(parseCodeableConcept(xpp)); 9092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialization")) { 9093 res.getSpecialization().add(parseDeviceSpecializationComponent(xpp)); 9094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9095 res.getVersion().add(parseDeviceVersionComponent(xpp)); 9096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 9097 res.getProperty().add(parseDevicePropertyComponent(xpp)); 9098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9099 res.setPatient(parseReference(xpp)); 9100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 9101 res.setOwner(parseReference(xpp)); 9102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9103 res.getContact().add(parseContactPoint(xpp)); 9104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 9105 res.setLocation(parseReference(xpp)); 9106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9107 res.setUrlElement(parseUri(xpp)); 9108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 9109 res.getNote().add(parseAnnotation(xpp)); 9110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("safety")) { 9111 res.getSafety().add(parseCodeableConcept(xpp)); 9112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 9113 res.setParent(parseReference(xpp)); 9114 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9115 return false; 9116 } 9117 return true; 9118 } 9119 9120 protected Device.DeviceUdiCarrierComponent parseDeviceUdiCarrierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9121 Device.DeviceUdiCarrierComponent res = new Device.DeviceUdiCarrierComponent(); 9122 parseElementAttributes(xpp, res); 9123 next(xpp); 9124 int eventType = nextNoWhitespace(xpp); 9125 while (eventType != XmlPullParser.END_TAG) { 9126 if (!parseDeviceUdiCarrierComponentContent(eventType, xpp, res)) 9127 unknownContent(xpp); 9128 eventType = nextNoWhitespace(xpp); 9129 } 9130 next(xpp); 9131 parseElementClose(res); 9132 return res; 9133 } 9134 9135 protected boolean parseDeviceUdiCarrierComponentContent(int eventType, XmlPullParser xpp, Device.DeviceUdiCarrierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9136 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceIdentifier")) { 9137 res.setDeviceIdentifierElement(parseString(xpp)); 9138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 9139 res.setIssuerElement(parseUri(xpp)); 9140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 9141 res.setJurisdictionElement(parseUri(xpp)); 9142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("carrierAIDC")) { 9143 res.setCarrierAIDCElement(parseBase64Binary(xpp)); 9144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("carrierHRF")) { 9145 res.setCarrierHRFElement(parseString(xpp)); 9146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entryType")) { 9147 res.setEntryTypeElement(parseEnumeration(xpp, Device.UDIEntryType.NULL, new Device.UDIEntryTypeEnumFactory())); 9148 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9149 return false; 9150 } 9151 return true; 9152 } 9153 9154 protected Device.DeviceDeviceNameComponent parseDeviceDeviceNameComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9155 Device.DeviceDeviceNameComponent res = new Device.DeviceDeviceNameComponent(); 9156 parseElementAttributes(xpp, res); 9157 next(xpp); 9158 int eventType = nextNoWhitespace(xpp); 9159 while (eventType != XmlPullParser.END_TAG) { 9160 if (!parseDeviceDeviceNameComponentContent(eventType, xpp, res)) 9161 unknownContent(xpp); 9162 eventType = nextNoWhitespace(xpp); 9163 } 9164 next(xpp); 9165 parseElementClose(res); 9166 return res; 9167 } 9168 9169 protected boolean parseDeviceDeviceNameComponentContent(int eventType, XmlPullParser xpp, Device.DeviceDeviceNameComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9170 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9171 res.setNameElement(parseString(xpp)); 9172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9173 res.setTypeElement(parseEnumeration(xpp, Enumerations.DeviceNameType.NULL, new Enumerations.DeviceNameTypeEnumFactory())); 9174 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9175 return false; 9176 } 9177 return true; 9178 } 9179 9180 protected Device.DeviceSpecializationComponent parseDeviceSpecializationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9181 Device.DeviceSpecializationComponent res = new Device.DeviceSpecializationComponent(); 9182 parseElementAttributes(xpp, res); 9183 next(xpp); 9184 int eventType = nextNoWhitespace(xpp); 9185 while (eventType != XmlPullParser.END_TAG) { 9186 if (!parseDeviceSpecializationComponentContent(eventType, xpp, res)) 9187 unknownContent(xpp); 9188 eventType = nextNoWhitespace(xpp); 9189 } 9190 next(xpp); 9191 parseElementClose(res); 9192 return res; 9193 } 9194 9195 protected boolean parseDeviceSpecializationComponentContent(int eventType, XmlPullParser xpp, Device.DeviceSpecializationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9196 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("systemType")) { 9197 res.setSystemType(parseCodeableConcept(xpp)); 9198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9199 res.setVersionElement(parseString(xpp)); 9200 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9201 return false; 9202 } 9203 return true; 9204 } 9205 9206 protected Device.DeviceVersionComponent parseDeviceVersionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9207 Device.DeviceVersionComponent res = new Device.DeviceVersionComponent(); 9208 parseElementAttributes(xpp, res); 9209 next(xpp); 9210 int eventType = nextNoWhitespace(xpp); 9211 while (eventType != XmlPullParser.END_TAG) { 9212 if (!parseDeviceVersionComponentContent(eventType, xpp, res)) 9213 unknownContent(xpp); 9214 eventType = nextNoWhitespace(xpp); 9215 } 9216 next(xpp); 9217 parseElementClose(res); 9218 return res; 9219 } 9220 9221 protected boolean parseDeviceVersionComponentContent(int eventType, XmlPullParser xpp, Device.DeviceVersionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9222 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9223 res.setType(parseCodeableConcept(xpp)); 9224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 9225 res.setComponent(parseIdentifier(xpp)); 9226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9227 res.setValueElement(parseString(xpp)); 9228 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9229 return false; 9230 } 9231 return true; 9232 } 9233 9234 protected Device.DevicePropertyComponent parseDevicePropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9235 Device.DevicePropertyComponent res = new Device.DevicePropertyComponent(); 9236 parseElementAttributes(xpp, res); 9237 next(xpp); 9238 int eventType = nextNoWhitespace(xpp); 9239 while (eventType != XmlPullParser.END_TAG) { 9240 if (!parseDevicePropertyComponentContent(eventType, xpp, res)) 9241 unknownContent(xpp); 9242 eventType = nextNoWhitespace(xpp); 9243 } 9244 next(xpp); 9245 parseElementClose(res); 9246 return res; 9247 } 9248 9249 protected boolean parseDevicePropertyComponentContent(int eventType, XmlPullParser xpp, Device.DevicePropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9250 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9251 res.setType(parseCodeableConcept(xpp)); 9252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueQuantity")) { 9253 res.getValueQuantity().add(parseQuantity(xpp)); 9254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueCode")) { 9255 res.getValueCode().add(parseCodeableConcept(xpp)); 9256 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9257 return false; 9258 } 9259 return true; 9260 } 9261 9262 protected DeviceDefinition parseDeviceDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9263 DeviceDefinition res = new DeviceDefinition(); 9264 parseResourceAttributes(xpp, res); 9265 next(xpp); 9266 int eventType = nextNoWhitespace(xpp); 9267 while (eventType != XmlPullParser.END_TAG) { 9268 if (!parseDeviceDefinitionContent(eventType, xpp, res)) 9269 unknownContent(xpp); 9270 eventType = nextNoWhitespace(xpp); 9271 } 9272 next(xpp); 9273 parseElementClose(res); 9274 return res; 9275 } 9276 9277 protected boolean parseDeviceDefinitionContent(int eventType, XmlPullParser xpp, DeviceDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 9278 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9279 res.getIdentifier().add(parseIdentifier(xpp)); 9280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udiDeviceIdentifier")) { 9281 res.getUdiDeviceIdentifier().add(parseDeviceDefinitionUdiDeviceIdentifierComponent(xpp)); 9282 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "manufacturer")) { 9283 res.setManufacturer(parseType("manufacturer", xpp)); 9284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceName")) { 9285 res.getDeviceName().add(parseDeviceDefinitionDeviceNameComponent(xpp)); 9286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modelNumber")) { 9287 res.setModelNumberElement(parseString(xpp)); 9288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9289 res.setType(parseCodeableConcept(xpp)); 9290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialization")) { 9291 res.getSpecialization().add(parseDeviceDefinitionSpecializationComponent(xpp)); 9292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9293 res.getVersion().add(parseString(xpp)); 9294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("safety")) { 9295 res.getSafety().add(parseCodeableConcept(xpp)); 9296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shelfLifeStorage")) { 9297 res.getShelfLifeStorage().add(parseProductShelfLife(xpp)); 9298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalCharacteristics")) { 9299 res.setPhysicalCharacteristics(parseProdCharacteristic(xpp)); 9300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("languageCode")) { 9301 res.getLanguageCode().add(parseCodeableConcept(xpp)); 9302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capability")) { 9303 res.getCapability().add(parseDeviceDefinitionCapabilityComponent(xpp)); 9304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 9305 res.getProperty().add(parseDeviceDefinitionPropertyComponent(xpp)); 9306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 9307 res.setOwner(parseReference(xpp)); 9308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9309 res.getContact().add(parseContactPoint(xpp)); 9310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9311 res.setUrlElement(parseUri(xpp)); 9312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onlineInformation")) { 9313 res.setOnlineInformationElement(parseUri(xpp)); 9314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 9315 res.getNote().add(parseAnnotation(xpp)); 9316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9317 res.setQuantity(parseQuantity(xpp)); 9318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parentDevice")) { 9319 res.setParentDevice(parseReference(xpp)); 9320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("material")) { 9321 res.getMaterial().add(parseDeviceDefinitionMaterialComponent(xpp)); 9322 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9323 return false; 9324 } 9325 return true; 9326 } 9327 9328 protected DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent parseDeviceDefinitionUdiDeviceIdentifierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9329 DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent res = new DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent(); 9330 parseElementAttributes(xpp, res); 9331 next(xpp); 9332 int eventType = nextNoWhitespace(xpp); 9333 while (eventType != XmlPullParser.END_TAG) { 9334 if (!parseDeviceDefinitionUdiDeviceIdentifierComponentContent(eventType, xpp, res)) 9335 unknownContent(xpp); 9336 eventType = nextNoWhitespace(xpp); 9337 } 9338 next(xpp); 9339 parseElementClose(res); 9340 return res; 9341 } 9342 9343 protected boolean parseDeviceDefinitionUdiDeviceIdentifierComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9344 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceIdentifier")) { 9345 res.setDeviceIdentifierElement(parseString(xpp)); 9346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 9347 res.setIssuerElement(parseUri(xpp)); 9348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 9349 res.setJurisdictionElement(parseUri(xpp)); 9350 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9351 return false; 9352 } 9353 return true; 9354 } 9355 9356 protected DeviceDefinition.DeviceDefinitionDeviceNameComponent parseDeviceDefinitionDeviceNameComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9357 DeviceDefinition.DeviceDefinitionDeviceNameComponent res = new DeviceDefinition.DeviceDefinitionDeviceNameComponent(); 9358 parseElementAttributes(xpp, res); 9359 next(xpp); 9360 int eventType = nextNoWhitespace(xpp); 9361 while (eventType != XmlPullParser.END_TAG) { 9362 if (!parseDeviceDefinitionDeviceNameComponentContent(eventType, xpp, res)) 9363 unknownContent(xpp); 9364 eventType = nextNoWhitespace(xpp); 9365 } 9366 next(xpp); 9367 parseElementClose(res); 9368 return res; 9369 } 9370 9371 protected boolean parseDeviceDefinitionDeviceNameComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionDeviceNameComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9372 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9373 res.setNameElement(parseString(xpp)); 9374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9375 res.setTypeElement(parseEnumeration(xpp, Enumerations.DeviceNameType.NULL, new Enumerations.DeviceNameTypeEnumFactory())); 9376 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9377 return false; 9378 } 9379 return true; 9380 } 9381 9382 protected DeviceDefinition.DeviceDefinitionSpecializationComponent parseDeviceDefinitionSpecializationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9383 DeviceDefinition.DeviceDefinitionSpecializationComponent res = new DeviceDefinition.DeviceDefinitionSpecializationComponent(); 9384 parseElementAttributes(xpp, res); 9385 next(xpp); 9386 int eventType = nextNoWhitespace(xpp); 9387 while (eventType != XmlPullParser.END_TAG) { 9388 if (!parseDeviceDefinitionSpecializationComponentContent(eventType, xpp, res)) 9389 unknownContent(xpp); 9390 eventType = nextNoWhitespace(xpp); 9391 } 9392 next(xpp); 9393 parseElementClose(res); 9394 return res; 9395 } 9396 9397 protected boolean parseDeviceDefinitionSpecializationComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionSpecializationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9398 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("systemType")) { 9399 res.setSystemTypeElement(parseString(xpp)); 9400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9401 res.setVersionElement(parseString(xpp)); 9402 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9403 return false; 9404 } 9405 return true; 9406 } 9407 9408 protected DeviceDefinition.DeviceDefinitionCapabilityComponent parseDeviceDefinitionCapabilityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9409 DeviceDefinition.DeviceDefinitionCapabilityComponent res = new DeviceDefinition.DeviceDefinitionCapabilityComponent(); 9410 parseElementAttributes(xpp, res); 9411 next(xpp); 9412 int eventType = nextNoWhitespace(xpp); 9413 while (eventType != XmlPullParser.END_TAG) { 9414 if (!parseDeviceDefinitionCapabilityComponentContent(eventType, xpp, res)) 9415 unknownContent(xpp); 9416 eventType = nextNoWhitespace(xpp); 9417 } 9418 next(xpp); 9419 parseElementClose(res); 9420 return res; 9421 } 9422 9423 protected boolean parseDeviceDefinitionCapabilityComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionCapabilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9424 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9425 res.setType(parseCodeableConcept(xpp)); 9426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9427 res.getDescription().add(parseCodeableConcept(xpp)); 9428 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9429 return false; 9430 } 9431 return true; 9432 } 9433 9434 protected DeviceDefinition.DeviceDefinitionPropertyComponent parseDeviceDefinitionPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9435 DeviceDefinition.DeviceDefinitionPropertyComponent res = new DeviceDefinition.DeviceDefinitionPropertyComponent(); 9436 parseElementAttributes(xpp, res); 9437 next(xpp); 9438 int eventType = nextNoWhitespace(xpp); 9439 while (eventType != XmlPullParser.END_TAG) { 9440 if (!parseDeviceDefinitionPropertyComponentContent(eventType, xpp, res)) 9441 unknownContent(xpp); 9442 eventType = nextNoWhitespace(xpp); 9443 } 9444 next(xpp); 9445 parseElementClose(res); 9446 return res; 9447 } 9448 9449 protected boolean parseDeviceDefinitionPropertyComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9450 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9451 res.setType(parseCodeableConcept(xpp)); 9452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueQuantity")) { 9453 res.getValueQuantity().add(parseQuantity(xpp)); 9454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueCode")) { 9455 res.getValueCode().add(parseCodeableConcept(xpp)); 9456 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9457 return false; 9458 } 9459 return true; 9460 } 9461 9462 protected DeviceDefinition.DeviceDefinitionMaterialComponent parseDeviceDefinitionMaterialComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9463 DeviceDefinition.DeviceDefinitionMaterialComponent res = new DeviceDefinition.DeviceDefinitionMaterialComponent(); 9464 parseElementAttributes(xpp, res); 9465 next(xpp); 9466 int eventType = nextNoWhitespace(xpp); 9467 while (eventType != XmlPullParser.END_TAG) { 9468 if (!parseDeviceDefinitionMaterialComponentContent(eventType, xpp, res)) 9469 unknownContent(xpp); 9470 eventType = nextNoWhitespace(xpp); 9471 } 9472 next(xpp); 9473 parseElementClose(res); 9474 return res; 9475 } 9476 9477 protected boolean parseDeviceDefinitionMaterialComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionMaterialComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9478 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 9479 res.setSubstance(parseCodeableConcept(xpp)); 9480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alternate")) { 9481 res.setAlternateElement(parseBoolean(xpp)); 9482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergenicIndicator")) { 9483 res.setAllergenicIndicatorElement(parseBoolean(xpp)); 9484 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9485 return false; 9486 } 9487 return true; 9488 } 9489 9490 protected DeviceMetric parseDeviceMetric(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9491 DeviceMetric res = new DeviceMetric(); 9492 parseResourceAttributes(xpp, res); 9493 next(xpp); 9494 int eventType = nextNoWhitespace(xpp); 9495 while (eventType != XmlPullParser.END_TAG) { 9496 if (!parseDeviceMetricContent(eventType, xpp, res)) 9497 unknownContent(xpp); 9498 eventType = nextNoWhitespace(xpp); 9499 } 9500 next(xpp); 9501 parseElementClose(res); 9502 return res; 9503 } 9504 9505 protected boolean parseDeviceMetricContent(int eventType, XmlPullParser xpp, DeviceMetric res) throws XmlPullParserException, IOException, FHIRFormatError { 9506 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9507 res.getIdentifier().add(parseIdentifier(xpp)); 9508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9509 res.setType(parseCodeableConcept(xpp)); 9510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 9511 res.setUnit(parseCodeableConcept(xpp)); 9512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 9513 res.setSource(parseReference(xpp)); 9514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 9515 res.setParent(parseReference(xpp)); 9516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 9517 res.setOperationalStatusElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricOperationalStatus.NULL, new DeviceMetric.DeviceMetricOperationalStatusEnumFactory())); 9518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 9519 res.setColorElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricColor.NULL, new DeviceMetric.DeviceMetricColorEnumFactory())); 9520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 9521 res.setCategoryElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCategory.NULL, new DeviceMetric.DeviceMetricCategoryEnumFactory())); 9522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPeriod")) { 9523 res.setMeasurementPeriod(parseTiming(xpp)); 9524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("calibration")) { 9525 res.getCalibration().add(parseDeviceMetricCalibrationComponent(xpp)); 9526 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9527 return false; 9528 } 9529 return true; 9530 } 9531 9532 protected DeviceMetric.DeviceMetricCalibrationComponent parseDeviceMetricCalibrationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9533 DeviceMetric.DeviceMetricCalibrationComponent res = new DeviceMetric.DeviceMetricCalibrationComponent(); 9534 parseElementAttributes(xpp, res); 9535 next(xpp); 9536 int eventType = nextNoWhitespace(xpp); 9537 while (eventType != XmlPullParser.END_TAG) { 9538 if (!parseDeviceMetricCalibrationComponentContent(eventType, xpp, res)) 9539 unknownContent(xpp); 9540 eventType = nextNoWhitespace(xpp); 9541 } 9542 next(xpp); 9543 parseElementClose(res); 9544 return res; 9545 } 9546 9547 protected boolean parseDeviceMetricCalibrationComponentContent(int eventType, XmlPullParser xpp, DeviceMetric.DeviceMetricCalibrationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9548 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9549 res.setTypeElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationType.NULL, new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory())); 9550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 9551 res.setStateElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationState.NULL, new DeviceMetric.DeviceMetricCalibrationStateEnumFactory())); 9552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 9553 res.setTimeElement(parseInstant(xpp)); 9554 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9555 return false; 9556 } 9557 return true; 9558 } 9559 9560 protected DeviceRequest parseDeviceRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9561 DeviceRequest res = new DeviceRequest(); 9562 parseResourceAttributes(xpp, res); 9563 next(xpp); 9564 int eventType = nextNoWhitespace(xpp); 9565 while (eventType != XmlPullParser.END_TAG) { 9566 if (!parseDeviceRequestContent(eventType, xpp, res)) 9567 unknownContent(xpp); 9568 eventType = nextNoWhitespace(xpp); 9569 } 9570 next(xpp); 9571 parseElementClose(res); 9572 return res; 9573 } 9574 9575 protected boolean parseDeviceRequestContent(int eventType, XmlPullParser xpp, DeviceRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 9576 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9577 res.getIdentifier().add(parseIdentifier(xpp)); 9578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 9579 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 9580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 9581 res.getInstantiatesUri().add(parseUri(xpp)); 9582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 9583 res.getBasedOn().add(parseReference(xpp)); 9584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorRequest")) { 9585 res.getPriorRequest().add(parseReference(xpp)); 9586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { 9587 res.setGroupIdentifier(parseIdentifier(xpp)); 9588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9589 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 9590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 9591 res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); 9592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 9593 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 9594 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "code")) { 9595 res.setCode(parseType("code", xpp)); 9596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 9597 res.getParameter().add(parseDeviceRequestParameterComponent(xpp)); 9598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9599 res.setSubject(parseReference(xpp)); 9600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 9601 res.setEncounter(parseReference(xpp)); 9602 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 9603 res.setOccurrence(parseType("occurrence", xpp)); 9604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 9605 res.setAuthoredOnElement(parseDateTime(xpp)); 9606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 9607 res.setRequester(parseReference(xpp)); 9608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { 9609 res.setPerformerType(parseCodeableConcept(xpp)); 9610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 9611 res.setPerformer(parseReference(xpp)); 9612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 9613 res.getReasonCode().add(parseCodeableConcept(xpp)); 9614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 9615 res.getReasonReference().add(parseReference(xpp)); 9616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 9617 res.getInsurance().add(parseReference(xpp)); 9618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 9619 res.getSupportingInfo().add(parseReference(xpp)); 9620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 9621 res.getNote().add(parseAnnotation(xpp)); 9622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relevantHistory")) { 9623 res.getRelevantHistory().add(parseReference(xpp)); 9624 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9625 return false; 9626 } 9627 return true; 9628 } 9629 9630 protected DeviceRequest.DeviceRequestParameterComponent parseDeviceRequestParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9631 DeviceRequest.DeviceRequestParameterComponent res = new DeviceRequest.DeviceRequestParameterComponent(); 9632 parseElementAttributes(xpp, res); 9633 next(xpp); 9634 int eventType = nextNoWhitespace(xpp); 9635 while (eventType != XmlPullParser.END_TAG) { 9636 if (!parseDeviceRequestParameterComponentContent(eventType, xpp, res)) 9637 unknownContent(xpp); 9638 eventType = nextNoWhitespace(xpp); 9639 } 9640 next(xpp); 9641 parseElementClose(res); 9642 return res; 9643 } 9644 9645 protected boolean parseDeviceRequestParameterComponentContent(int eventType, XmlPullParser xpp, DeviceRequest.DeviceRequestParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9646 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9647 res.setCode(parseCodeableConcept(xpp)); 9648 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 9649 res.setValue(parseType("value", xpp)); 9650 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9651 return false; 9652 } 9653 return true; 9654 } 9655 9656 protected DeviceUseStatement parseDeviceUseStatement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9657 DeviceUseStatement res = new DeviceUseStatement(); 9658 parseResourceAttributes(xpp, res); 9659 next(xpp); 9660 int eventType = nextNoWhitespace(xpp); 9661 while (eventType != XmlPullParser.END_TAG) { 9662 if (!parseDeviceUseStatementContent(eventType, xpp, res)) 9663 unknownContent(xpp); 9664 eventType = nextNoWhitespace(xpp); 9665 } 9666 next(xpp); 9667 parseElementClose(res); 9668 return res; 9669 } 9670 9671 protected boolean parseDeviceUseStatementContent(int eventType, XmlPullParser xpp, DeviceUseStatement res) throws XmlPullParserException, IOException, FHIRFormatError { 9672 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9673 res.getIdentifier().add(parseIdentifier(xpp)); 9674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 9675 res.getBasedOn().add(parseReference(xpp)); 9676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9677 res.setStatusElement(parseEnumeration(xpp, DeviceUseStatement.DeviceUseStatementStatus.NULL, new DeviceUseStatement.DeviceUseStatementStatusEnumFactory())); 9678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9679 res.setSubject(parseReference(xpp)); 9680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 9681 res.getDerivedFrom().add(parseReference(xpp)); 9682 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 9683 res.setTiming(parseType("timing", xpp)); 9684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedOn")) { 9685 res.setRecordedOnElement(parseDateTime(xpp)); 9686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 9687 res.setSource(parseReference(xpp)); 9688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 9689 res.setDevice(parseReference(xpp)); 9690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 9691 res.getReasonCode().add(parseCodeableConcept(xpp)); 9692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 9693 res.getReasonReference().add(parseReference(xpp)); 9694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 9695 res.setBodySite(parseCodeableConcept(xpp)); 9696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 9697 res.getNote().add(parseAnnotation(xpp)); 9698 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9699 return false; 9700 } 9701 return true; 9702 } 9703 9704 protected DiagnosticReport parseDiagnosticReport(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9705 DiagnosticReport res = new DiagnosticReport(); 9706 parseResourceAttributes(xpp, res); 9707 next(xpp); 9708 int eventType = nextNoWhitespace(xpp); 9709 while (eventType != XmlPullParser.END_TAG) { 9710 if (!parseDiagnosticReportContent(eventType, xpp, res)) 9711 unknownContent(xpp); 9712 eventType = nextNoWhitespace(xpp); 9713 } 9714 next(xpp); 9715 parseElementClose(res); 9716 return res; 9717 } 9718 9719 protected boolean parseDiagnosticReportContent(int eventType, XmlPullParser xpp, DiagnosticReport res) throws XmlPullParserException, IOException, FHIRFormatError { 9720 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9721 res.getIdentifier().add(parseIdentifier(xpp)); 9722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 9723 res.getBasedOn().add(parseReference(xpp)); 9724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9725 res.setStatusElement(parseEnumeration(xpp, DiagnosticReport.DiagnosticReportStatus.NULL, new DiagnosticReport.DiagnosticReportStatusEnumFactory())); 9726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 9727 res.getCategory().add(parseCodeableConcept(xpp)); 9728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9729 res.setCode(parseCodeableConcept(xpp)); 9730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9731 res.setSubject(parseReference(xpp)); 9732 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 9733 res.setEncounter(parseReference(xpp)); 9734 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 9735 res.setEffective(parseType("effective", xpp)); 9736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 9737 res.setIssuedElement(parseInstant(xpp)); 9738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 9739 res.getPerformer().add(parseReference(xpp)); 9740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resultsInterpreter")) { 9741 res.getResultsInterpreter().add(parseReference(xpp)); 9742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 9743 res.getSpecimen().add(parseReference(xpp)); 9744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 9745 res.getResult().add(parseReference(xpp)); 9746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { 9747 res.getImagingStudy().add(parseReference(xpp)); 9748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("media")) { 9749 res.getMedia().add(parseDiagnosticReportMediaComponent(xpp)); 9750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conclusion")) { 9751 res.setConclusionElement(parseString(xpp)); 9752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conclusionCode")) { 9753 res.getConclusionCode().add(parseCodeableConcept(xpp)); 9754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentedForm")) { 9755 res.getPresentedForm().add(parseAttachment(xpp)); 9756 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9757 return false; 9758 } 9759 return true; 9760 } 9761 9762 protected DiagnosticReport.DiagnosticReportMediaComponent parseDiagnosticReportMediaComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9763 DiagnosticReport.DiagnosticReportMediaComponent res = new DiagnosticReport.DiagnosticReportMediaComponent(); 9764 parseElementAttributes(xpp, res); 9765 next(xpp); 9766 int eventType = nextNoWhitespace(xpp); 9767 while (eventType != XmlPullParser.END_TAG) { 9768 if (!parseDiagnosticReportMediaComponentContent(eventType, xpp, res)) 9769 unknownContent(xpp); 9770 eventType = nextNoWhitespace(xpp); 9771 } 9772 next(xpp); 9773 parseElementClose(res); 9774 return res; 9775 } 9776 9777 protected boolean parseDiagnosticReportMediaComponentContent(int eventType, XmlPullParser xpp, DiagnosticReport.DiagnosticReportMediaComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9778 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 9779 res.setCommentElement(parseString(xpp)); 9780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 9781 res.setLink(parseReference(xpp)); 9782 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9783 return false; 9784 } 9785 return true; 9786 } 9787 9788 protected DocumentManifest parseDocumentManifest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9789 DocumentManifest res = new DocumentManifest(); 9790 parseResourceAttributes(xpp, res); 9791 next(xpp); 9792 int eventType = nextNoWhitespace(xpp); 9793 while (eventType != XmlPullParser.END_TAG) { 9794 if (!parseDocumentManifestContent(eventType, xpp, res)) 9795 unknownContent(xpp); 9796 eventType = nextNoWhitespace(xpp); 9797 } 9798 next(xpp); 9799 parseElementClose(res); 9800 return res; 9801 } 9802 9803 protected boolean parseDocumentManifestContent(int eventType, XmlPullParser xpp, DocumentManifest res) throws XmlPullParserException, IOException, FHIRFormatError { 9804 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 9805 res.setMasterIdentifier(parseIdentifier(xpp)); 9806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9807 res.getIdentifier().add(parseIdentifier(xpp)); 9808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9809 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, new Enumerations.DocumentReferenceStatusEnumFactory())); 9810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9811 res.setType(parseCodeableConcept(xpp)); 9812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9813 res.setSubject(parseReference(xpp)); 9814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 9815 res.setCreatedElement(parseDateTime(xpp)); 9816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 9817 res.getAuthor().add(parseReference(xpp)); 9818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 9819 res.getRecipient().add(parseReference(xpp)); 9820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 9821 res.setSourceElement(parseUri(xpp)); 9822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9823 res.setDescriptionElement(parseString(xpp)); 9824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 9825 res.getContent().add(parseReference(xpp)); 9826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 9827 res.getRelated().add(parseDocumentManifestRelatedComponent(xpp)); 9828 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9829 return false; 9830 } 9831 return true; 9832 } 9833 9834 protected DocumentManifest.DocumentManifestRelatedComponent parseDocumentManifestRelatedComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9835 DocumentManifest.DocumentManifestRelatedComponent res = new DocumentManifest.DocumentManifestRelatedComponent(); 9836 parseElementAttributes(xpp, res); 9837 next(xpp); 9838 int eventType = nextNoWhitespace(xpp); 9839 while (eventType != XmlPullParser.END_TAG) { 9840 if (!parseDocumentManifestRelatedComponentContent(eventType, xpp, res)) 9841 unknownContent(xpp); 9842 eventType = nextNoWhitespace(xpp); 9843 } 9844 next(xpp); 9845 parseElementClose(res); 9846 return res; 9847 } 9848 9849 protected boolean parseDocumentManifestRelatedComponentContent(int eventType, XmlPullParser xpp, DocumentManifest.DocumentManifestRelatedComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9850 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9851 res.setIdentifier(parseIdentifier(xpp)); 9852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ref")) { 9853 res.setRef(parseReference(xpp)); 9854 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9855 return false; 9856 } 9857 return true; 9858 } 9859 9860 protected DocumentReference parseDocumentReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9861 DocumentReference res = new DocumentReference(); 9862 parseResourceAttributes(xpp, res); 9863 next(xpp); 9864 int eventType = nextNoWhitespace(xpp); 9865 while (eventType != XmlPullParser.END_TAG) { 9866 if (!parseDocumentReferenceContent(eventType, xpp, res)) 9867 unknownContent(xpp); 9868 eventType = nextNoWhitespace(xpp); 9869 } 9870 next(xpp); 9871 parseElementClose(res); 9872 return res; 9873 } 9874 9875 protected boolean parseDocumentReferenceContent(int eventType, XmlPullParser xpp, DocumentReference res) throws XmlPullParserException, IOException, FHIRFormatError { 9876 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 9877 res.setMasterIdentifier(parseIdentifier(xpp)); 9878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9879 res.getIdentifier().add(parseIdentifier(xpp)); 9880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9881 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, new Enumerations.DocumentReferenceStatusEnumFactory())); 9882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("docStatus")) { 9883 res.setDocStatusElement(parseEnumeration(xpp, Enumerations.CompositionStatus.NULL, new Enumerations.CompositionStatusEnumFactory())); 9884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9885 res.setType(parseCodeableConcept(xpp)); 9886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 9887 res.getCategory().add(parseCodeableConcept(xpp)); 9888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9889 res.setSubject(parseReference(xpp)); 9890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9891 res.setDateElement(parseInstant(xpp)); 9892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 9893 res.getAuthor().add(parseReference(xpp)); 9894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authenticator")) { 9895 res.setAuthenticator(parseReference(xpp)); 9896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 9897 res.setCustodian(parseReference(xpp)); 9898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 9899 res.getRelatesTo().add(parseDocumentReferenceRelatesToComponent(xpp)); 9900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9901 res.setDescriptionElement(parseString(xpp)); 9902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 9903 res.getSecurityLabel().add(parseCodeableConcept(xpp)); 9904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 9905 res.getContent().add(parseDocumentReferenceContentComponent(xpp)); 9906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 9907 res.setContext(parseDocumentReferenceContextComponent(xpp)); 9908 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 9909 return false; 9910 } 9911 return true; 9912 } 9913 9914 protected DocumentReference.DocumentReferenceRelatesToComponent parseDocumentReferenceRelatesToComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9915 DocumentReference.DocumentReferenceRelatesToComponent res = new DocumentReference.DocumentReferenceRelatesToComponent(); 9916 parseElementAttributes(xpp, res); 9917 next(xpp); 9918 int eventType = nextNoWhitespace(xpp); 9919 while (eventType != XmlPullParser.END_TAG) { 9920 if (!parseDocumentReferenceRelatesToComponentContent(eventType, xpp, res)) 9921 unknownContent(xpp); 9922 eventType = nextNoWhitespace(xpp); 9923 } 9924 next(xpp); 9925 parseElementClose(res); 9926 return res; 9927 } 9928 9929 protected boolean parseDocumentReferenceRelatesToComponentContent(int eventType, XmlPullParser xpp, DocumentReference.DocumentReferenceRelatesToComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9930 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9931 res.setCodeElement(parseEnumeration(xpp, Enumerations.DocumentRelationshipType.NULL, new Enumerations.DocumentRelationshipTypeEnumFactory())); 9932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 9933 res.setTarget(parseReference(xpp)); 9934 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9935 return false; 9936 } 9937 return true; 9938 } 9939 9940 protected DocumentReference.DocumentReferenceContentComponent parseDocumentReferenceContentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9941 DocumentReference.DocumentReferenceContentComponent res = new DocumentReference.DocumentReferenceContentComponent(); 9942 parseElementAttributes(xpp, res); 9943 next(xpp); 9944 int eventType = nextNoWhitespace(xpp); 9945 while (eventType != XmlPullParser.END_TAG) { 9946 if (!parseDocumentReferenceContentComponentContent(eventType, xpp, res)) 9947 unknownContent(xpp); 9948 eventType = nextNoWhitespace(xpp); 9949 } 9950 next(xpp); 9951 parseElementClose(res); 9952 return res; 9953 } 9954 9955 protected boolean parseDocumentReferenceContentComponentContent(int eventType, XmlPullParser xpp, DocumentReference.DocumentReferenceContentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9956 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attachment")) { 9957 res.setAttachment(parseAttachment(xpp)); 9958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 9959 res.setFormat(parseCoding(xpp)); 9960 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9961 return false; 9962 } 9963 return true; 9964 } 9965 9966 protected DocumentReference.DocumentReferenceContextComponent parseDocumentReferenceContextComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9967 DocumentReference.DocumentReferenceContextComponent res = new DocumentReference.DocumentReferenceContextComponent(); 9968 parseElementAttributes(xpp, res); 9969 next(xpp); 9970 int eventType = nextNoWhitespace(xpp); 9971 while (eventType != XmlPullParser.END_TAG) { 9972 if (!parseDocumentReferenceContextComponentContent(eventType, xpp, res)) 9973 unknownContent(xpp); 9974 eventType = nextNoWhitespace(xpp); 9975 } 9976 next(xpp); 9977 parseElementClose(res); 9978 return res; 9979 } 9980 9981 protected boolean parseDocumentReferenceContextComponentContent(int eventType, XmlPullParser xpp, DocumentReference.DocumentReferenceContextComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 9982 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 9983 res.getEncounter().add(parseReference(xpp)); 9984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 9985 res.getEvent().add(parseCodeableConcept(xpp)); 9986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 9987 res.setPeriod(parsePeriod(xpp)); 9988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facilityType")) { 9989 res.setFacilityType(parseCodeableConcept(xpp)); 9990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practiceSetting")) { 9991 res.setPracticeSetting(parseCodeableConcept(xpp)); 9992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourcePatientInfo")) { 9993 res.setSourcePatientInfo(parseReference(xpp)); 9994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 9995 res.getRelated().add(parseReference(xpp)); 9996 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 9997 return false; 9998 } 9999 return true; 10000 } 10001 10002 protected Encounter parseEncounter(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10003 Encounter res = new Encounter(); 10004 parseResourceAttributes(xpp, res); 10005 next(xpp); 10006 int eventType = nextNoWhitespace(xpp); 10007 while (eventType != XmlPullParser.END_TAG) { 10008 if (!parseEncounterContent(eventType, xpp, res)) 10009 unknownContent(xpp); 10010 eventType = nextNoWhitespace(xpp); 10011 } 10012 next(xpp); 10013 parseElementClose(res); 10014 return res; 10015 } 10016 10017 protected boolean parseEncounterContent(int eventType, XmlPullParser xpp, Encounter res) throws XmlPullParserException, IOException, FHIRFormatError { 10018 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10019 res.getIdentifier().add(parseIdentifier(xpp)); 10020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10021 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterStatus.NULL, new Encounter.EncounterStatusEnumFactory())); 10022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 10023 res.getStatusHistory().add(parseEncounterStatusHistoryComponent(xpp)); 10024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 10025 res.setClass_(parseCoding(xpp)); 10026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classHistory")) { 10027 res.getClassHistory().add(parseEncounterClassHistoryComponent(xpp)); 10028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10029 res.getType().add(parseCodeableConcept(xpp)); 10030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 10031 res.setServiceType(parseCodeableConcept(xpp)); 10032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 10033 res.setPriority(parseCodeableConcept(xpp)); 10034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 10035 res.setSubject(parseReference(xpp)); 10036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("episodeOfCare")) { 10037 res.getEpisodeOfCare().add(parseReference(xpp)); 10038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 10039 res.getBasedOn().add(parseReference(xpp)); 10040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 10041 res.getParticipant().add(parseEncounterParticipantComponent(xpp)); 10042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 10043 res.getAppointment().add(parseReference(xpp)); 10044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10045 res.setPeriod(parsePeriod(xpp)); 10046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("length")) { 10047 res.setLength(parseDuration(xpp)); 10048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 10049 res.getReasonCode().add(parseCodeableConcept(xpp)); 10050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 10051 res.getReasonReference().add(parseReference(xpp)); 10052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 10053 res.getDiagnosis().add(parseEncounterDiagnosisComponent(xpp)); 10054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { 10055 res.getAccount().add(parseReference(xpp)); 10056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hospitalization")) { 10057 res.setHospitalization(parseEncounterHospitalizationComponent(xpp)); 10058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 10059 res.getLocation().add(parseEncounterLocationComponent(xpp)); 10060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvider")) { 10061 res.setServiceProvider(parseReference(xpp)); 10062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 10063 res.setPartOf(parseReference(xpp)); 10064 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10065 return false; 10066 } 10067 return true; 10068 } 10069 10070 protected Encounter.StatusHistoryComponent parseEncounterStatusHistoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10071 Encounter.StatusHistoryComponent res = new Encounter.StatusHistoryComponent(); 10072 parseElementAttributes(xpp, res); 10073 next(xpp); 10074 int eventType = nextNoWhitespace(xpp); 10075 while (eventType != XmlPullParser.END_TAG) { 10076 if (!parseEncounterStatusHistoryComponentContent(eventType, xpp, res)) 10077 unknownContent(xpp); 10078 eventType = nextNoWhitespace(xpp); 10079 } 10080 next(xpp); 10081 parseElementClose(res); 10082 return res; 10083 } 10084 10085 protected boolean parseEncounterStatusHistoryComponentContent(int eventType, XmlPullParser xpp, Encounter.StatusHistoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10086 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10087 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterStatus.NULL, new Encounter.EncounterStatusEnumFactory())); 10088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10089 res.setPeriod(parsePeriod(xpp)); 10090 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10091 return false; 10092 } 10093 return true; 10094 } 10095 10096 protected Encounter.ClassHistoryComponent parseEncounterClassHistoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10097 Encounter.ClassHistoryComponent res = new Encounter.ClassHistoryComponent(); 10098 parseElementAttributes(xpp, res); 10099 next(xpp); 10100 int eventType = nextNoWhitespace(xpp); 10101 while (eventType != XmlPullParser.END_TAG) { 10102 if (!parseEncounterClassHistoryComponentContent(eventType, xpp, res)) 10103 unknownContent(xpp); 10104 eventType = nextNoWhitespace(xpp); 10105 } 10106 next(xpp); 10107 parseElementClose(res); 10108 return res; 10109 } 10110 10111 protected boolean parseEncounterClassHistoryComponentContent(int eventType, XmlPullParser xpp, Encounter.ClassHistoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10112 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 10113 res.setClass_(parseCoding(xpp)); 10114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10115 res.setPeriod(parsePeriod(xpp)); 10116 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10117 return false; 10118 } 10119 return true; 10120 } 10121 10122 protected Encounter.EncounterParticipantComponent parseEncounterParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10123 Encounter.EncounterParticipantComponent res = new Encounter.EncounterParticipantComponent(); 10124 parseElementAttributes(xpp, res); 10125 next(xpp); 10126 int eventType = nextNoWhitespace(xpp); 10127 while (eventType != XmlPullParser.END_TAG) { 10128 if (!parseEncounterParticipantComponentContent(eventType, xpp, res)) 10129 unknownContent(xpp); 10130 eventType = nextNoWhitespace(xpp); 10131 } 10132 next(xpp); 10133 parseElementClose(res); 10134 return res; 10135 } 10136 10137 protected boolean parseEncounterParticipantComponentContent(int eventType, XmlPullParser xpp, Encounter.EncounterParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10138 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10139 res.getType().add(parseCodeableConcept(xpp)); 10140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10141 res.setPeriod(parsePeriod(xpp)); 10142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("individual")) { 10143 res.setIndividual(parseReference(xpp)); 10144 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10145 return false; 10146 } 10147 return true; 10148 } 10149 10150 protected Encounter.DiagnosisComponent parseEncounterDiagnosisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10151 Encounter.DiagnosisComponent res = new Encounter.DiagnosisComponent(); 10152 parseElementAttributes(xpp, res); 10153 next(xpp); 10154 int eventType = nextNoWhitespace(xpp); 10155 while (eventType != XmlPullParser.END_TAG) { 10156 if (!parseEncounterDiagnosisComponentContent(eventType, xpp, res)) 10157 unknownContent(xpp); 10158 eventType = nextNoWhitespace(xpp); 10159 } 10160 next(xpp); 10161 parseElementClose(res); 10162 return res; 10163 } 10164 10165 protected boolean parseEncounterDiagnosisComponentContent(int eventType, XmlPullParser xpp, Encounter.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10166 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 10167 res.setCondition(parseReference(xpp)); 10168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 10169 res.setUse(parseCodeableConcept(xpp)); 10170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { 10171 res.setRankElement(parsePositiveInt(xpp)); 10172 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10173 return false; 10174 } 10175 return true; 10176 } 10177 10178 protected Encounter.EncounterHospitalizationComponent parseEncounterHospitalizationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10179 Encounter.EncounterHospitalizationComponent res = new Encounter.EncounterHospitalizationComponent(); 10180 parseElementAttributes(xpp, res); 10181 next(xpp); 10182 int eventType = nextNoWhitespace(xpp); 10183 while (eventType != XmlPullParser.END_TAG) { 10184 if (!parseEncounterHospitalizationComponentContent(eventType, xpp, res)) 10185 unknownContent(xpp); 10186 eventType = nextNoWhitespace(xpp); 10187 } 10188 next(xpp); 10189 parseElementClose(res); 10190 return res; 10191 } 10192 10193 protected boolean parseEncounterHospitalizationComponentContent(int eventType, XmlPullParser xpp, Encounter.EncounterHospitalizationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10194 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAdmissionIdentifier")) { 10195 res.setPreAdmissionIdentifier(parseIdentifier(xpp)); 10196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 10197 res.setOrigin(parseReference(xpp)); 10198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admitSource")) { 10199 res.setAdmitSource(parseCodeableConcept(xpp)); 10200 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reAdmission")) { 10201 res.setReAdmission(parseCodeableConcept(xpp)); 10202 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dietPreference")) { 10203 res.getDietPreference().add(parseCodeableConcept(xpp)); 10204 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialCourtesy")) { 10205 res.getSpecialCourtesy().add(parseCodeableConcept(xpp)); 10206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialArrangement")) { 10207 res.getSpecialArrangement().add(parseCodeableConcept(xpp)); 10208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 10209 res.setDestination(parseReference(xpp)); 10210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dischargeDisposition")) { 10211 res.setDischargeDisposition(parseCodeableConcept(xpp)); 10212 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10213 return false; 10214 } 10215 return true; 10216 } 10217 10218 protected Encounter.EncounterLocationComponent parseEncounterLocationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10219 Encounter.EncounterLocationComponent res = new Encounter.EncounterLocationComponent(); 10220 parseElementAttributes(xpp, res); 10221 next(xpp); 10222 int eventType = nextNoWhitespace(xpp); 10223 while (eventType != XmlPullParser.END_TAG) { 10224 if (!parseEncounterLocationComponentContent(eventType, xpp, res)) 10225 unknownContent(xpp); 10226 eventType = nextNoWhitespace(xpp); 10227 } 10228 next(xpp); 10229 parseElementClose(res); 10230 return res; 10231 } 10232 10233 protected boolean parseEncounterLocationComponentContent(int eventType, XmlPullParser xpp, Encounter.EncounterLocationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10234 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 10235 res.setLocation(parseReference(xpp)); 10236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10237 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterLocationStatus.NULL, new Encounter.EncounterLocationStatusEnumFactory())); 10238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { 10239 res.setPhysicalType(parseCodeableConcept(xpp)); 10240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10241 res.setPeriod(parsePeriod(xpp)); 10242 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10243 return false; 10244 } 10245 return true; 10246 } 10247 10248 protected Endpoint parseEndpoint(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10249 Endpoint res = new Endpoint(); 10250 parseResourceAttributes(xpp, res); 10251 next(xpp); 10252 int eventType = nextNoWhitespace(xpp); 10253 while (eventType != XmlPullParser.END_TAG) { 10254 if (!parseEndpointContent(eventType, xpp, res)) 10255 unknownContent(xpp); 10256 eventType = nextNoWhitespace(xpp); 10257 } 10258 next(xpp); 10259 parseElementClose(res); 10260 return res; 10261 } 10262 10263 protected boolean parseEndpointContent(int eventType, XmlPullParser xpp, Endpoint res) throws XmlPullParserException, IOException, FHIRFormatError { 10264 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10265 res.getIdentifier().add(parseIdentifier(xpp)); 10266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10267 res.setStatusElement(parseEnumeration(xpp, Endpoint.EndpointStatus.NULL, new Endpoint.EndpointStatusEnumFactory())); 10268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("connectionType")) { 10269 res.setConnectionType(parseCoding(xpp)); 10270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 10271 res.setNameElement(parseString(xpp)); 10272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 10273 res.setManagingOrganization(parseReference(xpp)); 10274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 10275 res.getContact().add(parseContactPoint(xpp)); 10276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10277 res.setPeriod(parsePeriod(xpp)); 10278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payloadType")) { 10279 res.getPayloadType().add(parseCodeableConcept(xpp)); 10280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payloadMimeType")) { 10281 res.getPayloadMimeType().add(parseCode(xpp)); 10282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 10283 res.setAddressElement(parseUrl(xpp)); 10284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("header")) { 10285 res.getHeader().add(parseString(xpp)); 10286 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10287 return false; 10288 } 10289 return true; 10290 } 10291 10292 protected EnrollmentRequest parseEnrollmentRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10293 EnrollmentRequest res = new EnrollmentRequest(); 10294 parseResourceAttributes(xpp, res); 10295 next(xpp); 10296 int eventType = nextNoWhitespace(xpp); 10297 while (eventType != XmlPullParser.END_TAG) { 10298 if (!parseEnrollmentRequestContent(eventType, xpp, res)) 10299 unknownContent(xpp); 10300 eventType = nextNoWhitespace(xpp); 10301 } 10302 next(xpp); 10303 parseElementClose(res); 10304 return res; 10305 } 10306 10307 protected boolean parseEnrollmentRequestContent(int eventType, XmlPullParser xpp, EnrollmentRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 10308 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10309 res.getIdentifier().add(parseIdentifier(xpp)); 10310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10311 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 10312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 10313 res.setCreatedElement(parseDateTime(xpp)); 10314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 10315 res.setInsurer(parseReference(xpp)); 10316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 10317 res.setProvider(parseReference(xpp)); 10318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("candidate")) { 10319 res.setCandidate(parseReference(xpp)); 10320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 10321 res.setCoverage(parseReference(xpp)); 10322 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10323 return false; 10324 } 10325 return true; 10326 } 10327 10328 protected EnrollmentResponse parseEnrollmentResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10329 EnrollmentResponse res = new EnrollmentResponse(); 10330 parseResourceAttributes(xpp, res); 10331 next(xpp); 10332 int eventType = nextNoWhitespace(xpp); 10333 while (eventType != XmlPullParser.END_TAG) { 10334 if (!parseEnrollmentResponseContent(eventType, xpp, res)) 10335 unknownContent(xpp); 10336 eventType = nextNoWhitespace(xpp); 10337 } 10338 next(xpp); 10339 parseElementClose(res); 10340 return res; 10341 } 10342 10343 protected boolean parseEnrollmentResponseContent(int eventType, XmlPullParser xpp, EnrollmentResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 10344 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10345 res.getIdentifier().add(parseIdentifier(xpp)); 10346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10347 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 10348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 10349 res.setRequest(parseReference(xpp)); 10350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 10351 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 10352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 10353 res.setDispositionElement(parseString(xpp)); 10354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 10355 res.setCreatedElement(parseDateTime(xpp)); 10356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 10357 res.setOrganization(parseReference(xpp)); 10358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 10359 res.setRequestProvider(parseReference(xpp)); 10360 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10361 return false; 10362 } 10363 return true; 10364 } 10365 10366 protected EpisodeOfCare parseEpisodeOfCare(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10367 EpisodeOfCare res = new EpisodeOfCare(); 10368 parseResourceAttributes(xpp, res); 10369 next(xpp); 10370 int eventType = nextNoWhitespace(xpp); 10371 while (eventType != XmlPullParser.END_TAG) { 10372 if (!parseEpisodeOfCareContent(eventType, xpp, res)) 10373 unknownContent(xpp); 10374 eventType = nextNoWhitespace(xpp); 10375 } 10376 next(xpp); 10377 parseElementClose(res); 10378 return res; 10379 } 10380 10381 protected boolean parseEpisodeOfCareContent(int eventType, XmlPullParser xpp, EpisodeOfCare res) throws XmlPullParserException, IOException, FHIRFormatError { 10382 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10383 res.getIdentifier().add(parseIdentifier(xpp)); 10384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10385 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 10386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 10387 res.getStatusHistory().add(parseEpisodeOfCareStatusHistoryComponent(xpp)); 10388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10389 res.getType().add(parseCodeableConcept(xpp)); 10390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 10391 res.getDiagnosis().add(parseEpisodeOfCareDiagnosisComponent(xpp)); 10392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 10393 res.setPatient(parseReference(xpp)); 10394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 10395 res.setManagingOrganization(parseReference(xpp)); 10396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10397 res.setPeriod(parsePeriod(xpp)); 10398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralRequest")) { 10399 res.getReferralRequest().add(parseReference(xpp)); 10400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careManager")) { 10401 res.setCareManager(parseReference(xpp)); 10402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("team")) { 10403 res.getTeam().add(parseReference(xpp)); 10404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { 10405 res.getAccount().add(parseReference(xpp)); 10406 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10407 return false; 10408 } 10409 return true; 10410 } 10411 10412 protected EpisodeOfCare.EpisodeOfCareStatusHistoryComponent parseEpisodeOfCareStatusHistoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10413 EpisodeOfCare.EpisodeOfCareStatusHistoryComponent res = new EpisodeOfCare.EpisodeOfCareStatusHistoryComponent(); 10414 parseElementAttributes(xpp, res); 10415 next(xpp); 10416 int eventType = nextNoWhitespace(xpp); 10417 while (eventType != XmlPullParser.END_TAG) { 10418 if (!parseEpisodeOfCareStatusHistoryComponentContent(eventType, xpp, res)) 10419 unknownContent(xpp); 10420 eventType = nextNoWhitespace(xpp); 10421 } 10422 next(xpp); 10423 parseElementClose(res); 10424 return res; 10425 } 10426 10427 protected boolean parseEpisodeOfCareStatusHistoryComponentContent(int eventType, XmlPullParser xpp, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10428 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10429 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 10430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10431 res.setPeriod(parsePeriod(xpp)); 10432 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10433 return false; 10434 } 10435 return true; 10436 } 10437 10438 protected EpisodeOfCare.DiagnosisComponent parseEpisodeOfCareDiagnosisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10439 EpisodeOfCare.DiagnosisComponent res = new EpisodeOfCare.DiagnosisComponent(); 10440 parseElementAttributes(xpp, res); 10441 next(xpp); 10442 int eventType = nextNoWhitespace(xpp); 10443 while (eventType != XmlPullParser.END_TAG) { 10444 if (!parseEpisodeOfCareDiagnosisComponentContent(eventType, xpp, res)) 10445 unknownContent(xpp); 10446 eventType = nextNoWhitespace(xpp); 10447 } 10448 next(xpp); 10449 parseElementClose(res); 10450 return res; 10451 } 10452 10453 protected boolean parseEpisodeOfCareDiagnosisComponentContent(int eventType, XmlPullParser xpp, EpisodeOfCare.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10454 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 10455 res.setCondition(parseReference(xpp)); 10456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 10457 res.setRole(parseCodeableConcept(xpp)); 10458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { 10459 res.setRankElement(parsePositiveInt(xpp)); 10460 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10461 return false; 10462 } 10463 return true; 10464 } 10465 10466 protected EventDefinition parseEventDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10467 EventDefinition res = new EventDefinition(); 10468 parseResourceAttributes(xpp, res); 10469 next(xpp); 10470 int eventType = nextNoWhitespace(xpp); 10471 while (eventType != XmlPullParser.END_TAG) { 10472 if (!parseEventDefinitionContent(eventType, xpp, res)) 10473 unknownContent(xpp); 10474 eventType = nextNoWhitespace(xpp); 10475 } 10476 next(xpp); 10477 parseElementClose(res); 10478 return res; 10479 } 10480 10481 protected boolean parseEventDefinitionContent(int eventType, XmlPullParser xpp, EventDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 10482 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 10483 res.setUrlElement(parseUri(xpp)); 10484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10485 res.getIdentifier().add(parseIdentifier(xpp)); 10486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10487 res.setVersionElement(parseString(xpp)); 10488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 10489 res.setNameElement(parseString(xpp)); 10490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 10491 res.setTitleElement(parseString(xpp)); 10492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 10493 res.setSubtitleElement(parseString(xpp)); 10494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10495 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 10496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 10497 res.setExperimentalElement(parseBoolean(xpp)); 10498 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 10499 res.setSubject(parseType("subject", xpp)); 10500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 10501 res.setDateElement(parseDateTime(xpp)); 10502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 10503 res.setPublisherElement(parseString(xpp)); 10504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 10505 res.getContact().add(parseContactDetail(xpp)); 10506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10507 res.setDescriptionElement(parseMarkdown(xpp)); 10508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 10509 res.getUseContext().add(parseUsageContext(xpp)); 10510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 10511 res.getJurisdiction().add(parseCodeableConcept(xpp)); 10512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 10513 res.setPurposeElement(parseMarkdown(xpp)); 10514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 10515 res.setUsageElement(parseString(xpp)); 10516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 10517 res.setCopyrightElement(parseMarkdown(xpp)); 10518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 10519 res.setApprovalDateElement(parseDate(xpp)); 10520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 10521 res.setLastReviewDateElement(parseDate(xpp)); 10522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 10523 res.setEffectivePeriod(parsePeriod(xpp)); 10524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 10525 res.getTopic().add(parseCodeableConcept(xpp)); 10526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 10527 res.getAuthor().add(parseContactDetail(xpp)); 10528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 10529 res.getEditor().add(parseContactDetail(xpp)); 10530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 10531 res.getReviewer().add(parseContactDetail(xpp)); 10532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 10533 res.getEndorser().add(parseContactDetail(xpp)); 10534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 10535 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 10536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("trigger")) { 10537 res.getTrigger().add(parseTriggerDefinition(xpp)); 10538 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10539 return false; 10540 } 10541 return true; 10542 } 10543 10544 protected Evidence parseEvidence(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10545 Evidence res = new Evidence(); 10546 parseResourceAttributes(xpp, res); 10547 next(xpp); 10548 int eventType = nextNoWhitespace(xpp); 10549 while (eventType != XmlPullParser.END_TAG) { 10550 if (!parseEvidenceContent(eventType, xpp, res)) 10551 unknownContent(xpp); 10552 eventType = nextNoWhitespace(xpp); 10553 } 10554 next(xpp); 10555 parseElementClose(res); 10556 return res; 10557 } 10558 10559 protected boolean parseEvidenceContent(int eventType, XmlPullParser xpp, Evidence res) throws XmlPullParserException, IOException, FHIRFormatError { 10560 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 10561 res.setUrlElement(parseUri(xpp)); 10562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10563 res.getIdentifier().add(parseIdentifier(xpp)); 10564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10565 res.setVersionElement(parseString(xpp)); 10566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 10567 res.setTitleElement(parseString(xpp)); 10568 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "citeAs")) { 10569 res.setCiteAs(parseType("citeAs", xpp)); 10570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10571 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 10572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 10573 res.setDateElement(parseDateTime(xpp)); 10574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 10575 res.getUseContext().add(parseUsageContext(xpp)); 10576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 10577 res.setApprovalDateElement(parseDate(xpp)); 10578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 10579 res.setLastReviewDateElement(parseDate(xpp)); 10580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 10581 res.setPublisherElement(parseString(xpp)); 10582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 10583 res.getContact().add(parseContactDetail(xpp)); 10584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 10585 res.getAuthor().add(parseContactDetail(xpp)); 10586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 10587 res.getEditor().add(parseContactDetail(xpp)); 10588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 10589 res.getReviewer().add(parseContactDetail(xpp)); 10590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 10591 res.getEndorser().add(parseContactDetail(xpp)); 10592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 10593 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 10594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10595 res.setDescriptionElement(parseMarkdown(xpp)); 10596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assertion")) { 10597 res.setAssertionElement(parseMarkdown(xpp)); 10598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10599 res.getNote().add(parseAnnotation(xpp)); 10600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variableDefinition")) { 10601 res.getVariableDefinition().add(parseEvidenceVariableDefinitionComponent(xpp)); 10602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("synthesisType")) { 10603 res.setSynthesisType(parseCodeableConcept(xpp)); 10604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyType")) { 10605 res.setStudyType(parseCodeableConcept(xpp)); 10606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statistic")) { 10607 res.getStatistic().add(parseEvidenceStatisticComponent(xpp)); 10608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certainty")) { 10609 res.getCertainty().add(parseEvidenceCertaintyComponent(xpp)); 10610 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10611 return false; 10612 } 10613 return true; 10614 } 10615 10616 protected Evidence.EvidenceVariableDefinitionComponent parseEvidenceVariableDefinitionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10617 Evidence.EvidenceVariableDefinitionComponent res = new Evidence.EvidenceVariableDefinitionComponent(); 10618 parseElementAttributes(xpp, res); 10619 next(xpp); 10620 int eventType = nextNoWhitespace(xpp); 10621 while (eventType != XmlPullParser.END_TAG) { 10622 if (!parseEvidenceVariableDefinitionComponentContent(eventType, xpp, res)) 10623 unknownContent(xpp); 10624 eventType = nextNoWhitespace(xpp); 10625 } 10626 next(xpp); 10627 parseElementClose(res); 10628 return res; 10629 } 10630 10631 protected boolean parseEvidenceVariableDefinitionComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceVariableDefinitionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10632 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10633 res.setDescriptionElement(parseMarkdown(xpp)); 10634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10635 res.getNote().add(parseAnnotation(xpp)); 10636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variableRole")) { 10637 res.setVariableRole(parseCodeableConcept(xpp)); 10638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observed")) { 10639 res.setObserved(parseReference(xpp)); 10640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intended")) { 10641 res.setIntended(parseReference(xpp)); 10642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("directnessMatch")) { 10643 res.setDirectnessMatch(parseCodeableConcept(xpp)); 10644 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10645 return false; 10646 } 10647 return true; 10648 } 10649 10650 protected Evidence.EvidenceStatisticComponent parseEvidenceStatisticComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10651 Evidence.EvidenceStatisticComponent res = new Evidence.EvidenceStatisticComponent(); 10652 parseElementAttributes(xpp, res); 10653 next(xpp); 10654 int eventType = nextNoWhitespace(xpp); 10655 while (eventType != XmlPullParser.END_TAG) { 10656 if (!parseEvidenceStatisticComponentContent(eventType, xpp, res)) 10657 unknownContent(xpp); 10658 eventType = nextNoWhitespace(xpp); 10659 } 10660 next(xpp); 10661 parseElementClose(res); 10662 return res; 10663 } 10664 10665 protected boolean parseEvidenceStatisticComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceStatisticComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10666 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10667 res.setDescriptionElement(parseString(xpp)); 10668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10669 res.getNote().add(parseAnnotation(xpp)); 10670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statisticType")) { 10671 res.setStatisticType(parseCodeableConcept(xpp)); 10672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 10673 res.setCategory(parseCodeableConcept(xpp)); 10674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 10675 res.setQuantity(parseQuantity(xpp)); 10676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfEvents")) { 10677 res.setNumberOfEventsElement(parseUnsignedInt(xpp)); 10678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberAffected")) { 10679 res.setNumberAffectedElement(parseUnsignedInt(xpp)); 10680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sampleSize")) { 10681 res.setSampleSize(parseEvidenceStatisticSampleSizeComponent(xpp)); 10682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attributeEstimate")) { 10683 res.getAttributeEstimate().add(parseEvidenceStatisticAttributeEstimateComponent(xpp)); 10684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modelCharacteristic")) { 10685 res.getModelCharacteristic().add(parseEvidenceStatisticModelCharacteristicComponent(xpp)); 10686 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10687 return false; 10688 } 10689 return true; 10690 } 10691 10692 protected Evidence.EvidenceStatisticSampleSizeComponent parseEvidenceStatisticSampleSizeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10693 Evidence.EvidenceStatisticSampleSizeComponent res = new Evidence.EvidenceStatisticSampleSizeComponent(); 10694 parseElementAttributes(xpp, res); 10695 next(xpp); 10696 int eventType = nextNoWhitespace(xpp); 10697 while (eventType != XmlPullParser.END_TAG) { 10698 if (!parseEvidenceStatisticSampleSizeComponentContent(eventType, xpp, res)) 10699 unknownContent(xpp); 10700 eventType = nextNoWhitespace(xpp); 10701 } 10702 next(xpp); 10703 parseElementClose(res); 10704 return res; 10705 } 10706 10707 protected boolean parseEvidenceStatisticSampleSizeComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceStatisticSampleSizeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10708 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10709 res.setDescriptionElement(parseString(xpp)); 10710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10711 res.getNote().add(parseAnnotation(xpp)); 10712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfStudies")) { 10713 res.setNumberOfStudiesElement(parseUnsignedInt(xpp)); 10714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfParticipants")) { 10715 res.setNumberOfParticipantsElement(parseUnsignedInt(xpp)); 10716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("knownDataCount")) { 10717 res.setKnownDataCountElement(parseUnsignedInt(xpp)); 10718 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10719 return false; 10720 } 10721 return true; 10722 } 10723 10724 protected Evidence.EvidenceStatisticAttributeEstimateComponent parseEvidenceStatisticAttributeEstimateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10725 Evidence.EvidenceStatisticAttributeEstimateComponent res = new Evidence.EvidenceStatisticAttributeEstimateComponent(); 10726 parseElementAttributes(xpp, res); 10727 next(xpp); 10728 int eventType = nextNoWhitespace(xpp); 10729 while (eventType != XmlPullParser.END_TAG) { 10730 if (!parseEvidenceStatisticAttributeEstimateComponentContent(eventType, xpp, res)) 10731 unknownContent(xpp); 10732 eventType = nextNoWhitespace(xpp); 10733 } 10734 next(xpp); 10735 parseElementClose(res); 10736 return res; 10737 } 10738 10739 protected boolean parseEvidenceStatisticAttributeEstimateComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceStatisticAttributeEstimateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10740 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10741 res.setDescriptionElement(parseString(xpp)); 10742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10743 res.getNote().add(parseAnnotation(xpp)); 10744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10745 res.setType(parseCodeableConcept(xpp)); 10746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 10747 res.setQuantity(parseQuantity(xpp)); 10748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("level")) { 10749 res.setLevelElement(parseDecimal(xpp)); 10750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("range")) { 10751 res.setRange(parseRange(xpp)); 10752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attributeEstimate")) { 10753 res.getAttributeEstimate().add(parseEvidenceStatisticAttributeEstimateComponent(xpp)); 10754 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10755 return false; 10756 } 10757 return true; 10758 } 10759 10760 protected Evidence.EvidenceStatisticModelCharacteristicComponent parseEvidenceStatisticModelCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10761 Evidence.EvidenceStatisticModelCharacteristicComponent res = new Evidence.EvidenceStatisticModelCharacteristicComponent(); 10762 parseElementAttributes(xpp, res); 10763 next(xpp); 10764 int eventType = nextNoWhitespace(xpp); 10765 while (eventType != XmlPullParser.END_TAG) { 10766 if (!parseEvidenceStatisticModelCharacteristicComponentContent(eventType, xpp, res)) 10767 unknownContent(xpp); 10768 eventType = nextNoWhitespace(xpp); 10769 } 10770 next(xpp); 10771 parseElementClose(res); 10772 return res; 10773 } 10774 10775 protected boolean parseEvidenceStatisticModelCharacteristicComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceStatisticModelCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10776 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10777 res.setCode(parseCodeableConcept(xpp)); 10778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 10779 res.setValue(parseQuantity(xpp)); 10780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 10781 res.getVariable().add(parseEvidenceStatisticModelCharacteristicVariableComponent(xpp)); 10782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attributeEstimate")) { 10783 res.getAttributeEstimate().add(parseEvidenceStatisticAttributeEstimateComponent(xpp)); 10784 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10785 return false; 10786 } 10787 return true; 10788 } 10789 10790 protected Evidence.EvidenceStatisticModelCharacteristicVariableComponent parseEvidenceStatisticModelCharacteristicVariableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10791 Evidence.EvidenceStatisticModelCharacteristicVariableComponent res = new Evidence.EvidenceStatisticModelCharacteristicVariableComponent(); 10792 parseElementAttributes(xpp, res); 10793 next(xpp); 10794 int eventType = nextNoWhitespace(xpp); 10795 while (eventType != XmlPullParser.END_TAG) { 10796 if (!parseEvidenceStatisticModelCharacteristicVariableComponentContent(eventType, xpp, res)) 10797 unknownContent(xpp); 10798 eventType = nextNoWhitespace(xpp); 10799 } 10800 next(xpp); 10801 parseElementClose(res); 10802 return res; 10803 } 10804 10805 protected boolean parseEvidenceStatisticModelCharacteristicVariableComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceStatisticModelCharacteristicVariableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10806 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variableDefinition")) { 10807 res.setVariableDefinition(parseReference(xpp)); 10808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("handling")) { 10809 res.setHandlingElement(parseEnumeration(xpp, Enumerations.EvidenceVariableHandling.NULL, new Enumerations.EvidenceVariableHandlingEnumFactory())); 10810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueCategory")) { 10811 res.getValueCategory().add(parseCodeableConcept(xpp)); 10812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueQuantity")) { 10813 res.getValueQuantity().add(parseQuantity(xpp)); 10814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueRange")) { 10815 res.getValueRange().add(parseRange(xpp)); 10816 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10817 return false; 10818 } 10819 return true; 10820 } 10821 10822 protected Evidence.EvidenceCertaintyComponent parseEvidenceCertaintyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10823 Evidence.EvidenceCertaintyComponent res = new Evidence.EvidenceCertaintyComponent(); 10824 parseElementAttributes(xpp, res); 10825 next(xpp); 10826 int eventType = nextNoWhitespace(xpp); 10827 while (eventType != XmlPullParser.END_TAG) { 10828 if (!parseEvidenceCertaintyComponentContent(eventType, xpp, res)) 10829 unknownContent(xpp); 10830 eventType = nextNoWhitespace(xpp); 10831 } 10832 next(xpp); 10833 parseElementClose(res); 10834 return res; 10835 } 10836 10837 protected boolean parseEvidenceCertaintyComponentContent(int eventType, XmlPullParser xpp, Evidence.EvidenceCertaintyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10838 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10839 res.setDescriptionElement(parseString(xpp)); 10840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10841 res.getNote().add(parseAnnotation(xpp)); 10842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10843 res.setType(parseCodeableConcept(xpp)); 10844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rating")) { 10845 res.setRating(parseCodeableConcept(xpp)); 10846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rater")) { 10847 res.setRaterElement(parseString(xpp)); 10848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subcomponent")) { 10849 res.getSubcomponent().add(parseEvidenceCertaintyComponent(xpp)); 10850 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10851 return false; 10852 } 10853 return true; 10854 } 10855 10856 protected EvidenceReport parseEvidenceReport(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10857 EvidenceReport res = new EvidenceReport(); 10858 parseResourceAttributes(xpp, res); 10859 next(xpp); 10860 int eventType = nextNoWhitespace(xpp); 10861 while (eventType != XmlPullParser.END_TAG) { 10862 if (!parseEvidenceReportContent(eventType, xpp, res)) 10863 unknownContent(xpp); 10864 eventType = nextNoWhitespace(xpp); 10865 } 10866 next(xpp); 10867 parseElementClose(res); 10868 return res; 10869 } 10870 10871 protected boolean parseEvidenceReportContent(int eventType, XmlPullParser xpp, EvidenceReport res) throws XmlPullParserException, IOException, FHIRFormatError { 10872 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 10873 res.setUrlElement(parseUri(xpp)); 10874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10875 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 10876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 10877 res.getUseContext().add(parseUsageContext(xpp)); 10878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10879 res.getIdentifier().add(parseIdentifier(xpp)); 10880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedIdentifier")) { 10881 res.getRelatedIdentifier().add(parseIdentifier(xpp)); 10882 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "citeAs")) { 10883 res.setCiteAs(parseType("citeAs", xpp)); 10884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 10885 res.setType(parseCodeableConcept(xpp)); 10886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10887 res.getNote().add(parseAnnotation(xpp)); 10888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 10889 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 10890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 10891 res.setSubject(parseEvidenceReportSubjectComponent(xpp)); 10892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 10893 res.setPublisherElement(parseString(xpp)); 10894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 10895 res.getContact().add(parseContactDetail(xpp)); 10896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 10897 res.getAuthor().add(parseContactDetail(xpp)); 10898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 10899 res.getEditor().add(parseContactDetail(xpp)); 10900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 10901 res.getReviewer().add(parseContactDetail(xpp)); 10902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 10903 res.getEndorser().add(parseContactDetail(xpp)); 10904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 10905 res.getRelatesTo().add(parseEvidenceReportRelatesToComponent(xpp)); 10906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 10907 res.getSection().add(parseEvidenceReportSectionComponent(xpp)); 10908 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 10909 return false; 10910 } 10911 return true; 10912 } 10913 10914 protected EvidenceReport.EvidenceReportSubjectComponent parseEvidenceReportSubjectComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10915 EvidenceReport.EvidenceReportSubjectComponent res = new EvidenceReport.EvidenceReportSubjectComponent(); 10916 parseElementAttributes(xpp, res); 10917 next(xpp); 10918 int eventType = nextNoWhitespace(xpp); 10919 while (eventType != XmlPullParser.END_TAG) { 10920 if (!parseEvidenceReportSubjectComponentContent(eventType, xpp, res)) 10921 unknownContent(xpp); 10922 eventType = nextNoWhitespace(xpp); 10923 } 10924 next(xpp); 10925 parseElementClose(res); 10926 return res; 10927 } 10928 10929 protected boolean parseEvidenceReportSubjectComponentContent(int eventType, XmlPullParser xpp, EvidenceReport.EvidenceReportSubjectComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10930 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 10931 res.getCharacteristic().add(parseEvidenceReportSubjectCharacteristicComponent(xpp)); 10932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 10933 res.getNote().add(parseAnnotation(xpp)); 10934 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10935 return false; 10936 } 10937 return true; 10938 } 10939 10940 protected EvidenceReport.EvidenceReportSubjectCharacteristicComponent parseEvidenceReportSubjectCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10941 EvidenceReport.EvidenceReportSubjectCharacteristicComponent res = new EvidenceReport.EvidenceReportSubjectCharacteristicComponent(); 10942 parseElementAttributes(xpp, res); 10943 next(xpp); 10944 int eventType = nextNoWhitespace(xpp); 10945 while (eventType != XmlPullParser.END_TAG) { 10946 if (!parseEvidenceReportSubjectCharacteristicComponentContent(eventType, xpp, res)) 10947 unknownContent(xpp); 10948 eventType = nextNoWhitespace(xpp); 10949 } 10950 next(xpp); 10951 parseElementClose(res); 10952 return res; 10953 } 10954 10955 protected boolean parseEvidenceReportSubjectCharacteristicComponentContent(int eventType, XmlPullParser xpp, EvidenceReport.EvidenceReportSubjectCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10956 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10957 res.setCode(parseCodeableConcept(xpp)); 10958 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 10959 res.setValue(parseType("value", xpp)); 10960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 10961 res.setExcludeElement(parseBoolean(xpp)); 10962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 10963 res.setPeriod(parsePeriod(xpp)); 10964 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10965 return false; 10966 } 10967 return true; 10968 } 10969 10970 protected EvidenceReport.EvidenceReportRelatesToComponent parseEvidenceReportRelatesToComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10971 EvidenceReport.EvidenceReportRelatesToComponent res = new EvidenceReport.EvidenceReportRelatesToComponent(); 10972 parseElementAttributes(xpp, res); 10973 next(xpp); 10974 int eventType = nextNoWhitespace(xpp); 10975 while (eventType != XmlPullParser.END_TAG) { 10976 if (!parseEvidenceReportRelatesToComponentContent(eventType, xpp, res)) 10977 unknownContent(xpp); 10978 eventType = nextNoWhitespace(xpp); 10979 } 10980 next(xpp); 10981 parseElementClose(res); 10982 return res; 10983 } 10984 10985 protected boolean parseEvidenceReportRelatesToComponentContent(int eventType, XmlPullParser xpp, EvidenceReport.EvidenceReportRelatesToComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 10986 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10987 res.setCodeElement(parseEnumeration(xpp, EvidenceReport.ReportRelationshipType.NULL, new EvidenceReport.ReportRelationshipTypeEnumFactory())); 10988 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 10989 res.setTarget(parseType("target", xpp)); 10990 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 10991 return false; 10992 } 10993 return true; 10994 } 10995 10996 protected EvidenceReport.SectionComponent parseEvidenceReportSectionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10997 EvidenceReport.SectionComponent res = new EvidenceReport.SectionComponent(); 10998 parseElementAttributes(xpp, res); 10999 next(xpp); 11000 int eventType = nextNoWhitespace(xpp); 11001 while (eventType != XmlPullParser.END_TAG) { 11002 if (!parseEvidenceReportSectionComponentContent(eventType, xpp, res)) 11003 unknownContent(xpp); 11004 eventType = nextNoWhitespace(xpp); 11005 } 11006 next(xpp); 11007 parseElementClose(res); 11008 return res; 11009 } 11010 11011 protected boolean parseEvidenceReportSectionComponentContent(int eventType, XmlPullParser xpp, EvidenceReport.SectionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11012 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 11013 res.setTitleElement(parseString(xpp)); 11014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 11015 res.setFocus(parseCodeableConcept(xpp)); 11016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focusReference")) { 11017 res.setFocusReference(parseReference(xpp)); 11018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 11019 res.getAuthor().add(parseReference(xpp)); 11020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 11021 res.setText(parseNarrative(xpp)); 11022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 11023 res.setModeElement(parseEnumeration(xpp, Enumerations.ListMode.NULL, new Enumerations.ListModeEnumFactory())); 11024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 11025 res.setOrderedBy(parseCodeableConcept(xpp)); 11026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entryClassifier")) { 11027 res.getEntryClassifier().add(parseCodeableConcept(xpp)); 11028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entryReference")) { 11029 res.getEntryReference().add(parseReference(xpp)); 11030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entryQuantity")) { 11031 res.getEntryQuantity().add(parseQuantity(xpp)); 11032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 11033 res.setEmptyReason(parseCodeableConcept(xpp)); 11034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 11035 res.getSection().add(parseEvidenceReportSectionComponent(xpp)); 11036 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11037 return false; 11038 } 11039 return true; 11040 } 11041 11042 protected EvidenceVariable parseEvidenceVariable(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11043 EvidenceVariable res = new EvidenceVariable(); 11044 parseResourceAttributes(xpp, res); 11045 next(xpp); 11046 int eventType = nextNoWhitespace(xpp); 11047 while (eventType != XmlPullParser.END_TAG) { 11048 if (!parseEvidenceVariableContent(eventType, xpp, res)) 11049 unknownContent(xpp); 11050 eventType = nextNoWhitespace(xpp); 11051 } 11052 next(xpp); 11053 parseElementClose(res); 11054 return res; 11055 } 11056 11057 protected boolean parseEvidenceVariableContent(int eventType, XmlPullParser xpp, EvidenceVariable res) throws XmlPullParserException, IOException, FHIRFormatError { 11058 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 11059 res.setUrlElement(parseUri(xpp)); 11060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 11061 res.getIdentifier().add(parseIdentifier(xpp)); 11062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 11063 res.setVersionElement(parseString(xpp)); 11064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11065 res.setNameElement(parseString(xpp)); 11066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 11067 res.setTitleElement(parseString(xpp)); 11068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shortTitle")) { 11069 res.setShortTitleElement(parseString(xpp)); 11070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 11071 res.setSubtitleElement(parseString(xpp)); 11072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 11073 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 11074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 11075 res.setDateElement(parseDateTime(xpp)); 11076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11077 res.setDescriptionElement(parseMarkdown(xpp)); 11078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 11079 res.getNote().add(parseAnnotation(xpp)); 11080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 11081 res.getUseContext().add(parseUsageContext(xpp)); 11082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 11083 res.setPublisherElement(parseString(xpp)); 11084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 11085 res.getContact().add(parseContactDetail(xpp)); 11086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 11087 res.getAuthor().add(parseContactDetail(xpp)); 11088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 11089 res.getEditor().add(parseContactDetail(xpp)); 11090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 11091 res.getReviewer().add(parseContactDetail(xpp)); 11092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 11093 res.getEndorser().add(parseContactDetail(xpp)); 11094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 11095 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 11096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 11097 res.setActualElement(parseBoolean(xpp)); 11098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristicCombination")) { 11099 res.setCharacteristicCombinationElement(parseEnumeration(xpp, EvidenceVariable.CharacteristicCombination.NULL, new EvidenceVariable.CharacteristicCombinationEnumFactory())); 11100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 11101 res.getCharacteristic().add(parseEvidenceVariableCharacteristicComponent(xpp)); 11102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("handling")) { 11103 res.setHandlingElement(parseEnumeration(xpp, Enumerations.EvidenceVariableHandling.NULL, new Enumerations.EvidenceVariableHandlingEnumFactory())); 11104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 11105 res.getCategory().add(parseEvidenceVariableCategoryComponent(xpp)); 11106 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 11107 return false; 11108 } 11109 return true; 11110 } 11111 11112 protected EvidenceVariable.EvidenceVariableCharacteristicComponent parseEvidenceVariableCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11113 EvidenceVariable.EvidenceVariableCharacteristicComponent res = new EvidenceVariable.EvidenceVariableCharacteristicComponent(); 11114 parseElementAttributes(xpp, res); 11115 next(xpp); 11116 int eventType = nextNoWhitespace(xpp); 11117 while (eventType != XmlPullParser.END_TAG) { 11118 if (!parseEvidenceVariableCharacteristicComponentContent(eventType, xpp, res)) 11119 unknownContent(xpp); 11120 eventType = nextNoWhitespace(xpp); 11121 } 11122 next(xpp); 11123 parseElementClose(res); 11124 return res; 11125 } 11126 11127 protected boolean parseEvidenceVariableCharacteristicComponentContent(int eventType, XmlPullParser xpp, EvidenceVariable.EvidenceVariableCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11128 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11129 res.setDescriptionElement(parseString(xpp)); 11130 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "definition")) { 11131 res.setDefinition(parseType("definition", xpp)); 11132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 11133 res.setMethod(parseCodeableConcept(xpp)); 11134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 11135 res.setDevice(parseReference(xpp)); 11136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 11137 res.setExcludeElement(parseBoolean(xpp)); 11138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timeFromStart")) { 11139 res.setTimeFromStart(parseEvidenceVariableCharacteristicTimeFromStartComponent(xpp)); 11140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupMeasure")) { 11141 res.setGroupMeasureElement(parseEnumeration(xpp, Enumerations.GroupMeasure.NULL, new Enumerations.GroupMeasureEnumFactory())); 11142 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11143 return false; 11144 } 11145 return true; 11146 } 11147 11148 protected EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent parseEvidenceVariableCharacteristicTimeFromStartComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11149 EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent res = new EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent(); 11150 parseElementAttributes(xpp, res); 11151 next(xpp); 11152 int eventType = nextNoWhitespace(xpp); 11153 while (eventType != XmlPullParser.END_TAG) { 11154 if (!parseEvidenceVariableCharacteristicTimeFromStartComponentContent(eventType, xpp, res)) 11155 unknownContent(xpp); 11156 eventType = nextNoWhitespace(xpp); 11157 } 11158 next(xpp); 11159 parseElementClose(res); 11160 return res; 11161 } 11162 11163 protected boolean parseEvidenceVariableCharacteristicTimeFromStartComponentContent(int eventType, XmlPullParser xpp, EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11164 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11165 res.setDescriptionElement(parseString(xpp)); 11166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 11167 res.setQuantity(parseQuantity(xpp)); 11168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("range")) { 11169 res.setRange(parseRange(xpp)); 11170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 11171 res.getNote().add(parseAnnotation(xpp)); 11172 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11173 return false; 11174 } 11175 return true; 11176 } 11177 11178 protected EvidenceVariable.EvidenceVariableCategoryComponent parseEvidenceVariableCategoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11179 EvidenceVariable.EvidenceVariableCategoryComponent res = new EvidenceVariable.EvidenceVariableCategoryComponent(); 11180 parseElementAttributes(xpp, res); 11181 next(xpp); 11182 int eventType = nextNoWhitespace(xpp); 11183 while (eventType != XmlPullParser.END_TAG) { 11184 if (!parseEvidenceVariableCategoryComponentContent(eventType, xpp, res)) 11185 unknownContent(xpp); 11186 eventType = nextNoWhitespace(xpp); 11187 } 11188 next(xpp); 11189 parseElementClose(res); 11190 return res; 11191 } 11192 11193 protected boolean parseEvidenceVariableCategoryComponentContent(int eventType, XmlPullParser xpp, EvidenceVariable.EvidenceVariableCategoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11194 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11195 res.setNameElement(parseString(xpp)); 11196 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 11197 res.setValue(parseType("value", xpp)); 11198 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11199 return false; 11200 } 11201 return true; 11202 } 11203 11204 protected ExampleScenario parseExampleScenario(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11205 ExampleScenario res = new ExampleScenario(); 11206 parseResourceAttributes(xpp, res); 11207 next(xpp); 11208 int eventType = nextNoWhitespace(xpp); 11209 while (eventType != XmlPullParser.END_TAG) { 11210 if (!parseExampleScenarioContent(eventType, xpp, res)) 11211 unknownContent(xpp); 11212 eventType = nextNoWhitespace(xpp); 11213 } 11214 next(xpp); 11215 parseElementClose(res); 11216 return res; 11217 } 11218 11219 protected boolean parseExampleScenarioContent(int eventType, XmlPullParser xpp, ExampleScenario res) throws XmlPullParserException, IOException, FHIRFormatError { 11220 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 11221 res.setUrlElement(parseUri(xpp)); 11222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 11223 res.getIdentifier().add(parseIdentifier(xpp)); 11224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 11225 res.setVersionElement(parseString(xpp)); 11226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11227 res.setNameElement(parseString(xpp)); 11228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 11229 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 11230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 11231 res.setExperimentalElement(parseBoolean(xpp)); 11232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 11233 res.setDateElement(parseDateTime(xpp)); 11234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 11235 res.setPublisherElement(parseString(xpp)); 11236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 11237 res.getContact().add(parseContactDetail(xpp)); 11238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 11239 res.getUseContext().add(parseUsageContext(xpp)); 11240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 11241 res.getJurisdiction().add(parseCodeableConcept(xpp)); 11242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 11243 res.setCopyrightElement(parseMarkdown(xpp)); 11244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 11245 res.setPurposeElement(parseMarkdown(xpp)); 11246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 11247 res.getActor().add(parseExampleScenarioActorComponent(xpp)); 11248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 11249 res.getInstance().add(parseExampleScenarioInstanceComponent(xpp)); 11250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("process")) { 11251 res.getProcess().add(parseExampleScenarioProcessComponent(xpp)); 11252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("workflow")) { 11253 res.getWorkflow().add(parseCanonical(xpp)); 11254 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 11255 return false; 11256 } 11257 return true; 11258 } 11259 11260 protected ExampleScenario.ExampleScenarioActorComponent parseExampleScenarioActorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11261 ExampleScenario.ExampleScenarioActorComponent res = new ExampleScenario.ExampleScenarioActorComponent(); 11262 parseElementAttributes(xpp, res); 11263 next(xpp); 11264 int eventType = nextNoWhitespace(xpp); 11265 while (eventType != XmlPullParser.END_TAG) { 11266 if (!parseExampleScenarioActorComponentContent(eventType, xpp, res)) 11267 unknownContent(xpp); 11268 eventType = nextNoWhitespace(xpp); 11269 } 11270 next(xpp); 11271 parseElementClose(res); 11272 return res; 11273 } 11274 11275 protected boolean parseExampleScenarioActorComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioActorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11276 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actorId")) { 11277 res.setActorIdElement(parseString(xpp)); 11278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11279 res.setTypeElement(parseEnumeration(xpp, ExampleScenario.ExampleScenarioActorType.NULL, new ExampleScenario.ExampleScenarioActorTypeEnumFactory())); 11280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11281 res.setNameElement(parseString(xpp)); 11282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11283 res.setDescriptionElement(parseMarkdown(xpp)); 11284 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11285 return false; 11286 } 11287 return true; 11288 } 11289 11290 protected ExampleScenario.ExampleScenarioInstanceComponent parseExampleScenarioInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11291 ExampleScenario.ExampleScenarioInstanceComponent res = new ExampleScenario.ExampleScenarioInstanceComponent(); 11292 parseElementAttributes(xpp, res); 11293 next(xpp); 11294 int eventType = nextNoWhitespace(xpp); 11295 while (eventType != XmlPullParser.END_TAG) { 11296 if (!parseExampleScenarioInstanceComponentContent(eventType, xpp, res)) 11297 unknownContent(xpp); 11298 eventType = nextNoWhitespace(xpp); 11299 } 11300 next(xpp); 11301 parseElementClose(res); 11302 return res; 11303 } 11304 11305 protected boolean parseExampleScenarioInstanceComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11306 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceId")) { 11307 res.setResourceIdElement(parseString(xpp)); 11308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceType")) { 11309 res.setResourceTypeElement(parseCode(xpp)); 11310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11311 res.setNameElement(parseString(xpp)); 11312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11313 res.setDescriptionElement(parseMarkdown(xpp)); 11314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 11315 res.getVersion().add(parseExampleScenarioInstanceVersionComponent(xpp)); 11316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("containedInstance")) { 11317 res.getContainedInstance().add(parseExampleScenarioInstanceContainedInstanceComponent(xpp)); 11318 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11319 return false; 11320 } 11321 return true; 11322 } 11323 11324 protected ExampleScenario.ExampleScenarioInstanceVersionComponent parseExampleScenarioInstanceVersionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11325 ExampleScenario.ExampleScenarioInstanceVersionComponent res = new ExampleScenario.ExampleScenarioInstanceVersionComponent(); 11326 parseElementAttributes(xpp, res); 11327 next(xpp); 11328 int eventType = nextNoWhitespace(xpp); 11329 while (eventType != XmlPullParser.END_TAG) { 11330 if (!parseExampleScenarioInstanceVersionComponentContent(eventType, xpp, res)) 11331 unknownContent(xpp); 11332 eventType = nextNoWhitespace(xpp); 11333 } 11334 next(xpp); 11335 parseElementClose(res); 11336 return res; 11337 } 11338 11339 protected boolean parseExampleScenarioInstanceVersionComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceVersionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11340 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { 11341 res.setVersionIdElement(parseString(xpp)); 11342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11343 res.setDescriptionElement(parseMarkdown(xpp)); 11344 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11345 return false; 11346 } 11347 return true; 11348 } 11349 11350 protected ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent parseExampleScenarioInstanceContainedInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11351 ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent res = new ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent(); 11352 parseElementAttributes(xpp, res); 11353 next(xpp); 11354 int eventType = nextNoWhitespace(xpp); 11355 while (eventType != XmlPullParser.END_TAG) { 11356 if (!parseExampleScenarioInstanceContainedInstanceComponentContent(eventType, xpp, res)) 11357 unknownContent(xpp); 11358 eventType = nextNoWhitespace(xpp); 11359 } 11360 next(xpp); 11361 parseElementClose(res); 11362 return res; 11363 } 11364 11365 protected boolean parseExampleScenarioInstanceContainedInstanceComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11366 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceId")) { 11367 res.setResourceIdElement(parseString(xpp)); 11368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { 11369 res.setVersionIdElement(parseString(xpp)); 11370 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11371 return false; 11372 } 11373 return true; 11374 } 11375 11376 protected ExampleScenario.ExampleScenarioProcessComponent parseExampleScenarioProcessComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11377 ExampleScenario.ExampleScenarioProcessComponent res = new ExampleScenario.ExampleScenarioProcessComponent(); 11378 parseElementAttributes(xpp, res); 11379 next(xpp); 11380 int eventType = nextNoWhitespace(xpp); 11381 while (eventType != XmlPullParser.END_TAG) { 11382 if (!parseExampleScenarioProcessComponentContent(eventType, xpp, res)) 11383 unknownContent(xpp); 11384 eventType = nextNoWhitespace(xpp); 11385 } 11386 next(xpp); 11387 parseElementClose(res); 11388 return res; 11389 } 11390 11391 protected boolean parseExampleScenarioProcessComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11392 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 11393 res.setTitleElement(parseString(xpp)); 11394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11395 res.setDescriptionElement(parseMarkdown(xpp)); 11396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preConditions")) { 11397 res.setPreConditionsElement(parseMarkdown(xpp)); 11398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("postConditions")) { 11399 res.setPostConditionsElement(parseMarkdown(xpp)); 11400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("step")) { 11401 res.getStep().add(parseExampleScenarioProcessStepComponent(xpp)); 11402 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11403 return false; 11404 } 11405 return true; 11406 } 11407 11408 protected ExampleScenario.ExampleScenarioProcessStepComponent parseExampleScenarioProcessStepComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11409 ExampleScenario.ExampleScenarioProcessStepComponent res = new ExampleScenario.ExampleScenarioProcessStepComponent(); 11410 parseElementAttributes(xpp, res); 11411 next(xpp); 11412 int eventType = nextNoWhitespace(xpp); 11413 while (eventType != XmlPullParser.END_TAG) { 11414 if (!parseExampleScenarioProcessStepComponentContent(eventType, xpp, res)) 11415 unknownContent(xpp); 11416 eventType = nextNoWhitespace(xpp); 11417 } 11418 next(xpp); 11419 parseElementClose(res); 11420 return res; 11421 } 11422 11423 protected boolean parseExampleScenarioProcessStepComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessStepComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11424 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("process")) { 11425 res.getProcess().add(parseExampleScenarioProcessComponent(xpp)); 11426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pause")) { 11427 res.setPauseElement(parseBoolean(xpp)); 11428 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 11429 res.setOperation(parseExampleScenarioProcessStepOperationComponent(xpp)); 11430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alternative")) { 11431 res.getAlternative().add(parseExampleScenarioProcessStepAlternativeComponent(xpp)); 11432 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11433 return false; 11434 } 11435 return true; 11436 } 11437 11438 protected ExampleScenario.ExampleScenarioProcessStepOperationComponent parseExampleScenarioProcessStepOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11439 ExampleScenario.ExampleScenarioProcessStepOperationComponent res = new ExampleScenario.ExampleScenarioProcessStepOperationComponent(); 11440 parseElementAttributes(xpp, res); 11441 next(xpp); 11442 int eventType = nextNoWhitespace(xpp); 11443 while (eventType != XmlPullParser.END_TAG) { 11444 if (!parseExampleScenarioProcessStepOperationComponentContent(eventType, xpp, res)) 11445 unknownContent(xpp); 11446 eventType = nextNoWhitespace(xpp); 11447 } 11448 next(xpp); 11449 parseElementClose(res); 11450 return res; 11451 } 11452 11453 protected boolean parseExampleScenarioProcessStepOperationComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessStepOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11454 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 11455 res.setNumberElement(parseString(xpp)); 11456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11457 res.setTypeElement(parseString(xpp)); 11458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 11459 res.setNameElement(parseString(xpp)); 11460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initiator")) { 11461 res.setInitiatorElement(parseString(xpp)); 11462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 11463 res.setReceiverElement(parseString(xpp)); 11464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11465 res.setDescriptionElement(parseMarkdown(xpp)); 11466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initiatorActive")) { 11467 res.setInitiatorActiveElement(parseBoolean(xpp)); 11468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiverActive")) { 11469 res.setReceiverActiveElement(parseBoolean(xpp)); 11470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 11471 res.setRequest(parseExampleScenarioInstanceContainedInstanceComponent(xpp)); 11472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 11473 res.setResponse(parseExampleScenarioInstanceContainedInstanceComponent(xpp)); 11474 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11475 return false; 11476 } 11477 return true; 11478 } 11479 11480 protected ExampleScenario.ExampleScenarioProcessStepAlternativeComponent parseExampleScenarioProcessStepAlternativeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11481 ExampleScenario.ExampleScenarioProcessStepAlternativeComponent res = new ExampleScenario.ExampleScenarioProcessStepAlternativeComponent(); 11482 parseElementAttributes(xpp, res); 11483 next(xpp); 11484 int eventType = nextNoWhitespace(xpp); 11485 while (eventType != XmlPullParser.END_TAG) { 11486 if (!parseExampleScenarioProcessStepAlternativeComponentContent(eventType, xpp, res)) 11487 unknownContent(xpp); 11488 eventType = nextNoWhitespace(xpp); 11489 } 11490 next(xpp); 11491 parseElementClose(res); 11492 return res; 11493 } 11494 11495 protected boolean parseExampleScenarioProcessStepAlternativeComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessStepAlternativeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11496 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 11497 res.setTitleElement(parseString(xpp)); 11498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 11499 res.setDescriptionElement(parseMarkdown(xpp)); 11500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("step")) { 11501 res.getStep().add(parseExampleScenarioProcessStepComponent(xpp)); 11502 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11503 return false; 11504 } 11505 return true; 11506 } 11507 11508 protected ExplanationOfBenefit parseExplanationOfBenefit(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11509 ExplanationOfBenefit res = new ExplanationOfBenefit(); 11510 parseResourceAttributes(xpp, res); 11511 next(xpp); 11512 int eventType = nextNoWhitespace(xpp); 11513 while (eventType != XmlPullParser.END_TAG) { 11514 if (!parseExplanationOfBenefitContent(eventType, xpp, res)) 11515 unknownContent(xpp); 11516 eventType = nextNoWhitespace(xpp); 11517 } 11518 next(xpp); 11519 parseElementClose(res); 11520 return res; 11521 } 11522 11523 protected boolean parseExplanationOfBenefitContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit res) throws XmlPullParserException, IOException, FHIRFormatError { 11524 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 11525 res.getIdentifier().add(parseIdentifier(xpp)); 11526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 11527 res.setStatusElement(parseEnumeration(xpp, ExplanationOfBenefit.ExplanationOfBenefitStatus.NULL, new ExplanationOfBenefit.ExplanationOfBenefitStatusEnumFactory())); 11528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11529 res.setType(parseCodeableConcept(xpp)); 11530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 11531 res.setSubType(parseCodeableConcept(xpp)); 11532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 11533 res.setUseElement(parseEnumeration(xpp, Enumerations.Use.NULL, new Enumerations.UseEnumFactory())); 11534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 11535 res.setPatient(parseReference(xpp)); 11536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("billablePeriod")) { 11537 res.setBillablePeriod(parsePeriod(xpp)); 11538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 11539 res.setCreatedElement(parseDateTime(xpp)); 11540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 11541 res.setEnterer(parseReference(xpp)); 11542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { 11543 res.setInsurer(parseReference(xpp)); 11544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 11545 res.setProvider(parseReference(xpp)); 11546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 11547 res.setPriority(parseCodeableConcept(xpp)); 11548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserveRequested")) { 11549 res.setFundsReserveRequested(parseCodeableConcept(xpp)); 11550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserve")) { 11551 res.setFundsReserve(parseCodeableConcept(xpp)); 11552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 11553 res.getRelated().add(parseExplanationOfBenefitRelatedClaimComponent(xpp)); 11554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 11555 res.setPrescription(parseReference(xpp)); 11556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalPrescription")) { 11557 res.setOriginalPrescription(parseReference(xpp)); 11558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 11559 res.setPayee(parseExplanationOfBenefitPayeeComponent(xpp)); 11560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { 11561 res.setReferral(parseReference(xpp)); 11562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 11563 res.setFacility(parseReference(xpp)); 11564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claim")) { 11565 res.setClaim(parseReference(xpp)); 11566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 11567 res.setClaimResponse(parseReference(xpp)); 11568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 11569 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 11570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 11571 res.setDispositionElement(parseString(xpp)); 11572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 11573 res.getPreAuthRef().add(parseString(xpp)); 11574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRefPeriod")) { 11575 res.getPreAuthRefPeriod().add(parsePeriod(xpp)); 11576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { 11577 res.getCareTeam().add(parseExplanationOfBenefitCareTeamComponent(xpp)); 11578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 11579 res.getSupportingInfo().add(parseExplanationOfBenefitSupportingInformationComponent(xpp)); 11580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 11581 res.getDiagnosis().add(parseExplanationOfBenefitDiagnosisComponent(xpp)); 11582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 11583 res.getProcedure().add(parseExplanationOfBenefitProcedureComponent(xpp)); 11584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precedence")) { 11585 res.setPrecedenceElement(parsePositiveInt(xpp)); 11586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 11587 res.getInsurance().add(parseExplanationOfBenefitInsuranceComponent(xpp)); 11588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { 11589 res.setAccident(parseExplanationOfBenefitAccidentComponent(xpp)); 11590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 11591 res.getItem().add(parseExplanationOfBenefitItemComponent(xpp)); 11592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { 11593 res.getAddItem().add(parseExplanationOfBenefitAddedItemComponent(xpp)); 11594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 11595 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 11596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 11597 res.getTotal().add(parseExplanationOfBenefitTotalComponent(xpp)); 11598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payment")) { 11599 res.setPayment(parseExplanationOfBenefitPaymentComponent(xpp)); 11600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("formCode")) { 11601 res.setFormCode(parseCodeableConcept(xpp)); 11602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 11603 res.setForm(parseAttachment(xpp)); 11604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processNote")) { 11605 res.getProcessNote().add(parseExplanationOfBenefitNoteComponent(xpp)); 11606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefitPeriod")) { 11607 res.setBenefitPeriod(parsePeriod(xpp)); 11608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefitBalance")) { 11609 res.getBenefitBalance().add(parseExplanationOfBenefitBenefitBalanceComponent(xpp)); 11610 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 11611 return false; 11612 } 11613 return true; 11614 } 11615 11616 protected ExplanationOfBenefit.RelatedClaimComponent parseExplanationOfBenefitRelatedClaimComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11617 ExplanationOfBenefit.RelatedClaimComponent res = new ExplanationOfBenefit.RelatedClaimComponent(); 11618 parseElementAttributes(xpp, res); 11619 next(xpp); 11620 int eventType = nextNoWhitespace(xpp); 11621 while (eventType != XmlPullParser.END_TAG) { 11622 if (!parseExplanationOfBenefitRelatedClaimComponentContent(eventType, xpp, res)) 11623 unknownContent(xpp); 11624 eventType = nextNoWhitespace(xpp); 11625 } 11626 next(xpp); 11627 parseElementClose(res); 11628 return res; 11629 } 11630 11631 protected boolean parseExplanationOfBenefitRelatedClaimComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.RelatedClaimComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11632 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claim")) { 11633 res.setClaim(parseReference(xpp)); 11634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 11635 res.setRelationship(parseCodeableConcept(xpp)); 11636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 11637 res.setReference(parseIdentifier(xpp)); 11638 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11639 return false; 11640 } 11641 return true; 11642 } 11643 11644 protected ExplanationOfBenefit.PayeeComponent parseExplanationOfBenefitPayeeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11645 ExplanationOfBenefit.PayeeComponent res = new ExplanationOfBenefit.PayeeComponent(); 11646 parseElementAttributes(xpp, res); 11647 next(xpp); 11648 int eventType = nextNoWhitespace(xpp); 11649 while (eventType != XmlPullParser.END_TAG) { 11650 if (!parseExplanationOfBenefitPayeeComponentContent(eventType, xpp, res)) 11651 unknownContent(xpp); 11652 eventType = nextNoWhitespace(xpp); 11653 } 11654 next(xpp); 11655 parseElementClose(res); 11656 return res; 11657 } 11658 11659 protected boolean parseExplanationOfBenefitPayeeComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.PayeeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11660 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11661 res.setType(parseCodeableConcept(xpp)); 11662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 11663 res.setParty(parseReference(xpp)); 11664 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11665 return false; 11666 } 11667 return true; 11668 } 11669 11670 protected ExplanationOfBenefit.CareTeamComponent parseExplanationOfBenefitCareTeamComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11671 ExplanationOfBenefit.CareTeamComponent res = new ExplanationOfBenefit.CareTeamComponent(); 11672 parseElementAttributes(xpp, res); 11673 next(xpp); 11674 int eventType = nextNoWhitespace(xpp); 11675 while (eventType != XmlPullParser.END_TAG) { 11676 if (!parseExplanationOfBenefitCareTeamComponentContent(eventType, xpp, res)) 11677 unknownContent(xpp); 11678 eventType = nextNoWhitespace(xpp); 11679 } 11680 next(xpp); 11681 parseElementClose(res); 11682 return res; 11683 } 11684 11685 protected boolean parseExplanationOfBenefitCareTeamComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.CareTeamComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11686 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11687 res.setSequenceElement(parsePositiveInt(xpp)); 11688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 11689 res.setProvider(parseReference(xpp)); 11690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 11691 res.setResponsibleElement(parseBoolean(xpp)); 11692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 11693 res.setRole(parseCodeableConcept(xpp)); 11694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { 11695 res.setQualification(parseCodeableConcept(xpp)); 11696 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11697 return false; 11698 } 11699 return true; 11700 } 11701 11702 protected ExplanationOfBenefit.SupportingInformationComponent parseExplanationOfBenefitSupportingInformationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11703 ExplanationOfBenefit.SupportingInformationComponent res = new ExplanationOfBenefit.SupportingInformationComponent(); 11704 parseElementAttributes(xpp, res); 11705 next(xpp); 11706 int eventType = nextNoWhitespace(xpp); 11707 while (eventType != XmlPullParser.END_TAG) { 11708 if (!parseExplanationOfBenefitSupportingInformationComponentContent(eventType, xpp, res)) 11709 unknownContent(xpp); 11710 eventType = nextNoWhitespace(xpp); 11711 } 11712 next(xpp); 11713 parseElementClose(res); 11714 return res; 11715 } 11716 11717 protected boolean parseExplanationOfBenefitSupportingInformationComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.SupportingInformationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11718 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11719 res.setSequenceElement(parsePositiveInt(xpp)); 11720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 11721 res.setCategory(parseCodeableConcept(xpp)); 11722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 11723 res.setCode(parseCodeableConcept(xpp)); 11724 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 11725 res.setTiming(parseType("timing", xpp)); 11726 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 11727 res.setValue(parseType("value", xpp)); 11728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 11729 res.setReason(parseCoding(xpp)); 11730 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11731 return false; 11732 } 11733 return true; 11734 } 11735 11736 protected ExplanationOfBenefit.DiagnosisComponent parseExplanationOfBenefitDiagnosisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11737 ExplanationOfBenefit.DiagnosisComponent res = new ExplanationOfBenefit.DiagnosisComponent(); 11738 parseElementAttributes(xpp, res); 11739 next(xpp); 11740 int eventType = nextNoWhitespace(xpp); 11741 while (eventType != XmlPullParser.END_TAG) { 11742 if (!parseExplanationOfBenefitDiagnosisComponentContent(eventType, xpp, res)) 11743 unknownContent(xpp); 11744 eventType = nextNoWhitespace(xpp); 11745 } 11746 next(xpp); 11747 parseElementClose(res); 11748 return res; 11749 } 11750 11751 protected boolean parseExplanationOfBenefitDiagnosisComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11752 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11753 res.setSequenceElement(parsePositiveInt(xpp)); 11754 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "diagnosis")) { 11755 res.setDiagnosis(parseType("diagnosis", xpp)); 11756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11757 res.getType().add(parseCodeableConcept(xpp)); 11758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onAdmission")) { 11759 res.setOnAdmission(parseCodeableConcept(xpp)); 11760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageCode")) { 11761 res.setPackageCode(parseCodeableConcept(xpp)); 11762 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11763 return false; 11764 } 11765 return true; 11766 } 11767 11768 protected ExplanationOfBenefit.ProcedureComponent parseExplanationOfBenefitProcedureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11769 ExplanationOfBenefit.ProcedureComponent res = new ExplanationOfBenefit.ProcedureComponent(); 11770 parseElementAttributes(xpp, res); 11771 next(xpp); 11772 int eventType = nextNoWhitespace(xpp); 11773 while (eventType != XmlPullParser.END_TAG) { 11774 if (!parseExplanationOfBenefitProcedureComponentContent(eventType, xpp, res)) 11775 unknownContent(xpp); 11776 eventType = nextNoWhitespace(xpp); 11777 } 11778 next(xpp); 11779 parseElementClose(res); 11780 return res; 11781 } 11782 11783 protected boolean parseExplanationOfBenefitProcedureComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.ProcedureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11784 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11785 res.setSequenceElement(parsePositiveInt(xpp)); 11786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11787 res.getType().add(parseCodeableConcept(xpp)); 11788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 11789 res.setDateElement(parseDateTime(xpp)); 11790 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "procedure")) { 11791 res.setProcedure(parseType("procedure", xpp)); 11792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 11793 res.getUdi().add(parseReference(xpp)); 11794 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11795 return false; 11796 } 11797 return true; 11798 } 11799 11800 protected ExplanationOfBenefit.InsuranceComponent parseExplanationOfBenefitInsuranceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11801 ExplanationOfBenefit.InsuranceComponent res = new ExplanationOfBenefit.InsuranceComponent(); 11802 parseElementAttributes(xpp, res); 11803 next(xpp); 11804 int eventType = nextNoWhitespace(xpp); 11805 while (eventType != XmlPullParser.END_TAG) { 11806 if (!parseExplanationOfBenefitInsuranceComponentContent(eventType, xpp, res)) 11807 unknownContent(xpp); 11808 eventType = nextNoWhitespace(xpp); 11809 } 11810 next(xpp); 11811 parseElementClose(res); 11812 return res; 11813 } 11814 11815 protected boolean parseExplanationOfBenefitInsuranceComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.InsuranceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11816 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 11817 res.setFocalElement(parseBoolean(xpp)); 11818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 11819 res.setCoverage(parseReference(xpp)); 11820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 11821 res.getPreAuthRef().add(parseString(xpp)); 11822 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11823 return false; 11824 } 11825 return true; 11826 } 11827 11828 protected ExplanationOfBenefit.AccidentComponent parseExplanationOfBenefitAccidentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11829 ExplanationOfBenefit.AccidentComponent res = new ExplanationOfBenefit.AccidentComponent(); 11830 parseElementAttributes(xpp, res); 11831 next(xpp); 11832 int eventType = nextNoWhitespace(xpp); 11833 while (eventType != XmlPullParser.END_TAG) { 11834 if (!parseExplanationOfBenefitAccidentComponentContent(eventType, xpp, res)) 11835 unknownContent(xpp); 11836 eventType = nextNoWhitespace(xpp); 11837 } 11838 next(xpp); 11839 parseElementClose(res); 11840 return res; 11841 } 11842 11843 protected boolean parseExplanationOfBenefitAccidentComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AccidentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11844 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 11845 res.setDateElement(parseDate(xpp)); 11846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 11847 res.setType(parseCodeableConcept(xpp)); 11848 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 11849 res.setLocation(parseType("location", xpp)); 11850 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11851 return false; 11852 } 11853 return true; 11854 } 11855 11856 protected ExplanationOfBenefit.ItemComponent parseExplanationOfBenefitItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11857 ExplanationOfBenefit.ItemComponent res = new ExplanationOfBenefit.ItemComponent(); 11858 parseElementAttributes(xpp, res); 11859 next(xpp); 11860 int eventType = nextNoWhitespace(xpp); 11861 while (eventType != XmlPullParser.END_TAG) { 11862 if (!parseExplanationOfBenefitItemComponentContent(eventType, xpp, res)) 11863 unknownContent(xpp); 11864 eventType = nextNoWhitespace(xpp); 11865 } 11866 next(xpp); 11867 parseElementClose(res); 11868 return res; 11869 } 11870 11871 protected boolean parseExplanationOfBenefitItemComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.ItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11872 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11873 res.setSequenceElement(parsePositiveInt(xpp)); 11874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeamSequence")) { 11875 res.getCareTeamSequence().add(parsePositiveInt(xpp)); 11876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisSequence")) { 11877 res.getDiagnosisSequence().add(parsePositiveInt(xpp)); 11878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedureSequence")) { 11879 res.getProcedureSequence().add(parsePositiveInt(xpp)); 11880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSequence")) { 11881 res.getInformationSequence().add(parsePositiveInt(xpp)); 11882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 11883 res.setRevenue(parseCodeableConcept(xpp)); 11884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 11885 res.setCategory(parseCodeableConcept(xpp)); 11886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 11887 res.setProductOrService(parseCodeableConcept(xpp)); 11888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 11889 res.getModifier().add(parseCodeableConcept(xpp)); 11890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 11891 res.getProgramCode().add(parseCodeableConcept(xpp)); 11892 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 11893 res.setServiced(parseType("serviced", xpp)); 11894 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 11895 res.setLocation(parseType("location", xpp)); 11896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 11897 res.setQuantity(parseQuantity(xpp)); 11898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 11899 res.setUnitPrice(parseMoney(xpp)); 11900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 11901 res.setFactorElement(parseDecimal(xpp)); 11902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 11903 res.setNet(parseMoney(xpp)); 11904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 11905 res.getUdi().add(parseReference(xpp)); 11906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 11907 res.setBodySite(parseCodeableConcept(xpp)); 11908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 11909 res.getSubSite().add(parseCodeableConcept(xpp)); 11910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 11911 res.getEncounter().add(parseReference(xpp)); 11912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 11913 res.getNoteNumber().add(parsePositiveInt(xpp)); 11914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 11915 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 11916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 11917 res.getDetail().add(parseExplanationOfBenefitDetailComponent(xpp)); 11918 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11919 return false; 11920 } 11921 return true; 11922 } 11923 11924 protected ExplanationOfBenefit.AdjudicationComponent parseExplanationOfBenefitAdjudicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11925 ExplanationOfBenefit.AdjudicationComponent res = new ExplanationOfBenefit.AdjudicationComponent(); 11926 parseElementAttributes(xpp, res); 11927 next(xpp); 11928 int eventType = nextNoWhitespace(xpp); 11929 while (eventType != XmlPullParser.END_TAG) { 11930 if (!parseExplanationOfBenefitAdjudicationComponentContent(eventType, xpp, res)) 11931 unknownContent(xpp); 11932 eventType = nextNoWhitespace(xpp); 11933 } 11934 next(xpp); 11935 parseElementClose(res); 11936 return res; 11937 } 11938 11939 protected boolean parseExplanationOfBenefitAdjudicationComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AdjudicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11940 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 11941 res.setCategory(parseCodeableConcept(xpp)); 11942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 11943 res.setReason(parseCodeableConcept(xpp)); 11944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 11945 res.setAmount(parseMoney(xpp)); 11946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 11947 res.setValueElement(parseDecimal(xpp)); 11948 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11949 return false; 11950 } 11951 return true; 11952 } 11953 11954 protected ExplanationOfBenefit.DetailComponent parseExplanationOfBenefitDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 11955 ExplanationOfBenefit.DetailComponent res = new ExplanationOfBenefit.DetailComponent(); 11956 parseElementAttributes(xpp, res); 11957 next(xpp); 11958 int eventType = nextNoWhitespace(xpp); 11959 while (eventType != XmlPullParser.END_TAG) { 11960 if (!parseExplanationOfBenefitDetailComponentContent(eventType, xpp, res)) 11961 unknownContent(xpp); 11962 eventType = nextNoWhitespace(xpp); 11963 } 11964 next(xpp); 11965 parseElementClose(res); 11966 return res; 11967 } 11968 11969 protected boolean parseExplanationOfBenefitDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.DetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 11970 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 11971 res.setSequenceElement(parsePositiveInt(xpp)); 11972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 11973 res.setRevenue(parseCodeableConcept(xpp)); 11974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 11975 res.setCategory(parseCodeableConcept(xpp)); 11976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 11977 res.setProductOrService(parseCodeableConcept(xpp)); 11978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 11979 res.getModifier().add(parseCodeableConcept(xpp)); 11980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 11981 res.getProgramCode().add(parseCodeableConcept(xpp)); 11982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 11983 res.setQuantity(parseQuantity(xpp)); 11984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 11985 res.setUnitPrice(parseMoney(xpp)); 11986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 11987 res.setFactorElement(parseDecimal(xpp)); 11988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 11989 res.setNet(parseMoney(xpp)); 11990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 11991 res.getUdi().add(parseReference(xpp)); 11992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 11993 res.getNoteNumber().add(parsePositiveInt(xpp)); 11994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 11995 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 11996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 11997 res.getSubDetail().add(parseExplanationOfBenefitSubDetailComponent(xpp)); 11998 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 11999 return false; 12000 } 12001 return true; 12002 } 12003 12004 protected ExplanationOfBenefit.SubDetailComponent parseExplanationOfBenefitSubDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12005 ExplanationOfBenefit.SubDetailComponent res = new ExplanationOfBenefit.SubDetailComponent(); 12006 parseElementAttributes(xpp, res); 12007 next(xpp); 12008 int eventType = nextNoWhitespace(xpp); 12009 while (eventType != XmlPullParser.END_TAG) { 12010 if (!parseExplanationOfBenefitSubDetailComponentContent(eventType, xpp, res)) 12011 unknownContent(xpp); 12012 eventType = nextNoWhitespace(xpp); 12013 } 12014 next(xpp); 12015 parseElementClose(res); 12016 return res; 12017 } 12018 12019 protected boolean parseExplanationOfBenefitSubDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.SubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12020 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 12021 res.setSequenceElement(parsePositiveInt(xpp)); 12022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { 12023 res.setRevenue(parseCodeableConcept(xpp)); 12024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12025 res.setCategory(parseCodeableConcept(xpp)); 12026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 12027 res.setProductOrService(parseCodeableConcept(xpp)); 12028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 12029 res.getModifier().add(parseCodeableConcept(xpp)); 12030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 12031 res.getProgramCode().add(parseCodeableConcept(xpp)); 12032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 12033 res.setQuantity(parseQuantity(xpp)); 12034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 12035 res.setUnitPrice(parseMoney(xpp)); 12036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 12037 res.setFactorElement(parseDecimal(xpp)); 12038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 12039 res.setNet(parseMoney(xpp)); 12040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 12041 res.getUdi().add(parseReference(xpp)); 12042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 12043 res.getNoteNumber().add(parsePositiveInt(xpp)); 12044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 12045 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 12046 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12047 return false; 12048 } 12049 return true; 12050 } 12051 12052 protected ExplanationOfBenefit.AddedItemComponent parseExplanationOfBenefitAddedItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12053 ExplanationOfBenefit.AddedItemComponent res = new ExplanationOfBenefit.AddedItemComponent(); 12054 parseElementAttributes(xpp, res); 12055 next(xpp); 12056 int eventType = nextNoWhitespace(xpp); 12057 while (eventType != XmlPullParser.END_TAG) { 12058 if (!parseExplanationOfBenefitAddedItemComponentContent(eventType, xpp, res)) 12059 unknownContent(xpp); 12060 eventType = nextNoWhitespace(xpp); 12061 } 12062 next(xpp); 12063 parseElementClose(res); 12064 return res; 12065 } 12066 12067 protected boolean parseExplanationOfBenefitAddedItemComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AddedItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12068 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("itemSequence")) { 12069 res.getItemSequence().add(parsePositiveInt(xpp)); 12070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequence")) { 12071 res.getDetailSequence().add(parsePositiveInt(xpp)); 12072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetailSequence")) { 12073 res.getSubDetailSequence().add(parsePositiveInt(xpp)); 12074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 12075 res.getProvider().add(parseReference(xpp)); 12076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 12077 res.setProductOrService(parseCodeableConcept(xpp)); 12078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 12079 res.getModifier().add(parseCodeableConcept(xpp)); 12080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { 12081 res.getProgramCode().add(parseCodeableConcept(xpp)); 12082 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { 12083 res.setServiced(parseType("serviced", xpp)); 12084 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { 12085 res.setLocation(parseType("location", xpp)); 12086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 12087 res.setQuantity(parseQuantity(xpp)); 12088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 12089 res.setUnitPrice(parseMoney(xpp)); 12090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 12091 res.setFactorElement(parseDecimal(xpp)); 12092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 12093 res.setNet(parseMoney(xpp)); 12094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 12095 res.setBodySite(parseCodeableConcept(xpp)); 12096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 12097 res.getSubSite().add(parseCodeableConcept(xpp)); 12098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 12099 res.getNoteNumber().add(parsePositiveInt(xpp)); 12100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 12101 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 12102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 12103 res.getDetail().add(parseExplanationOfBenefitAddedItemDetailComponent(xpp)); 12104 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12105 return false; 12106 } 12107 return true; 12108 } 12109 12110 protected ExplanationOfBenefit.AddedItemDetailComponent parseExplanationOfBenefitAddedItemDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12111 ExplanationOfBenefit.AddedItemDetailComponent res = new ExplanationOfBenefit.AddedItemDetailComponent(); 12112 parseElementAttributes(xpp, res); 12113 next(xpp); 12114 int eventType = nextNoWhitespace(xpp); 12115 while (eventType != XmlPullParser.END_TAG) { 12116 if (!parseExplanationOfBenefitAddedItemDetailComponentContent(eventType, xpp, res)) 12117 unknownContent(xpp); 12118 eventType = nextNoWhitespace(xpp); 12119 } 12120 next(xpp); 12121 parseElementClose(res); 12122 return res; 12123 } 12124 12125 protected boolean parseExplanationOfBenefitAddedItemDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AddedItemDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12126 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 12127 res.setProductOrService(parseCodeableConcept(xpp)); 12128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 12129 res.getModifier().add(parseCodeableConcept(xpp)); 12130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 12131 res.setQuantity(parseQuantity(xpp)); 12132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 12133 res.setUnitPrice(parseMoney(xpp)); 12134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 12135 res.setFactorElement(parseDecimal(xpp)); 12136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 12137 res.setNet(parseMoney(xpp)); 12138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 12139 res.getNoteNumber().add(parsePositiveInt(xpp)); 12140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 12141 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 12142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 12143 res.getSubDetail().add(parseExplanationOfBenefitAddedItemDetailSubDetailComponent(xpp)); 12144 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12145 return false; 12146 } 12147 return true; 12148 } 12149 12150 protected ExplanationOfBenefit.AddedItemDetailSubDetailComponent parseExplanationOfBenefitAddedItemDetailSubDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12151 ExplanationOfBenefit.AddedItemDetailSubDetailComponent res = new ExplanationOfBenefit.AddedItemDetailSubDetailComponent(); 12152 parseElementAttributes(xpp, res); 12153 next(xpp); 12154 int eventType = nextNoWhitespace(xpp); 12155 while (eventType != XmlPullParser.END_TAG) { 12156 if (!parseExplanationOfBenefitAddedItemDetailSubDetailComponentContent(eventType, xpp, res)) 12157 unknownContent(xpp); 12158 eventType = nextNoWhitespace(xpp); 12159 } 12160 next(xpp); 12161 parseElementClose(res); 12162 return res; 12163 } 12164 12165 protected boolean parseExplanationOfBenefitAddedItemDetailSubDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AddedItemDetailSubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12166 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { 12167 res.setProductOrService(parseCodeableConcept(xpp)); 12168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 12169 res.getModifier().add(parseCodeableConcept(xpp)); 12170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 12171 res.setQuantity(parseQuantity(xpp)); 12172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 12173 res.setUnitPrice(parseMoney(xpp)); 12174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 12175 res.setFactorElement(parseDecimal(xpp)); 12176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 12177 res.setNet(parseMoney(xpp)); 12178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 12179 res.getNoteNumber().add(parsePositiveInt(xpp)); 12180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 12181 res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); 12182 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12183 return false; 12184 } 12185 return true; 12186 } 12187 12188 protected ExplanationOfBenefit.TotalComponent parseExplanationOfBenefitTotalComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12189 ExplanationOfBenefit.TotalComponent res = new ExplanationOfBenefit.TotalComponent(); 12190 parseElementAttributes(xpp, res); 12191 next(xpp); 12192 int eventType = nextNoWhitespace(xpp); 12193 while (eventType != XmlPullParser.END_TAG) { 12194 if (!parseExplanationOfBenefitTotalComponentContent(eventType, xpp, res)) 12195 unknownContent(xpp); 12196 eventType = nextNoWhitespace(xpp); 12197 } 12198 next(xpp); 12199 parseElementClose(res); 12200 return res; 12201 } 12202 12203 protected boolean parseExplanationOfBenefitTotalComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.TotalComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12204 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12205 res.setCategory(parseCodeableConcept(xpp)); 12206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 12207 res.setAmount(parseMoney(xpp)); 12208 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12209 return false; 12210 } 12211 return true; 12212 } 12213 12214 protected ExplanationOfBenefit.PaymentComponent parseExplanationOfBenefitPaymentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12215 ExplanationOfBenefit.PaymentComponent res = new ExplanationOfBenefit.PaymentComponent(); 12216 parseElementAttributes(xpp, res); 12217 next(xpp); 12218 int eventType = nextNoWhitespace(xpp); 12219 while (eventType != XmlPullParser.END_TAG) { 12220 if (!parseExplanationOfBenefitPaymentComponentContent(eventType, xpp, res)) 12221 unknownContent(xpp); 12222 eventType = nextNoWhitespace(xpp); 12223 } 12224 next(xpp); 12225 parseElementClose(res); 12226 return res; 12227 } 12228 12229 protected boolean parseExplanationOfBenefitPaymentComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.PaymentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12230 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12231 res.setType(parseCodeableConcept(xpp)); 12232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjustment")) { 12233 res.setAdjustment(parseMoney(xpp)); 12234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjustmentReason")) { 12235 res.setAdjustmentReason(parseCodeableConcept(xpp)); 12236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 12237 res.setDateElement(parseDate(xpp)); 12238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 12239 res.setAmount(parseMoney(xpp)); 12240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12241 res.setIdentifier(parseIdentifier(xpp)); 12242 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12243 return false; 12244 } 12245 return true; 12246 } 12247 12248 protected ExplanationOfBenefit.NoteComponent parseExplanationOfBenefitNoteComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12249 ExplanationOfBenefit.NoteComponent res = new ExplanationOfBenefit.NoteComponent(); 12250 parseElementAttributes(xpp, res); 12251 next(xpp); 12252 int eventType = nextNoWhitespace(xpp); 12253 while (eventType != XmlPullParser.END_TAG) { 12254 if (!parseExplanationOfBenefitNoteComponentContent(eventType, xpp, res)) 12255 unknownContent(xpp); 12256 eventType = nextNoWhitespace(xpp); 12257 } 12258 next(xpp); 12259 parseElementClose(res); 12260 return res; 12261 } 12262 12263 protected boolean parseExplanationOfBenefitNoteComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.NoteComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12264 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 12265 res.setNumberElement(parsePositiveInt(xpp)); 12266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12267 res.setTypeElement(parseEnumeration(xpp, Enumerations.NoteType.NULL, new Enumerations.NoteTypeEnumFactory())); 12268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 12269 res.setTextElement(parseString(xpp)); 12270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 12271 res.setLanguage(parseCodeableConcept(xpp)); 12272 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12273 return false; 12274 } 12275 return true; 12276 } 12277 12278 protected ExplanationOfBenefit.BenefitBalanceComponent parseExplanationOfBenefitBenefitBalanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12279 ExplanationOfBenefit.BenefitBalanceComponent res = new ExplanationOfBenefit.BenefitBalanceComponent(); 12280 parseElementAttributes(xpp, res); 12281 next(xpp); 12282 int eventType = nextNoWhitespace(xpp); 12283 while (eventType != XmlPullParser.END_TAG) { 12284 if (!parseExplanationOfBenefitBenefitBalanceComponentContent(eventType, xpp, res)) 12285 unknownContent(xpp); 12286 eventType = nextNoWhitespace(xpp); 12287 } 12288 next(xpp); 12289 parseElementClose(res); 12290 return res; 12291 } 12292 12293 protected boolean parseExplanationOfBenefitBenefitBalanceComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.BenefitBalanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12294 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12295 res.setCategory(parseCodeableConcept(xpp)); 12296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excluded")) { 12297 res.setExcludedElement(parseBoolean(xpp)); 12298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 12299 res.setNameElement(parseString(xpp)); 12300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12301 res.setDescriptionElement(parseString(xpp)); 12302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 12303 res.setNetwork(parseCodeableConcept(xpp)); 12304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 12305 res.setUnit(parseCodeableConcept(xpp)); 12306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { 12307 res.setTerm(parseCodeableConcept(xpp)); 12308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("financial")) { 12309 res.getFinancial().add(parseExplanationOfBenefitBenefitComponent(xpp)); 12310 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12311 return false; 12312 } 12313 return true; 12314 } 12315 12316 protected ExplanationOfBenefit.BenefitComponent parseExplanationOfBenefitBenefitComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12317 ExplanationOfBenefit.BenefitComponent res = new ExplanationOfBenefit.BenefitComponent(); 12318 parseElementAttributes(xpp, res); 12319 next(xpp); 12320 int eventType = nextNoWhitespace(xpp); 12321 while (eventType != XmlPullParser.END_TAG) { 12322 if (!parseExplanationOfBenefitBenefitComponentContent(eventType, xpp, res)) 12323 unknownContent(xpp); 12324 eventType = nextNoWhitespace(xpp); 12325 } 12326 next(xpp); 12327 parseElementClose(res); 12328 return res; 12329 } 12330 12331 protected boolean parseExplanationOfBenefitBenefitComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.BenefitComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12332 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12333 res.setType(parseCodeableConcept(xpp)); 12334 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "allowed")) { 12335 res.setAllowed(parseType("allowed", xpp)); 12336 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "used")) { 12337 res.setUsed(parseType("used", xpp)); 12338 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12339 return false; 12340 } 12341 return true; 12342 } 12343 12344 protected FamilyMemberHistory parseFamilyMemberHistory(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12345 FamilyMemberHistory res = new FamilyMemberHistory(); 12346 parseResourceAttributes(xpp, res); 12347 next(xpp); 12348 int eventType = nextNoWhitespace(xpp); 12349 while (eventType != XmlPullParser.END_TAG) { 12350 if (!parseFamilyMemberHistoryContent(eventType, xpp, res)) 12351 unknownContent(xpp); 12352 eventType = nextNoWhitespace(xpp); 12353 } 12354 next(xpp); 12355 parseElementClose(res); 12356 return res; 12357 } 12358 12359 protected boolean parseFamilyMemberHistoryContent(int eventType, XmlPullParser xpp, FamilyMemberHistory res) throws XmlPullParserException, IOException, FHIRFormatError { 12360 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12361 res.getIdentifier().add(parseIdentifier(xpp)); 12362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 12363 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 12364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 12365 res.getInstantiatesUri().add(parseUri(xpp)); 12366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 12367 res.setStatusElement(parseEnumeration(xpp, FamilyMemberHistory.FamilyHistoryStatus.NULL, new FamilyMemberHistory.FamilyHistoryStatusEnumFactory())); 12368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 12369 res.setDataAbsentReason(parseCodeableConcept(xpp)); 12370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 12371 res.setPatient(parseReference(xpp)); 12372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 12373 res.setDateElement(parseDateTime(xpp)); 12374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 12375 res.setNameElement(parseString(xpp)); 12376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 12377 res.setRelationship(parseCodeableConcept(xpp)); 12378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sex")) { 12379 res.setSex(parseCodeableConcept(xpp)); 12380 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "born")) { 12381 res.setBorn(parseType("born", xpp)); 12382 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "age")) { 12383 res.setAge(parseType("age", xpp)); 12384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("estimatedAge")) { 12385 res.setEstimatedAgeElement(parseBoolean(xpp)); 12386 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 12387 res.setDeceased(parseType("deceased", xpp)); 12388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 12389 res.getReasonCode().add(parseCodeableConcept(xpp)); 12390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 12391 res.getReasonReference().add(parseReference(xpp)); 12392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 12393 res.getNote().add(parseAnnotation(xpp)); 12394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 12395 res.getCondition().add(parseFamilyMemberHistoryConditionComponent(xpp)); 12396 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12397 return false; 12398 } 12399 return true; 12400 } 12401 12402 protected FamilyMemberHistory.FamilyMemberHistoryConditionComponent parseFamilyMemberHistoryConditionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12403 FamilyMemberHistory.FamilyMemberHistoryConditionComponent res = new FamilyMemberHistory.FamilyMemberHistoryConditionComponent(); 12404 parseElementAttributes(xpp, res); 12405 next(xpp); 12406 int eventType = nextNoWhitespace(xpp); 12407 while (eventType != XmlPullParser.END_TAG) { 12408 if (!parseFamilyMemberHistoryConditionComponentContent(eventType, xpp, res)) 12409 unknownContent(xpp); 12410 eventType = nextNoWhitespace(xpp); 12411 } 12412 next(xpp); 12413 parseElementClose(res); 12414 return res; 12415 } 12416 12417 protected boolean parseFamilyMemberHistoryConditionComponentContent(int eventType, XmlPullParser xpp, FamilyMemberHistory.FamilyMemberHistoryConditionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12418 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12419 res.setCode(parseCodeableConcept(xpp)); 12420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 12421 res.setOutcome(parseCodeableConcept(xpp)); 12422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contributedToDeath")) { 12423 res.setContributedToDeathElement(parseBoolean(xpp)); 12424 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 12425 res.setOnset(parseType("onset", xpp)); 12426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 12427 res.getNote().add(parseAnnotation(xpp)); 12428 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12429 return false; 12430 } 12431 return true; 12432 } 12433 12434 protected Flag parseFlag(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12435 Flag res = new Flag(); 12436 parseResourceAttributes(xpp, res); 12437 next(xpp); 12438 int eventType = nextNoWhitespace(xpp); 12439 while (eventType != XmlPullParser.END_TAG) { 12440 if (!parseFlagContent(eventType, xpp, res)) 12441 unknownContent(xpp); 12442 eventType = nextNoWhitespace(xpp); 12443 } 12444 next(xpp); 12445 parseElementClose(res); 12446 return res; 12447 } 12448 12449 protected boolean parseFlagContent(int eventType, XmlPullParser xpp, Flag res) throws XmlPullParserException, IOException, FHIRFormatError { 12450 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12451 res.getIdentifier().add(parseIdentifier(xpp)); 12452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 12453 res.setStatusElement(parseEnumeration(xpp, Flag.FlagStatus.NULL, new Flag.FlagStatusEnumFactory())); 12454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12455 res.getCategory().add(parseCodeableConcept(xpp)); 12456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12457 res.setCode(parseCodeableConcept(xpp)); 12458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 12459 res.setSubject(parseReference(xpp)); 12460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 12461 res.setPeriod(parsePeriod(xpp)); 12462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 12463 res.setEncounter(parseReference(xpp)); 12464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 12465 res.setAuthor(parseReference(xpp)); 12466 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12467 return false; 12468 } 12469 return true; 12470 } 12471 12472 protected Goal parseGoal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12473 Goal res = new Goal(); 12474 parseResourceAttributes(xpp, res); 12475 next(xpp); 12476 int eventType = nextNoWhitespace(xpp); 12477 while (eventType != XmlPullParser.END_TAG) { 12478 if (!parseGoalContent(eventType, xpp, res)) 12479 unknownContent(xpp); 12480 eventType = nextNoWhitespace(xpp); 12481 } 12482 next(xpp); 12483 parseElementClose(res); 12484 return res; 12485 } 12486 12487 protected boolean parseGoalContent(int eventType, XmlPullParser xpp, Goal res) throws XmlPullParserException, IOException, FHIRFormatError { 12488 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12489 res.getIdentifier().add(parseIdentifier(xpp)); 12490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lifecycleStatus")) { 12491 res.setLifecycleStatusElement(parseEnumeration(xpp, Goal.GoalLifecycleStatus.NULL, new Goal.GoalLifecycleStatusEnumFactory())); 12492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("achievementStatus")) { 12493 res.setAchievementStatus(parseCodeableConcept(xpp)); 12494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12495 res.getCategory().add(parseCodeableConcept(xpp)); 12496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 12497 res.setPriority(parseCodeableConcept(xpp)); 12498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12499 res.setDescription(parseCodeableConcept(xpp)); 12500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 12501 res.setSubject(parseReference(xpp)); 12502 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "start")) { 12503 res.setStart(parseType("start", xpp)); 12504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 12505 res.getTarget().add(parseGoalTargetComponent(xpp)); 12506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 12507 res.setStatusDateElement(parseDate(xpp)); 12508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 12509 res.setStatusReasonElement(parseString(xpp)); 12510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expressedBy")) { 12511 res.setExpressedBy(parseReference(xpp)); 12512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 12513 res.getAddresses().add(parseReference(xpp)); 12514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 12515 res.getNote().add(parseAnnotation(xpp)); 12516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeCode")) { 12517 res.getOutcomeCode().add(parseCodeableConcept(xpp)); 12518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeReference")) { 12519 res.getOutcomeReference().add(parseReference(xpp)); 12520 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12521 return false; 12522 } 12523 return true; 12524 } 12525 12526 protected Goal.GoalTargetComponent parseGoalTargetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12527 Goal.GoalTargetComponent res = new Goal.GoalTargetComponent(); 12528 parseElementAttributes(xpp, res); 12529 next(xpp); 12530 int eventType = nextNoWhitespace(xpp); 12531 while (eventType != XmlPullParser.END_TAG) { 12532 if (!parseGoalTargetComponentContent(eventType, xpp, res)) 12533 unknownContent(xpp); 12534 eventType = nextNoWhitespace(xpp); 12535 } 12536 next(xpp); 12537 parseElementClose(res); 12538 return res; 12539 } 12540 12541 protected boolean parseGoalTargetComponentContent(int eventType, XmlPullParser xpp, Goal.GoalTargetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12542 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measure")) { 12543 res.setMeasure(parseCodeableConcept(xpp)); 12544 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "detail")) { 12545 res.setDetail(parseType("detail", xpp)); 12546 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "due")) { 12547 res.setDue(parseType("due", xpp)); 12548 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12549 return false; 12550 } 12551 return true; 12552 } 12553 12554 protected GraphDefinition parseGraphDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12555 GraphDefinition res = new GraphDefinition(); 12556 parseResourceAttributes(xpp, res); 12557 next(xpp); 12558 int eventType = nextNoWhitespace(xpp); 12559 while (eventType != XmlPullParser.END_TAG) { 12560 if (!parseGraphDefinitionContent(eventType, xpp, res)) 12561 unknownContent(xpp); 12562 eventType = nextNoWhitespace(xpp); 12563 } 12564 next(xpp); 12565 parseElementClose(res); 12566 return res; 12567 } 12568 12569 protected boolean parseGraphDefinitionContent(int eventType, XmlPullParser xpp, GraphDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 12570 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 12571 res.setUrlElement(parseUri(xpp)); 12572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 12573 res.setVersionElement(parseString(xpp)); 12574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 12575 res.setNameElement(parseString(xpp)); 12576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 12577 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 12578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 12579 res.setExperimentalElement(parseBoolean(xpp)); 12580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 12581 res.setDateElement(parseDateTime(xpp)); 12582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 12583 res.setPublisherElement(parseString(xpp)); 12584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 12585 res.getContact().add(parseContactDetail(xpp)); 12586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12587 res.setDescriptionElement(parseMarkdown(xpp)); 12588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 12589 res.getUseContext().add(parseUsageContext(xpp)); 12590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 12591 res.getJurisdiction().add(parseCodeableConcept(xpp)); 12592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 12593 res.setPurposeElement(parseMarkdown(xpp)); 12594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 12595 res.setStartElement(parseCode(xpp)); 12596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 12597 res.setProfileElement(parseCanonical(xpp)); 12598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 12599 res.getLink().add(parseGraphDefinitionLinkComponent(xpp)); 12600 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12601 return false; 12602 } 12603 return true; 12604 } 12605 12606 protected GraphDefinition.GraphDefinitionLinkComponent parseGraphDefinitionLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12607 GraphDefinition.GraphDefinitionLinkComponent res = new GraphDefinition.GraphDefinitionLinkComponent(); 12608 parseElementAttributes(xpp, res); 12609 next(xpp); 12610 int eventType = nextNoWhitespace(xpp); 12611 while (eventType != XmlPullParser.END_TAG) { 12612 if (!parseGraphDefinitionLinkComponentContent(eventType, xpp, res)) 12613 unknownContent(xpp); 12614 eventType = nextNoWhitespace(xpp); 12615 } 12616 next(xpp); 12617 parseElementClose(res); 12618 return res; 12619 } 12620 12621 protected boolean parseGraphDefinitionLinkComponentContent(int eventType, XmlPullParser xpp, GraphDefinition.GraphDefinitionLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12622 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 12623 res.setPathElement(parseString(xpp)); 12624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sliceName")) { 12625 res.setSliceNameElement(parseString(xpp)); 12626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 12627 res.setMinElement(parseInteger(xpp)); 12628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 12629 res.setMaxElement(parseString(xpp)); 12630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12631 res.setDescriptionElement(parseString(xpp)); 12632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 12633 res.getTarget().add(parseGraphDefinitionLinkTargetComponent(xpp)); 12634 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12635 return false; 12636 } 12637 return true; 12638 } 12639 12640 protected GraphDefinition.GraphDefinitionLinkTargetComponent parseGraphDefinitionLinkTargetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12641 GraphDefinition.GraphDefinitionLinkTargetComponent res = new GraphDefinition.GraphDefinitionLinkTargetComponent(); 12642 parseElementAttributes(xpp, res); 12643 next(xpp); 12644 int eventType = nextNoWhitespace(xpp); 12645 while (eventType != XmlPullParser.END_TAG) { 12646 if (!parseGraphDefinitionLinkTargetComponentContent(eventType, xpp, res)) 12647 unknownContent(xpp); 12648 eventType = nextNoWhitespace(xpp); 12649 } 12650 next(xpp); 12651 parseElementClose(res); 12652 return res; 12653 } 12654 12655 protected boolean parseGraphDefinitionLinkTargetComponentContent(int eventType, XmlPullParser xpp, GraphDefinition.GraphDefinitionLinkTargetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12656 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12657 res.setTypeElement(parseCode(xpp)); 12658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("params")) { 12659 res.setParamsElement(parseString(xpp)); 12660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 12661 res.setProfileElement(parseCanonical(xpp)); 12662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compartment")) { 12663 res.getCompartment().add(parseGraphDefinitionLinkTargetCompartmentComponent(xpp)); 12664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 12665 res.getLink().add(parseGraphDefinitionLinkComponent(xpp)); 12666 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12667 return false; 12668 } 12669 return true; 12670 } 12671 12672 protected GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent parseGraphDefinitionLinkTargetCompartmentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12673 GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent res = new GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent(); 12674 parseElementAttributes(xpp, res); 12675 next(xpp); 12676 int eventType = nextNoWhitespace(xpp); 12677 while (eventType != XmlPullParser.END_TAG) { 12678 if (!parseGraphDefinitionLinkTargetCompartmentComponentContent(eventType, xpp, res)) 12679 unknownContent(xpp); 12680 eventType = nextNoWhitespace(xpp); 12681 } 12682 next(xpp); 12683 parseElementClose(res); 12684 return res; 12685 } 12686 12687 protected boolean parseGraphDefinitionLinkTargetCompartmentComponentContent(int eventType, XmlPullParser xpp, GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12688 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 12689 res.setUseElement(parseEnumeration(xpp, GraphDefinition.GraphCompartmentUse.NULL, new GraphDefinition.GraphCompartmentUseEnumFactory())); 12690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12691 res.setCodeElement(parseEnumeration(xpp, Enumerations.CompartmentType.NULL, new Enumerations.CompartmentTypeEnumFactory())); 12692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 12693 res.setRuleElement(parseEnumeration(xpp, GraphDefinition.GraphCompartmentRule.NULL, new GraphDefinition.GraphCompartmentRuleEnumFactory())); 12694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 12695 res.setExpressionElement(parseString(xpp)); 12696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12697 res.setDescriptionElement(parseString(xpp)); 12698 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12699 return false; 12700 } 12701 return true; 12702 } 12703 12704 protected Group parseGroup(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12705 Group res = new Group(); 12706 parseResourceAttributes(xpp, res); 12707 next(xpp); 12708 int eventType = nextNoWhitespace(xpp); 12709 while (eventType != XmlPullParser.END_TAG) { 12710 if (!parseGroupContent(eventType, xpp, res)) 12711 unknownContent(xpp); 12712 eventType = nextNoWhitespace(xpp); 12713 } 12714 next(xpp); 12715 parseElementClose(res); 12716 return res; 12717 } 12718 12719 protected boolean parseGroupContent(int eventType, XmlPullParser xpp, Group res) throws XmlPullParserException, IOException, FHIRFormatError { 12720 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12721 res.getIdentifier().add(parseIdentifier(xpp)); 12722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 12723 res.setActiveElement(parseBoolean(xpp)); 12724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12725 res.setTypeElement(parseEnumeration(xpp, Group.GroupType.NULL, new Group.GroupTypeEnumFactory())); 12726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 12727 res.setActualElement(parseBoolean(xpp)); 12728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12729 res.setCode(parseCodeableConcept(xpp)); 12730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 12731 res.setNameElement(parseString(xpp)); 12732 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 12733 res.setQuantityElement(parseUnsignedInt(xpp)); 12734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingEntity")) { 12735 res.setManagingEntity(parseReference(xpp)); 12736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 12737 res.getCharacteristic().add(parseGroupCharacteristicComponent(xpp)); 12738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 12739 res.getMember().add(parseGroupMemberComponent(xpp)); 12740 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12741 return false; 12742 } 12743 return true; 12744 } 12745 12746 protected Group.GroupCharacteristicComponent parseGroupCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12747 Group.GroupCharacteristicComponent res = new Group.GroupCharacteristicComponent(); 12748 parseElementAttributes(xpp, res); 12749 next(xpp); 12750 int eventType = nextNoWhitespace(xpp); 12751 while (eventType != XmlPullParser.END_TAG) { 12752 if (!parseGroupCharacteristicComponentContent(eventType, xpp, res)) 12753 unknownContent(xpp); 12754 eventType = nextNoWhitespace(xpp); 12755 } 12756 next(xpp); 12757 parseElementClose(res); 12758 return res; 12759 } 12760 12761 protected boolean parseGroupCharacteristicComponentContent(int eventType, XmlPullParser xpp, Group.GroupCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12762 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12763 res.setCode(parseCodeableConcept(xpp)); 12764 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 12765 res.setValue(parseType("value", xpp)); 12766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 12767 res.setExcludeElement(parseBoolean(xpp)); 12768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 12769 res.setPeriod(parsePeriod(xpp)); 12770 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12771 return false; 12772 } 12773 return true; 12774 } 12775 12776 protected Group.GroupMemberComponent parseGroupMemberComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12777 Group.GroupMemberComponent res = new Group.GroupMemberComponent(); 12778 parseElementAttributes(xpp, res); 12779 next(xpp); 12780 int eventType = nextNoWhitespace(xpp); 12781 while (eventType != XmlPullParser.END_TAG) { 12782 if (!parseGroupMemberComponentContent(eventType, xpp, res)) 12783 unknownContent(xpp); 12784 eventType = nextNoWhitespace(xpp); 12785 } 12786 next(xpp); 12787 parseElementClose(res); 12788 return res; 12789 } 12790 12791 protected boolean parseGroupMemberComponentContent(int eventType, XmlPullParser xpp, Group.GroupMemberComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12792 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 12793 res.setEntity(parseReference(xpp)); 12794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 12795 res.setPeriod(parsePeriod(xpp)); 12796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inactive")) { 12797 res.setInactiveElement(parseBoolean(xpp)); 12798 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12799 return false; 12800 } 12801 return true; 12802 } 12803 12804 protected GuidanceResponse parseGuidanceResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12805 GuidanceResponse res = new GuidanceResponse(); 12806 parseResourceAttributes(xpp, res); 12807 next(xpp); 12808 int eventType = nextNoWhitespace(xpp); 12809 while (eventType != XmlPullParser.END_TAG) { 12810 if (!parseGuidanceResponseContent(eventType, xpp, res)) 12811 unknownContent(xpp); 12812 eventType = nextNoWhitespace(xpp); 12813 } 12814 next(xpp); 12815 parseElementClose(res); 12816 return res; 12817 } 12818 12819 protected boolean parseGuidanceResponseContent(int eventType, XmlPullParser xpp, GuidanceResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 12820 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestIdentifier")) { 12821 res.setRequestIdentifier(parseIdentifier(xpp)); 12822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12823 res.getIdentifier().add(parseIdentifier(xpp)); 12824 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "module")) { 12825 res.setModule(parseType("module", xpp)); 12826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 12827 res.setStatusElement(parseEnumeration(xpp, GuidanceResponse.GuidanceResponseStatus.NULL, new GuidanceResponse.GuidanceResponseStatusEnumFactory())); 12828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 12829 res.setSubject(parseReference(xpp)); 12830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 12831 res.setEncounter(parseReference(xpp)); 12832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("occurrenceDateTime")) { 12833 res.setOccurrenceDateTimeElement(parseDateTime(xpp)); 12834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 12835 res.setPerformer(parseReference(xpp)); 12836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 12837 res.getReasonCode().add(parseCodeableConcept(xpp)); 12838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 12839 res.getReasonReference().add(parseReference(xpp)); 12840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 12841 res.getNote().add(parseAnnotation(xpp)); 12842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evaluationMessage")) { 12843 res.getEvaluationMessage().add(parseReference(xpp)); 12844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outputParameters")) { 12845 res.setOutputParameters(parseReference(xpp)); 12846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 12847 res.setResult(parseReference(xpp)); 12848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataRequirement")) { 12849 res.getDataRequirement().add(parseDataRequirement(xpp)); 12850 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12851 return false; 12852 } 12853 return true; 12854 } 12855 12856 protected HealthcareService parseHealthcareService(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12857 HealthcareService res = new HealthcareService(); 12858 parseResourceAttributes(xpp, res); 12859 next(xpp); 12860 int eventType = nextNoWhitespace(xpp); 12861 while (eventType != XmlPullParser.END_TAG) { 12862 if (!parseHealthcareServiceContent(eventType, xpp, res)) 12863 unknownContent(xpp); 12864 eventType = nextNoWhitespace(xpp); 12865 } 12866 next(xpp); 12867 parseElementClose(res); 12868 return res; 12869 } 12870 12871 protected boolean parseHealthcareServiceContent(int eventType, XmlPullParser xpp, HealthcareService res) throws XmlPullParserException, IOException, FHIRFormatError { 12872 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 12873 res.getIdentifier().add(parseIdentifier(xpp)); 12874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 12875 res.setActiveElement(parseBoolean(xpp)); 12876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("providedBy")) { 12877 res.setProvidedBy(parseReference(xpp)); 12878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 12879 res.getCategory().add(parseCodeableConcept(xpp)); 12880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 12881 res.getType().add(parseCodeableConcept(xpp)); 12882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 12883 res.getSpecialty().add(parseCodeableConcept(xpp)); 12884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 12885 res.getLocation().add(parseReference(xpp)); 12886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 12887 res.setNameElement(parseString(xpp)); 12888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 12889 res.setCommentElement(parseString(xpp)); 12890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extraDetails")) { 12891 res.setExtraDetailsElement(parseMarkdown(xpp)); 12892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 12893 res.setPhoto(parseAttachment(xpp)); 12894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 12895 res.getTelecom().add(parseContactPoint(xpp)); 12896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { 12897 res.getCoverageArea().add(parseReference(xpp)); 12898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvisionCode")) { 12899 res.getServiceProvisionCode().add(parseCodeableConcept(xpp)); 12900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eligibility")) { 12901 res.getEligibility().add(parseHealthcareServiceEligibilityComponent(xpp)); 12902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("program")) { 12903 res.getProgram().add(parseCodeableConcept(xpp)); 12904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 12905 res.getCharacteristic().add(parseCodeableConcept(xpp)); 12906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 12907 res.getCommunication().add(parseCodeableConcept(xpp)); 12908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralMethod")) { 12909 res.getReferralMethod().add(parseCodeableConcept(xpp)); 12910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentRequired")) { 12911 res.setAppointmentRequiredElement(parseBoolean(xpp)); 12912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { 12913 res.getAvailableTime().add(parseHealthcareServiceAvailableTimeComponent(xpp)); 12914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { 12915 res.getNotAvailable().add(parseHealthcareServiceNotAvailableComponent(xpp)); 12916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { 12917 res.setAvailabilityExceptionsElement(parseString(xpp)); 12918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 12919 res.getEndpoint().add(parseReference(xpp)); 12920 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 12921 return false; 12922 } 12923 return true; 12924 } 12925 12926 protected HealthcareService.HealthcareServiceEligibilityComponent parseHealthcareServiceEligibilityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12927 HealthcareService.HealthcareServiceEligibilityComponent res = new HealthcareService.HealthcareServiceEligibilityComponent(); 12928 parseElementAttributes(xpp, res); 12929 next(xpp); 12930 int eventType = nextNoWhitespace(xpp); 12931 while (eventType != XmlPullParser.END_TAG) { 12932 if (!parseHealthcareServiceEligibilityComponentContent(eventType, xpp, res)) 12933 unknownContent(xpp); 12934 eventType = nextNoWhitespace(xpp); 12935 } 12936 next(xpp); 12937 parseElementClose(res); 12938 return res; 12939 } 12940 12941 protected boolean parseHealthcareServiceEligibilityComponentContent(int eventType, XmlPullParser xpp, HealthcareService.HealthcareServiceEligibilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12942 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 12943 res.setCode(parseCodeableConcept(xpp)); 12944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 12945 res.setCommentElement(parseMarkdown(xpp)); 12946 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12947 return false; 12948 } 12949 return true; 12950 } 12951 12952 protected HealthcareService.HealthcareServiceAvailableTimeComponent parseHealthcareServiceAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12953 HealthcareService.HealthcareServiceAvailableTimeComponent res = new HealthcareService.HealthcareServiceAvailableTimeComponent(); 12954 parseElementAttributes(xpp, res); 12955 next(xpp); 12956 int eventType = nextNoWhitespace(xpp); 12957 while (eventType != XmlPullParser.END_TAG) { 12958 if (!parseHealthcareServiceAvailableTimeComponentContent(eventType, xpp, res)) 12959 unknownContent(xpp); 12960 eventType = nextNoWhitespace(xpp); 12961 } 12962 next(xpp); 12963 parseElementClose(res); 12964 return res; 12965 } 12966 12967 protected boolean parseHealthcareServiceAvailableTimeComponentContent(int eventType, XmlPullParser xpp, HealthcareService.HealthcareServiceAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12968 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { 12969 res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); 12970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { 12971 res.setAllDayElement(parseBoolean(xpp)); 12972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { 12973 res.setAvailableStartTimeElement(parseTime(xpp)); 12974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { 12975 res.setAvailableEndTimeElement(parseTime(xpp)); 12976 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 12977 return false; 12978 } 12979 return true; 12980 } 12981 12982 protected HealthcareService.HealthcareServiceNotAvailableComponent parseHealthcareServiceNotAvailableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 12983 HealthcareService.HealthcareServiceNotAvailableComponent res = new HealthcareService.HealthcareServiceNotAvailableComponent(); 12984 parseElementAttributes(xpp, res); 12985 next(xpp); 12986 int eventType = nextNoWhitespace(xpp); 12987 while (eventType != XmlPullParser.END_TAG) { 12988 if (!parseHealthcareServiceNotAvailableComponentContent(eventType, xpp, res)) 12989 unknownContent(xpp); 12990 eventType = nextNoWhitespace(xpp); 12991 } 12992 next(xpp); 12993 parseElementClose(res); 12994 return res; 12995 } 12996 12997 protected boolean parseHealthcareServiceNotAvailableComponentContent(int eventType, XmlPullParser xpp, HealthcareService.HealthcareServiceNotAvailableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 12998 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 12999 res.setDescriptionElement(parseString(xpp)); 13000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { 13001 res.setDuring(parsePeriod(xpp)); 13002 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13003 return false; 13004 } 13005 return true; 13006 } 13007 13008 protected ImagingStudy parseImagingStudy(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13009 ImagingStudy res = new ImagingStudy(); 13010 parseResourceAttributes(xpp, res); 13011 next(xpp); 13012 int eventType = nextNoWhitespace(xpp); 13013 while (eventType != XmlPullParser.END_TAG) { 13014 if (!parseImagingStudyContent(eventType, xpp, res)) 13015 unknownContent(xpp); 13016 eventType = nextNoWhitespace(xpp); 13017 } 13018 next(xpp); 13019 parseElementClose(res); 13020 return res; 13021 } 13022 13023 protected boolean parseImagingStudyContent(int eventType, XmlPullParser xpp, ImagingStudy res) throws XmlPullParserException, IOException, FHIRFormatError { 13024 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 13025 res.getIdentifier().add(parseIdentifier(xpp)); 13026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 13027 res.setStatusElement(parseEnumeration(xpp, ImagingStudy.ImagingStudyStatus.NULL, new ImagingStudy.ImagingStudyStatusEnumFactory())); 13028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modality")) { 13029 res.getModality().add(parseCoding(xpp)); 13030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 13031 res.setSubject(parseReference(xpp)); 13032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 13033 res.setEncounter(parseReference(xpp)); 13034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 13035 res.setStartedElement(parseDateTime(xpp)); 13036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 13037 res.getBasedOn().add(parseReference(xpp)); 13038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referrer")) { 13039 res.setReferrer(parseReference(xpp)); 13040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpreter")) { 13041 res.getInterpreter().add(parseReference(xpp)); 13042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 13043 res.getEndpoint().add(parseReference(xpp)); 13044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfSeries")) { 13045 res.setNumberOfSeriesElement(parseUnsignedInt(xpp)); 13046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 13047 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 13048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedureReference")) { 13049 res.setProcedureReference(parseReference(xpp)); 13050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedureCode")) { 13051 res.getProcedureCode().add(parseCodeableConcept(xpp)); 13052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 13053 res.setLocation(parseReference(xpp)); 13054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 13055 res.getReasonCode().add(parseCodeableConcept(xpp)); 13056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 13057 res.getReasonReference().add(parseReference(xpp)); 13058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 13059 res.getNote().add(parseAnnotation(xpp)); 13060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13061 res.setDescriptionElement(parseString(xpp)); 13062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 13063 res.getSeries().add(parseImagingStudySeriesComponent(xpp)); 13064 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13065 return false; 13066 } 13067 return true; 13068 } 13069 13070 protected ImagingStudy.ImagingStudySeriesComponent parseImagingStudySeriesComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13071 ImagingStudy.ImagingStudySeriesComponent res = new ImagingStudy.ImagingStudySeriesComponent(); 13072 parseElementAttributes(xpp, res); 13073 next(xpp); 13074 int eventType = nextNoWhitespace(xpp); 13075 while (eventType != XmlPullParser.END_TAG) { 13076 if (!parseImagingStudySeriesComponentContent(eventType, xpp, res)) 13077 unknownContent(xpp); 13078 eventType = nextNoWhitespace(xpp); 13079 } 13080 next(xpp); 13081 parseElementClose(res); 13082 return res; 13083 } 13084 13085 protected boolean parseImagingStudySeriesComponentContent(int eventType, XmlPullParser xpp, ImagingStudy.ImagingStudySeriesComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13086 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 13087 res.setUidElement(parseId(xpp)); 13088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 13089 res.setNumberElement(parseUnsignedInt(xpp)); 13090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modality")) { 13091 res.setModality(parseCoding(xpp)); 13092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13093 res.setDescriptionElement(parseString(xpp)); 13094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 13095 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 13096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 13097 res.getEndpoint().add(parseReference(xpp)); 13098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 13099 res.setBodySite(parseCoding(xpp)); 13100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("laterality")) { 13101 res.setLaterality(parseCoding(xpp)); 13102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 13103 res.getSpecimen().add(parseReference(xpp)); 13104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 13105 res.setStartedElement(parseDateTime(xpp)); 13106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 13107 res.getPerformer().add(parseImagingStudySeriesPerformerComponent(xpp)); 13108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 13109 res.getInstance().add(parseImagingStudySeriesInstanceComponent(xpp)); 13110 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13111 return false; 13112 } 13113 return true; 13114 } 13115 13116 protected ImagingStudy.ImagingStudySeriesPerformerComponent parseImagingStudySeriesPerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13117 ImagingStudy.ImagingStudySeriesPerformerComponent res = new ImagingStudy.ImagingStudySeriesPerformerComponent(); 13118 parseElementAttributes(xpp, res); 13119 next(xpp); 13120 int eventType = nextNoWhitespace(xpp); 13121 while (eventType != XmlPullParser.END_TAG) { 13122 if (!parseImagingStudySeriesPerformerComponentContent(eventType, xpp, res)) 13123 unknownContent(xpp); 13124 eventType = nextNoWhitespace(xpp); 13125 } 13126 next(xpp); 13127 parseElementClose(res); 13128 return res; 13129 } 13130 13131 protected boolean parseImagingStudySeriesPerformerComponentContent(int eventType, XmlPullParser xpp, ImagingStudy.ImagingStudySeriesPerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13132 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 13133 res.setFunction(parseCodeableConcept(xpp)); 13134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 13135 res.setActor(parseReference(xpp)); 13136 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13137 return false; 13138 } 13139 return true; 13140 } 13141 13142 protected ImagingStudy.ImagingStudySeriesInstanceComponent parseImagingStudySeriesInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13143 ImagingStudy.ImagingStudySeriesInstanceComponent res = new ImagingStudy.ImagingStudySeriesInstanceComponent(); 13144 parseElementAttributes(xpp, res); 13145 next(xpp); 13146 int eventType = nextNoWhitespace(xpp); 13147 while (eventType != XmlPullParser.END_TAG) { 13148 if (!parseImagingStudySeriesInstanceComponentContent(eventType, xpp, res)) 13149 unknownContent(xpp); 13150 eventType = nextNoWhitespace(xpp); 13151 } 13152 next(xpp); 13153 parseElementClose(res); 13154 return res; 13155 } 13156 13157 protected boolean parseImagingStudySeriesInstanceComponentContent(int eventType, XmlPullParser xpp, ImagingStudy.ImagingStudySeriesInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13158 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 13159 res.setUidElement(parseId(xpp)); 13160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sopClass")) { 13161 res.setSopClass(parseCoding(xpp)); 13162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 13163 res.setNumberElement(parseUnsignedInt(xpp)); 13164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 13165 res.setTitleElement(parseString(xpp)); 13166 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13167 return false; 13168 } 13169 return true; 13170 } 13171 13172 protected Immunization parseImmunization(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13173 Immunization res = new Immunization(); 13174 parseResourceAttributes(xpp, res); 13175 next(xpp); 13176 int eventType = nextNoWhitespace(xpp); 13177 while (eventType != XmlPullParser.END_TAG) { 13178 if (!parseImmunizationContent(eventType, xpp, res)) 13179 unknownContent(xpp); 13180 eventType = nextNoWhitespace(xpp); 13181 } 13182 next(xpp); 13183 parseElementClose(res); 13184 return res; 13185 } 13186 13187 protected boolean parseImmunizationContent(int eventType, XmlPullParser xpp, Immunization res) throws XmlPullParserException, IOException, FHIRFormatError { 13188 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 13189 res.getIdentifier().add(parseIdentifier(xpp)); 13190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 13191 res.setStatusElement(parseEnumeration(xpp, Immunization.ImmunizationStatusCodes.NULL, new Immunization.ImmunizationStatusCodesEnumFactory())); 13192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 13193 res.setStatusReason(parseCodeableConcept(xpp)); 13194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 13195 res.setVaccineCode(parseCodeableConcept(xpp)); 13196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 13197 res.setPatient(parseReference(xpp)); 13198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 13199 res.setEncounter(parseReference(xpp)); 13200 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 13201 res.setOccurrence(parseType("occurrence", xpp)); 13202 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorded")) { 13203 res.setRecordedElement(parseDateTime(xpp)); 13204 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("primarySource")) { 13205 res.setPrimarySourceElement(parseBoolean(xpp)); 13206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reportOrigin")) { 13207 res.setReportOrigin(parseCodeableConcept(xpp)); 13208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 13209 res.setLocation(parseReference(xpp)); 13210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 13211 res.setManufacturer(parseReference(xpp)); 13212 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 13213 res.setLotNumberElement(parseString(xpp)); 13214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 13215 res.setExpirationDateElement(parseDate(xpp)); 13216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 13217 res.setSite(parseCodeableConcept(xpp)); 13218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 13219 res.setRoute(parseCodeableConcept(xpp)); 13220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseQuantity")) { 13221 res.setDoseQuantity(parseQuantity(xpp)); 13222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 13223 res.getPerformer().add(parseImmunizationPerformerComponent(xpp)); 13224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 13225 res.getNote().add(parseAnnotation(xpp)); 13226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 13227 res.getReasonCode().add(parseCodeableConcept(xpp)); 13228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 13229 res.getReasonReference().add(parseReference(xpp)); 13230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isSubpotent")) { 13231 res.setIsSubpotentElement(parseBoolean(xpp)); 13232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subpotentReason")) { 13233 res.getSubpotentReason().add(parseCodeableConcept(xpp)); 13234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("education")) { 13235 res.getEducation().add(parseImmunizationEducationComponent(xpp)); 13236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programEligibility")) { 13237 res.getProgramEligibility().add(parseCodeableConcept(xpp)); 13238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundingSource")) { 13239 res.setFundingSource(parseCodeableConcept(xpp)); 13240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 13241 res.getReaction().add(parseImmunizationReactionComponent(xpp)); 13242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocolApplied")) { 13243 res.getProtocolApplied().add(parseImmunizationProtocolAppliedComponent(xpp)); 13244 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13245 return false; 13246 } 13247 return true; 13248 } 13249 13250 protected Immunization.ImmunizationPerformerComponent parseImmunizationPerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13251 Immunization.ImmunizationPerformerComponent res = new Immunization.ImmunizationPerformerComponent(); 13252 parseElementAttributes(xpp, res); 13253 next(xpp); 13254 int eventType = nextNoWhitespace(xpp); 13255 while (eventType != XmlPullParser.END_TAG) { 13256 if (!parseImmunizationPerformerComponentContent(eventType, xpp, res)) 13257 unknownContent(xpp); 13258 eventType = nextNoWhitespace(xpp); 13259 } 13260 next(xpp); 13261 parseElementClose(res); 13262 return res; 13263 } 13264 13265 protected boolean parseImmunizationPerformerComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationPerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13266 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 13267 res.setFunction(parseCodeableConcept(xpp)); 13268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 13269 res.setActor(parseReference(xpp)); 13270 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13271 return false; 13272 } 13273 return true; 13274 } 13275 13276 protected Immunization.ImmunizationEducationComponent parseImmunizationEducationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13277 Immunization.ImmunizationEducationComponent res = new Immunization.ImmunizationEducationComponent(); 13278 parseElementAttributes(xpp, res); 13279 next(xpp); 13280 int eventType = nextNoWhitespace(xpp); 13281 while (eventType != XmlPullParser.END_TAG) { 13282 if (!parseImmunizationEducationComponentContent(eventType, xpp, res)) 13283 unknownContent(xpp); 13284 eventType = nextNoWhitespace(xpp); 13285 } 13286 next(xpp); 13287 parseElementClose(res); 13288 return res; 13289 } 13290 13291 protected boolean parseImmunizationEducationComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationEducationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13292 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentType")) { 13293 res.setDocumentTypeElement(parseString(xpp)); 13294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 13295 res.setReferenceElement(parseUri(xpp)); 13296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDate")) { 13297 res.setPublicationDateElement(parseDateTime(xpp)); 13298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentationDate")) { 13299 res.setPresentationDateElement(parseDateTime(xpp)); 13300 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13301 return false; 13302 } 13303 return true; 13304 } 13305 13306 protected Immunization.ImmunizationReactionComponent parseImmunizationReactionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13307 Immunization.ImmunizationReactionComponent res = new Immunization.ImmunizationReactionComponent(); 13308 parseElementAttributes(xpp, res); 13309 next(xpp); 13310 int eventType = nextNoWhitespace(xpp); 13311 while (eventType != XmlPullParser.END_TAG) { 13312 if (!parseImmunizationReactionComponentContent(eventType, xpp, res)) 13313 unknownContent(xpp); 13314 eventType = nextNoWhitespace(xpp); 13315 } 13316 next(xpp); 13317 parseElementClose(res); 13318 return res; 13319 } 13320 13321 protected boolean parseImmunizationReactionComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationReactionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13322 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 13323 res.setDateElement(parseDateTime(xpp)); 13324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 13325 res.setDetail(parseReference(xpp)); 13326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reported")) { 13327 res.setReportedElement(parseBoolean(xpp)); 13328 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13329 return false; 13330 } 13331 return true; 13332 } 13333 13334 protected Immunization.ImmunizationProtocolAppliedComponent parseImmunizationProtocolAppliedComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13335 Immunization.ImmunizationProtocolAppliedComponent res = new Immunization.ImmunizationProtocolAppliedComponent(); 13336 parseElementAttributes(xpp, res); 13337 next(xpp); 13338 int eventType = nextNoWhitespace(xpp); 13339 while (eventType != XmlPullParser.END_TAG) { 13340 if (!parseImmunizationProtocolAppliedComponentContent(eventType, xpp, res)) 13341 unknownContent(xpp); 13342 eventType = nextNoWhitespace(xpp); 13343 } 13344 next(xpp); 13345 parseElementClose(res); 13346 return res; 13347 } 13348 13349 protected boolean parseImmunizationProtocolAppliedComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationProtocolAppliedComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13350 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 13351 res.setSeriesElement(parseString(xpp)); 13352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 13353 res.setAuthority(parseReference(xpp)); 13354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetDisease")) { 13355 res.getTargetDisease().add(parseCodeableConcept(xpp)); 13356 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "doseNumber")) { 13357 res.setDoseNumber(parseType("doseNumber", xpp)); 13358 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "seriesDoses")) { 13359 res.setSeriesDoses(parseType("seriesDoses", xpp)); 13360 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13361 return false; 13362 } 13363 return true; 13364 } 13365 13366 protected ImmunizationEvaluation parseImmunizationEvaluation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13367 ImmunizationEvaluation res = new ImmunizationEvaluation(); 13368 parseResourceAttributes(xpp, res); 13369 next(xpp); 13370 int eventType = nextNoWhitespace(xpp); 13371 while (eventType != XmlPullParser.END_TAG) { 13372 if (!parseImmunizationEvaluationContent(eventType, xpp, res)) 13373 unknownContent(xpp); 13374 eventType = nextNoWhitespace(xpp); 13375 } 13376 next(xpp); 13377 parseElementClose(res); 13378 return res; 13379 } 13380 13381 protected boolean parseImmunizationEvaluationContent(int eventType, XmlPullParser xpp, ImmunizationEvaluation res) throws XmlPullParserException, IOException, FHIRFormatError { 13382 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 13383 res.getIdentifier().add(parseIdentifier(xpp)); 13384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 13385 res.setStatusElement(parseEnumeration(xpp, ImmunizationEvaluation.ImmunizationEvaluationStatusCodes.NULL, new ImmunizationEvaluation.ImmunizationEvaluationStatusCodesEnumFactory())); 13386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 13387 res.setPatient(parseReference(xpp)); 13388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 13389 res.setDateElement(parseDateTime(xpp)); 13390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 13391 res.setAuthority(parseReference(xpp)); 13392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetDisease")) { 13393 res.setTargetDisease(parseCodeableConcept(xpp)); 13394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("immunizationEvent")) { 13395 res.setImmunizationEvent(parseReference(xpp)); 13396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatus")) { 13397 res.setDoseStatus(parseCodeableConcept(xpp)); 13398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatusReason")) { 13399 res.getDoseStatusReason().add(parseCodeableConcept(xpp)); 13400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13401 res.setDescriptionElement(parseString(xpp)); 13402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 13403 res.setSeriesElement(parseString(xpp)); 13404 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "doseNumber")) { 13405 res.setDoseNumber(parseType("doseNumber", xpp)); 13406 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "seriesDoses")) { 13407 res.setSeriesDoses(parseType("seriesDoses", xpp)); 13408 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13409 return false; 13410 } 13411 return true; 13412 } 13413 13414 protected ImmunizationRecommendation parseImmunizationRecommendation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13415 ImmunizationRecommendation res = new ImmunizationRecommendation(); 13416 parseResourceAttributes(xpp, res); 13417 next(xpp); 13418 int eventType = nextNoWhitespace(xpp); 13419 while (eventType != XmlPullParser.END_TAG) { 13420 if (!parseImmunizationRecommendationContent(eventType, xpp, res)) 13421 unknownContent(xpp); 13422 eventType = nextNoWhitespace(xpp); 13423 } 13424 next(xpp); 13425 parseElementClose(res); 13426 return res; 13427 } 13428 13429 protected boolean parseImmunizationRecommendationContent(int eventType, XmlPullParser xpp, ImmunizationRecommendation res) throws XmlPullParserException, IOException, FHIRFormatError { 13430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 13431 res.getIdentifier().add(parseIdentifier(xpp)); 13432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 13433 res.setPatient(parseReference(xpp)); 13434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 13435 res.setDateElement(parseDateTime(xpp)); 13436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 13437 res.setAuthority(parseReference(xpp)); 13438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recommendation")) { 13439 res.getRecommendation().add(parseImmunizationRecommendationRecommendationComponent(xpp)); 13440 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13441 return false; 13442 } 13443 return true; 13444 } 13445 13446 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent parseImmunizationRecommendationRecommendationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13447 ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent(); 13448 parseElementAttributes(xpp, res); 13449 next(xpp); 13450 int eventType = nextNoWhitespace(xpp); 13451 while (eventType != XmlPullParser.END_TAG) { 13452 if (!parseImmunizationRecommendationRecommendationComponentContent(eventType, xpp, res)) 13453 unknownContent(xpp); 13454 eventType = nextNoWhitespace(xpp); 13455 } 13456 next(xpp); 13457 parseElementClose(res); 13458 return res; 13459 } 13460 13461 protected boolean parseImmunizationRecommendationRecommendationComponentContent(int eventType, XmlPullParser xpp, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13462 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 13463 res.getVaccineCode().add(parseCodeableConcept(xpp)); 13464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetDisease")) { 13465 res.setTargetDisease(parseCodeableConcept(xpp)); 13466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contraindicatedVaccineCode")) { 13467 res.getContraindicatedVaccineCode().add(parseCodeableConcept(xpp)); 13468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("forecastStatus")) { 13469 res.setForecastStatus(parseCodeableConcept(xpp)); 13470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("forecastReason")) { 13471 res.getForecastReason().add(parseCodeableConcept(xpp)); 13472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateCriterion")) { 13473 res.getDateCriterion().add(parseImmunizationRecommendationRecommendationDateCriterionComponent(xpp)); 13474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13475 res.setDescriptionElement(parseString(xpp)); 13476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 13477 res.setSeriesElement(parseString(xpp)); 13478 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "doseNumber")) { 13479 res.setDoseNumber(parseType("doseNumber", xpp)); 13480 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "seriesDoses")) { 13481 res.setSeriesDoses(parseType("seriesDoses", xpp)); 13482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingImmunization")) { 13483 res.getSupportingImmunization().add(parseReference(xpp)); 13484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingPatientInformation")) { 13485 res.getSupportingPatientInformation().add(parseReference(xpp)); 13486 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13487 return false; 13488 } 13489 return true; 13490 } 13491 13492 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent parseImmunizationRecommendationRecommendationDateCriterionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13493 ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent(); 13494 parseElementAttributes(xpp, res); 13495 next(xpp); 13496 int eventType = nextNoWhitespace(xpp); 13497 while (eventType != XmlPullParser.END_TAG) { 13498 if (!parseImmunizationRecommendationRecommendationDateCriterionComponentContent(eventType, xpp, res)) 13499 unknownContent(xpp); 13500 eventType = nextNoWhitespace(xpp); 13501 } 13502 next(xpp); 13503 parseElementClose(res); 13504 return res; 13505 } 13506 13507 protected boolean parseImmunizationRecommendationRecommendationDateCriterionComponentContent(int eventType, XmlPullParser xpp, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13508 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 13509 res.setCode(parseCodeableConcept(xpp)); 13510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 13511 res.setValueElement(parseDateTime(xpp)); 13512 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13513 return false; 13514 } 13515 return true; 13516 } 13517 13518 protected ImplementationGuide parseImplementationGuide(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13519 ImplementationGuide res = new ImplementationGuide(); 13520 parseResourceAttributes(xpp, res); 13521 next(xpp); 13522 int eventType = nextNoWhitespace(xpp); 13523 while (eventType != XmlPullParser.END_TAG) { 13524 if (!parseImplementationGuideContent(eventType, xpp, res)) 13525 unknownContent(xpp); 13526 eventType = nextNoWhitespace(xpp); 13527 } 13528 next(xpp); 13529 parseElementClose(res); 13530 return res; 13531 } 13532 13533 protected boolean parseImplementationGuideContent(int eventType, XmlPullParser xpp, ImplementationGuide res) throws XmlPullParserException, IOException, FHIRFormatError { 13534 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 13535 res.setUrlElement(parseUri(xpp)); 13536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 13537 res.setVersionElement(parseString(xpp)); 13538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 13539 res.setNameElement(parseString(xpp)); 13540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 13541 res.setTitleElement(parseString(xpp)); 13542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 13543 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 13544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 13545 res.setExperimentalElement(parseBoolean(xpp)); 13546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 13547 res.setDateElement(parseDateTime(xpp)); 13548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 13549 res.setPublisherElement(parseString(xpp)); 13550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 13551 res.getContact().add(parseContactDetail(xpp)); 13552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13553 res.setDescriptionElement(parseMarkdown(xpp)); 13554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 13555 res.getUseContext().add(parseUsageContext(xpp)); 13556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 13557 res.getJurisdiction().add(parseCodeableConcept(xpp)); 13558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 13559 res.setCopyrightElement(parseMarkdown(xpp)); 13560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageId")) { 13561 res.setPackageIdElement(parseId(xpp)); 13562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("license")) { 13563 res.setLicenseElement(parseEnumeration(xpp, ImplementationGuide.SPDXLicense.NULL, new ImplementationGuide.SPDXLicenseEnumFactory())); 13564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 13565 res.getFhirVersion().add(parseEnumeration(xpp, Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); 13566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependsOn")) { 13567 res.getDependsOn().add(parseImplementationGuideDependsOnComponent(xpp)); 13568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("global")) { 13569 res.getGlobal().add(parseImplementationGuideGlobalComponent(xpp)); 13570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 13571 res.setDefinition(parseImplementationGuideDefinitionComponent(xpp)); 13572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manifest")) { 13573 res.setManifest(parseImplementationGuideManifestComponent(xpp)); 13574 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13575 return false; 13576 } 13577 return true; 13578 } 13579 13580 protected ImplementationGuide.ImplementationGuideDependsOnComponent parseImplementationGuideDependsOnComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13581 ImplementationGuide.ImplementationGuideDependsOnComponent res = new ImplementationGuide.ImplementationGuideDependsOnComponent(); 13582 parseElementAttributes(xpp, res); 13583 next(xpp); 13584 int eventType = nextNoWhitespace(xpp); 13585 while (eventType != XmlPullParser.END_TAG) { 13586 if (!parseImplementationGuideDependsOnComponentContent(eventType, xpp, res)) 13587 unknownContent(xpp); 13588 eventType = nextNoWhitespace(xpp); 13589 } 13590 next(xpp); 13591 parseElementClose(res); 13592 return res; 13593 } 13594 13595 protected boolean parseImplementationGuideDependsOnComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDependsOnComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13596 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 13597 res.setUriElement(parseCanonical(xpp)); 13598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageId")) { 13599 res.setPackageIdElement(parseId(xpp)); 13600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 13601 res.setVersionElement(parseString(xpp)); 13602 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13603 return false; 13604 } 13605 return true; 13606 } 13607 13608 protected ImplementationGuide.ImplementationGuideGlobalComponent parseImplementationGuideGlobalComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13609 ImplementationGuide.ImplementationGuideGlobalComponent res = new ImplementationGuide.ImplementationGuideGlobalComponent(); 13610 parseElementAttributes(xpp, res); 13611 next(xpp); 13612 int eventType = nextNoWhitespace(xpp); 13613 while (eventType != XmlPullParser.END_TAG) { 13614 if (!parseImplementationGuideGlobalComponentContent(eventType, xpp, res)) 13615 unknownContent(xpp); 13616 eventType = nextNoWhitespace(xpp); 13617 } 13618 next(xpp); 13619 parseElementClose(res); 13620 return res; 13621 } 13622 13623 protected boolean parseImplementationGuideGlobalComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideGlobalComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13624 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 13625 res.setTypeElement(parseCode(xpp)); 13626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 13627 res.setProfileElement(parseCanonical(xpp)); 13628 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13629 return false; 13630 } 13631 return true; 13632 } 13633 13634 protected ImplementationGuide.ImplementationGuideDefinitionComponent parseImplementationGuideDefinitionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13635 ImplementationGuide.ImplementationGuideDefinitionComponent res = new ImplementationGuide.ImplementationGuideDefinitionComponent(); 13636 parseElementAttributes(xpp, res); 13637 next(xpp); 13638 int eventType = nextNoWhitespace(xpp); 13639 while (eventType != XmlPullParser.END_TAG) { 13640 if (!parseImplementationGuideDefinitionComponentContent(eventType, xpp, res)) 13641 unknownContent(xpp); 13642 eventType = nextNoWhitespace(xpp); 13643 } 13644 next(xpp); 13645 parseElementClose(res); 13646 return res; 13647 } 13648 13649 protected boolean parseImplementationGuideDefinitionComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13650 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("grouping")) { 13651 res.getGrouping().add(parseImplementationGuideDefinitionGroupingComponent(xpp)); 13652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 13653 res.getResource().add(parseImplementationGuideDefinitionResourceComponent(xpp)); 13654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 13655 res.setPage(parseImplementationGuideDefinitionPageComponent(xpp)); 13656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 13657 res.getParameter().add(parseImplementationGuideDefinitionParameterComponent(xpp)); 13658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("template")) { 13659 res.getTemplate().add(parseImplementationGuideDefinitionTemplateComponent(xpp)); 13660 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13661 return false; 13662 } 13663 return true; 13664 } 13665 13666 protected ImplementationGuide.ImplementationGuideDefinitionGroupingComponent parseImplementationGuideDefinitionGroupingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13667 ImplementationGuide.ImplementationGuideDefinitionGroupingComponent res = new ImplementationGuide.ImplementationGuideDefinitionGroupingComponent(); 13668 parseElementAttributes(xpp, res); 13669 next(xpp); 13670 int eventType = nextNoWhitespace(xpp); 13671 while (eventType != XmlPullParser.END_TAG) { 13672 if (!parseImplementationGuideDefinitionGroupingComponentContent(eventType, xpp, res)) 13673 unknownContent(xpp); 13674 eventType = nextNoWhitespace(xpp); 13675 } 13676 next(xpp); 13677 parseElementClose(res); 13678 return res; 13679 } 13680 13681 protected boolean parseImplementationGuideDefinitionGroupingComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionGroupingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13682 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 13683 res.setNameElement(parseString(xpp)); 13684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13685 res.setDescriptionElement(parseString(xpp)); 13686 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13687 return false; 13688 } 13689 return true; 13690 } 13691 13692 protected ImplementationGuide.ImplementationGuideDefinitionResourceComponent parseImplementationGuideDefinitionResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13693 ImplementationGuide.ImplementationGuideDefinitionResourceComponent res = new ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); 13694 parseElementAttributes(xpp, res); 13695 next(xpp); 13696 int eventType = nextNoWhitespace(xpp); 13697 while (eventType != XmlPullParser.END_TAG) { 13698 if (!parseImplementationGuideDefinitionResourceComponentContent(eventType, xpp, res)) 13699 unknownContent(xpp); 13700 eventType = nextNoWhitespace(xpp); 13701 } 13702 next(xpp); 13703 parseElementClose(res); 13704 return res; 13705 } 13706 13707 protected boolean parseImplementationGuideDefinitionResourceComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13708 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 13709 res.setReference(parseReference(xpp)); 13710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 13711 res.getFhirVersion().add(parseEnumeration(xpp, Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); 13712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 13713 res.setNameElement(parseString(xpp)); 13714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 13715 res.setDescriptionElement(parseString(xpp)); 13716 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { 13717 res.setExample(parseType("example", xpp)); 13718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingId")) { 13719 res.setGroupingIdElement(parseId(xpp)); 13720 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13721 return false; 13722 } 13723 return true; 13724 } 13725 13726 protected ImplementationGuide.ImplementationGuideDefinitionPageComponent parseImplementationGuideDefinitionPageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13727 ImplementationGuide.ImplementationGuideDefinitionPageComponent res = new ImplementationGuide.ImplementationGuideDefinitionPageComponent(); 13728 parseElementAttributes(xpp, res); 13729 next(xpp); 13730 int eventType = nextNoWhitespace(xpp); 13731 while (eventType != XmlPullParser.END_TAG) { 13732 if (!parseImplementationGuideDefinitionPageComponentContent(eventType, xpp, res)) 13733 unknownContent(xpp); 13734 eventType = nextNoWhitespace(xpp); 13735 } 13736 next(xpp); 13737 parseElementClose(res); 13738 return res; 13739 } 13740 13741 protected boolean parseImplementationGuideDefinitionPageComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionPageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13742 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "name")) { 13743 res.setName(parseType("name", xpp)); 13744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 13745 res.setTitleElement(parseString(xpp)); 13746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("generation")) { 13747 res.setGenerationElement(parseEnumeration(xpp, ImplementationGuide.GuidePageGeneration.NULL, new ImplementationGuide.GuidePageGenerationEnumFactory())); 13748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 13749 res.getPage().add(parseImplementationGuideDefinitionPageComponent(xpp)); 13750 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13751 return false; 13752 } 13753 return true; 13754 } 13755 13756 protected ImplementationGuide.ImplementationGuideDefinitionParameterComponent parseImplementationGuideDefinitionParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13757 ImplementationGuide.ImplementationGuideDefinitionParameterComponent res = new ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); 13758 parseElementAttributes(xpp, res); 13759 next(xpp); 13760 int eventType = nextNoWhitespace(xpp); 13761 while (eventType != XmlPullParser.END_TAG) { 13762 if (!parseImplementationGuideDefinitionParameterComponentContent(eventType, xpp, res)) 13763 unknownContent(xpp); 13764 eventType = nextNoWhitespace(xpp); 13765 } 13766 next(xpp); 13767 parseElementClose(res); 13768 return res; 13769 } 13770 13771 protected boolean parseImplementationGuideDefinitionParameterComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13772 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 13773 res.setCodeElement(parseEnumeration(xpp, ImplementationGuide.GuideParameterCode.NULL, new ImplementationGuide.GuideParameterCodeEnumFactory())); 13774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 13775 res.setValueElement(parseString(xpp)); 13776 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13777 return false; 13778 } 13779 return true; 13780 } 13781 13782 protected ImplementationGuide.ImplementationGuideDefinitionTemplateComponent parseImplementationGuideDefinitionTemplateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13783 ImplementationGuide.ImplementationGuideDefinitionTemplateComponent res = new ImplementationGuide.ImplementationGuideDefinitionTemplateComponent(); 13784 parseElementAttributes(xpp, res); 13785 next(xpp); 13786 int eventType = nextNoWhitespace(xpp); 13787 while (eventType != XmlPullParser.END_TAG) { 13788 if (!parseImplementationGuideDefinitionTemplateComponentContent(eventType, xpp, res)) 13789 unknownContent(xpp); 13790 eventType = nextNoWhitespace(xpp); 13791 } 13792 next(xpp); 13793 parseElementClose(res); 13794 return res; 13795 } 13796 13797 protected boolean parseImplementationGuideDefinitionTemplateComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionTemplateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13798 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 13799 res.setCodeElement(parseCode(xpp)); 13800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 13801 res.setSourceElement(parseString(xpp)); 13802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { 13803 res.setScopeElement(parseString(xpp)); 13804 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13805 return false; 13806 } 13807 return true; 13808 } 13809 13810 protected ImplementationGuide.ImplementationGuideManifestComponent parseImplementationGuideManifestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13811 ImplementationGuide.ImplementationGuideManifestComponent res = new ImplementationGuide.ImplementationGuideManifestComponent(); 13812 parseElementAttributes(xpp, res); 13813 next(xpp); 13814 int eventType = nextNoWhitespace(xpp); 13815 while (eventType != XmlPullParser.END_TAG) { 13816 if (!parseImplementationGuideManifestComponentContent(eventType, xpp, res)) 13817 unknownContent(xpp); 13818 eventType = nextNoWhitespace(xpp); 13819 } 13820 next(xpp); 13821 parseElementClose(res); 13822 return res; 13823 } 13824 13825 protected boolean parseImplementationGuideManifestComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideManifestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13826 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rendering")) { 13827 res.setRenderingElement(parseUrl(xpp)); 13828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 13829 res.getResource().add(parseImplementationGuideManifestResourceComponent(xpp)); 13830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 13831 res.getPage().add(parseImplementationGuideManifestPageComponent(xpp)); 13832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 13833 res.getImage().add(parseString(xpp)); 13834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("other")) { 13835 res.getOther().add(parseString(xpp)); 13836 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13837 return false; 13838 } 13839 return true; 13840 } 13841 13842 protected ImplementationGuide.ManifestResourceComponent parseImplementationGuideManifestResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13843 ImplementationGuide.ManifestResourceComponent res = new ImplementationGuide.ManifestResourceComponent(); 13844 parseElementAttributes(xpp, res); 13845 next(xpp); 13846 int eventType = nextNoWhitespace(xpp); 13847 while (eventType != XmlPullParser.END_TAG) { 13848 if (!parseImplementationGuideManifestResourceComponentContent(eventType, xpp, res)) 13849 unknownContent(xpp); 13850 eventType = nextNoWhitespace(xpp); 13851 } 13852 next(xpp); 13853 parseElementClose(res); 13854 return res; 13855 } 13856 13857 protected boolean parseImplementationGuideManifestResourceComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ManifestResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13858 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 13859 res.setReference(parseReference(xpp)); 13860 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { 13861 res.setExample(parseType("example", xpp)); 13862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relativePath")) { 13863 res.setRelativePathElement(parseUrl(xpp)); 13864 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13865 return false; 13866 } 13867 return true; 13868 } 13869 13870 protected ImplementationGuide.ManifestPageComponent parseImplementationGuideManifestPageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13871 ImplementationGuide.ManifestPageComponent res = new ImplementationGuide.ManifestPageComponent(); 13872 parseElementAttributes(xpp, res); 13873 next(xpp); 13874 int eventType = nextNoWhitespace(xpp); 13875 while (eventType != XmlPullParser.END_TAG) { 13876 if (!parseImplementationGuideManifestPageComponentContent(eventType, xpp, res)) 13877 unknownContent(xpp); 13878 eventType = nextNoWhitespace(xpp); 13879 } 13880 next(xpp); 13881 parseElementClose(res); 13882 return res; 13883 } 13884 13885 protected boolean parseImplementationGuideManifestPageComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ManifestPageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13886 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 13887 res.setNameElement(parseString(xpp)); 13888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 13889 res.setTitleElement(parseString(xpp)); 13890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("anchor")) { 13891 res.getAnchor().add(parseString(xpp)); 13892 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13893 return false; 13894 } 13895 return true; 13896 } 13897 13898 protected Ingredient parseIngredient(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13899 Ingredient res = new Ingredient(); 13900 parseResourceAttributes(xpp, res); 13901 next(xpp); 13902 int eventType = nextNoWhitespace(xpp); 13903 while (eventType != XmlPullParser.END_TAG) { 13904 if (!parseIngredientContent(eventType, xpp, res)) 13905 unknownContent(xpp); 13906 eventType = nextNoWhitespace(xpp); 13907 } 13908 next(xpp); 13909 parseElementClose(res); 13910 return res; 13911 } 13912 13913 protected boolean parseIngredientContent(int eventType, XmlPullParser xpp, Ingredient res) throws XmlPullParserException, IOException, FHIRFormatError { 13914 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 13915 res.setIdentifier(parseIdentifier(xpp)); 13916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 13917 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 13918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("for")) { 13919 res.getFor().add(parseReference(xpp)); 13920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 13921 res.setRole(parseCodeableConcept(xpp)); 13922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 13923 res.getFunction().add(parseCodeableConcept(xpp)); 13924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergenicIndicator")) { 13925 res.setAllergenicIndicatorElement(parseBoolean(xpp)); 13926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 13927 res.getManufacturer().add(parseIngredientManufacturerComponent(xpp)); 13928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 13929 res.setSubstance(parseIngredientSubstanceComponent(xpp)); 13930 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 13931 return false; 13932 } 13933 return true; 13934 } 13935 13936 protected Ingredient.IngredientManufacturerComponent parseIngredientManufacturerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13937 Ingredient.IngredientManufacturerComponent res = new Ingredient.IngredientManufacturerComponent(); 13938 parseElementAttributes(xpp, res); 13939 next(xpp); 13940 int eventType = nextNoWhitespace(xpp); 13941 while (eventType != XmlPullParser.END_TAG) { 13942 if (!parseIngredientManufacturerComponentContent(eventType, xpp, res)) 13943 unknownContent(xpp); 13944 eventType = nextNoWhitespace(xpp); 13945 } 13946 next(xpp); 13947 parseElementClose(res); 13948 return res; 13949 } 13950 13951 protected boolean parseIngredientManufacturerComponentContent(int eventType, XmlPullParser xpp, Ingredient.IngredientManufacturerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13952 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 13953 res.setRole(parseCoding(xpp)); 13954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 13955 res.setManufacturer(parseReference(xpp)); 13956 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13957 return false; 13958 } 13959 return true; 13960 } 13961 13962 protected Ingredient.IngredientSubstanceComponent parseIngredientSubstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13963 Ingredient.IngredientSubstanceComponent res = new Ingredient.IngredientSubstanceComponent(); 13964 parseElementAttributes(xpp, res); 13965 next(xpp); 13966 int eventType = nextNoWhitespace(xpp); 13967 while (eventType != XmlPullParser.END_TAG) { 13968 if (!parseIngredientSubstanceComponentContent(eventType, xpp, res)) 13969 unknownContent(xpp); 13970 eventType = nextNoWhitespace(xpp); 13971 } 13972 next(xpp); 13973 parseElementClose(res); 13974 return res; 13975 } 13976 13977 protected boolean parseIngredientSubstanceComponentContent(int eventType, XmlPullParser xpp, Ingredient.IngredientSubstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 13978 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 13979 res.setCode(parseCodeableReference(xpp)); 13980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 13981 res.getStrength().add(parseIngredientSubstanceStrengthComponent(xpp)); 13982 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 13983 return false; 13984 } 13985 return true; 13986 } 13987 13988 protected Ingredient.IngredientSubstanceStrengthComponent parseIngredientSubstanceStrengthComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 13989 Ingredient.IngredientSubstanceStrengthComponent res = new Ingredient.IngredientSubstanceStrengthComponent(); 13990 parseElementAttributes(xpp, res); 13991 next(xpp); 13992 int eventType = nextNoWhitespace(xpp); 13993 while (eventType != XmlPullParser.END_TAG) { 13994 if (!parseIngredientSubstanceStrengthComponentContent(eventType, xpp, res)) 13995 unknownContent(xpp); 13996 eventType = nextNoWhitespace(xpp); 13997 } 13998 next(xpp); 13999 parseElementClose(res); 14000 return res; 14001 } 14002 14003 protected boolean parseIngredientSubstanceStrengthComponentContent(int eventType, XmlPullParser xpp, Ingredient.IngredientSubstanceStrengthComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14004 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "presentation")) { 14005 res.setPresentation(parseType("presentation", xpp)); 14006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentationText")) { 14007 res.setPresentationTextElement(parseString(xpp)); 14008 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "concentration")) { 14009 res.setConcentration(parseType("concentration", xpp)); 14010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concentrationText")) { 14011 res.setConcentrationTextElement(parseString(xpp)); 14012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPoint")) { 14013 res.setMeasurementPointElement(parseString(xpp)); 14014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 14015 res.getCountry().add(parseCodeableConcept(xpp)); 14016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceStrength")) { 14017 res.getReferenceStrength().add(parseIngredientSubstanceStrengthReferenceStrengthComponent(xpp)); 14018 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14019 return false; 14020 } 14021 return true; 14022 } 14023 14024 protected Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent parseIngredientSubstanceStrengthReferenceStrengthComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14025 Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent res = new Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent(); 14026 parseElementAttributes(xpp, res); 14027 next(xpp); 14028 int eventType = nextNoWhitespace(xpp); 14029 while (eventType != XmlPullParser.END_TAG) { 14030 if (!parseIngredientSubstanceStrengthReferenceStrengthComponentContent(eventType, xpp, res)) 14031 unknownContent(xpp); 14032 eventType = nextNoWhitespace(xpp); 14033 } 14034 next(xpp); 14035 parseElementClose(res); 14036 return res; 14037 } 14038 14039 protected boolean parseIngredientSubstanceStrengthReferenceStrengthComponentContent(int eventType, XmlPullParser xpp, Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14040 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 14041 res.setSubstance(parseCodeableReference(xpp)); 14042 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "strength")) { 14043 res.setStrength(parseType("strength", xpp)); 14044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPoint")) { 14045 res.setMeasurementPointElement(parseString(xpp)); 14046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 14047 res.getCountry().add(parseCodeableConcept(xpp)); 14048 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14049 return false; 14050 } 14051 return true; 14052 } 14053 14054 protected InsurancePlan parseInsurancePlan(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14055 InsurancePlan res = new InsurancePlan(); 14056 parseResourceAttributes(xpp, res); 14057 next(xpp); 14058 int eventType = nextNoWhitespace(xpp); 14059 while (eventType != XmlPullParser.END_TAG) { 14060 if (!parseInsurancePlanContent(eventType, xpp, res)) 14061 unknownContent(xpp); 14062 eventType = nextNoWhitespace(xpp); 14063 } 14064 next(xpp); 14065 parseElementClose(res); 14066 return res; 14067 } 14068 14069 protected boolean parseInsurancePlanContent(int eventType, XmlPullParser xpp, InsurancePlan res) throws XmlPullParserException, IOException, FHIRFormatError { 14070 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14071 res.getIdentifier().add(parseIdentifier(xpp)); 14072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14073 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 14074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14075 res.getType().add(parseCodeableConcept(xpp)); 14076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 14077 res.setNameElement(parseString(xpp)); 14078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 14079 res.getAlias().add(parseString(xpp)); 14080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 14081 res.setPeriod(parsePeriod(xpp)); 14082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ownedBy")) { 14083 res.setOwnedBy(parseReference(xpp)); 14084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administeredBy")) { 14085 res.setAdministeredBy(parseReference(xpp)); 14086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { 14087 res.getCoverageArea().add(parseReference(xpp)); 14088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 14089 res.getContact().add(parseInsurancePlanContactComponent(xpp)); 14090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 14091 res.getEndpoint().add(parseReference(xpp)); 14092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 14093 res.getNetwork().add(parseReference(xpp)); 14094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 14095 res.getCoverage().add(parseInsurancePlanCoverageComponent(xpp)); 14096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 14097 res.getPlan().add(parseInsurancePlanPlanComponent(xpp)); 14098 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14099 return false; 14100 } 14101 return true; 14102 } 14103 14104 protected InsurancePlan.InsurancePlanContactComponent parseInsurancePlanContactComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14105 InsurancePlan.InsurancePlanContactComponent res = new InsurancePlan.InsurancePlanContactComponent(); 14106 parseElementAttributes(xpp, res); 14107 next(xpp); 14108 int eventType = nextNoWhitespace(xpp); 14109 while (eventType != XmlPullParser.END_TAG) { 14110 if (!parseInsurancePlanContactComponentContent(eventType, xpp, res)) 14111 unknownContent(xpp); 14112 eventType = nextNoWhitespace(xpp); 14113 } 14114 next(xpp); 14115 parseElementClose(res); 14116 return res; 14117 } 14118 14119 protected boolean parseInsurancePlanContactComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.InsurancePlanContactComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14120 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 14121 res.setPurpose(parseCodeableConcept(xpp)); 14122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 14123 res.setName(parseHumanName(xpp)); 14124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 14125 res.getTelecom().add(parseContactPoint(xpp)); 14126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 14127 res.setAddress(parseAddress(xpp)); 14128 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14129 return false; 14130 } 14131 return true; 14132 } 14133 14134 protected InsurancePlan.InsurancePlanCoverageComponent parseInsurancePlanCoverageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14135 InsurancePlan.InsurancePlanCoverageComponent res = new InsurancePlan.InsurancePlanCoverageComponent(); 14136 parseElementAttributes(xpp, res); 14137 next(xpp); 14138 int eventType = nextNoWhitespace(xpp); 14139 while (eventType != XmlPullParser.END_TAG) { 14140 if (!parseInsurancePlanCoverageComponentContent(eventType, xpp, res)) 14141 unknownContent(xpp); 14142 eventType = nextNoWhitespace(xpp); 14143 } 14144 next(xpp); 14145 parseElementClose(res); 14146 return res; 14147 } 14148 14149 protected boolean parseInsurancePlanCoverageComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.InsurancePlanCoverageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14150 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14151 res.setType(parseCodeableConcept(xpp)); 14152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 14153 res.getNetwork().add(parseReference(xpp)); 14154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefit")) { 14155 res.getBenefit().add(parseInsurancePlanCoverageBenefitComponent(xpp)); 14156 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14157 return false; 14158 } 14159 return true; 14160 } 14161 14162 protected InsurancePlan.CoverageBenefitComponent parseInsurancePlanCoverageBenefitComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14163 InsurancePlan.CoverageBenefitComponent res = new InsurancePlan.CoverageBenefitComponent(); 14164 parseElementAttributes(xpp, res); 14165 next(xpp); 14166 int eventType = nextNoWhitespace(xpp); 14167 while (eventType != XmlPullParser.END_TAG) { 14168 if (!parseInsurancePlanCoverageBenefitComponentContent(eventType, xpp, res)) 14169 unknownContent(xpp); 14170 eventType = nextNoWhitespace(xpp); 14171 } 14172 next(xpp); 14173 parseElementClose(res); 14174 return res; 14175 } 14176 14177 protected boolean parseInsurancePlanCoverageBenefitComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.CoverageBenefitComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14178 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14179 res.setType(parseCodeableConcept(xpp)); 14180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { 14181 res.setRequirementElement(parseString(xpp)); 14182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("limit")) { 14183 res.getLimit().add(parseInsurancePlanCoverageBenefitLimitComponent(xpp)); 14184 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14185 return false; 14186 } 14187 return true; 14188 } 14189 14190 protected InsurancePlan.CoverageBenefitLimitComponent parseInsurancePlanCoverageBenefitLimitComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14191 InsurancePlan.CoverageBenefitLimitComponent res = new InsurancePlan.CoverageBenefitLimitComponent(); 14192 parseElementAttributes(xpp, res); 14193 next(xpp); 14194 int eventType = nextNoWhitespace(xpp); 14195 while (eventType != XmlPullParser.END_TAG) { 14196 if (!parseInsurancePlanCoverageBenefitLimitComponentContent(eventType, xpp, res)) 14197 unknownContent(xpp); 14198 eventType = nextNoWhitespace(xpp); 14199 } 14200 next(xpp); 14201 parseElementClose(res); 14202 return res; 14203 } 14204 14205 protected boolean parseInsurancePlanCoverageBenefitLimitComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.CoverageBenefitLimitComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14206 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 14207 res.setValue(parseQuantity(xpp)); 14208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 14209 res.setCode(parseCodeableConcept(xpp)); 14210 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14211 return false; 14212 } 14213 return true; 14214 } 14215 14216 protected InsurancePlan.InsurancePlanPlanComponent parseInsurancePlanPlanComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14217 InsurancePlan.InsurancePlanPlanComponent res = new InsurancePlan.InsurancePlanPlanComponent(); 14218 parseElementAttributes(xpp, res); 14219 next(xpp); 14220 int eventType = nextNoWhitespace(xpp); 14221 while (eventType != XmlPullParser.END_TAG) { 14222 if (!parseInsurancePlanPlanComponentContent(eventType, xpp, res)) 14223 unknownContent(xpp); 14224 eventType = nextNoWhitespace(xpp); 14225 } 14226 next(xpp); 14227 parseElementClose(res); 14228 return res; 14229 } 14230 14231 protected boolean parseInsurancePlanPlanComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.InsurancePlanPlanComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14232 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14233 res.getIdentifier().add(parseIdentifier(xpp)); 14234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14235 res.setType(parseCodeableConcept(xpp)); 14236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { 14237 res.getCoverageArea().add(parseReference(xpp)); 14238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 14239 res.getNetwork().add(parseReference(xpp)); 14240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("generalCost")) { 14241 res.getGeneralCost().add(parseInsurancePlanPlanGeneralCostComponent(xpp)); 14242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specificCost")) { 14243 res.getSpecificCost().add(parseInsurancePlanPlanSpecificCostComponent(xpp)); 14244 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14245 return false; 14246 } 14247 return true; 14248 } 14249 14250 protected InsurancePlan.InsurancePlanPlanGeneralCostComponent parseInsurancePlanPlanGeneralCostComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14251 InsurancePlan.InsurancePlanPlanGeneralCostComponent res = new InsurancePlan.InsurancePlanPlanGeneralCostComponent(); 14252 parseElementAttributes(xpp, res); 14253 next(xpp); 14254 int eventType = nextNoWhitespace(xpp); 14255 while (eventType != XmlPullParser.END_TAG) { 14256 if (!parseInsurancePlanPlanGeneralCostComponentContent(eventType, xpp, res)) 14257 unknownContent(xpp); 14258 eventType = nextNoWhitespace(xpp); 14259 } 14260 next(xpp); 14261 parseElementClose(res); 14262 return res; 14263 } 14264 14265 protected boolean parseInsurancePlanPlanGeneralCostComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.InsurancePlanPlanGeneralCostComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14266 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14267 res.setType(parseCodeableConcept(xpp)); 14268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupSize")) { 14269 res.setGroupSizeElement(parsePositiveInt(xpp)); 14270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cost")) { 14271 res.setCost(parseMoney(xpp)); 14272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 14273 res.setCommentElement(parseString(xpp)); 14274 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14275 return false; 14276 } 14277 return true; 14278 } 14279 14280 protected InsurancePlan.InsurancePlanPlanSpecificCostComponent parseInsurancePlanPlanSpecificCostComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14281 InsurancePlan.InsurancePlanPlanSpecificCostComponent res = new InsurancePlan.InsurancePlanPlanSpecificCostComponent(); 14282 parseElementAttributes(xpp, res); 14283 next(xpp); 14284 int eventType = nextNoWhitespace(xpp); 14285 while (eventType != XmlPullParser.END_TAG) { 14286 if (!parseInsurancePlanPlanSpecificCostComponentContent(eventType, xpp, res)) 14287 unknownContent(xpp); 14288 eventType = nextNoWhitespace(xpp); 14289 } 14290 next(xpp); 14291 parseElementClose(res); 14292 return res; 14293 } 14294 14295 protected boolean parseInsurancePlanPlanSpecificCostComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.InsurancePlanPlanSpecificCostComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14296 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 14297 res.setCategory(parseCodeableConcept(xpp)); 14298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("benefit")) { 14299 res.getBenefit().add(parseInsurancePlanPlanBenefitComponent(xpp)); 14300 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14301 return false; 14302 } 14303 return true; 14304 } 14305 14306 protected InsurancePlan.PlanBenefitComponent parseInsurancePlanPlanBenefitComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14307 InsurancePlan.PlanBenefitComponent res = new InsurancePlan.PlanBenefitComponent(); 14308 parseElementAttributes(xpp, res); 14309 next(xpp); 14310 int eventType = nextNoWhitespace(xpp); 14311 while (eventType != XmlPullParser.END_TAG) { 14312 if (!parseInsurancePlanPlanBenefitComponentContent(eventType, xpp, res)) 14313 unknownContent(xpp); 14314 eventType = nextNoWhitespace(xpp); 14315 } 14316 next(xpp); 14317 parseElementClose(res); 14318 return res; 14319 } 14320 14321 protected boolean parseInsurancePlanPlanBenefitComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.PlanBenefitComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14322 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14323 res.setType(parseCodeableConcept(xpp)); 14324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cost")) { 14325 res.getCost().add(parseInsurancePlanPlanBenefitCostComponent(xpp)); 14326 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14327 return false; 14328 } 14329 return true; 14330 } 14331 14332 protected InsurancePlan.PlanBenefitCostComponent parseInsurancePlanPlanBenefitCostComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14333 InsurancePlan.PlanBenefitCostComponent res = new InsurancePlan.PlanBenefitCostComponent(); 14334 parseElementAttributes(xpp, res); 14335 next(xpp); 14336 int eventType = nextNoWhitespace(xpp); 14337 while (eventType != XmlPullParser.END_TAG) { 14338 if (!parseInsurancePlanPlanBenefitCostComponentContent(eventType, xpp, res)) 14339 unknownContent(xpp); 14340 eventType = nextNoWhitespace(xpp); 14341 } 14342 next(xpp); 14343 parseElementClose(res); 14344 return res; 14345 } 14346 14347 protected boolean parseInsurancePlanPlanBenefitCostComponentContent(int eventType, XmlPullParser xpp, InsurancePlan.PlanBenefitCostComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14348 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14349 res.setType(parseCodeableConcept(xpp)); 14350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applicability")) { 14351 res.setApplicability(parseCodeableConcept(xpp)); 14352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualifiers")) { 14353 res.getQualifiers().add(parseCodeableConcept(xpp)); 14354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 14355 res.setValue(parseQuantity(xpp)); 14356 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14357 return false; 14358 } 14359 return true; 14360 } 14361 14362 protected Invoice parseInvoice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14363 Invoice res = new Invoice(); 14364 parseResourceAttributes(xpp, res); 14365 next(xpp); 14366 int eventType = nextNoWhitespace(xpp); 14367 while (eventType != XmlPullParser.END_TAG) { 14368 if (!parseInvoiceContent(eventType, xpp, res)) 14369 unknownContent(xpp); 14370 eventType = nextNoWhitespace(xpp); 14371 } 14372 next(xpp); 14373 parseElementClose(res); 14374 return res; 14375 } 14376 14377 protected boolean parseInvoiceContent(int eventType, XmlPullParser xpp, Invoice res) throws XmlPullParserException, IOException, FHIRFormatError { 14378 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14379 res.getIdentifier().add(parseIdentifier(xpp)); 14380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14381 res.setStatusElement(parseEnumeration(xpp, Invoice.InvoiceStatus.NULL, new Invoice.InvoiceStatusEnumFactory())); 14382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cancelledReason")) { 14383 res.setCancelledReasonElement(parseString(xpp)); 14384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14385 res.setType(parseCodeableConcept(xpp)); 14386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 14387 res.setSubject(parseReference(xpp)); 14388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 14389 res.setRecipient(parseReference(xpp)); 14390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 14391 res.setDateElement(parseDateTime(xpp)); 14392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 14393 res.getParticipant().add(parseInvoiceParticipantComponent(xpp)); 14394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 14395 res.setIssuer(parseReference(xpp)); 14396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { 14397 res.setAccount(parseReference(xpp)); 14398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lineItem")) { 14399 res.getLineItem().add(parseInvoiceLineItemComponent(xpp)); 14400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalPriceComponent")) { 14401 res.getTotalPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(xpp)); 14402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalNet")) { 14403 res.setTotalNet(parseMoney(xpp)); 14404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalGross")) { 14405 res.setTotalGross(parseMoney(xpp)); 14406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentTerms")) { 14407 res.setPaymentTermsElement(parseMarkdown(xpp)); 14408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 14409 res.getNote().add(parseAnnotation(xpp)); 14410 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14411 return false; 14412 } 14413 return true; 14414 } 14415 14416 protected Invoice.InvoiceParticipantComponent parseInvoiceParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14417 Invoice.InvoiceParticipantComponent res = new Invoice.InvoiceParticipantComponent(); 14418 parseElementAttributes(xpp, res); 14419 next(xpp); 14420 int eventType = nextNoWhitespace(xpp); 14421 while (eventType != XmlPullParser.END_TAG) { 14422 if (!parseInvoiceParticipantComponentContent(eventType, xpp, res)) 14423 unknownContent(xpp); 14424 eventType = nextNoWhitespace(xpp); 14425 } 14426 next(xpp); 14427 parseElementClose(res); 14428 return res; 14429 } 14430 14431 protected boolean parseInvoiceParticipantComponentContent(int eventType, XmlPullParser xpp, Invoice.InvoiceParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14432 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 14433 res.setRole(parseCodeableConcept(xpp)); 14434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 14435 res.setActor(parseReference(xpp)); 14436 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14437 return false; 14438 } 14439 return true; 14440 } 14441 14442 protected Invoice.InvoiceLineItemComponent parseInvoiceLineItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14443 Invoice.InvoiceLineItemComponent res = new Invoice.InvoiceLineItemComponent(); 14444 parseElementAttributes(xpp, res); 14445 next(xpp); 14446 int eventType = nextNoWhitespace(xpp); 14447 while (eventType != XmlPullParser.END_TAG) { 14448 if (!parseInvoiceLineItemComponentContent(eventType, xpp, res)) 14449 unknownContent(xpp); 14450 eventType = nextNoWhitespace(xpp); 14451 } 14452 next(xpp); 14453 parseElementClose(res); 14454 return res; 14455 } 14456 14457 protected boolean parseInvoiceLineItemComponentContent(int eventType, XmlPullParser xpp, Invoice.InvoiceLineItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14458 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 14459 res.setSequenceElement(parsePositiveInt(xpp)); 14460 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "chargeItem")) { 14461 res.setChargeItem(parseType("chargeItem", xpp)); 14462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceComponent")) { 14463 res.getPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(xpp)); 14464 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14465 return false; 14466 } 14467 return true; 14468 } 14469 14470 protected Invoice.InvoiceLineItemPriceComponentComponent parseInvoiceLineItemPriceComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14471 Invoice.InvoiceLineItemPriceComponentComponent res = new Invoice.InvoiceLineItemPriceComponentComponent(); 14472 parseElementAttributes(xpp, res); 14473 next(xpp); 14474 int eventType = nextNoWhitespace(xpp); 14475 while (eventType != XmlPullParser.END_TAG) { 14476 if (!parseInvoiceLineItemPriceComponentComponentContent(eventType, xpp, res)) 14477 unknownContent(xpp); 14478 eventType = nextNoWhitespace(xpp); 14479 } 14480 next(xpp); 14481 parseElementClose(res); 14482 return res; 14483 } 14484 14485 protected boolean parseInvoiceLineItemPriceComponentComponentContent(int eventType, XmlPullParser xpp, Invoice.InvoiceLineItemPriceComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14486 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14487 res.setTypeElement(parseEnumeration(xpp, Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); 14488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 14489 res.setCode(parseCodeableConcept(xpp)); 14490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 14491 res.setFactorElement(parseDecimal(xpp)); 14492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 14493 res.setAmount(parseMoney(xpp)); 14494 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14495 return false; 14496 } 14497 return true; 14498 } 14499 14500 protected Library parseLibrary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14501 Library res = new Library(); 14502 parseResourceAttributes(xpp, res); 14503 next(xpp); 14504 int eventType = nextNoWhitespace(xpp); 14505 while (eventType != XmlPullParser.END_TAG) { 14506 if (!parseLibraryContent(eventType, xpp, res)) 14507 unknownContent(xpp); 14508 eventType = nextNoWhitespace(xpp); 14509 } 14510 next(xpp); 14511 parseElementClose(res); 14512 return res; 14513 } 14514 14515 protected boolean parseLibraryContent(int eventType, XmlPullParser xpp, Library res) throws XmlPullParserException, IOException, FHIRFormatError { 14516 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 14517 res.setUrlElement(parseUri(xpp)); 14518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14519 res.getIdentifier().add(parseIdentifier(xpp)); 14520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 14521 res.setVersionElement(parseString(xpp)); 14522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 14523 res.setNameElement(parseString(xpp)); 14524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 14525 res.setTitleElement(parseString(xpp)); 14526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 14527 res.setSubtitleElement(parseString(xpp)); 14528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14529 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 14530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 14531 res.setExperimentalElement(parseBoolean(xpp)); 14532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14533 res.setType(parseCodeableConcept(xpp)); 14534 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 14535 res.setSubject(parseType("subject", xpp)); 14536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 14537 res.setDateElement(parseDateTime(xpp)); 14538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 14539 res.setPublisherElement(parseString(xpp)); 14540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 14541 res.getContact().add(parseContactDetail(xpp)); 14542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 14543 res.setDescriptionElement(parseMarkdown(xpp)); 14544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 14545 res.getUseContext().add(parseUsageContext(xpp)); 14546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 14547 res.getJurisdiction().add(parseCodeableConcept(xpp)); 14548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 14549 res.setPurposeElement(parseMarkdown(xpp)); 14550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 14551 res.setUsageElement(parseString(xpp)); 14552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 14553 res.setCopyrightElement(parseMarkdown(xpp)); 14554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 14555 res.setApprovalDateElement(parseDate(xpp)); 14556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 14557 res.setLastReviewDateElement(parseDate(xpp)); 14558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 14559 res.setEffectivePeriod(parsePeriod(xpp)); 14560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 14561 res.getTopic().add(parseCodeableConcept(xpp)); 14562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 14563 res.getAuthor().add(parseContactDetail(xpp)); 14564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 14565 res.getEditor().add(parseContactDetail(xpp)); 14566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 14567 res.getReviewer().add(parseContactDetail(xpp)); 14568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 14569 res.getEndorser().add(parseContactDetail(xpp)); 14570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 14571 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 14572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 14573 res.getParameter().add(parseParameterDefinition(xpp)); 14574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataRequirement")) { 14575 res.getDataRequirement().add(parseDataRequirement(xpp)); 14576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 14577 res.getContent().add(parseAttachment(xpp)); 14578 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14579 return false; 14580 } 14581 return true; 14582 } 14583 14584 protected Linkage parseLinkage(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14585 Linkage res = new Linkage(); 14586 parseResourceAttributes(xpp, res); 14587 next(xpp); 14588 int eventType = nextNoWhitespace(xpp); 14589 while (eventType != XmlPullParser.END_TAG) { 14590 if (!parseLinkageContent(eventType, xpp, res)) 14591 unknownContent(xpp); 14592 eventType = nextNoWhitespace(xpp); 14593 } 14594 next(xpp); 14595 parseElementClose(res); 14596 return res; 14597 } 14598 14599 protected boolean parseLinkageContent(int eventType, XmlPullParser xpp, Linkage res) throws XmlPullParserException, IOException, FHIRFormatError { 14600 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 14601 res.setActiveElement(parseBoolean(xpp)); 14602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 14603 res.setAuthor(parseReference(xpp)); 14604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 14605 res.getItem().add(parseLinkageItemComponent(xpp)); 14606 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14607 return false; 14608 } 14609 return true; 14610 } 14611 14612 protected Linkage.LinkageItemComponent parseLinkageItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14613 Linkage.LinkageItemComponent res = new Linkage.LinkageItemComponent(); 14614 parseElementAttributes(xpp, res); 14615 next(xpp); 14616 int eventType = nextNoWhitespace(xpp); 14617 while (eventType != XmlPullParser.END_TAG) { 14618 if (!parseLinkageItemComponentContent(eventType, xpp, res)) 14619 unknownContent(xpp); 14620 eventType = nextNoWhitespace(xpp); 14621 } 14622 next(xpp); 14623 parseElementClose(res); 14624 return res; 14625 } 14626 14627 protected boolean parseLinkageItemComponentContent(int eventType, XmlPullParser xpp, Linkage.LinkageItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14628 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14629 res.setTypeElement(parseEnumeration(xpp, Linkage.LinkageType.NULL, new Linkage.LinkageTypeEnumFactory())); 14630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 14631 res.setResource(parseReference(xpp)); 14632 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14633 return false; 14634 } 14635 return true; 14636 } 14637 14638 protected ListResource parseListResource(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14639 ListResource res = new ListResource(); 14640 parseResourceAttributes(xpp, res); 14641 next(xpp); 14642 int eventType = nextNoWhitespace(xpp); 14643 while (eventType != XmlPullParser.END_TAG) { 14644 if (!parseListResourceContent(eventType, xpp, res)) 14645 unknownContent(xpp); 14646 eventType = nextNoWhitespace(xpp); 14647 } 14648 next(xpp); 14649 parseElementClose(res); 14650 return res; 14651 } 14652 14653 protected boolean parseListResourceContent(int eventType, XmlPullParser xpp, ListResource res) throws XmlPullParserException, IOException, FHIRFormatError { 14654 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14655 res.getIdentifier().add(parseIdentifier(xpp)); 14656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14657 res.setStatusElement(parseEnumeration(xpp, ListResource.ListStatus.NULL, new ListResource.ListStatusEnumFactory())); 14658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 14659 res.setModeElement(parseEnumeration(xpp, Enumerations.ListMode.NULL, new Enumerations.ListModeEnumFactory())); 14660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 14661 res.setTitleElement(parseString(xpp)); 14662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 14663 res.setCode(parseCodeableConcept(xpp)); 14664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 14665 res.setSubject(parseReference(xpp)); 14666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 14667 res.setEncounter(parseReference(xpp)); 14668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 14669 res.setDateElement(parseDateTime(xpp)); 14670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 14671 res.setSource(parseReference(xpp)); 14672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 14673 res.setOrderedBy(parseCodeableConcept(xpp)); 14674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 14675 res.getNote().add(parseAnnotation(xpp)); 14676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 14677 res.getEntry().add(parseListResourceEntryComponent(xpp)); 14678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 14679 res.setEmptyReason(parseCodeableConcept(xpp)); 14680 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14681 return false; 14682 } 14683 return true; 14684 } 14685 14686 protected ListResource.ListResourceEntryComponent parseListResourceEntryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14687 ListResource.ListResourceEntryComponent res = new ListResource.ListResourceEntryComponent(); 14688 parseElementAttributes(xpp, res); 14689 next(xpp); 14690 int eventType = nextNoWhitespace(xpp); 14691 while (eventType != XmlPullParser.END_TAG) { 14692 if (!parseListResourceEntryComponentContent(eventType, xpp, res)) 14693 unknownContent(xpp); 14694 eventType = nextNoWhitespace(xpp); 14695 } 14696 next(xpp); 14697 parseElementClose(res); 14698 return res; 14699 } 14700 14701 protected boolean parseListResourceEntryComponentContent(int eventType, XmlPullParser xpp, ListResource.ListResourceEntryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14702 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("flag")) { 14703 res.setFlag(parseCodeableConcept(xpp)); 14704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deleted")) { 14705 res.setDeletedElement(parseBoolean(xpp)); 14706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 14707 res.setDateElement(parseDateTime(xpp)); 14708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 14709 res.setItem(parseReference(xpp)); 14710 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14711 return false; 14712 } 14713 return true; 14714 } 14715 14716 protected Location parseLocation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14717 Location res = new Location(); 14718 parseResourceAttributes(xpp, res); 14719 next(xpp); 14720 int eventType = nextNoWhitespace(xpp); 14721 while (eventType != XmlPullParser.END_TAG) { 14722 if (!parseLocationContent(eventType, xpp, res)) 14723 unknownContent(xpp); 14724 eventType = nextNoWhitespace(xpp); 14725 } 14726 next(xpp); 14727 parseElementClose(res); 14728 return res; 14729 } 14730 14731 protected boolean parseLocationContent(int eventType, XmlPullParser xpp, Location res) throws XmlPullParserException, IOException, FHIRFormatError { 14732 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14733 res.getIdentifier().add(parseIdentifier(xpp)); 14734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14735 res.setStatusElement(parseEnumeration(xpp, Location.LocationStatus.NULL, new Location.LocationStatusEnumFactory())); 14736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 14737 res.setOperationalStatus(parseCoding(xpp)); 14738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 14739 res.setNameElement(parseString(xpp)); 14740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 14741 res.getAlias().add(parseString(xpp)); 14742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 14743 res.setDescriptionElement(parseString(xpp)); 14744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 14745 res.setModeElement(parseEnumeration(xpp, Location.LocationMode.NULL, new Location.LocationModeEnumFactory())); 14746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14747 res.getType().add(parseCodeableConcept(xpp)); 14748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 14749 res.getTelecom().add(parseContactPoint(xpp)); 14750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 14751 res.setAddress(parseAddress(xpp)); 14752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { 14753 res.setPhysicalType(parseCodeableConcept(xpp)); 14754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("position")) { 14755 res.setPosition(parseLocationPositionComponent(xpp)); 14756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 14757 res.setManagingOrganization(parseReference(xpp)); 14758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 14759 res.setPartOf(parseReference(xpp)); 14760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hoursOfOperation")) { 14761 res.getHoursOfOperation().add(parseLocationHoursOfOperationComponent(xpp)); 14762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { 14763 res.setAvailabilityExceptionsElement(parseString(xpp)); 14764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 14765 res.getEndpoint().add(parseReference(xpp)); 14766 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14767 return false; 14768 } 14769 return true; 14770 } 14771 14772 protected Location.LocationPositionComponent parseLocationPositionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14773 Location.LocationPositionComponent res = new Location.LocationPositionComponent(); 14774 parseElementAttributes(xpp, res); 14775 next(xpp); 14776 int eventType = nextNoWhitespace(xpp); 14777 while (eventType != XmlPullParser.END_TAG) { 14778 if (!parseLocationPositionComponentContent(eventType, xpp, res)) 14779 unknownContent(xpp); 14780 eventType = nextNoWhitespace(xpp); 14781 } 14782 next(xpp); 14783 parseElementClose(res); 14784 return res; 14785 } 14786 14787 protected boolean parseLocationPositionComponentContent(int eventType, XmlPullParser xpp, Location.LocationPositionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14788 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("longitude")) { 14789 res.setLongitudeElement(parseDecimal(xpp)); 14790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("latitude")) { 14791 res.setLatitudeElement(parseDecimal(xpp)); 14792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altitude")) { 14793 res.setAltitudeElement(parseDecimal(xpp)); 14794 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14795 return false; 14796 } 14797 return true; 14798 } 14799 14800 protected Location.LocationHoursOfOperationComponent parseLocationHoursOfOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14801 Location.LocationHoursOfOperationComponent res = new Location.LocationHoursOfOperationComponent(); 14802 parseElementAttributes(xpp, res); 14803 next(xpp); 14804 int eventType = nextNoWhitespace(xpp); 14805 while (eventType != XmlPullParser.END_TAG) { 14806 if (!parseLocationHoursOfOperationComponentContent(eventType, xpp, res)) 14807 unknownContent(xpp); 14808 eventType = nextNoWhitespace(xpp); 14809 } 14810 next(xpp); 14811 parseElementClose(res); 14812 return res; 14813 } 14814 14815 protected boolean parseLocationHoursOfOperationComponentContent(int eventType, XmlPullParser xpp, Location.LocationHoursOfOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14816 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { 14817 res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); 14818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { 14819 res.setAllDayElement(parseBoolean(xpp)); 14820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("openingTime")) { 14821 res.setOpeningTimeElement(parseTime(xpp)); 14822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("closingTime")) { 14823 res.setClosingTimeElement(parseTime(xpp)); 14824 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14825 return false; 14826 } 14827 return true; 14828 } 14829 14830 protected ManufacturedItemDefinition parseManufacturedItemDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14831 ManufacturedItemDefinition res = new ManufacturedItemDefinition(); 14832 parseResourceAttributes(xpp, res); 14833 next(xpp); 14834 int eventType = nextNoWhitespace(xpp); 14835 while (eventType != XmlPullParser.END_TAG) { 14836 if (!parseManufacturedItemDefinitionContent(eventType, xpp, res)) 14837 unknownContent(xpp); 14838 eventType = nextNoWhitespace(xpp); 14839 } 14840 next(xpp); 14841 parseElementClose(res); 14842 return res; 14843 } 14844 14845 protected boolean parseManufacturedItemDefinitionContent(int eventType, XmlPullParser xpp, ManufacturedItemDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 14846 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14847 res.getIdentifier().add(parseIdentifier(xpp)); 14848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14849 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 14850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturedDoseForm")) { 14851 res.setManufacturedDoseForm(parseCodeableConcept(xpp)); 14852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitOfPresentation")) { 14853 res.setUnitOfPresentation(parseCodeableConcept(xpp)); 14854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 14855 res.getManufacturer().add(parseReference(xpp)); 14856 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 14857 res.getIngredient().add(parseCodeableConcept(xpp)); 14858 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 14859 res.getProperty().add(parseManufacturedItemDefinitionPropertyComponent(xpp)); 14860 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14861 return false; 14862 } 14863 return true; 14864 } 14865 14866 protected ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent parseManufacturedItemDefinitionPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14867 ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent res = new ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent(); 14868 parseElementAttributes(xpp, res); 14869 next(xpp); 14870 int eventType = nextNoWhitespace(xpp); 14871 while (eventType != XmlPullParser.END_TAG) { 14872 if (!parseManufacturedItemDefinitionPropertyComponentContent(eventType, xpp, res)) 14873 unknownContent(xpp); 14874 eventType = nextNoWhitespace(xpp); 14875 } 14876 next(xpp); 14877 parseElementClose(res); 14878 return res; 14879 } 14880 14881 protected boolean parseManufacturedItemDefinitionPropertyComponentContent(int eventType, XmlPullParser xpp, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 14882 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14883 res.setType(parseCodeableConcept(xpp)); 14884 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 14885 res.setValue(parseType("value", xpp)); 14886 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 14887 return false; 14888 } 14889 return true; 14890 } 14891 14892 protected Measure parseMeasure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14893 Measure res = new Measure(); 14894 parseResourceAttributes(xpp, res); 14895 next(xpp); 14896 int eventType = nextNoWhitespace(xpp); 14897 while (eventType != XmlPullParser.END_TAG) { 14898 if (!parseMeasureContent(eventType, xpp, res)) 14899 unknownContent(xpp); 14900 eventType = nextNoWhitespace(xpp); 14901 } 14902 next(xpp); 14903 parseElementClose(res); 14904 return res; 14905 } 14906 14907 protected boolean parseMeasureContent(int eventType, XmlPullParser xpp, Measure res) throws XmlPullParserException, IOException, FHIRFormatError { 14908 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 14909 res.setUrlElement(parseUri(xpp)); 14910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 14911 res.getIdentifier().add(parseIdentifier(xpp)); 14912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 14913 res.setVersionElement(parseString(xpp)); 14914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 14915 res.setNameElement(parseString(xpp)); 14916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 14917 res.setTitleElement(parseString(xpp)); 14918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 14919 res.setSubtitleElement(parseString(xpp)); 14920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 14921 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 14922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 14923 res.setExperimentalElement(parseBoolean(xpp)); 14924 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 14925 res.setSubject(parseType("subject", xpp)); 14926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 14927 res.setDateElement(parseDateTime(xpp)); 14928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 14929 res.setPublisherElement(parseString(xpp)); 14930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 14931 res.getContact().add(parseContactDetail(xpp)); 14932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 14933 res.setDescriptionElement(parseMarkdown(xpp)); 14934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 14935 res.getUseContext().add(parseUsageContext(xpp)); 14936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 14937 res.getJurisdiction().add(parseCodeableConcept(xpp)); 14938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 14939 res.setPurposeElement(parseMarkdown(xpp)); 14940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 14941 res.setUsageElement(parseString(xpp)); 14942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 14943 res.setCopyrightElement(parseMarkdown(xpp)); 14944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 14945 res.setApprovalDateElement(parseDate(xpp)); 14946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 14947 res.setLastReviewDateElement(parseDate(xpp)); 14948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 14949 res.setEffectivePeriod(parsePeriod(xpp)); 14950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 14951 res.getTopic().add(parseCodeableConcept(xpp)); 14952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 14953 res.getAuthor().add(parseContactDetail(xpp)); 14954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 14955 res.getEditor().add(parseContactDetail(xpp)); 14956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 14957 res.getReviewer().add(parseContactDetail(xpp)); 14958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 14959 res.getEndorser().add(parseContactDetail(xpp)); 14960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 14961 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 14962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { 14963 res.getLibrary().add(parseCanonical(xpp)); 14964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disclaimer")) { 14965 res.setDisclaimerElement(parseMarkdown(xpp)); 14966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scoring")) { 14967 res.setScoring(parseCodeableConcept(xpp)); 14968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compositeScoring")) { 14969 res.setCompositeScoring(parseCodeableConcept(xpp)); 14970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 14971 res.getType().add(parseCodeableConcept(xpp)); 14972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("riskAdjustment")) { 14973 res.setRiskAdjustmentElement(parseString(xpp)); 14974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rateAggregation")) { 14975 res.setRateAggregationElement(parseString(xpp)); 14976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rationale")) { 14977 res.setRationaleElement(parseMarkdown(xpp)); 14978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalRecommendationStatement")) { 14979 res.setClinicalRecommendationStatementElement(parseMarkdown(xpp)); 14980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("improvementNotation")) { 14981 res.setImprovementNotation(parseCodeableConcept(xpp)); 14982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 14983 res.getDefinition().add(parseMarkdown(xpp)); 14984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("guidance")) { 14985 res.setGuidanceElement(parseMarkdown(xpp)); 14986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 14987 res.getGroup().add(parseMeasureGroupComponent(xpp)); 14988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplementalData")) { 14989 res.getSupplementalData().add(parseMeasureSupplementalDataComponent(xpp)); 14990 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 14991 return false; 14992 } 14993 return true; 14994 } 14995 14996 protected Measure.MeasureGroupComponent parseMeasureGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 14997 Measure.MeasureGroupComponent res = new Measure.MeasureGroupComponent(); 14998 parseElementAttributes(xpp, res); 14999 next(xpp); 15000 int eventType = nextNoWhitespace(xpp); 15001 while (eventType != XmlPullParser.END_TAG) { 15002 if (!parseMeasureGroupComponentContent(eventType, xpp, res)) 15003 unknownContent(xpp); 15004 eventType = nextNoWhitespace(xpp); 15005 } 15006 next(xpp); 15007 parseElementClose(res); 15008 return res; 15009 } 15010 15011 protected boolean parseMeasureGroupComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15012 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15013 res.setCode(parseCodeableConcept(xpp)); 15014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 15015 res.setDescriptionElement(parseString(xpp)); 15016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("population")) { 15017 res.getPopulation().add(parseMeasureGroupPopulationComponent(xpp)); 15018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stratifier")) { 15019 res.getStratifier().add(parseMeasureGroupStratifierComponent(xpp)); 15020 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15021 return false; 15022 } 15023 return true; 15024 } 15025 15026 protected Measure.MeasureGroupPopulationComponent parseMeasureGroupPopulationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15027 Measure.MeasureGroupPopulationComponent res = new Measure.MeasureGroupPopulationComponent(); 15028 parseElementAttributes(xpp, res); 15029 next(xpp); 15030 int eventType = nextNoWhitespace(xpp); 15031 while (eventType != XmlPullParser.END_TAG) { 15032 if (!parseMeasureGroupPopulationComponentContent(eventType, xpp, res)) 15033 unknownContent(xpp); 15034 eventType = nextNoWhitespace(xpp); 15035 } 15036 next(xpp); 15037 parseElementClose(res); 15038 return res; 15039 } 15040 15041 protected boolean parseMeasureGroupPopulationComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureGroupPopulationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15042 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15043 res.setCode(parseCodeableConcept(xpp)); 15044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 15045 res.setDescriptionElement(parseString(xpp)); 15046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 15047 res.setCriteria(parseExpression(xpp)); 15048 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15049 return false; 15050 } 15051 return true; 15052 } 15053 15054 protected Measure.MeasureGroupStratifierComponent parseMeasureGroupStratifierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15055 Measure.MeasureGroupStratifierComponent res = new Measure.MeasureGroupStratifierComponent(); 15056 parseElementAttributes(xpp, res); 15057 next(xpp); 15058 int eventType = nextNoWhitespace(xpp); 15059 while (eventType != XmlPullParser.END_TAG) { 15060 if (!parseMeasureGroupStratifierComponentContent(eventType, xpp, res)) 15061 unknownContent(xpp); 15062 eventType = nextNoWhitespace(xpp); 15063 } 15064 next(xpp); 15065 parseElementClose(res); 15066 return res; 15067 } 15068 15069 protected boolean parseMeasureGroupStratifierComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureGroupStratifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15070 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15071 res.setCode(parseCodeableConcept(xpp)); 15072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 15073 res.setDescriptionElement(parseString(xpp)); 15074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 15075 res.setCriteria(parseExpression(xpp)); 15076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 15077 res.getComponent().add(parseMeasureGroupStratifierComponentComponent(xpp)); 15078 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15079 return false; 15080 } 15081 return true; 15082 } 15083 15084 protected Measure.MeasureGroupStratifierComponentComponent parseMeasureGroupStratifierComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15085 Measure.MeasureGroupStratifierComponentComponent res = new Measure.MeasureGroupStratifierComponentComponent(); 15086 parseElementAttributes(xpp, res); 15087 next(xpp); 15088 int eventType = nextNoWhitespace(xpp); 15089 while (eventType != XmlPullParser.END_TAG) { 15090 if (!parseMeasureGroupStratifierComponentComponentContent(eventType, xpp, res)) 15091 unknownContent(xpp); 15092 eventType = nextNoWhitespace(xpp); 15093 } 15094 next(xpp); 15095 parseElementClose(res); 15096 return res; 15097 } 15098 15099 protected boolean parseMeasureGroupStratifierComponentComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureGroupStratifierComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15100 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15101 res.setCode(parseCodeableConcept(xpp)); 15102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 15103 res.setDescriptionElement(parseString(xpp)); 15104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 15105 res.setCriteria(parseExpression(xpp)); 15106 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15107 return false; 15108 } 15109 return true; 15110 } 15111 15112 protected Measure.MeasureSupplementalDataComponent parseMeasureSupplementalDataComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15113 Measure.MeasureSupplementalDataComponent res = new Measure.MeasureSupplementalDataComponent(); 15114 parseElementAttributes(xpp, res); 15115 next(xpp); 15116 int eventType = nextNoWhitespace(xpp); 15117 while (eventType != XmlPullParser.END_TAG) { 15118 if (!parseMeasureSupplementalDataComponentContent(eventType, xpp, res)) 15119 unknownContent(xpp); 15120 eventType = nextNoWhitespace(xpp); 15121 } 15122 next(xpp); 15123 parseElementClose(res); 15124 return res; 15125 } 15126 15127 protected boolean parseMeasureSupplementalDataComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureSupplementalDataComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15128 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15129 res.setCode(parseCodeableConcept(xpp)); 15130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 15131 res.getUsage().add(parseCodeableConcept(xpp)); 15132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 15133 res.setDescriptionElement(parseString(xpp)); 15134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 15135 res.setCriteria(parseExpression(xpp)); 15136 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15137 return false; 15138 } 15139 return true; 15140 } 15141 15142 protected MeasureReport parseMeasureReport(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15143 MeasureReport res = new MeasureReport(); 15144 parseResourceAttributes(xpp, res); 15145 next(xpp); 15146 int eventType = nextNoWhitespace(xpp); 15147 while (eventType != XmlPullParser.END_TAG) { 15148 if (!parseMeasureReportContent(eventType, xpp, res)) 15149 unknownContent(xpp); 15150 eventType = nextNoWhitespace(xpp); 15151 } 15152 next(xpp); 15153 parseElementClose(res); 15154 return res; 15155 } 15156 15157 protected boolean parseMeasureReportContent(int eventType, XmlPullParser xpp, MeasureReport res) throws XmlPullParserException, IOException, FHIRFormatError { 15158 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 15159 res.getIdentifier().add(parseIdentifier(xpp)); 15160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15161 res.setStatusElement(parseEnumeration(xpp, MeasureReport.MeasureReportStatus.NULL, new MeasureReport.MeasureReportStatusEnumFactory())); 15162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15163 res.setTypeElement(parseEnumeration(xpp, MeasureReport.MeasureReportType.NULL, new MeasureReport.MeasureReportTypeEnumFactory())); 15164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measure")) { 15165 res.setMeasureElement(parseCanonical(xpp)); 15166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 15167 res.setSubject(parseReference(xpp)); 15168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 15169 res.setDateElement(parseDateTime(xpp)); 15170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reporter")) { 15171 res.setReporter(parseReference(xpp)); 15172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 15173 res.setPeriod(parsePeriod(xpp)); 15174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("improvementNotation")) { 15175 res.setImprovementNotation(parseCodeableConcept(xpp)); 15176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 15177 res.getGroup().add(parseMeasureReportGroupComponent(xpp)); 15178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evaluatedResource")) { 15179 res.getEvaluatedResource().add(parseReference(xpp)); 15180 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15181 return false; 15182 } 15183 return true; 15184 } 15185 15186 protected MeasureReport.MeasureReportGroupComponent parseMeasureReportGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15187 MeasureReport.MeasureReportGroupComponent res = new MeasureReport.MeasureReportGroupComponent(); 15188 parseElementAttributes(xpp, res); 15189 next(xpp); 15190 int eventType = nextNoWhitespace(xpp); 15191 while (eventType != XmlPullParser.END_TAG) { 15192 if (!parseMeasureReportGroupComponentContent(eventType, xpp, res)) 15193 unknownContent(xpp); 15194 eventType = nextNoWhitespace(xpp); 15195 } 15196 next(xpp); 15197 parseElementClose(res); 15198 return res; 15199 } 15200 15201 protected boolean parseMeasureReportGroupComponentContent(int eventType, XmlPullParser xpp, MeasureReport.MeasureReportGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15202 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15203 res.setCode(parseCodeableConcept(xpp)); 15204 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("population")) { 15205 res.getPopulation().add(parseMeasureReportGroupPopulationComponent(xpp)); 15206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measureScore")) { 15207 res.setMeasureScore(parseQuantity(xpp)); 15208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stratifier")) { 15209 res.getStratifier().add(parseMeasureReportGroupStratifierComponent(xpp)); 15210 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15211 return false; 15212 } 15213 return true; 15214 } 15215 15216 protected MeasureReport.MeasureReportGroupPopulationComponent parseMeasureReportGroupPopulationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15217 MeasureReport.MeasureReportGroupPopulationComponent res = new MeasureReport.MeasureReportGroupPopulationComponent(); 15218 parseElementAttributes(xpp, res); 15219 next(xpp); 15220 int eventType = nextNoWhitespace(xpp); 15221 while (eventType != XmlPullParser.END_TAG) { 15222 if (!parseMeasureReportGroupPopulationComponentContent(eventType, xpp, res)) 15223 unknownContent(xpp); 15224 eventType = nextNoWhitespace(xpp); 15225 } 15226 next(xpp); 15227 parseElementClose(res); 15228 return res; 15229 } 15230 15231 protected boolean parseMeasureReportGroupPopulationComponentContent(int eventType, XmlPullParser xpp, MeasureReport.MeasureReportGroupPopulationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15232 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15233 res.setCode(parseCodeableConcept(xpp)); 15234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("count")) { 15235 res.setCountElement(parseInteger(xpp)); 15236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectResults")) { 15237 res.setSubjectResults(parseReference(xpp)); 15238 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15239 return false; 15240 } 15241 return true; 15242 } 15243 15244 protected MeasureReport.MeasureReportGroupStratifierComponent parseMeasureReportGroupStratifierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15245 MeasureReport.MeasureReportGroupStratifierComponent res = new MeasureReport.MeasureReportGroupStratifierComponent(); 15246 parseElementAttributes(xpp, res); 15247 next(xpp); 15248 int eventType = nextNoWhitespace(xpp); 15249 while (eventType != XmlPullParser.END_TAG) { 15250 if (!parseMeasureReportGroupStratifierComponentContent(eventType, xpp, res)) 15251 unknownContent(xpp); 15252 eventType = nextNoWhitespace(xpp); 15253 } 15254 next(xpp); 15255 parseElementClose(res); 15256 return res; 15257 } 15258 15259 protected boolean parseMeasureReportGroupStratifierComponentContent(int eventType, XmlPullParser xpp, MeasureReport.MeasureReportGroupStratifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15260 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15261 res.getCode().add(parseCodeableConcept(xpp)); 15262 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stratum")) { 15263 res.getStratum().add(parseMeasureReportStratifierGroupComponent(xpp)); 15264 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15265 return false; 15266 } 15267 return true; 15268 } 15269 15270 protected MeasureReport.StratifierGroupComponent parseMeasureReportStratifierGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15271 MeasureReport.StratifierGroupComponent res = new MeasureReport.StratifierGroupComponent(); 15272 parseElementAttributes(xpp, res); 15273 next(xpp); 15274 int eventType = nextNoWhitespace(xpp); 15275 while (eventType != XmlPullParser.END_TAG) { 15276 if (!parseMeasureReportStratifierGroupComponentContent(eventType, xpp, res)) 15277 unknownContent(xpp); 15278 eventType = nextNoWhitespace(xpp); 15279 } 15280 next(xpp); 15281 parseElementClose(res); 15282 return res; 15283 } 15284 15285 protected boolean parseMeasureReportStratifierGroupComponentContent(int eventType, XmlPullParser xpp, MeasureReport.StratifierGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15286 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 15287 res.setValue(parseCodeableConcept(xpp)); 15288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 15289 res.getComponent().add(parseMeasureReportStratifierGroupComponentComponent(xpp)); 15290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("population")) { 15291 res.getPopulation().add(parseMeasureReportStratifierGroupPopulationComponent(xpp)); 15292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measureScore")) { 15293 res.setMeasureScore(parseQuantity(xpp)); 15294 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15295 return false; 15296 } 15297 return true; 15298 } 15299 15300 protected MeasureReport.StratifierGroupComponentComponent parseMeasureReportStratifierGroupComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15301 MeasureReport.StratifierGroupComponentComponent res = new MeasureReport.StratifierGroupComponentComponent(); 15302 parseElementAttributes(xpp, res); 15303 next(xpp); 15304 int eventType = nextNoWhitespace(xpp); 15305 while (eventType != XmlPullParser.END_TAG) { 15306 if (!parseMeasureReportStratifierGroupComponentComponentContent(eventType, xpp, res)) 15307 unknownContent(xpp); 15308 eventType = nextNoWhitespace(xpp); 15309 } 15310 next(xpp); 15311 parseElementClose(res); 15312 return res; 15313 } 15314 15315 protected boolean parseMeasureReportStratifierGroupComponentComponentContent(int eventType, XmlPullParser xpp, MeasureReport.StratifierGroupComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15316 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15317 res.setCode(parseCodeableConcept(xpp)); 15318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 15319 res.setValue(parseCodeableConcept(xpp)); 15320 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15321 return false; 15322 } 15323 return true; 15324 } 15325 15326 protected MeasureReport.StratifierGroupPopulationComponent parseMeasureReportStratifierGroupPopulationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15327 MeasureReport.StratifierGroupPopulationComponent res = new MeasureReport.StratifierGroupPopulationComponent(); 15328 parseElementAttributes(xpp, res); 15329 next(xpp); 15330 int eventType = nextNoWhitespace(xpp); 15331 while (eventType != XmlPullParser.END_TAG) { 15332 if (!parseMeasureReportStratifierGroupPopulationComponentContent(eventType, xpp, res)) 15333 unknownContent(xpp); 15334 eventType = nextNoWhitespace(xpp); 15335 } 15336 next(xpp); 15337 parseElementClose(res); 15338 return res; 15339 } 15340 15341 protected boolean parseMeasureReportStratifierGroupPopulationComponentContent(int eventType, XmlPullParser xpp, MeasureReport.StratifierGroupPopulationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15342 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15343 res.setCode(parseCodeableConcept(xpp)); 15344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("count")) { 15345 res.setCountElement(parseInteger(xpp)); 15346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectResults")) { 15347 res.setSubjectResults(parseReference(xpp)); 15348 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15349 return false; 15350 } 15351 return true; 15352 } 15353 15354 protected Media parseMedia(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15355 Media res = new Media(); 15356 parseResourceAttributes(xpp, res); 15357 next(xpp); 15358 int eventType = nextNoWhitespace(xpp); 15359 while (eventType != XmlPullParser.END_TAG) { 15360 if (!parseMediaContent(eventType, xpp, res)) 15361 unknownContent(xpp); 15362 eventType = nextNoWhitespace(xpp); 15363 } 15364 next(xpp); 15365 parseElementClose(res); 15366 return res; 15367 } 15368 15369 protected boolean parseMediaContent(int eventType, XmlPullParser xpp, Media res) throws XmlPullParserException, IOException, FHIRFormatError { 15370 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 15371 res.getIdentifier().add(parseIdentifier(xpp)); 15372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 15373 res.getBasedOn().add(parseReference(xpp)); 15374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 15375 res.getPartOf().add(parseReference(xpp)); 15376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15377 res.setStatusElement(parseEnumeration(xpp, Enumerations.EventStatus.NULL, new Enumerations.EventStatusEnumFactory())); 15378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15379 res.setType(parseCodeableConcept(xpp)); 15380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modality")) { 15381 res.setModality(parseCodeableConcept(xpp)); 15382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("view")) { 15383 res.setView(parseCodeableConcept(xpp)); 15384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 15385 res.setSubject(parseReference(xpp)); 15386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 15387 res.setEncounter(parseReference(xpp)); 15388 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "created")) { 15389 res.setCreated(parseType("created", xpp)); 15390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 15391 res.setIssuedElement(parseInstant(xpp)); 15392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 15393 res.setOperator(parseReference(xpp)); 15394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 15395 res.getReasonCode().add(parseCodeableConcept(xpp)); 15396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 15397 res.setBodySite(parseCodeableConcept(xpp)); 15398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceName")) { 15399 res.setDeviceNameElement(parseString(xpp)); 15400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 15401 res.setDevice(parseReference(xpp)); 15402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("height")) { 15403 res.setHeightElement(parsePositiveInt(xpp)); 15404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("width")) { 15405 res.setWidthElement(parsePositiveInt(xpp)); 15406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frames")) { 15407 res.setFramesElement(parsePositiveInt(xpp)); 15408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 15409 res.setDurationElement(parseDecimal(xpp)); 15410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 15411 res.setContent(parseAttachment(xpp)); 15412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 15413 res.getNote().add(parseAnnotation(xpp)); 15414 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15415 return false; 15416 } 15417 return true; 15418 } 15419 15420 protected Medication parseMedication(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15421 Medication res = new Medication(); 15422 parseResourceAttributes(xpp, res); 15423 next(xpp); 15424 int eventType = nextNoWhitespace(xpp); 15425 while (eventType != XmlPullParser.END_TAG) { 15426 if (!parseMedicationContent(eventType, xpp, res)) 15427 unknownContent(xpp); 15428 eventType = nextNoWhitespace(xpp); 15429 } 15430 next(xpp); 15431 parseElementClose(res); 15432 return res; 15433 } 15434 15435 protected boolean parseMedicationContent(int eventType, XmlPullParser xpp, Medication res) throws XmlPullParserException, IOException, FHIRFormatError { 15436 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 15437 res.getIdentifier().add(parseIdentifier(xpp)); 15438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15439 res.setCode(parseCodeableConcept(xpp)); 15440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15441 res.setStatusElement(parseEnumeration(xpp, Medication.MedicationStatusCodes.NULL, new Medication.MedicationStatusCodesEnumFactory())); 15442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 15443 res.setManufacturer(parseReference(xpp)); 15444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 15445 res.setForm(parseCodeableConcept(xpp)); 15446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 15447 res.setAmount(parseRatio(xpp)); 15448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 15449 res.getIngredient().add(parseMedicationIngredientComponent(xpp)); 15450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("batch")) { 15451 res.setBatch(parseMedicationBatchComponent(xpp)); 15452 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15453 return false; 15454 } 15455 return true; 15456 } 15457 15458 protected Medication.MedicationIngredientComponent parseMedicationIngredientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15459 Medication.MedicationIngredientComponent res = new Medication.MedicationIngredientComponent(); 15460 parseElementAttributes(xpp, res); 15461 next(xpp); 15462 int eventType = nextNoWhitespace(xpp); 15463 while (eventType != XmlPullParser.END_TAG) { 15464 if (!parseMedicationIngredientComponentContent(eventType, xpp, res)) 15465 unknownContent(xpp); 15466 eventType = nextNoWhitespace(xpp); 15467 } 15468 next(xpp); 15469 parseElementClose(res); 15470 return res; 15471 } 15472 15473 protected boolean parseMedicationIngredientComponentContent(int eventType, XmlPullParser xpp, Medication.MedicationIngredientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15474 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "item")) { 15475 res.setItem(parseType("item", xpp)); 15476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isActive")) { 15477 res.setIsActiveElement(parseBoolean(xpp)); 15478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 15479 res.setStrength(parseRatio(xpp)); 15480 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15481 return false; 15482 } 15483 return true; 15484 } 15485 15486 protected Medication.MedicationBatchComponent parseMedicationBatchComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15487 Medication.MedicationBatchComponent res = new Medication.MedicationBatchComponent(); 15488 parseElementAttributes(xpp, res); 15489 next(xpp); 15490 int eventType = nextNoWhitespace(xpp); 15491 while (eventType != XmlPullParser.END_TAG) { 15492 if (!parseMedicationBatchComponentContent(eventType, xpp, res)) 15493 unknownContent(xpp); 15494 eventType = nextNoWhitespace(xpp); 15495 } 15496 next(xpp); 15497 parseElementClose(res); 15498 return res; 15499 } 15500 15501 protected boolean parseMedicationBatchComponentContent(int eventType, XmlPullParser xpp, Medication.MedicationBatchComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15502 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 15503 res.setLotNumberElement(parseString(xpp)); 15504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 15505 res.setExpirationDateElement(parseDateTime(xpp)); 15506 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15507 return false; 15508 } 15509 return true; 15510 } 15511 15512 protected MedicationAdministration parseMedicationAdministration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15513 MedicationAdministration res = new MedicationAdministration(); 15514 parseResourceAttributes(xpp, res); 15515 next(xpp); 15516 int eventType = nextNoWhitespace(xpp); 15517 while (eventType != XmlPullParser.END_TAG) { 15518 if (!parseMedicationAdministrationContent(eventType, xpp, res)) 15519 unknownContent(xpp); 15520 eventType = nextNoWhitespace(xpp); 15521 } 15522 next(xpp); 15523 parseElementClose(res); 15524 return res; 15525 } 15526 15527 protected boolean parseMedicationAdministrationContent(int eventType, XmlPullParser xpp, MedicationAdministration res) throws XmlPullParserException, IOException, FHIRFormatError { 15528 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 15529 res.getIdentifier().add(parseIdentifier(xpp)); 15530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { 15531 res.getInstantiates().add(parseUri(xpp)); 15532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 15533 res.getPartOf().add(parseReference(xpp)); 15534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15535 res.setStatusElement(parseEnumeration(xpp, MedicationAdministration.MedicationAdministrationStatusCodes.NULL, new MedicationAdministration.MedicationAdministrationStatusCodesEnumFactory())); 15536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 15537 res.getStatusReason().add(parseCodeableConcept(xpp)); 15538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 15539 res.setCategory(parseCodeableConcept(xpp)); 15540 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 15541 res.setMedication(parseType("medication", xpp)); 15542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 15543 res.setSubject(parseReference(xpp)); 15544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 15545 res.setContext(parseReference(xpp)); 15546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 15547 res.getSupportingInformation().add(parseReference(xpp)); 15548 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 15549 res.setEffective(parseType("effective", xpp)); 15550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 15551 res.getPerformer().add(parseMedicationAdministrationPerformerComponent(xpp)); 15552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 15553 res.getReasonCode().add(parseCodeableConcept(xpp)); 15554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 15555 res.getReasonReference().add(parseReference(xpp)); 15556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 15557 res.setRequest(parseReference(xpp)); 15558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 15559 res.getDevice().add(parseReference(xpp)); 15560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 15561 res.getNote().add(parseAnnotation(xpp)); 15562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 15563 res.setDosage(parseMedicationAdministrationDosageComponent(xpp)); 15564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventHistory")) { 15565 res.getEventHistory().add(parseReference(xpp)); 15566 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15567 return false; 15568 } 15569 return true; 15570 } 15571 15572 protected MedicationAdministration.MedicationAdministrationPerformerComponent parseMedicationAdministrationPerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15573 MedicationAdministration.MedicationAdministrationPerformerComponent res = new MedicationAdministration.MedicationAdministrationPerformerComponent(); 15574 parseElementAttributes(xpp, res); 15575 next(xpp); 15576 int eventType = nextNoWhitespace(xpp); 15577 while (eventType != XmlPullParser.END_TAG) { 15578 if (!parseMedicationAdministrationPerformerComponentContent(eventType, xpp, res)) 15579 unknownContent(xpp); 15580 eventType = nextNoWhitespace(xpp); 15581 } 15582 next(xpp); 15583 parseElementClose(res); 15584 return res; 15585 } 15586 15587 protected boolean parseMedicationAdministrationPerformerComponentContent(int eventType, XmlPullParser xpp, MedicationAdministration.MedicationAdministrationPerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15588 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 15589 res.setFunction(parseCodeableConcept(xpp)); 15590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 15591 res.setActor(parseReference(xpp)); 15592 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15593 return false; 15594 } 15595 return true; 15596 } 15597 15598 protected MedicationAdministration.MedicationAdministrationDosageComponent parseMedicationAdministrationDosageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15599 MedicationAdministration.MedicationAdministrationDosageComponent res = new MedicationAdministration.MedicationAdministrationDosageComponent(); 15600 parseElementAttributes(xpp, res); 15601 next(xpp); 15602 int eventType = nextNoWhitespace(xpp); 15603 while (eventType != XmlPullParser.END_TAG) { 15604 if (!parseMedicationAdministrationDosageComponentContent(eventType, xpp, res)) 15605 unknownContent(xpp); 15606 eventType = nextNoWhitespace(xpp); 15607 } 15608 next(xpp); 15609 parseElementClose(res); 15610 return res; 15611 } 15612 15613 protected boolean parseMedicationAdministrationDosageComponentContent(int eventType, XmlPullParser xpp, MedicationAdministration.MedicationAdministrationDosageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15614 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 15615 res.setTextElement(parseString(xpp)); 15616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 15617 res.setSite(parseCodeableConcept(xpp)); 15618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 15619 res.setRoute(parseCodeableConcept(xpp)); 15620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 15621 res.setMethod(parseCodeableConcept(xpp)); 15622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dose")) { 15623 res.setDose(parseQuantity(xpp)); 15624 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 15625 res.setRate(parseType("rate", xpp)); 15626 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15627 return false; 15628 } 15629 return true; 15630 } 15631 15632 protected MedicationDispense parseMedicationDispense(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15633 MedicationDispense res = new MedicationDispense(); 15634 parseResourceAttributes(xpp, res); 15635 next(xpp); 15636 int eventType = nextNoWhitespace(xpp); 15637 while (eventType != XmlPullParser.END_TAG) { 15638 if (!parseMedicationDispenseContent(eventType, xpp, res)) 15639 unknownContent(xpp); 15640 eventType = nextNoWhitespace(xpp); 15641 } 15642 next(xpp); 15643 parseElementClose(res); 15644 return res; 15645 } 15646 15647 protected boolean parseMedicationDispenseContent(int eventType, XmlPullParser xpp, MedicationDispense res) throws XmlPullParserException, IOException, FHIRFormatError { 15648 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 15649 res.getIdentifier().add(parseIdentifier(xpp)); 15650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 15651 res.getPartOf().add(parseReference(xpp)); 15652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15653 res.setStatusElement(parseEnumeration(xpp, MedicationDispense.MedicationDispenseStatusCodes.NULL, new MedicationDispense.MedicationDispenseStatusCodesEnumFactory())); 15654 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "statusReason")) { 15655 res.setStatusReason(parseType("statusReason", xpp)); 15656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 15657 res.setCategory(parseCodeableConcept(xpp)); 15658 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 15659 res.setMedication(parseType("medication", xpp)); 15660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 15661 res.setSubject(parseReference(xpp)); 15662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 15663 res.setContext(parseReference(xpp)); 15664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 15665 res.getSupportingInformation().add(parseReference(xpp)); 15666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 15667 res.getPerformer().add(parseMedicationDispensePerformerComponent(xpp)); 15668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 15669 res.setLocation(parseReference(xpp)); 15670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizingPrescription")) { 15671 res.getAuthorizingPrescription().add(parseReference(xpp)); 15672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15673 res.setType(parseCodeableConcept(xpp)); 15674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 15675 res.setQuantity(parseQuantity(xpp)); 15676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysSupply")) { 15677 res.setDaysSupply(parseQuantity(xpp)); 15678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenPrepared")) { 15679 res.setWhenPreparedElement(parseDateTime(xpp)); 15680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenHandedOver")) { 15681 res.setWhenHandedOverElement(parseDateTime(xpp)); 15682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 15683 res.setDestination(parseReference(xpp)); 15684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 15685 res.getReceiver().add(parseReference(xpp)); 15686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 15687 res.getNote().add(parseAnnotation(xpp)); 15688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 15689 res.getDosageInstruction().add(parseDosage(xpp)); 15690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 15691 res.setSubstitution(parseMedicationDispenseSubstitutionComponent(xpp)); 15692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detectedIssue")) { 15693 res.getDetectedIssue().add(parseReference(xpp)); 15694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventHistory")) { 15695 res.getEventHistory().add(parseReference(xpp)); 15696 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15697 return false; 15698 } 15699 return true; 15700 } 15701 15702 protected MedicationDispense.MedicationDispensePerformerComponent parseMedicationDispensePerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15703 MedicationDispense.MedicationDispensePerformerComponent res = new MedicationDispense.MedicationDispensePerformerComponent(); 15704 parseElementAttributes(xpp, res); 15705 next(xpp); 15706 int eventType = nextNoWhitespace(xpp); 15707 while (eventType != XmlPullParser.END_TAG) { 15708 if (!parseMedicationDispensePerformerComponentContent(eventType, xpp, res)) 15709 unknownContent(xpp); 15710 eventType = nextNoWhitespace(xpp); 15711 } 15712 next(xpp); 15713 parseElementClose(res); 15714 return res; 15715 } 15716 15717 protected boolean parseMedicationDispensePerformerComponentContent(int eventType, XmlPullParser xpp, MedicationDispense.MedicationDispensePerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15718 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 15719 res.setFunction(parseCodeableConcept(xpp)); 15720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 15721 res.setActor(parseReference(xpp)); 15722 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15723 return false; 15724 } 15725 return true; 15726 } 15727 15728 protected MedicationDispense.MedicationDispenseSubstitutionComponent parseMedicationDispenseSubstitutionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15729 MedicationDispense.MedicationDispenseSubstitutionComponent res = new MedicationDispense.MedicationDispenseSubstitutionComponent(); 15730 parseElementAttributes(xpp, res); 15731 next(xpp); 15732 int eventType = nextNoWhitespace(xpp); 15733 while (eventType != XmlPullParser.END_TAG) { 15734 if (!parseMedicationDispenseSubstitutionComponentContent(eventType, xpp, res)) 15735 unknownContent(xpp); 15736 eventType = nextNoWhitespace(xpp); 15737 } 15738 next(xpp); 15739 parseElementClose(res); 15740 return res; 15741 } 15742 15743 protected boolean parseMedicationDispenseSubstitutionComponentContent(int eventType, XmlPullParser xpp, MedicationDispense.MedicationDispenseSubstitutionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15744 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasSubstituted")) { 15745 res.setWasSubstitutedElement(parseBoolean(xpp)); 15746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15747 res.setType(parseCodeableConcept(xpp)); 15748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 15749 res.getReason().add(parseCodeableConcept(xpp)); 15750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsibleParty")) { 15751 res.getResponsibleParty().add(parseReference(xpp)); 15752 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15753 return false; 15754 } 15755 return true; 15756 } 15757 15758 protected MedicationKnowledge parseMedicationKnowledge(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15759 MedicationKnowledge res = new MedicationKnowledge(); 15760 parseResourceAttributes(xpp, res); 15761 next(xpp); 15762 int eventType = nextNoWhitespace(xpp); 15763 while (eventType != XmlPullParser.END_TAG) { 15764 if (!parseMedicationKnowledgeContent(eventType, xpp, res)) 15765 unknownContent(xpp); 15766 eventType = nextNoWhitespace(xpp); 15767 } 15768 next(xpp); 15769 parseElementClose(res); 15770 return res; 15771 } 15772 15773 protected boolean parseMedicationKnowledgeContent(int eventType, XmlPullParser xpp, MedicationKnowledge res) throws XmlPullParserException, IOException, FHIRFormatError { 15774 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 15775 res.setCode(parseCodeableConcept(xpp)); 15776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 15777 res.setStatusElement(parseEnumeration(xpp, MedicationKnowledge.MedicationKnowledgeStatusCodes.NULL, new MedicationKnowledge.MedicationKnowledgeStatusCodesEnumFactory())); 15778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 15779 res.setManufacturer(parseReference(xpp)); 15780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseForm")) { 15781 res.setDoseForm(parseCodeableConcept(xpp)); 15782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 15783 res.setAmount(parseQuantity(xpp)); 15784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("synonym")) { 15785 res.getSynonym().add(parseString(xpp)); 15786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedMedicationKnowledge")) { 15787 res.getRelatedMedicationKnowledge().add(parseMedicationKnowledgeRelatedMedicationKnowledgeComponent(xpp)); 15788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("associatedMedication")) { 15789 res.getAssociatedMedication().add(parseReference(xpp)); 15790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productType")) { 15791 res.getProductType().add(parseCodeableConcept(xpp)); 15792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("monograph")) { 15793 res.getMonograph().add(parseMedicationKnowledgeMonographComponent(xpp)); 15794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 15795 res.getIngredient().add(parseMedicationKnowledgeIngredientComponent(xpp)); 15796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preparationInstruction")) { 15797 res.setPreparationInstructionElement(parseMarkdown(xpp)); 15798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intendedRoute")) { 15799 res.getIntendedRoute().add(parseCodeableConcept(xpp)); 15800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cost")) { 15801 res.getCost().add(parseMedicationKnowledgeCostComponent(xpp)); 15802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("monitoringProgram")) { 15803 res.getMonitoringProgram().add(parseMedicationKnowledgeMonitoringProgramComponent(xpp)); 15804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administrationGuidelines")) { 15805 res.getAdministrationGuidelines().add(parseMedicationKnowledgeAdministrationGuidelinesComponent(xpp)); 15806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medicineClassification")) { 15807 res.getMedicineClassification().add(parseMedicationKnowledgeMedicineClassificationComponent(xpp)); 15808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packaging")) { 15809 res.setPackaging(parseMedicationKnowledgePackagingComponent(xpp)); 15810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("drugCharacteristic")) { 15811 res.getDrugCharacteristic().add(parseMedicationKnowledgeDrugCharacteristicComponent(xpp)); 15812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contraindication")) { 15813 res.getContraindication().add(parseReference(xpp)); 15814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regulatory")) { 15815 res.getRegulatory().add(parseMedicationKnowledgeRegulatoryComponent(xpp)); 15816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kinetics")) { 15817 res.getKinetics().add(parseMedicationKnowledgeKineticsComponent(xpp)); 15818 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 15819 return false; 15820 } 15821 return true; 15822 } 15823 15824 protected MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent parseMedicationKnowledgeRelatedMedicationKnowledgeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15825 MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent res = new MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent(); 15826 parseElementAttributes(xpp, res); 15827 next(xpp); 15828 int eventType = nextNoWhitespace(xpp); 15829 while (eventType != XmlPullParser.END_TAG) { 15830 if (!parseMedicationKnowledgeRelatedMedicationKnowledgeComponentContent(eventType, xpp, res)) 15831 unknownContent(xpp); 15832 eventType = nextNoWhitespace(xpp); 15833 } 15834 next(xpp); 15835 parseElementClose(res); 15836 return res; 15837 } 15838 15839 protected boolean parseMedicationKnowledgeRelatedMedicationKnowledgeComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15840 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15841 res.setType(parseCodeableConcept(xpp)); 15842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 15843 res.getReference().add(parseReference(xpp)); 15844 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15845 return false; 15846 } 15847 return true; 15848 } 15849 15850 protected MedicationKnowledge.MedicationKnowledgeMonographComponent parseMedicationKnowledgeMonographComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15851 MedicationKnowledge.MedicationKnowledgeMonographComponent res = new MedicationKnowledge.MedicationKnowledgeMonographComponent(); 15852 parseElementAttributes(xpp, res); 15853 next(xpp); 15854 int eventType = nextNoWhitespace(xpp); 15855 while (eventType != XmlPullParser.END_TAG) { 15856 if (!parseMedicationKnowledgeMonographComponentContent(eventType, xpp, res)) 15857 unknownContent(xpp); 15858 eventType = nextNoWhitespace(xpp); 15859 } 15860 next(xpp); 15861 parseElementClose(res); 15862 return res; 15863 } 15864 15865 protected boolean parseMedicationKnowledgeMonographComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeMonographComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15866 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15867 res.setType(parseCodeableConcept(xpp)); 15868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 15869 res.setSource(parseReference(xpp)); 15870 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15871 return false; 15872 } 15873 return true; 15874 } 15875 15876 protected MedicationKnowledge.MedicationKnowledgeIngredientComponent parseMedicationKnowledgeIngredientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15877 MedicationKnowledge.MedicationKnowledgeIngredientComponent res = new MedicationKnowledge.MedicationKnowledgeIngredientComponent(); 15878 parseElementAttributes(xpp, res); 15879 next(xpp); 15880 int eventType = nextNoWhitespace(xpp); 15881 while (eventType != XmlPullParser.END_TAG) { 15882 if (!parseMedicationKnowledgeIngredientComponentContent(eventType, xpp, res)) 15883 unknownContent(xpp); 15884 eventType = nextNoWhitespace(xpp); 15885 } 15886 next(xpp); 15887 parseElementClose(res); 15888 return res; 15889 } 15890 15891 protected boolean parseMedicationKnowledgeIngredientComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeIngredientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15892 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "item")) { 15893 res.setItem(parseType("item", xpp)); 15894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isActive")) { 15895 res.setIsActiveElement(parseBoolean(xpp)); 15896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 15897 res.setStrength(parseRatio(xpp)); 15898 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15899 return false; 15900 } 15901 return true; 15902 } 15903 15904 protected MedicationKnowledge.MedicationKnowledgeCostComponent parseMedicationKnowledgeCostComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15905 MedicationKnowledge.MedicationKnowledgeCostComponent res = new MedicationKnowledge.MedicationKnowledgeCostComponent(); 15906 parseElementAttributes(xpp, res); 15907 next(xpp); 15908 int eventType = nextNoWhitespace(xpp); 15909 while (eventType != XmlPullParser.END_TAG) { 15910 if (!parseMedicationKnowledgeCostComponentContent(eventType, xpp, res)) 15911 unknownContent(xpp); 15912 eventType = nextNoWhitespace(xpp); 15913 } 15914 next(xpp); 15915 parseElementClose(res); 15916 return res; 15917 } 15918 15919 protected boolean parseMedicationKnowledgeCostComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeCostComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15920 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15921 res.setType(parseCodeableConcept(xpp)); 15922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 15923 res.setSourceElement(parseString(xpp)); 15924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cost")) { 15925 res.setCost(parseMoney(xpp)); 15926 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15927 return false; 15928 } 15929 return true; 15930 } 15931 15932 protected MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent parseMedicationKnowledgeMonitoringProgramComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15933 MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent res = new MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent(); 15934 parseElementAttributes(xpp, res); 15935 next(xpp); 15936 int eventType = nextNoWhitespace(xpp); 15937 while (eventType != XmlPullParser.END_TAG) { 15938 if (!parseMedicationKnowledgeMonitoringProgramComponentContent(eventType, xpp, res)) 15939 unknownContent(xpp); 15940 eventType = nextNoWhitespace(xpp); 15941 } 15942 next(xpp); 15943 parseElementClose(res); 15944 return res; 15945 } 15946 15947 protected boolean parseMedicationKnowledgeMonitoringProgramComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15948 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 15949 res.setType(parseCodeableConcept(xpp)); 15950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 15951 res.setNameElement(parseString(xpp)); 15952 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15953 return false; 15954 } 15955 return true; 15956 } 15957 15958 protected MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent parseMedicationKnowledgeAdministrationGuidelinesComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15959 MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent res = new MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent(); 15960 parseElementAttributes(xpp, res); 15961 next(xpp); 15962 int eventType = nextNoWhitespace(xpp); 15963 while (eventType != XmlPullParser.END_TAG) { 15964 if (!parseMedicationKnowledgeAdministrationGuidelinesComponentContent(eventType, xpp, res)) 15965 unknownContent(xpp); 15966 eventType = nextNoWhitespace(xpp); 15967 } 15968 next(xpp); 15969 parseElementClose(res); 15970 return res; 15971 } 15972 15973 protected boolean parseMedicationKnowledgeAdministrationGuidelinesComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 15974 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 15975 res.getDosage().add(parseMedicationKnowledgeAdministrationGuidelinesDosageComponent(xpp)); 15976 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "indication")) { 15977 res.setIndication(parseType("indication", xpp)); 15978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientCharacteristics")) { 15979 res.getPatientCharacteristics().add(parseMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(xpp)); 15980 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 15981 return false; 15982 } 15983 return true; 15984 } 15985 15986 protected MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent parseMedicationKnowledgeAdministrationGuidelinesDosageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 15987 MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent res = new MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent(); 15988 parseElementAttributes(xpp, res); 15989 next(xpp); 15990 int eventType = nextNoWhitespace(xpp); 15991 while (eventType != XmlPullParser.END_TAG) { 15992 if (!parseMedicationKnowledgeAdministrationGuidelinesDosageComponentContent(eventType, xpp, res)) 15993 unknownContent(xpp); 15994 eventType = nextNoWhitespace(xpp); 15995 } 15996 next(xpp); 15997 parseElementClose(res); 15998 return res; 15999 } 16000 16001 protected boolean parseMedicationKnowledgeAdministrationGuidelinesDosageComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16002 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16003 res.setType(parseCodeableConcept(xpp)); 16004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 16005 res.getDosage().add(parseDosage(xpp)); 16006 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16007 return false; 16008 } 16009 return true; 16010 } 16011 16012 protected MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent parseMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16013 MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent res = new MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(); 16014 parseElementAttributes(xpp, res); 16015 next(xpp); 16016 int eventType = nextNoWhitespace(xpp); 16017 while (eventType != XmlPullParser.END_TAG) { 16018 if (!parseMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponentContent(eventType, xpp, res)) 16019 unknownContent(xpp); 16020 eventType = nextNoWhitespace(xpp); 16021 } 16022 next(xpp); 16023 parseElementClose(res); 16024 return res; 16025 } 16026 16027 protected boolean parseMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16028 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "characteristic")) { 16029 res.setCharacteristic(parseType("characteristic", xpp)); 16030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 16031 res.getValue().add(parseString(xpp)); 16032 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16033 return false; 16034 } 16035 return true; 16036 } 16037 16038 protected MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent parseMedicationKnowledgeMedicineClassificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16039 MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent res = new MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent(); 16040 parseElementAttributes(xpp, res); 16041 next(xpp); 16042 int eventType = nextNoWhitespace(xpp); 16043 while (eventType != XmlPullParser.END_TAG) { 16044 if (!parseMedicationKnowledgeMedicineClassificationComponentContent(eventType, xpp, res)) 16045 unknownContent(xpp); 16046 eventType = nextNoWhitespace(xpp); 16047 } 16048 next(xpp); 16049 parseElementClose(res); 16050 return res; 16051 } 16052 16053 protected boolean parseMedicationKnowledgeMedicineClassificationComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16054 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16055 res.setType(parseCodeableConcept(xpp)); 16056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 16057 res.getClassification().add(parseCodeableConcept(xpp)); 16058 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16059 return false; 16060 } 16061 return true; 16062 } 16063 16064 protected MedicationKnowledge.MedicationKnowledgePackagingComponent parseMedicationKnowledgePackagingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16065 MedicationKnowledge.MedicationKnowledgePackagingComponent res = new MedicationKnowledge.MedicationKnowledgePackagingComponent(); 16066 parseElementAttributes(xpp, res); 16067 next(xpp); 16068 int eventType = nextNoWhitespace(xpp); 16069 while (eventType != XmlPullParser.END_TAG) { 16070 if (!parseMedicationKnowledgePackagingComponentContent(eventType, xpp, res)) 16071 unknownContent(xpp); 16072 eventType = nextNoWhitespace(xpp); 16073 } 16074 next(xpp); 16075 parseElementClose(res); 16076 return res; 16077 } 16078 16079 protected boolean parseMedicationKnowledgePackagingComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgePackagingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16080 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16081 res.setType(parseCodeableConcept(xpp)); 16082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 16083 res.setQuantity(parseQuantity(xpp)); 16084 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16085 return false; 16086 } 16087 return true; 16088 } 16089 16090 protected MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent parseMedicationKnowledgeDrugCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16091 MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent res = new MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent(); 16092 parseElementAttributes(xpp, res); 16093 next(xpp); 16094 int eventType = nextNoWhitespace(xpp); 16095 while (eventType != XmlPullParser.END_TAG) { 16096 if (!parseMedicationKnowledgeDrugCharacteristicComponentContent(eventType, xpp, res)) 16097 unknownContent(xpp); 16098 eventType = nextNoWhitespace(xpp); 16099 } 16100 next(xpp); 16101 parseElementClose(res); 16102 return res; 16103 } 16104 16105 protected boolean parseMedicationKnowledgeDrugCharacteristicComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16106 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16107 res.setType(parseCodeableConcept(xpp)); 16108 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 16109 res.setValue(parseType("value", xpp)); 16110 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16111 return false; 16112 } 16113 return true; 16114 } 16115 16116 protected MedicationKnowledge.MedicationKnowledgeRegulatoryComponent parseMedicationKnowledgeRegulatoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16117 MedicationKnowledge.MedicationKnowledgeRegulatoryComponent res = new MedicationKnowledge.MedicationKnowledgeRegulatoryComponent(); 16118 parseElementAttributes(xpp, res); 16119 next(xpp); 16120 int eventType = nextNoWhitespace(xpp); 16121 while (eventType != XmlPullParser.END_TAG) { 16122 if (!parseMedicationKnowledgeRegulatoryComponentContent(eventType, xpp, res)) 16123 unknownContent(xpp); 16124 eventType = nextNoWhitespace(xpp); 16125 } 16126 next(xpp); 16127 parseElementClose(res); 16128 return res; 16129 } 16130 16131 protected boolean parseMedicationKnowledgeRegulatoryComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeRegulatoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16132 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regulatoryAuthority")) { 16133 res.setRegulatoryAuthority(parseReference(xpp)); 16134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 16135 res.getSubstitution().add(parseMedicationKnowledgeRegulatorySubstitutionComponent(xpp)); 16136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 16137 res.getSchedule().add(parseMedicationKnowledgeRegulatoryScheduleComponent(xpp)); 16138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDispense")) { 16139 res.setMaxDispense(parseMedicationKnowledgeRegulatoryMaxDispenseComponent(xpp)); 16140 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16141 return false; 16142 } 16143 return true; 16144 } 16145 16146 protected MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent parseMedicationKnowledgeRegulatorySubstitutionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16147 MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent res = new MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent(); 16148 parseElementAttributes(xpp, res); 16149 next(xpp); 16150 int eventType = nextNoWhitespace(xpp); 16151 while (eventType != XmlPullParser.END_TAG) { 16152 if (!parseMedicationKnowledgeRegulatorySubstitutionComponentContent(eventType, xpp, res)) 16153 unknownContent(xpp); 16154 eventType = nextNoWhitespace(xpp); 16155 } 16156 next(xpp); 16157 parseElementClose(res); 16158 return res; 16159 } 16160 16161 protected boolean parseMedicationKnowledgeRegulatorySubstitutionComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16162 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16163 res.setType(parseCodeableConcept(xpp)); 16164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allowed")) { 16165 res.setAllowedElement(parseBoolean(xpp)); 16166 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16167 return false; 16168 } 16169 return true; 16170 } 16171 16172 protected MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent parseMedicationKnowledgeRegulatoryScheduleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16173 MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent res = new MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent(); 16174 parseElementAttributes(xpp, res); 16175 next(xpp); 16176 int eventType = nextNoWhitespace(xpp); 16177 while (eventType != XmlPullParser.END_TAG) { 16178 if (!parseMedicationKnowledgeRegulatoryScheduleComponentContent(eventType, xpp, res)) 16179 unknownContent(xpp); 16180 eventType = nextNoWhitespace(xpp); 16181 } 16182 next(xpp); 16183 parseElementClose(res); 16184 return res; 16185 } 16186 16187 protected boolean parseMedicationKnowledgeRegulatoryScheduleComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16188 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 16189 res.setSchedule(parseCodeableConcept(xpp)); 16190 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16191 return false; 16192 } 16193 return true; 16194 } 16195 16196 protected MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent parseMedicationKnowledgeRegulatoryMaxDispenseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16197 MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent res = new MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent(); 16198 parseElementAttributes(xpp, res); 16199 next(xpp); 16200 int eventType = nextNoWhitespace(xpp); 16201 while (eventType != XmlPullParser.END_TAG) { 16202 if (!parseMedicationKnowledgeRegulatoryMaxDispenseComponentContent(eventType, xpp, res)) 16203 unknownContent(xpp); 16204 eventType = nextNoWhitespace(xpp); 16205 } 16206 next(xpp); 16207 parseElementClose(res); 16208 return res; 16209 } 16210 16211 protected boolean parseMedicationKnowledgeRegulatoryMaxDispenseComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16212 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 16213 res.setQuantity(parseQuantity(xpp)); 16214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 16215 res.setPeriod(parseDuration(xpp)); 16216 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16217 return false; 16218 } 16219 return true; 16220 } 16221 16222 protected MedicationKnowledge.MedicationKnowledgeKineticsComponent parseMedicationKnowledgeKineticsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16223 MedicationKnowledge.MedicationKnowledgeKineticsComponent res = new MedicationKnowledge.MedicationKnowledgeKineticsComponent(); 16224 parseElementAttributes(xpp, res); 16225 next(xpp); 16226 int eventType = nextNoWhitespace(xpp); 16227 while (eventType != XmlPullParser.END_TAG) { 16228 if (!parseMedicationKnowledgeKineticsComponentContent(eventType, xpp, res)) 16229 unknownContent(xpp); 16230 eventType = nextNoWhitespace(xpp); 16231 } 16232 next(xpp); 16233 parseElementClose(res); 16234 return res; 16235 } 16236 16237 protected boolean parseMedicationKnowledgeKineticsComponentContent(int eventType, XmlPullParser xpp, MedicationKnowledge.MedicationKnowledgeKineticsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16238 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("areaUnderCurve")) { 16239 res.getAreaUnderCurve().add(parseQuantity(xpp)); 16240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lethalDose50")) { 16241 res.getLethalDose50().add(parseQuantity(xpp)); 16242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("halfLifePeriod")) { 16243 res.setHalfLifePeriod(parseDuration(xpp)); 16244 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16245 return false; 16246 } 16247 return true; 16248 } 16249 16250 protected MedicationRequest parseMedicationRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16251 MedicationRequest res = new MedicationRequest(); 16252 parseResourceAttributes(xpp, res); 16253 next(xpp); 16254 int eventType = nextNoWhitespace(xpp); 16255 while (eventType != XmlPullParser.END_TAG) { 16256 if (!parseMedicationRequestContent(eventType, xpp, res)) 16257 unknownContent(xpp); 16258 eventType = nextNoWhitespace(xpp); 16259 } 16260 next(xpp); 16261 parseElementClose(res); 16262 return res; 16263 } 16264 16265 protected boolean parseMedicationRequestContent(int eventType, XmlPullParser xpp, MedicationRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 16266 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 16267 res.getIdentifier().add(parseIdentifier(xpp)); 16268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 16269 res.setStatusElement(parseEnumeration(xpp, MedicationRequest.MedicationrequestStatus.NULL, new MedicationRequest.MedicationrequestStatusEnumFactory())); 16270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 16271 res.setStatusReason(parseCodeableConcept(xpp)); 16272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 16273 res.setIntentElement(parseEnumeration(xpp, MedicationRequest.MedicationRequestIntent.NULL, new MedicationRequest.MedicationRequestIntentEnumFactory())); 16274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 16275 res.getCategory().add(parseCodeableConcept(xpp)); 16276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 16277 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 16278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 16279 res.setDoNotPerformElement(parseBoolean(xpp)); 16280 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reported")) { 16281 res.setReported(parseType("reported", xpp)); 16282 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 16283 res.setMedication(parseType("medication", xpp)); 16284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 16285 res.setSubject(parseReference(xpp)); 16286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 16287 res.setEncounter(parseReference(xpp)); 16288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 16289 res.getSupportingInformation().add(parseReference(xpp)); 16290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 16291 res.setAuthoredOnElement(parseDateTime(xpp)); 16292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 16293 res.setRequester(parseReference(xpp)); 16294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 16295 res.setPerformer(parseReference(xpp)); 16296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { 16297 res.setPerformerType(parseCodeableConcept(xpp)); 16298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 16299 res.setRecorder(parseReference(xpp)); 16300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 16301 res.getReasonCode().add(parseCodeableConcept(xpp)); 16302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 16303 res.getReasonReference().add(parseReference(xpp)); 16304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 16305 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 16306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 16307 res.getInstantiatesUri().add(parseUri(xpp)); 16308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 16309 res.getBasedOn().add(parseReference(xpp)); 16310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { 16311 res.setGroupIdentifier(parseIdentifier(xpp)); 16312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("courseOfTherapyType")) { 16313 res.setCourseOfTherapyType(parseCodeableConcept(xpp)); 16314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 16315 res.getInsurance().add(parseReference(xpp)); 16316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 16317 res.getNote().add(parseAnnotation(xpp)); 16318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 16319 res.getDosageInstruction().add(parseDosage(xpp)); 16320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenseRequest")) { 16321 res.setDispenseRequest(parseMedicationRequestDispenseRequestComponent(xpp)); 16322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 16323 res.setSubstitution(parseMedicationRequestSubstitutionComponent(xpp)); 16324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorPrescription")) { 16325 res.setPriorPrescription(parseReference(xpp)); 16326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detectedIssue")) { 16327 res.getDetectedIssue().add(parseReference(xpp)); 16328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventHistory")) { 16329 res.getEventHistory().add(parseReference(xpp)); 16330 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 16331 return false; 16332 } 16333 return true; 16334 } 16335 16336 protected MedicationRequest.MedicationRequestDispenseRequestComponent parseMedicationRequestDispenseRequestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16337 MedicationRequest.MedicationRequestDispenseRequestComponent res = new MedicationRequest.MedicationRequestDispenseRequestComponent(); 16338 parseElementAttributes(xpp, res); 16339 next(xpp); 16340 int eventType = nextNoWhitespace(xpp); 16341 while (eventType != XmlPullParser.END_TAG) { 16342 if (!parseMedicationRequestDispenseRequestComponentContent(eventType, xpp, res)) 16343 unknownContent(xpp); 16344 eventType = nextNoWhitespace(xpp); 16345 } 16346 next(xpp); 16347 parseElementClose(res); 16348 return res; 16349 } 16350 16351 protected boolean parseMedicationRequestDispenseRequestComponentContent(int eventType, XmlPullParser xpp, MedicationRequest.MedicationRequestDispenseRequestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16352 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initialFill")) { 16353 res.setInitialFill(parseMedicationRequestDispenseRequestInitialFillComponent(xpp)); 16354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenseInterval")) { 16355 res.setDispenseInterval(parseDuration(xpp)); 16356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { 16357 res.setValidityPeriod(parsePeriod(xpp)); 16358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfRepeatsAllowed")) { 16359 res.setNumberOfRepeatsAllowedElement(parseUnsignedInt(xpp)); 16360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 16361 res.setQuantity(parseQuantity(xpp)); 16362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expectedSupplyDuration")) { 16363 res.setExpectedSupplyDuration(parseDuration(xpp)); 16364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 16365 res.setPerformer(parseReference(xpp)); 16366 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16367 return false; 16368 } 16369 return true; 16370 } 16371 16372 protected MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent parseMedicationRequestDispenseRequestInitialFillComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16373 MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent res = new MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent(); 16374 parseElementAttributes(xpp, res); 16375 next(xpp); 16376 int eventType = nextNoWhitespace(xpp); 16377 while (eventType != XmlPullParser.END_TAG) { 16378 if (!parseMedicationRequestDispenseRequestInitialFillComponentContent(eventType, xpp, res)) 16379 unknownContent(xpp); 16380 eventType = nextNoWhitespace(xpp); 16381 } 16382 next(xpp); 16383 parseElementClose(res); 16384 return res; 16385 } 16386 16387 protected boolean parseMedicationRequestDispenseRequestInitialFillComponentContent(int eventType, XmlPullParser xpp, MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16388 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 16389 res.setQuantity(parseQuantity(xpp)); 16390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 16391 res.setDuration(parseDuration(xpp)); 16392 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16393 return false; 16394 } 16395 return true; 16396 } 16397 16398 protected MedicationRequest.MedicationRequestSubstitutionComponent parseMedicationRequestSubstitutionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16399 MedicationRequest.MedicationRequestSubstitutionComponent res = new MedicationRequest.MedicationRequestSubstitutionComponent(); 16400 parseElementAttributes(xpp, res); 16401 next(xpp); 16402 int eventType = nextNoWhitespace(xpp); 16403 while (eventType != XmlPullParser.END_TAG) { 16404 if (!parseMedicationRequestSubstitutionComponentContent(eventType, xpp, res)) 16405 unknownContent(xpp); 16406 eventType = nextNoWhitespace(xpp); 16407 } 16408 next(xpp); 16409 parseElementClose(res); 16410 return res; 16411 } 16412 16413 protected boolean parseMedicationRequestSubstitutionComponentContent(int eventType, XmlPullParser xpp, MedicationRequest.MedicationRequestSubstitutionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16414 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "allowed")) { 16415 res.setAllowed(parseType("allowed", xpp)); 16416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 16417 res.setReason(parseCodeableConcept(xpp)); 16418 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16419 return false; 16420 } 16421 return true; 16422 } 16423 16424 protected MedicationStatement parseMedicationStatement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16425 MedicationStatement res = new MedicationStatement(); 16426 parseResourceAttributes(xpp, res); 16427 next(xpp); 16428 int eventType = nextNoWhitespace(xpp); 16429 while (eventType != XmlPullParser.END_TAG) { 16430 if (!parseMedicationStatementContent(eventType, xpp, res)) 16431 unknownContent(xpp); 16432 eventType = nextNoWhitespace(xpp); 16433 } 16434 next(xpp); 16435 parseElementClose(res); 16436 return res; 16437 } 16438 16439 protected boolean parseMedicationStatementContent(int eventType, XmlPullParser xpp, MedicationStatement res) throws XmlPullParserException, IOException, FHIRFormatError { 16440 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 16441 res.getIdentifier().add(parseIdentifier(xpp)); 16442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 16443 res.getBasedOn().add(parseReference(xpp)); 16444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 16445 res.getPartOf().add(parseReference(xpp)); 16446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 16447 res.setStatusElement(parseEnumeration(xpp, MedicationStatement.MedicationStatusCodes.NULL, new MedicationStatement.MedicationStatusCodesEnumFactory())); 16448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 16449 res.getStatusReason().add(parseCodeableConcept(xpp)); 16450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 16451 res.setCategory(parseCodeableConcept(xpp)); 16452 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 16453 res.setMedication(parseType("medication", xpp)); 16454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 16455 res.setSubject(parseReference(xpp)); 16456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 16457 res.setContext(parseReference(xpp)); 16458 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 16459 res.setEffective(parseType("effective", xpp)); 16460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateAsserted")) { 16461 res.setDateAssertedElement(parseDateTime(xpp)); 16462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSource")) { 16463 res.setInformationSource(parseReference(xpp)); 16464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 16465 res.getDerivedFrom().add(parseReference(xpp)); 16466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 16467 res.getReasonCode().add(parseCodeableConcept(xpp)); 16468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 16469 res.getReasonReference().add(parseReference(xpp)); 16470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 16471 res.getNote().add(parseAnnotation(xpp)); 16472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 16473 res.getDosage().add(parseDosage(xpp)); 16474 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 16475 return false; 16476 } 16477 return true; 16478 } 16479 16480 protected MedicinalProductDefinition parseMedicinalProductDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16481 MedicinalProductDefinition res = new MedicinalProductDefinition(); 16482 parseResourceAttributes(xpp, res); 16483 next(xpp); 16484 int eventType = nextNoWhitespace(xpp); 16485 while (eventType != XmlPullParser.END_TAG) { 16486 if (!parseMedicinalProductDefinitionContent(eventType, xpp, res)) 16487 unknownContent(xpp); 16488 eventType = nextNoWhitespace(xpp); 16489 } 16490 next(xpp); 16491 parseElementClose(res); 16492 return res; 16493 } 16494 16495 protected boolean parseMedicinalProductDefinitionContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 16496 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 16497 res.getIdentifier().add(parseIdentifier(xpp)); 16498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16499 res.setType(parseCodeableConcept(xpp)); 16500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 16501 res.setDomain(parseCodeableConcept(xpp)); 16502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 16503 res.setVersionElement(parseString(xpp)); 16504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 16505 res.setStatus(parseCodeableConcept(xpp)); 16506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 16507 res.setStatusDateElement(parseDateTime(xpp)); 16508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 16509 res.setDescriptionElement(parseMarkdown(xpp)); 16510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("combinedPharmaceuticalDoseForm")) { 16511 res.setCombinedPharmaceuticalDoseForm(parseCodeableConcept(xpp)); 16512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 16513 res.getRoute().add(parseCodeableConcept(xpp)); 16514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 16515 res.setIndicationElement(parseMarkdown(xpp)); 16516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legalStatusOfSupply")) { 16517 res.setLegalStatusOfSupply(parseCodeableConcept(xpp)); 16518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalMonitoringIndicator")) { 16519 res.setAdditionalMonitoringIndicator(parseCodeableConcept(xpp)); 16520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialMeasures")) { 16521 res.getSpecialMeasures().add(parseCodeableConcept(xpp)); 16522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pediatricUseIndicator")) { 16523 res.setPediatricUseIndicator(parseCodeableConcept(xpp)); 16524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 16525 res.getClassification().add(parseCodeableConcept(xpp)); 16526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("marketingStatus")) { 16527 res.getMarketingStatus().add(parseMarketingStatus(xpp)); 16528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packagedMedicinalProduct")) { 16529 res.getPackagedMedicinalProduct().add(parseCodeableConcept(xpp)); 16530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 16531 res.getIngredient().add(parseCodeableConcept(xpp)); 16532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("impurity")) { 16533 res.getImpurity().add(parseCodeableReference(xpp)); 16534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attachedDocument")) { 16535 res.getAttachedDocument().add(parseReference(xpp)); 16536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterFile")) { 16537 res.getMasterFile().add(parseReference(xpp)); 16538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 16539 res.getContact().add(parseMedicinalProductDefinitionContactComponent(xpp)); 16540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalTrial")) { 16541 res.getClinicalTrial().add(parseReference(xpp)); 16542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 16543 res.getCode().add(parseCoding(xpp)); 16544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 16545 res.getName().add(parseMedicinalProductDefinitionNameComponent(xpp)); 16546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("crossReference")) { 16547 res.getCrossReference().add(parseMedicinalProductDefinitionCrossReferenceComponent(xpp)); 16548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 16549 res.getOperation().add(parseMedicinalProductDefinitionOperationComponent(xpp)); 16550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 16551 res.getCharacteristic().add(parseMedicinalProductDefinitionCharacteristicComponent(xpp)); 16552 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 16553 return false; 16554 } 16555 return true; 16556 } 16557 16558 protected MedicinalProductDefinition.MedicinalProductDefinitionContactComponent parseMedicinalProductDefinitionContactComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16559 MedicinalProductDefinition.MedicinalProductDefinitionContactComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionContactComponent(); 16560 parseElementAttributes(xpp, res); 16561 next(xpp); 16562 int eventType = nextNoWhitespace(xpp); 16563 while (eventType != XmlPullParser.END_TAG) { 16564 if (!parseMedicinalProductDefinitionContactComponentContent(eventType, xpp, res)) 16565 unknownContent(xpp); 16566 eventType = nextNoWhitespace(xpp); 16567 } 16568 next(xpp); 16569 parseElementClose(res); 16570 return res; 16571 } 16572 16573 protected boolean parseMedicinalProductDefinitionContactComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionContactComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16574 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16575 res.setType(parseCodeableConcept(xpp)); 16576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 16577 res.setContact(parseReference(xpp)); 16578 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16579 return false; 16580 } 16581 return true; 16582 } 16583 16584 protected MedicinalProductDefinition.MedicinalProductDefinitionNameComponent parseMedicinalProductDefinitionNameComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16585 MedicinalProductDefinition.MedicinalProductDefinitionNameComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameComponent(); 16586 parseElementAttributes(xpp, res); 16587 next(xpp); 16588 int eventType = nextNoWhitespace(xpp); 16589 while (eventType != XmlPullParser.END_TAG) { 16590 if (!parseMedicinalProductDefinitionNameComponentContent(eventType, xpp, res)) 16591 unknownContent(xpp); 16592 eventType = nextNoWhitespace(xpp); 16593 } 16594 next(xpp); 16595 parseElementClose(res); 16596 return res; 16597 } 16598 16599 protected boolean parseMedicinalProductDefinitionNameComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16600 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { 16601 res.setProductNameElement(parseString(xpp)); 16602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16603 res.setType(parseCodeableConcept(xpp)); 16604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("namePart")) { 16605 res.getNamePart().add(parseMedicinalProductDefinitionNameNamePartComponent(xpp)); 16606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("countryLanguage")) { 16607 res.getCountryLanguage().add(parseMedicinalProductDefinitionNameCountryLanguageComponent(xpp)); 16608 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16609 return false; 16610 } 16611 return true; 16612 } 16613 16614 protected MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent parseMedicinalProductDefinitionNameNamePartComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16615 MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent(); 16616 parseElementAttributes(xpp, res); 16617 next(xpp); 16618 int eventType = nextNoWhitespace(xpp); 16619 while (eventType != XmlPullParser.END_TAG) { 16620 if (!parseMedicinalProductDefinitionNameNamePartComponentContent(eventType, xpp, res)) 16621 unknownContent(xpp); 16622 eventType = nextNoWhitespace(xpp); 16623 } 16624 next(xpp); 16625 parseElementClose(res); 16626 return res; 16627 } 16628 16629 protected boolean parseMedicinalProductDefinitionNameNamePartComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16630 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 16631 res.setPartElement(parseString(xpp)); 16632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16633 res.setType(parseCodeableConcept(xpp)); 16634 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16635 return false; 16636 } 16637 return true; 16638 } 16639 16640 protected MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent parseMedicinalProductDefinitionNameCountryLanguageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16641 MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent(); 16642 parseElementAttributes(xpp, res); 16643 next(xpp); 16644 int eventType = nextNoWhitespace(xpp); 16645 while (eventType != XmlPullParser.END_TAG) { 16646 if (!parseMedicinalProductDefinitionNameCountryLanguageComponentContent(eventType, xpp, res)) 16647 unknownContent(xpp); 16648 eventType = nextNoWhitespace(xpp); 16649 } 16650 next(xpp); 16651 parseElementClose(res); 16652 return res; 16653 } 16654 16655 protected boolean parseMedicinalProductDefinitionNameCountryLanguageComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16656 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 16657 res.setCountry(parseCodeableConcept(xpp)); 16658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 16659 res.setJurisdiction(parseCodeableConcept(xpp)); 16660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 16661 res.setLanguage(parseCodeableConcept(xpp)); 16662 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16663 return false; 16664 } 16665 return true; 16666 } 16667 16668 protected MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent parseMedicinalProductDefinitionCrossReferenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16669 MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent(); 16670 parseElementAttributes(xpp, res); 16671 next(xpp); 16672 int eventType = nextNoWhitespace(xpp); 16673 while (eventType != XmlPullParser.END_TAG) { 16674 if (!parseMedicinalProductDefinitionCrossReferenceComponentContent(eventType, xpp, res)) 16675 unknownContent(xpp); 16676 eventType = nextNoWhitespace(xpp); 16677 } 16678 next(xpp); 16679 parseElementClose(res); 16680 return res; 16681 } 16682 16683 protected boolean parseMedicinalProductDefinitionCrossReferenceComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16684 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 16685 res.setProduct(parseCodeableReference(xpp)); 16686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16687 res.setType(parseCodeableConcept(xpp)); 16688 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16689 return false; 16690 } 16691 return true; 16692 } 16693 16694 protected MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent parseMedicinalProductDefinitionOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16695 MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent(); 16696 parseElementAttributes(xpp, res); 16697 next(xpp); 16698 int eventType = nextNoWhitespace(xpp); 16699 while (eventType != XmlPullParser.END_TAG) { 16700 if (!parseMedicinalProductDefinitionOperationComponentContent(eventType, xpp, res)) 16701 unknownContent(xpp); 16702 eventType = nextNoWhitespace(xpp); 16703 } 16704 next(xpp); 16705 parseElementClose(res); 16706 return res; 16707 } 16708 16709 protected boolean parseMedicinalProductDefinitionOperationComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16710 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16711 res.setType(parseCodeableReference(xpp)); 16712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveDate")) { 16713 res.setEffectiveDate(parsePeriod(xpp)); 16714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 16715 res.getOrganization().add(parseReference(xpp)); 16716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("confidentialityIndicator")) { 16717 res.setConfidentialityIndicator(parseCodeableConcept(xpp)); 16718 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16719 return false; 16720 } 16721 return true; 16722 } 16723 16724 protected MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent parseMedicinalProductDefinitionCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16725 MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent(); 16726 parseElementAttributes(xpp, res); 16727 next(xpp); 16728 int eventType = nextNoWhitespace(xpp); 16729 while (eventType != XmlPullParser.END_TAG) { 16730 if (!parseMedicinalProductDefinitionCharacteristicComponentContent(eventType, xpp, res)) 16731 unknownContent(xpp); 16732 eventType = nextNoWhitespace(xpp); 16733 } 16734 next(xpp); 16735 parseElementClose(res); 16736 return res; 16737 } 16738 16739 protected boolean parseMedicinalProductDefinitionCharacteristicComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16740 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 16741 res.setType(parseCodeableConcept(xpp)); 16742 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 16743 res.setValue(parseType("value", xpp)); 16744 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16745 return false; 16746 } 16747 return true; 16748 } 16749 16750 protected MessageDefinition parseMessageDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16751 MessageDefinition res = new MessageDefinition(); 16752 parseResourceAttributes(xpp, res); 16753 next(xpp); 16754 int eventType = nextNoWhitespace(xpp); 16755 while (eventType != XmlPullParser.END_TAG) { 16756 if (!parseMessageDefinitionContent(eventType, xpp, res)) 16757 unknownContent(xpp); 16758 eventType = nextNoWhitespace(xpp); 16759 } 16760 next(xpp); 16761 parseElementClose(res); 16762 return res; 16763 } 16764 16765 protected boolean parseMessageDefinitionContent(int eventType, XmlPullParser xpp, MessageDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 16766 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 16767 res.setUrlElement(parseUri(xpp)); 16768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 16769 res.getIdentifier().add(parseIdentifier(xpp)); 16770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 16771 res.setVersionElement(parseString(xpp)); 16772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 16773 res.setNameElement(parseString(xpp)); 16774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 16775 res.setTitleElement(parseString(xpp)); 16776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 16777 res.getReplaces().add(parseCanonical(xpp)); 16778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 16779 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 16780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 16781 res.setExperimentalElement(parseBoolean(xpp)); 16782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 16783 res.setDateElement(parseDateTime(xpp)); 16784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 16785 res.setPublisherElement(parseString(xpp)); 16786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 16787 res.getContact().add(parseContactDetail(xpp)); 16788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 16789 res.setDescriptionElement(parseMarkdown(xpp)); 16790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 16791 res.getUseContext().add(parseUsageContext(xpp)); 16792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 16793 res.getJurisdiction().add(parseCodeableConcept(xpp)); 16794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 16795 res.setPurposeElement(parseMarkdown(xpp)); 16796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 16797 res.setCopyrightElement(parseMarkdown(xpp)); 16798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 16799 res.setBaseElement(parseCanonical(xpp)); 16800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 16801 res.getParent().add(parseCanonical(xpp)); 16802 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "event")) { 16803 res.setEvent(parseType("event", xpp)); 16804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 16805 res.setCategoryElement(parseEnumeration(xpp, MessageDefinition.MessageSignificanceCategory.NULL, new MessageDefinition.MessageSignificanceCategoryEnumFactory())); 16806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 16807 res.getFocus().add(parseMessageDefinitionFocusComponent(xpp)); 16808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseRequired")) { 16809 res.setResponseRequiredElement(parseEnumeration(xpp, MessageDefinition.MessageheaderResponseRequest.NULL, new MessageDefinition.MessageheaderResponseRequestEnumFactory())); 16810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allowedResponse")) { 16811 res.getAllowedResponse().add(parseMessageDefinitionAllowedResponseComponent(xpp)); 16812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("graph")) { 16813 res.getGraph().add(parseCanonical(xpp)); 16814 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 16815 return false; 16816 } 16817 return true; 16818 } 16819 16820 protected MessageDefinition.MessageDefinitionFocusComponent parseMessageDefinitionFocusComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16821 MessageDefinition.MessageDefinitionFocusComponent res = new MessageDefinition.MessageDefinitionFocusComponent(); 16822 parseElementAttributes(xpp, res); 16823 next(xpp); 16824 int eventType = nextNoWhitespace(xpp); 16825 while (eventType != XmlPullParser.END_TAG) { 16826 if (!parseMessageDefinitionFocusComponentContent(eventType, xpp, res)) 16827 unknownContent(xpp); 16828 eventType = nextNoWhitespace(xpp); 16829 } 16830 next(xpp); 16831 parseElementClose(res); 16832 return res; 16833 } 16834 16835 protected boolean parseMessageDefinitionFocusComponentContent(int eventType, XmlPullParser xpp, MessageDefinition.MessageDefinitionFocusComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16836 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 16837 res.setCodeElement(parseCode(xpp)); 16838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 16839 res.setProfileElement(parseCanonical(xpp)); 16840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 16841 res.setMinElement(parseUnsignedInt(xpp)); 16842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 16843 res.setMaxElement(parseString(xpp)); 16844 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16845 return false; 16846 } 16847 return true; 16848 } 16849 16850 protected MessageDefinition.MessageDefinitionAllowedResponseComponent parseMessageDefinitionAllowedResponseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16851 MessageDefinition.MessageDefinitionAllowedResponseComponent res = new MessageDefinition.MessageDefinitionAllowedResponseComponent(); 16852 parseElementAttributes(xpp, res); 16853 next(xpp); 16854 int eventType = nextNoWhitespace(xpp); 16855 while (eventType != XmlPullParser.END_TAG) { 16856 if (!parseMessageDefinitionAllowedResponseComponentContent(eventType, xpp, res)) 16857 unknownContent(xpp); 16858 eventType = nextNoWhitespace(xpp); 16859 } 16860 next(xpp); 16861 parseElementClose(res); 16862 return res; 16863 } 16864 16865 protected boolean parseMessageDefinitionAllowedResponseComponentContent(int eventType, XmlPullParser xpp, MessageDefinition.MessageDefinitionAllowedResponseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16866 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("message")) { 16867 res.setMessageElement(parseCanonical(xpp)); 16868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("situation")) { 16869 res.setSituationElement(parseMarkdown(xpp)); 16870 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16871 return false; 16872 } 16873 return true; 16874 } 16875 16876 protected MessageHeader parseMessageHeader(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16877 MessageHeader res = new MessageHeader(); 16878 parseResourceAttributes(xpp, res); 16879 next(xpp); 16880 int eventType = nextNoWhitespace(xpp); 16881 while (eventType != XmlPullParser.END_TAG) { 16882 if (!parseMessageHeaderContent(eventType, xpp, res)) 16883 unknownContent(xpp); 16884 eventType = nextNoWhitespace(xpp); 16885 } 16886 next(xpp); 16887 parseElementClose(res); 16888 return res; 16889 } 16890 16891 protected boolean parseMessageHeaderContent(int eventType, XmlPullParser xpp, MessageHeader res) throws XmlPullParserException, IOException, FHIRFormatError { 16892 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "event")) { 16893 res.setEvent(parseType("event", xpp)); 16894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 16895 res.getDestination().add(parseMessageHeaderMessageDestinationComponent(xpp)); 16896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 16897 res.setSender(parseReference(xpp)); 16898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 16899 res.setEnterer(parseReference(xpp)); 16900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 16901 res.setAuthor(parseReference(xpp)); 16902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 16903 res.setSource(parseMessageHeaderMessageSourceComponent(xpp)); 16904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 16905 res.setResponsible(parseReference(xpp)); 16906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 16907 res.setReason(parseCodeableConcept(xpp)); 16908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 16909 res.setResponse(parseMessageHeaderResponseComponent(xpp)); 16910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 16911 res.getFocus().add(parseReference(xpp)); 16912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 16913 res.setDefinitionElement(parseCanonical(xpp)); 16914 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 16915 return false; 16916 } 16917 return true; 16918 } 16919 16920 protected MessageHeader.MessageDestinationComponent parseMessageHeaderMessageDestinationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16921 MessageHeader.MessageDestinationComponent res = new MessageHeader.MessageDestinationComponent(); 16922 parseElementAttributes(xpp, res); 16923 next(xpp); 16924 int eventType = nextNoWhitespace(xpp); 16925 while (eventType != XmlPullParser.END_TAG) { 16926 if (!parseMessageHeaderMessageDestinationComponentContent(eventType, xpp, res)) 16927 unknownContent(xpp); 16928 eventType = nextNoWhitespace(xpp); 16929 } 16930 next(xpp); 16931 parseElementClose(res); 16932 return res; 16933 } 16934 16935 protected boolean parseMessageHeaderMessageDestinationComponentContent(int eventType, XmlPullParser xpp, MessageHeader.MessageDestinationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16936 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 16937 res.setNameElement(parseString(xpp)); 16938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 16939 res.setTarget(parseReference(xpp)); 16940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 16941 res.setEndpointElement(parseUrl(xpp)); 16942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 16943 res.setReceiver(parseReference(xpp)); 16944 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16945 return false; 16946 } 16947 return true; 16948 } 16949 16950 protected MessageHeader.MessageSourceComponent parseMessageHeaderMessageSourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16951 MessageHeader.MessageSourceComponent res = new MessageHeader.MessageSourceComponent(); 16952 parseElementAttributes(xpp, res); 16953 next(xpp); 16954 int eventType = nextNoWhitespace(xpp); 16955 while (eventType != XmlPullParser.END_TAG) { 16956 if (!parseMessageHeaderMessageSourceComponentContent(eventType, xpp, res)) 16957 unknownContent(xpp); 16958 eventType = nextNoWhitespace(xpp); 16959 } 16960 next(xpp); 16961 parseElementClose(res); 16962 return res; 16963 } 16964 16965 protected boolean parseMessageHeaderMessageSourceComponentContent(int eventType, XmlPullParser xpp, MessageHeader.MessageSourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16966 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 16967 res.setNameElement(parseString(xpp)); 16968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 16969 res.setSoftwareElement(parseString(xpp)); 16970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 16971 res.setVersionElement(parseString(xpp)); 16972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 16973 res.setContact(parseContactPoint(xpp)); 16974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 16975 res.setEndpointElement(parseUrl(xpp)); 16976 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 16977 return false; 16978 } 16979 return true; 16980 } 16981 16982 protected MessageHeader.MessageHeaderResponseComponent parseMessageHeaderResponseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 16983 MessageHeader.MessageHeaderResponseComponent res = new MessageHeader.MessageHeaderResponseComponent(); 16984 parseElementAttributes(xpp, res); 16985 next(xpp); 16986 int eventType = nextNoWhitespace(xpp); 16987 while (eventType != XmlPullParser.END_TAG) { 16988 if (!parseMessageHeaderResponseComponentContent(eventType, xpp, res)) 16989 unknownContent(xpp); 16990 eventType = nextNoWhitespace(xpp); 16991 } 16992 next(xpp); 16993 parseElementClose(res); 16994 return res; 16995 } 16996 16997 protected boolean parseMessageHeaderResponseComponentContent(int eventType, XmlPullParser xpp, MessageHeader.MessageHeaderResponseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 16998 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 16999 res.setIdentifierElement(parseId(xpp)); 17000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 17001 res.setCodeElement(parseEnumeration(xpp, MessageHeader.ResponseType.NULL, new MessageHeader.ResponseTypeEnumFactory())); 17002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 17003 res.setDetails(parseReference(xpp)); 17004 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17005 return false; 17006 } 17007 return true; 17008 } 17009 17010 protected MolecularSequence parseMolecularSequence(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17011 MolecularSequence res = new MolecularSequence(); 17012 parseResourceAttributes(xpp, res); 17013 next(xpp); 17014 int eventType = nextNoWhitespace(xpp); 17015 while (eventType != XmlPullParser.END_TAG) { 17016 if (!parseMolecularSequenceContent(eventType, xpp, res)) 17017 unknownContent(xpp); 17018 eventType = nextNoWhitespace(xpp); 17019 } 17020 next(xpp); 17021 parseElementClose(res); 17022 return res; 17023 } 17024 17025 protected boolean parseMolecularSequenceContent(int eventType, XmlPullParser xpp, MolecularSequence res) throws XmlPullParserException, IOException, FHIRFormatError { 17026 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 17027 res.getIdentifier().add(parseIdentifier(xpp)); 17028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17029 res.setTypeElement(parseEnumeration(xpp, MolecularSequence.SequenceType.NULL, new MolecularSequence.SequenceTypeEnumFactory())); 17030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coordinateSystem")) { 17031 res.setCoordinateSystemElement(parseInteger(xpp)); 17032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 17033 res.setPatient(parseReference(xpp)); 17034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 17035 res.setSpecimen(parseReference(xpp)); 17036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 17037 res.setDevice(parseReference(xpp)); 17038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 17039 res.setPerformer(parseReference(xpp)); 17040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 17041 res.setQuantity(parseQuantity(xpp)); 17042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceSeq")) { 17043 res.setReferenceSeq(parseMolecularSequenceReferenceSeqComponent(xpp)); 17044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variant")) { 17045 res.getVariant().add(parseMolecularSequenceVariantComponent(xpp)); 17046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observedSeq")) { 17047 res.setObservedSeqElement(parseString(xpp)); 17048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quality")) { 17049 res.getQuality().add(parseMolecularSequenceQualityComponent(xpp)); 17050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readCoverage")) { 17051 res.setReadCoverageElement(parseInteger(xpp)); 17052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repository")) { 17053 res.getRepository().add(parseMolecularSequenceRepositoryComponent(xpp)); 17054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pointer")) { 17055 res.getPointer().add(parseReference(xpp)); 17056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structureVariant")) { 17057 res.getStructureVariant().add(parseMolecularSequenceStructureVariantComponent(xpp)); 17058 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17059 return false; 17060 } 17061 return true; 17062 } 17063 17064 protected MolecularSequence.MolecularSequenceReferenceSeqComponent parseMolecularSequenceReferenceSeqComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17065 MolecularSequence.MolecularSequenceReferenceSeqComponent res = new MolecularSequence.MolecularSequenceReferenceSeqComponent(); 17066 parseElementAttributes(xpp, res); 17067 next(xpp); 17068 int eventType = nextNoWhitespace(xpp); 17069 while (eventType != XmlPullParser.END_TAG) { 17070 if (!parseMolecularSequenceReferenceSeqComponentContent(eventType, xpp, res)) 17071 unknownContent(xpp); 17072 eventType = nextNoWhitespace(xpp); 17073 } 17074 next(xpp); 17075 parseElementClose(res); 17076 return res; 17077 } 17078 17079 protected boolean parseMolecularSequenceReferenceSeqComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceReferenceSeqComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17080 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("chromosome")) { 17081 res.setChromosome(parseCodeableConcept(xpp)); 17082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genomeBuild")) { 17083 res.setGenomeBuildElement(parseString(xpp)); 17084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orientation")) { 17085 res.setOrientationElement(parseEnumeration(xpp, MolecularSequence.OrientationType.NULL, new MolecularSequence.OrientationTypeEnumFactory())); 17086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceSeqId")) { 17087 res.setReferenceSeqId(parseCodeableConcept(xpp)); 17088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceSeqPointer")) { 17089 res.setReferenceSeqPointer(parseReference(xpp)); 17090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceSeqString")) { 17091 res.setReferenceSeqStringElement(parseString(xpp)); 17092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strand")) { 17093 res.setStrandElement(parseEnumeration(xpp, MolecularSequence.StrandType.NULL, new MolecularSequence.StrandTypeEnumFactory())); 17094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("windowStart")) { 17095 res.setWindowStartElement(parseInteger(xpp)); 17096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("windowEnd")) { 17097 res.setWindowEndElement(parseInteger(xpp)); 17098 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17099 return false; 17100 } 17101 return true; 17102 } 17103 17104 protected MolecularSequence.MolecularSequenceVariantComponent parseMolecularSequenceVariantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17105 MolecularSequence.MolecularSequenceVariantComponent res = new MolecularSequence.MolecularSequenceVariantComponent(); 17106 parseElementAttributes(xpp, res); 17107 next(xpp); 17108 int eventType = nextNoWhitespace(xpp); 17109 while (eventType != XmlPullParser.END_TAG) { 17110 if (!parseMolecularSequenceVariantComponentContent(eventType, xpp, res)) 17111 unknownContent(xpp); 17112 eventType = nextNoWhitespace(xpp); 17113 } 17114 next(xpp); 17115 parseElementClose(res); 17116 return res; 17117 } 17118 17119 protected boolean parseMolecularSequenceVariantComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceVariantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17120 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 17121 res.setStartElement(parseInteger(xpp)); 17122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 17123 res.setEndElement(parseInteger(xpp)); 17124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observedAllele")) { 17125 res.setObservedAlleleElement(parseString(xpp)); 17126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceAllele")) { 17127 res.setReferenceAlleleElement(parseString(xpp)); 17128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cigar")) { 17129 res.setCigarElement(parseString(xpp)); 17130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variantPointer")) { 17131 res.setVariantPointer(parseReference(xpp)); 17132 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17133 return false; 17134 } 17135 return true; 17136 } 17137 17138 protected MolecularSequence.MolecularSequenceQualityComponent parseMolecularSequenceQualityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17139 MolecularSequence.MolecularSequenceQualityComponent res = new MolecularSequence.MolecularSequenceQualityComponent(); 17140 parseElementAttributes(xpp, res); 17141 next(xpp); 17142 int eventType = nextNoWhitespace(xpp); 17143 while (eventType != XmlPullParser.END_TAG) { 17144 if (!parseMolecularSequenceQualityComponentContent(eventType, xpp, res)) 17145 unknownContent(xpp); 17146 eventType = nextNoWhitespace(xpp); 17147 } 17148 next(xpp); 17149 parseElementClose(res); 17150 return res; 17151 } 17152 17153 protected boolean parseMolecularSequenceQualityComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceQualityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17154 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17155 res.setTypeElement(parseEnumeration(xpp, MolecularSequence.QualityType.NULL, new MolecularSequence.QualityTypeEnumFactory())); 17156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("standardSequence")) { 17157 res.setStandardSequence(parseCodeableConcept(xpp)); 17158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 17159 res.setStartElement(parseInteger(xpp)); 17160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 17161 res.setEndElement(parseInteger(xpp)); 17162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 17163 res.setScore(parseQuantity(xpp)); 17164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 17165 res.setMethod(parseCodeableConcept(xpp)); 17166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("truthTP")) { 17167 res.setTruthTPElement(parseDecimal(xpp)); 17168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("queryTP")) { 17169 res.setQueryTPElement(parseDecimal(xpp)); 17170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("truthFN")) { 17171 res.setTruthFNElement(parseDecimal(xpp)); 17172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("queryFP")) { 17173 res.setQueryFPElement(parseDecimal(xpp)); 17174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gtFP")) { 17175 res.setGtFPElement(parseDecimal(xpp)); 17176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precision")) { 17177 res.setPrecisionElement(parseDecimal(xpp)); 17178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recall")) { 17179 res.setRecallElement(parseDecimal(xpp)); 17180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fScore")) { 17181 res.setFScoreElement(parseDecimal(xpp)); 17182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("roc")) { 17183 res.setRoc(parseMolecularSequenceQualityRocComponent(xpp)); 17184 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17185 return false; 17186 } 17187 return true; 17188 } 17189 17190 protected MolecularSequence.MolecularSequenceQualityRocComponent parseMolecularSequenceQualityRocComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17191 MolecularSequence.MolecularSequenceQualityRocComponent res = new MolecularSequence.MolecularSequenceQualityRocComponent(); 17192 parseElementAttributes(xpp, res); 17193 next(xpp); 17194 int eventType = nextNoWhitespace(xpp); 17195 while (eventType != XmlPullParser.END_TAG) { 17196 if (!parseMolecularSequenceQualityRocComponentContent(eventType, xpp, res)) 17197 unknownContent(xpp); 17198 eventType = nextNoWhitespace(xpp); 17199 } 17200 next(xpp); 17201 parseElementClose(res); 17202 return res; 17203 } 17204 17205 protected boolean parseMolecularSequenceQualityRocComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceQualityRocComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17206 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 17207 res.getScore().add(parseInteger(xpp)); 17208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numTP")) { 17209 res.getNumTP().add(parseInteger(xpp)); 17210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numFP")) { 17211 res.getNumFP().add(parseInteger(xpp)); 17212 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numFN")) { 17213 res.getNumFN().add(parseInteger(xpp)); 17214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precision")) { 17215 res.getPrecision().add(parseDecimal(xpp)); 17216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sensitivity")) { 17217 res.getSensitivity().add(parseDecimal(xpp)); 17218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fMeasure")) { 17219 res.getFMeasure().add(parseDecimal(xpp)); 17220 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17221 return false; 17222 } 17223 return true; 17224 } 17225 17226 protected MolecularSequence.MolecularSequenceRepositoryComponent parseMolecularSequenceRepositoryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17227 MolecularSequence.MolecularSequenceRepositoryComponent res = new MolecularSequence.MolecularSequenceRepositoryComponent(); 17228 parseElementAttributes(xpp, res); 17229 next(xpp); 17230 int eventType = nextNoWhitespace(xpp); 17231 while (eventType != XmlPullParser.END_TAG) { 17232 if (!parseMolecularSequenceRepositoryComponentContent(eventType, xpp, res)) 17233 unknownContent(xpp); 17234 eventType = nextNoWhitespace(xpp); 17235 } 17236 next(xpp); 17237 parseElementClose(res); 17238 return res; 17239 } 17240 17241 protected boolean parseMolecularSequenceRepositoryComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceRepositoryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17242 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17243 res.setTypeElement(parseEnumeration(xpp, MolecularSequence.RepositoryType.NULL, new MolecularSequence.RepositoryTypeEnumFactory())); 17244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 17245 res.setUrlElement(parseUri(xpp)); 17246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 17247 res.setNameElement(parseString(xpp)); 17248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("datasetId")) { 17249 res.setDatasetIdElement(parseString(xpp)); 17250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variantsetId")) { 17251 res.setVariantsetIdElement(parseString(xpp)); 17252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readsetId")) { 17253 res.setReadsetIdElement(parseString(xpp)); 17254 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17255 return false; 17256 } 17257 return true; 17258 } 17259 17260 protected MolecularSequence.MolecularSequenceStructureVariantComponent parseMolecularSequenceStructureVariantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17261 MolecularSequence.MolecularSequenceStructureVariantComponent res = new MolecularSequence.MolecularSequenceStructureVariantComponent(); 17262 parseElementAttributes(xpp, res); 17263 next(xpp); 17264 int eventType = nextNoWhitespace(xpp); 17265 while (eventType != XmlPullParser.END_TAG) { 17266 if (!parseMolecularSequenceStructureVariantComponentContent(eventType, xpp, res)) 17267 unknownContent(xpp); 17268 eventType = nextNoWhitespace(xpp); 17269 } 17270 next(xpp); 17271 parseElementClose(res); 17272 return res; 17273 } 17274 17275 protected boolean parseMolecularSequenceStructureVariantComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceStructureVariantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17276 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variantType")) { 17277 res.setVariantType(parseCodeableConcept(xpp)); 17278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exact")) { 17279 res.setExactElement(parseBoolean(xpp)); 17280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("length")) { 17281 res.setLengthElement(parseInteger(xpp)); 17282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outer")) { 17283 res.setOuter(parseMolecularSequenceStructureVariantOuterComponent(xpp)); 17284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inner")) { 17285 res.setInner(parseMolecularSequenceStructureVariantInnerComponent(xpp)); 17286 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17287 return false; 17288 } 17289 return true; 17290 } 17291 17292 protected MolecularSequence.MolecularSequenceStructureVariantOuterComponent parseMolecularSequenceStructureVariantOuterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17293 MolecularSequence.MolecularSequenceStructureVariantOuterComponent res = new MolecularSequence.MolecularSequenceStructureVariantOuterComponent(); 17294 parseElementAttributes(xpp, res); 17295 next(xpp); 17296 int eventType = nextNoWhitespace(xpp); 17297 while (eventType != XmlPullParser.END_TAG) { 17298 if (!parseMolecularSequenceStructureVariantOuterComponentContent(eventType, xpp, res)) 17299 unknownContent(xpp); 17300 eventType = nextNoWhitespace(xpp); 17301 } 17302 next(xpp); 17303 parseElementClose(res); 17304 return res; 17305 } 17306 17307 protected boolean parseMolecularSequenceStructureVariantOuterComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceStructureVariantOuterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17308 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 17309 res.setStartElement(parseInteger(xpp)); 17310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 17311 res.setEndElement(parseInteger(xpp)); 17312 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17313 return false; 17314 } 17315 return true; 17316 } 17317 17318 protected MolecularSequence.MolecularSequenceStructureVariantInnerComponent parseMolecularSequenceStructureVariantInnerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17319 MolecularSequence.MolecularSequenceStructureVariantInnerComponent res = new MolecularSequence.MolecularSequenceStructureVariantInnerComponent(); 17320 parseElementAttributes(xpp, res); 17321 next(xpp); 17322 int eventType = nextNoWhitespace(xpp); 17323 while (eventType != XmlPullParser.END_TAG) { 17324 if (!parseMolecularSequenceStructureVariantInnerComponentContent(eventType, xpp, res)) 17325 unknownContent(xpp); 17326 eventType = nextNoWhitespace(xpp); 17327 } 17328 next(xpp); 17329 parseElementClose(res); 17330 return res; 17331 } 17332 17333 protected boolean parseMolecularSequenceStructureVariantInnerComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceStructureVariantInnerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17334 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 17335 res.setStartElement(parseInteger(xpp)); 17336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 17337 res.setEndElement(parseInteger(xpp)); 17338 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17339 return false; 17340 } 17341 return true; 17342 } 17343 17344 protected NamingSystem parseNamingSystem(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17345 NamingSystem res = new NamingSystem(); 17346 parseResourceAttributes(xpp, res); 17347 next(xpp); 17348 int eventType = nextNoWhitespace(xpp); 17349 while (eventType != XmlPullParser.END_TAG) { 17350 if (!parseNamingSystemContent(eventType, xpp, res)) 17351 unknownContent(xpp); 17352 eventType = nextNoWhitespace(xpp); 17353 } 17354 next(xpp); 17355 parseElementClose(res); 17356 return res; 17357 } 17358 17359 protected boolean parseNamingSystemContent(int eventType, XmlPullParser xpp, NamingSystem res) throws XmlPullParserException, IOException, FHIRFormatError { 17360 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 17361 res.setNameElement(parseString(xpp)); 17362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 17363 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 17364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 17365 res.setKindElement(parseEnumeration(xpp, NamingSystem.NamingSystemType.NULL, new NamingSystem.NamingSystemTypeEnumFactory())); 17366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 17367 res.setDateElement(parseDateTime(xpp)); 17368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 17369 res.setPublisherElement(parseString(xpp)); 17370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 17371 res.getContact().add(parseContactDetail(xpp)); 17372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 17373 res.setResponsibleElement(parseString(xpp)); 17374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17375 res.setType(parseCodeableConcept(xpp)); 17376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 17377 res.setDescriptionElement(parseMarkdown(xpp)); 17378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 17379 res.getUseContext().add(parseUsageContext(xpp)); 17380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 17381 res.getJurisdiction().add(parseCodeableConcept(xpp)); 17382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 17383 res.setUsageElement(parseString(xpp)); 17384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uniqueId")) { 17385 res.getUniqueId().add(parseNamingSystemUniqueIdComponent(xpp)); 17386 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17387 return false; 17388 } 17389 return true; 17390 } 17391 17392 protected NamingSystem.NamingSystemUniqueIdComponent parseNamingSystemUniqueIdComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17393 NamingSystem.NamingSystemUniqueIdComponent res = new NamingSystem.NamingSystemUniqueIdComponent(); 17394 parseElementAttributes(xpp, res); 17395 next(xpp); 17396 int eventType = nextNoWhitespace(xpp); 17397 while (eventType != XmlPullParser.END_TAG) { 17398 if (!parseNamingSystemUniqueIdComponentContent(eventType, xpp, res)) 17399 unknownContent(xpp); 17400 eventType = nextNoWhitespace(xpp); 17401 } 17402 next(xpp); 17403 parseElementClose(res); 17404 return res; 17405 } 17406 17407 protected boolean parseNamingSystemUniqueIdComponentContent(int eventType, XmlPullParser xpp, NamingSystem.NamingSystemUniqueIdComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17408 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17409 res.setTypeElement(parseEnumeration(xpp, NamingSystem.NamingSystemIdentifierType.NULL, new NamingSystem.NamingSystemIdentifierTypeEnumFactory())); 17410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 17411 res.setValueElement(parseString(xpp)); 17412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 17413 res.setPreferredElement(parseBoolean(xpp)); 17414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 17415 res.setCommentElement(parseString(xpp)); 17416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 17417 res.setPeriod(parsePeriod(xpp)); 17418 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17419 return false; 17420 } 17421 return true; 17422 } 17423 17424 protected NutritionOrder parseNutritionOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17425 NutritionOrder res = new NutritionOrder(); 17426 parseResourceAttributes(xpp, res); 17427 next(xpp); 17428 int eventType = nextNoWhitespace(xpp); 17429 while (eventType != XmlPullParser.END_TAG) { 17430 if (!parseNutritionOrderContent(eventType, xpp, res)) 17431 unknownContent(xpp); 17432 eventType = nextNoWhitespace(xpp); 17433 } 17434 next(xpp); 17435 parseElementClose(res); 17436 return res; 17437 } 17438 17439 protected boolean parseNutritionOrderContent(int eventType, XmlPullParser xpp, NutritionOrder res) throws XmlPullParserException, IOException, FHIRFormatError { 17440 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 17441 res.getIdentifier().add(parseIdentifier(xpp)); 17442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 17443 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 17444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 17445 res.getInstantiatesUri().add(parseUri(xpp)); 17446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { 17447 res.getInstantiates().add(parseUri(xpp)); 17448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 17449 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 17450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 17451 res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); 17452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 17453 res.setPatient(parseReference(xpp)); 17454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 17455 res.setEncounter(parseReference(xpp)); 17456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 17457 res.setDateTimeElement(parseDateTime(xpp)); 17458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 17459 res.setOrderer(parseReference(xpp)); 17460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergyIntolerance")) { 17461 res.getAllergyIntolerance().add(parseReference(xpp)); 17462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodPreferenceModifier")) { 17463 res.getFoodPreferenceModifier().add(parseCodeableConcept(xpp)); 17464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludeFoodModifier")) { 17465 res.getExcludeFoodModifier().add(parseCodeableConcept(xpp)); 17466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("oralDiet")) { 17467 res.setOralDiet(parseNutritionOrderOralDietComponent(xpp)); 17468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplement")) { 17469 res.getSupplement().add(parseNutritionOrderSupplementComponent(xpp)); 17470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enteralFormula")) { 17471 res.setEnteralFormula(parseNutritionOrderEnteralFormulaComponent(xpp)); 17472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 17473 res.getNote().add(parseAnnotation(xpp)); 17474 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17475 return false; 17476 } 17477 return true; 17478 } 17479 17480 protected NutritionOrder.NutritionOrderOralDietComponent parseNutritionOrderOralDietComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17481 NutritionOrder.NutritionOrderOralDietComponent res = new NutritionOrder.NutritionOrderOralDietComponent(); 17482 parseElementAttributes(xpp, res); 17483 next(xpp); 17484 int eventType = nextNoWhitespace(xpp); 17485 while (eventType != XmlPullParser.END_TAG) { 17486 if (!parseNutritionOrderOralDietComponentContent(eventType, xpp, res)) 17487 unknownContent(xpp); 17488 eventType = nextNoWhitespace(xpp); 17489 } 17490 next(xpp); 17491 parseElementClose(res); 17492 return res; 17493 } 17494 17495 protected boolean parseNutritionOrderOralDietComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderOralDietComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17496 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17497 res.getType().add(parseCodeableConcept(xpp)); 17498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 17499 res.getSchedule().add(parseTiming(xpp)); 17500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nutrient")) { 17501 res.getNutrient().add(parseNutritionOrderOralDietNutrientComponent(xpp)); 17502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("texture")) { 17503 res.getTexture().add(parseNutritionOrderOralDietTextureComponent(xpp)); 17504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fluidConsistencyType")) { 17505 res.getFluidConsistencyType().add(parseCodeableConcept(xpp)); 17506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 17507 res.setInstructionElement(parseString(xpp)); 17508 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17509 return false; 17510 } 17511 return true; 17512 } 17513 17514 protected NutritionOrder.NutritionOrderOralDietNutrientComponent parseNutritionOrderOralDietNutrientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17515 NutritionOrder.NutritionOrderOralDietNutrientComponent res = new NutritionOrder.NutritionOrderOralDietNutrientComponent(); 17516 parseElementAttributes(xpp, res); 17517 next(xpp); 17518 int eventType = nextNoWhitespace(xpp); 17519 while (eventType != XmlPullParser.END_TAG) { 17520 if (!parseNutritionOrderOralDietNutrientComponentContent(eventType, xpp, res)) 17521 unknownContent(xpp); 17522 eventType = nextNoWhitespace(xpp); 17523 } 17524 next(xpp); 17525 parseElementClose(res); 17526 return res; 17527 } 17528 17529 protected boolean parseNutritionOrderOralDietNutrientComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderOralDietNutrientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17530 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 17531 res.setModifier(parseCodeableConcept(xpp)); 17532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 17533 res.setAmount(parseQuantity(xpp)); 17534 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17535 return false; 17536 } 17537 return true; 17538 } 17539 17540 protected NutritionOrder.NutritionOrderOralDietTextureComponent parseNutritionOrderOralDietTextureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17541 NutritionOrder.NutritionOrderOralDietTextureComponent res = new NutritionOrder.NutritionOrderOralDietTextureComponent(); 17542 parseElementAttributes(xpp, res); 17543 next(xpp); 17544 int eventType = nextNoWhitespace(xpp); 17545 while (eventType != XmlPullParser.END_TAG) { 17546 if (!parseNutritionOrderOralDietTextureComponentContent(eventType, xpp, res)) 17547 unknownContent(xpp); 17548 eventType = nextNoWhitespace(xpp); 17549 } 17550 next(xpp); 17551 parseElementClose(res); 17552 return res; 17553 } 17554 17555 protected boolean parseNutritionOrderOralDietTextureComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderOralDietTextureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17556 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 17557 res.setModifier(parseCodeableConcept(xpp)); 17558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodType")) { 17559 res.setFoodType(parseCodeableConcept(xpp)); 17560 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17561 return false; 17562 } 17563 return true; 17564 } 17565 17566 protected NutritionOrder.NutritionOrderSupplementComponent parseNutritionOrderSupplementComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17567 NutritionOrder.NutritionOrderSupplementComponent res = new NutritionOrder.NutritionOrderSupplementComponent(); 17568 parseElementAttributes(xpp, res); 17569 next(xpp); 17570 int eventType = nextNoWhitespace(xpp); 17571 while (eventType != XmlPullParser.END_TAG) { 17572 if (!parseNutritionOrderSupplementComponentContent(eventType, xpp, res)) 17573 unknownContent(xpp); 17574 eventType = nextNoWhitespace(xpp); 17575 } 17576 next(xpp); 17577 parseElementClose(res); 17578 return res; 17579 } 17580 17581 protected boolean parseNutritionOrderSupplementComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderSupplementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17582 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17583 res.setType(parseCodeableConcept(xpp)); 17584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { 17585 res.setProductNameElement(parseString(xpp)); 17586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 17587 res.getSchedule().add(parseTiming(xpp)); 17588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 17589 res.setQuantity(parseQuantity(xpp)); 17590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 17591 res.setInstructionElement(parseString(xpp)); 17592 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17593 return false; 17594 } 17595 return true; 17596 } 17597 17598 protected NutritionOrder.NutritionOrderEnteralFormulaComponent parseNutritionOrderEnteralFormulaComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17599 NutritionOrder.NutritionOrderEnteralFormulaComponent res = new NutritionOrder.NutritionOrderEnteralFormulaComponent(); 17600 parseElementAttributes(xpp, res); 17601 next(xpp); 17602 int eventType = nextNoWhitespace(xpp); 17603 while (eventType != XmlPullParser.END_TAG) { 17604 if (!parseNutritionOrderEnteralFormulaComponentContent(eventType, xpp, res)) 17605 unknownContent(xpp); 17606 eventType = nextNoWhitespace(xpp); 17607 } 17608 next(xpp); 17609 parseElementClose(res); 17610 return res; 17611 } 17612 17613 protected boolean parseNutritionOrderEnteralFormulaComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17614 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaType")) { 17615 res.setBaseFormulaType(parseCodeableConcept(xpp)); 17616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaProductName")) { 17617 res.setBaseFormulaProductNameElement(parseString(xpp)); 17618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveType")) { 17619 res.setAdditiveType(parseCodeableConcept(xpp)); 17620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveProductName")) { 17621 res.setAdditiveProductNameElement(parseString(xpp)); 17622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caloricDensity")) { 17623 res.setCaloricDensity(parseQuantity(xpp)); 17624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeofAdministration")) { 17625 res.setRouteofAdministration(parseCodeableConcept(xpp)); 17626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administration")) { 17627 res.getAdministration().add(parseNutritionOrderEnteralFormulaAdministrationComponent(xpp)); 17628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxVolumeToDeliver")) { 17629 res.setMaxVolumeToDeliver(parseQuantity(xpp)); 17630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administrationInstruction")) { 17631 res.setAdministrationInstructionElement(parseString(xpp)); 17632 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17633 return false; 17634 } 17635 return true; 17636 } 17637 17638 protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent parseNutritionOrderEnteralFormulaAdministrationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17639 NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); 17640 parseElementAttributes(xpp, res); 17641 next(xpp); 17642 int eventType = nextNoWhitespace(xpp); 17643 while (eventType != XmlPullParser.END_TAG) { 17644 if (!parseNutritionOrderEnteralFormulaAdministrationComponentContent(eventType, xpp, res)) 17645 unknownContent(xpp); 17646 eventType = nextNoWhitespace(xpp); 17647 } 17648 next(xpp); 17649 parseElementClose(res); 17650 return res; 17651 } 17652 17653 protected boolean parseNutritionOrderEnteralFormulaAdministrationComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17654 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 17655 res.setSchedule(parseTiming(xpp)); 17656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 17657 res.setQuantity(parseQuantity(xpp)); 17658 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 17659 res.setRate(parseType("rate", xpp)); 17660 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17661 return false; 17662 } 17663 return true; 17664 } 17665 17666 protected NutritionProduct parseNutritionProduct(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17667 NutritionProduct res = new NutritionProduct(); 17668 parseResourceAttributes(xpp, res); 17669 next(xpp); 17670 int eventType = nextNoWhitespace(xpp); 17671 while (eventType != XmlPullParser.END_TAG) { 17672 if (!parseNutritionProductContent(eventType, xpp, res)) 17673 unknownContent(xpp); 17674 eventType = nextNoWhitespace(xpp); 17675 } 17676 next(xpp); 17677 parseElementClose(res); 17678 return res; 17679 } 17680 17681 protected boolean parseNutritionProductContent(int eventType, XmlPullParser xpp, NutritionProduct res) throws XmlPullParserException, IOException, FHIRFormatError { 17682 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 17683 res.setStatusElement(parseEnumeration(xpp, NutritionProduct.NutritionProductStatus.NULL, new NutritionProduct.NutritionProductStatusEnumFactory())); 17684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 17685 res.getCategory().add(parseCodeableConcept(xpp)); 17686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 17687 res.setCode(parseCodeableConcept(xpp)); 17688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 17689 res.getManufacturer().add(parseReference(xpp)); 17690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nutrient")) { 17691 res.getNutrient().add(parseNutritionProductNutrientComponent(xpp)); 17692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 17693 res.getIngredient().add(parseNutritionProductIngredientComponent(xpp)); 17694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("knownAllergen")) { 17695 res.getKnownAllergen().add(parseCodeableReference(xpp)); 17696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productCharacteristic")) { 17697 res.getProductCharacteristic().add(parseNutritionProductProductCharacteristicComponent(xpp)); 17698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 17699 res.setInstance(parseNutritionProductInstanceComponent(xpp)); 17700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 17701 res.getNote().add(parseAnnotation(xpp)); 17702 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17703 return false; 17704 } 17705 return true; 17706 } 17707 17708 protected NutritionProduct.NutritionProductNutrientComponent parseNutritionProductNutrientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17709 NutritionProduct.NutritionProductNutrientComponent res = new NutritionProduct.NutritionProductNutrientComponent(); 17710 parseElementAttributes(xpp, res); 17711 next(xpp); 17712 int eventType = nextNoWhitespace(xpp); 17713 while (eventType != XmlPullParser.END_TAG) { 17714 if (!parseNutritionProductNutrientComponentContent(eventType, xpp, res)) 17715 unknownContent(xpp); 17716 eventType = nextNoWhitespace(xpp); 17717 } 17718 next(xpp); 17719 parseElementClose(res); 17720 return res; 17721 } 17722 17723 protected boolean parseNutritionProductNutrientComponentContent(int eventType, XmlPullParser xpp, NutritionProduct.NutritionProductNutrientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17724 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 17725 res.setItem(parseCodeableReference(xpp)); 17726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 17727 res.getAmount().add(parseRatio(xpp)); 17728 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17729 return false; 17730 } 17731 return true; 17732 } 17733 17734 protected NutritionProduct.NutritionProductIngredientComponent parseNutritionProductIngredientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17735 NutritionProduct.NutritionProductIngredientComponent res = new NutritionProduct.NutritionProductIngredientComponent(); 17736 parseElementAttributes(xpp, res); 17737 next(xpp); 17738 int eventType = nextNoWhitespace(xpp); 17739 while (eventType != XmlPullParser.END_TAG) { 17740 if (!parseNutritionProductIngredientComponentContent(eventType, xpp, res)) 17741 unknownContent(xpp); 17742 eventType = nextNoWhitespace(xpp); 17743 } 17744 next(xpp); 17745 parseElementClose(res); 17746 return res; 17747 } 17748 17749 protected boolean parseNutritionProductIngredientComponentContent(int eventType, XmlPullParser xpp, NutritionProduct.NutritionProductIngredientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 17751 res.setItem(parseCodeableReference(xpp)); 17752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 17753 res.getAmount().add(parseRatio(xpp)); 17754 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17755 return false; 17756 } 17757 return true; 17758 } 17759 17760 protected NutritionProduct.NutritionProductProductCharacteristicComponent parseNutritionProductProductCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17761 NutritionProduct.NutritionProductProductCharacteristicComponent res = new NutritionProduct.NutritionProductProductCharacteristicComponent(); 17762 parseElementAttributes(xpp, res); 17763 next(xpp); 17764 int eventType = nextNoWhitespace(xpp); 17765 while (eventType != XmlPullParser.END_TAG) { 17766 if (!parseNutritionProductProductCharacteristicComponentContent(eventType, xpp, res)) 17767 unknownContent(xpp); 17768 eventType = nextNoWhitespace(xpp); 17769 } 17770 next(xpp); 17771 parseElementClose(res); 17772 return res; 17773 } 17774 17775 protected boolean parseNutritionProductProductCharacteristicComponentContent(int eventType, XmlPullParser xpp, NutritionProduct.NutritionProductProductCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17776 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17777 res.setType(parseCodeableConcept(xpp)); 17778 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 17779 res.setValue(parseType("value", xpp)); 17780 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17781 return false; 17782 } 17783 return true; 17784 } 17785 17786 protected NutritionProduct.NutritionProductInstanceComponent parseNutritionProductInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17787 NutritionProduct.NutritionProductInstanceComponent res = new NutritionProduct.NutritionProductInstanceComponent(); 17788 parseElementAttributes(xpp, res); 17789 next(xpp); 17790 int eventType = nextNoWhitespace(xpp); 17791 while (eventType != XmlPullParser.END_TAG) { 17792 if (!parseNutritionProductInstanceComponentContent(eventType, xpp, res)) 17793 unknownContent(xpp); 17794 eventType = nextNoWhitespace(xpp); 17795 } 17796 next(xpp); 17797 parseElementClose(res); 17798 return res; 17799 } 17800 17801 protected boolean parseNutritionProductInstanceComponentContent(int eventType, XmlPullParser xpp, NutritionProduct.NutritionProductInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17802 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 17803 res.setQuantity(parseQuantity(xpp)); 17804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 17805 res.getIdentifier().add(parseIdentifier(xpp)); 17806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 17807 res.setLotNumberElement(parseString(xpp)); 17808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 17809 res.setExpiryElement(parseDateTime(xpp)); 17810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useBy")) { 17811 res.setUseByElement(parseDateTime(xpp)); 17812 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17813 return false; 17814 } 17815 return true; 17816 } 17817 17818 protected Observation parseObservation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17819 Observation res = new Observation(); 17820 parseResourceAttributes(xpp, res); 17821 next(xpp); 17822 int eventType = nextNoWhitespace(xpp); 17823 while (eventType != XmlPullParser.END_TAG) { 17824 if (!parseObservationContent(eventType, xpp, res)) 17825 unknownContent(xpp); 17826 eventType = nextNoWhitespace(xpp); 17827 } 17828 next(xpp); 17829 parseElementClose(res); 17830 return res; 17831 } 17832 17833 protected boolean parseObservationContent(int eventType, XmlPullParser xpp, Observation res) throws XmlPullParserException, IOException, FHIRFormatError { 17834 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 17835 res.getIdentifier().add(parseIdentifier(xpp)); 17836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 17837 res.getBasedOn().add(parseReference(xpp)); 17838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 17839 res.getPartOf().add(parseReference(xpp)); 17840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 17841 res.setStatusElement(parseEnumeration(xpp, Enumerations.ObservationStatus.NULL, new Enumerations.ObservationStatusEnumFactory())); 17842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 17843 res.getCategory().add(parseCodeableConcept(xpp)); 17844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 17845 res.setCode(parseCodeableConcept(xpp)); 17846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 17847 res.setSubject(parseReference(xpp)); 17848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 17849 res.getFocus().add(parseReference(xpp)); 17850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 17851 res.setEncounter(parseReference(xpp)); 17852 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 17853 res.setEffective(parseType("effective", xpp)); 17854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 17855 res.setIssuedElement(parseInstant(xpp)); 17856 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 17857 res.getPerformer().add(parseReference(xpp)); 17858 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 17859 res.setValue(parseType("value", xpp)); 17860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 17861 res.setDataAbsentReason(parseCodeableConcept(xpp)); 17862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpretation")) { 17863 res.getInterpretation().add(parseCodeableConcept(xpp)); 17864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 17865 res.getNote().add(parseAnnotation(xpp)); 17866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 17867 res.setBodySite(parseCodeableConcept(xpp)); 17868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 17869 res.setMethod(parseCodeableConcept(xpp)); 17870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 17871 res.setSpecimen(parseReference(xpp)); 17872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 17873 res.setDevice(parseReference(xpp)); 17874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 17875 res.getReferenceRange().add(parseObservationReferenceRangeComponent(xpp)); 17876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hasMember")) { 17877 res.getHasMember().add(parseReference(xpp)); 17878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 17879 res.getDerivedFrom().add(parseReference(xpp)); 17880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 17881 res.getComponent().add(parseObservationComponentComponent(xpp)); 17882 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17883 return false; 17884 } 17885 return true; 17886 } 17887 17888 protected Observation.ObservationReferenceRangeComponent parseObservationReferenceRangeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17889 Observation.ObservationReferenceRangeComponent res = new Observation.ObservationReferenceRangeComponent(); 17890 parseElementAttributes(xpp, res); 17891 next(xpp); 17892 int eventType = nextNoWhitespace(xpp); 17893 while (eventType != XmlPullParser.END_TAG) { 17894 if (!parseObservationReferenceRangeComponentContent(eventType, xpp, res)) 17895 unknownContent(xpp); 17896 eventType = nextNoWhitespace(xpp); 17897 } 17898 next(xpp); 17899 parseElementClose(res); 17900 return res; 17901 } 17902 17903 protected boolean parseObservationReferenceRangeComponentContent(int eventType, XmlPullParser xpp, Observation.ObservationReferenceRangeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17904 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 17905 res.setLow(parseQuantity(xpp)); 17906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 17907 res.setHigh(parseQuantity(xpp)); 17908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 17909 res.setType(parseCodeableConcept(xpp)); 17910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appliesTo")) { 17911 res.getAppliesTo().add(parseCodeableConcept(xpp)); 17912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("age")) { 17913 res.setAge(parseRange(xpp)); 17914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 17915 res.setTextElement(parseString(xpp)); 17916 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17917 return false; 17918 } 17919 return true; 17920 } 17921 17922 protected Observation.ObservationComponentComponent parseObservationComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17923 Observation.ObservationComponentComponent res = new Observation.ObservationComponentComponent(); 17924 parseElementAttributes(xpp, res); 17925 next(xpp); 17926 int eventType = nextNoWhitespace(xpp); 17927 while (eventType != XmlPullParser.END_TAG) { 17928 if (!parseObservationComponentComponentContent(eventType, xpp, res)) 17929 unknownContent(xpp); 17930 eventType = nextNoWhitespace(xpp); 17931 } 17932 next(xpp); 17933 parseElementClose(res); 17934 return res; 17935 } 17936 17937 protected boolean parseObservationComponentComponentContent(int eventType, XmlPullParser xpp, Observation.ObservationComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 17938 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 17939 res.setCode(parseCodeableConcept(xpp)); 17940 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 17941 res.setValue(parseType("value", xpp)); 17942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 17943 res.setDataAbsentReason(parseCodeableConcept(xpp)); 17944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpretation")) { 17945 res.getInterpretation().add(parseCodeableConcept(xpp)); 17946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 17947 res.getReferenceRange().add(parseObservationReferenceRangeComponent(xpp)); 17948 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 17949 return false; 17950 } 17951 return true; 17952 } 17953 17954 protected ObservationDefinition parseObservationDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 17955 ObservationDefinition res = new ObservationDefinition(); 17956 parseResourceAttributes(xpp, res); 17957 next(xpp); 17958 int eventType = nextNoWhitespace(xpp); 17959 while (eventType != XmlPullParser.END_TAG) { 17960 if (!parseObservationDefinitionContent(eventType, xpp, res)) 17961 unknownContent(xpp); 17962 eventType = nextNoWhitespace(xpp); 17963 } 17964 next(xpp); 17965 parseElementClose(res); 17966 return res; 17967 } 17968 17969 protected boolean parseObservationDefinitionContent(int eventType, XmlPullParser xpp, ObservationDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 17970 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 17971 res.getCategory().add(parseCodeableConcept(xpp)); 17972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 17973 res.setCode(parseCodeableConcept(xpp)); 17974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 17975 res.getIdentifier().add(parseIdentifier(xpp)); 17976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("permittedDataType")) { 17977 res.getPermittedDataType().add(parseEnumeration(xpp, ObservationDefinition.ObservationDataType.NULL, new ObservationDefinition.ObservationDataTypeEnumFactory())); 17978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multipleResultsAllowed")) { 17979 res.setMultipleResultsAllowedElement(parseBoolean(xpp)); 17980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 17981 res.setMethod(parseCodeableConcept(xpp)); 17982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferredReportName")) { 17983 res.setPreferredReportNameElement(parseString(xpp)); 17984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantitativeDetails")) { 17985 res.setQuantitativeDetails(parseObservationDefinitionQuantitativeDetailsComponent(xpp)); 17986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualifiedInterval")) { 17987 res.getQualifiedInterval().add(parseObservationDefinitionQualifiedIntervalComponent(xpp)); 17988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validCodedValueSet")) { 17989 res.setValidCodedValueSet(parseReference(xpp)); 17990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("normalCodedValueSet")) { 17991 res.setNormalCodedValueSet(parseReference(xpp)); 17992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abnormalCodedValueSet")) { 17993 res.setAbnormalCodedValueSet(parseReference(xpp)); 17994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criticalCodedValueSet")) { 17995 res.setCriticalCodedValueSet(parseReference(xpp)); 17996 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 17997 return false; 17998 } 17999 return true; 18000 } 18001 18002 protected ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent parseObservationDefinitionQuantitativeDetailsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18003 ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent res = new ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent(); 18004 parseElementAttributes(xpp, res); 18005 next(xpp); 18006 int eventType = nextNoWhitespace(xpp); 18007 while (eventType != XmlPullParser.END_TAG) { 18008 if (!parseObservationDefinitionQuantitativeDetailsComponentContent(eventType, xpp, res)) 18009 unknownContent(xpp); 18010 eventType = nextNoWhitespace(xpp); 18011 } 18012 next(xpp); 18013 parseElementClose(res); 18014 return res; 18015 } 18016 18017 protected boolean parseObservationDefinitionQuantitativeDetailsComponentContent(int eventType, XmlPullParser xpp, ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18018 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("customaryUnit")) { 18019 res.setCustomaryUnit(parseCodeableConcept(xpp)); 18020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 18021 res.setUnit(parseCodeableConcept(xpp)); 18022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conversionFactor")) { 18023 res.setConversionFactorElement(parseDecimal(xpp)); 18024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decimalPrecision")) { 18025 res.setDecimalPrecisionElement(parseInteger(xpp)); 18026 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18027 return false; 18028 } 18029 return true; 18030 } 18031 18032 protected ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent parseObservationDefinitionQualifiedIntervalComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18033 ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent res = new ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent(); 18034 parseElementAttributes(xpp, res); 18035 next(xpp); 18036 int eventType = nextNoWhitespace(xpp); 18037 while (eventType != XmlPullParser.END_TAG) { 18038 if (!parseObservationDefinitionQualifiedIntervalComponentContent(eventType, xpp, res)) 18039 unknownContent(xpp); 18040 eventType = nextNoWhitespace(xpp); 18041 } 18042 next(xpp); 18043 parseElementClose(res); 18044 return res; 18045 } 18046 18047 protected boolean parseObservationDefinitionQualifiedIntervalComponentContent(int eventType, XmlPullParser xpp, ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18048 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 18049 res.setCategoryElement(parseEnumeration(xpp, ObservationDefinition.ObservationRangeCategory.NULL, new ObservationDefinition.ObservationRangeCategoryEnumFactory())); 18050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("range")) { 18051 res.setRange(parseRange(xpp)); 18052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 18053 res.setContext(parseCodeableConcept(xpp)); 18054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appliesTo")) { 18055 res.getAppliesTo().add(parseCodeableConcept(xpp)); 18056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 18057 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 18058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("age")) { 18059 res.setAge(parseRange(xpp)); 18060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gestationalAge")) { 18061 res.setGestationalAge(parseRange(xpp)); 18062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 18063 res.setConditionElement(parseString(xpp)); 18064 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18065 return false; 18066 } 18067 return true; 18068 } 18069 18070 protected OperationDefinition parseOperationDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18071 OperationDefinition res = new OperationDefinition(); 18072 parseResourceAttributes(xpp, res); 18073 next(xpp); 18074 int eventType = nextNoWhitespace(xpp); 18075 while (eventType != XmlPullParser.END_TAG) { 18076 if (!parseOperationDefinitionContent(eventType, xpp, res)) 18077 unknownContent(xpp); 18078 eventType = nextNoWhitespace(xpp); 18079 } 18080 next(xpp); 18081 parseElementClose(res); 18082 return res; 18083 } 18084 18085 protected boolean parseOperationDefinitionContent(int eventType, XmlPullParser xpp, OperationDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 18086 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 18087 res.setUrlElement(parseUri(xpp)); 18088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 18089 res.setVersionElement(parseString(xpp)); 18090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18091 res.setNameElement(parseString(xpp)); 18092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 18093 res.setTitleElement(parseString(xpp)); 18094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 18095 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 18096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 18097 res.setKindElement(parseEnumeration(xpp, OperationDefinition.OperationKind.NULL, new OperationDefinition.OperationKindEnumFactory())); 18098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 18099 res.setExperimentalElement(parseBoolean(xpp)); 18100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 18101 res.setDateElement(parseDateTime(xpp)); 18102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 18103 res.setPublisherElement(parseString(xpp)); 18104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 18105 res.getContact().add(parseContactDetail(xpp)); 18106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 18107 res.setDescriptionElement(parseMarkdown(xpp)); 18108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 18109 res.getUseContext().add(parseUsageContext(xpp)); 18110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 18111 res.getJurisdiction().add(parseCodeableConcept(xpp)); 18112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 18113 res.setPurposeElement(parseMarkdown(xpp)); 18114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("affectsState")) { 18115 res.setAffectsStateElement(parseBoolean(xpp)); 18116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 18117 res.setCodeElement(parseCode(xpp)); 18118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 18119 res.setCommentElement(parseMarkdown(xpp)); 18120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 18121 res.setBaseElement(parseCanonical(xpp)); 18122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 18123 res.getResource().add(parseCode(xpp)); 18124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 18125 res.setSystemElement(parseBoolean(xpp)); 18126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18127 res.setTypeElement(parseBoolean(xpp)); 18128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 18129 res.setInstanceElement(parseBoolean(xpp)); 18130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inputProfile")) { 18131 res.setInputProfileElement(parseCanonical(xpp)); 18132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outputProfile")) { 18133 res.setOutputProfileElement(parseCanonical(xpp)); 18134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 18135 res.getParameter().add(parseOperationDefinitionParameterComponent(xpp)); 18136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overload")) { 18137 res.getOverload().add(parseOperationDefinitionOverloadComponent(xpp)); 18138 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18139 return false; 18140 } 18141 return true; 18142 } 18143 18144 protected OperationDefinition.OperationDefinitionParameterComponent parseOperationDefinitionParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18145 OperationDefinition.OperationDefinitionParameterComponent res = new OperationDefinition.OperationDefinitionParameterComponent(); 18146 parseElementAttributes(xpp, res); 18147 next(xpp); 18148 int eventType = nextNoWhitespace(xpp); 18149 while (eventType != XmlPullParser.END_TAG) { 18150 if (!parseOperationDefinitionParameterComponentContent(eventType, xpp, res)) 18151 unknownContent(xpp); 18152 eventType = nextNoWhitespace(xpp); 18153 } 18154 next(xpp); 18155 parseElementClose(res); 18156 return res; 18157 } 18158 18159 protected boolean parseOperationDefinitionParameterComponentContent(int eventType, XmlPullParser xpp, OperationDefinition.OperationDefinitionParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18160 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18161 res.setNameElement(parseCode(xpp)); 18162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 18163 res.setUseElement(parseEnumeration(xpp, Enumerations.OperationParameterUse.NULL, new Enumerations.OperationParameterUseEnumFactory())); 18164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 18165 res.setMinElement(parseInteger(xpp)); 18166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 18167 res.setMaxElement(parseString(xpp)); 18168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 18169 res.setDocumentationElement(parseString(xpp)); 18170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18171 res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); 18172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetProfile")) { 18173 res.getTargetProfile().add(parseCanonical(xpp)); 18174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchType")) { 18175 res.setSearchTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 18176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 18177 res.setBinding(parseOperationDefinitionParameterBindingComponent(xpp)); 18178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referencedFrom")) { 18179 res.getReferencedFrom().add(parseOperationDefinitionParameterReferencedFromComponent(xpp)); 18180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 18181 res.getPart().add(parseOperationDefinitionParameterComponent(xpp)); 18182 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18183 return false; 18184 } 18185 return true; 18186 } 18187 18188 protected OperationDefinition.OperationDefinitionParameterBindingComponent parseOperationDefinitionParameterBindingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18189 OperationDefinition.OperationDefinitionParameterBindingComponent res = new OperationDefinition.OperationDefinitionParameterBindingComponent(); 18190 parseElementAttributes(xpp, res); 18191 next(xpp); 18192 int eventType = nextNoWhitespace(xpp); 18193 while (eventType != XmlPullParser.END_TAG) { 18194 if (!parseOperationDefinitionParameterBindingComponentContent(eventType, xpp, res)) 18195 unknownContent(xpp); 18196 eventType = nextNoWhitespace(xpp); 18197 } 18198 next(xpp); 18199 parseElementClose(res); 18200 return res; 18201 } 18202 18203 protected boolean parseOperationDefinitionParameterBindingComponentContent(int eventType, XmlPullParser xpp, OperationDefinition.OperationDefinitionParameterBindingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18204 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 18205 res.setStrengthElement(parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 18206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { 18207 res.setValueSetElement(parseCanonical(xpp)); 18208 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18209 return false; 18210 } 18211 return true; 18212 } 18213 18214 protected OperationDefinition.OperationDefinitionParameterReferencedFromComponent parseOperationDefinitionParameterReferencedFromComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18215 OperationDefinition.OperationDefinitionParameterReferencedFromComponent res = new OperationDefinition.OperationDefinitionParameterReferencedFromComponent(); 18216 parseElementAttributes(xpp, res); 18217 next(xpp); 18218 int eventType = nextNoWhitespace(xpp); 18219 while (eventType != XmlPullParser.END_TAG) { 18220 if (!parseOperationDefinitionParameterReferencedFromComponentContent(eventType, xpp, res)) 18221 unknownContent(xpp); 18222 eventType = nextNoWhitespace(xpp); 18223 } 18224 next(xpp); 18225 parseElementClose(res); 18226 return res; 18227 } 18228 18229 protected boolean parseOperationDefinitionParameterReferencedFromComponentContent(int eventType, XmlPullParser xpp, OperationDefinition.OperationDefinitionParameterReferencedFromComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18230 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 18231 res.setSourceElement(parseString(xpp)); 18232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 18233 res.setSourceIdElement(parseString(xpp)); 18234 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18235 return false; 18236 } 18237 return true; 18238 } 18239 18240 protected OperationDefinition.OperationDefinitionOverloadComponent parseOperationDefinitionOverloadComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18241 OperationDefinition.OperationDefinitionOverloadComponent res = new OperationDefinition.OperationDefinitionOverloadComponent(); 18242 parseElementAttributes(xpp, res); 18243 next(xpp); 18244 int eventType = nextNoWhitespace(xpp); 18245 while (eventType != XmlPullParser.END_TAG) { 18246 if (!parseOperationDefinitionOverloadComponentContent(eventType, xpp, res)) 18247 unknownContent(xpp); 18248 eventType = nextNoWhitespace(xpp); 18249 } 18250 next(xpp); 18251 parseElementClose(res); 18252 return res; 18253 } 18254 18255 protected boolean parseOperationDefinitionOverloadComponentContent(int eventType, XmlPullParser xpp, OperationDefinition.OperationDefinitionOverloadComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18256 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameterName")) { 18257 res.getParameterName().add(parseString(xpp)); 18258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 18259 res.setCommentElement(parseString(xpp)); 18260 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18261 return false; 18262 } 18263 return true; 18264 } 18265 18266 protected OperationOutcome parseOperationOutcome(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18267 OperationOutcome res = new OperationOutcome(); 18268 parseResourceAttributes(xpp, res); 18269 next(xpp); 18270 int eventType = nextNoWhitespace(xpp); 18271 while (eventType != XmlPullParser.END_TAG) { 18272 if (!parseOperationOutcomeContent(eventType, xpp, res)) 18273 unknownContent(xpp); 18274 eventType = nextNoWhitespace(xpp); 18275 } 18276 next(xpp); 18277 parseElementClose(res); 18278 return res; 18279 } 18280 18281 protected boolean parseOperationOutcomeContent(int eventType, XmlPullParser xpp, OperationOutcome res) throws XmlPullParserException, IOException, FHIRFormatError { 18282 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { 18283 res.getIssue().add(parseOperationOutcomeIssueComponent(xpp)); 18284 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18285 return false; 18286 } 18287 return true; 18288 } 18289 18290 protected OperationOutcome.OperationOutcomeIssueComponent parseOperationOutcomeIssueComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18291 OperationOutcome.OperationOutcomeIssueComponent res = new OperationOutcome.OperationOutcomeIssueComponent(); 18292 parseElementAttributes(xpp, res); 18293 next(xpp); 18294 int eventType = nextNoWhitespace(xpp); 18295 while (eventType != XmlPullParser.END_TAG) { 18296 if (!parseOperationOutcomeIssueComponentContent(eventType, xpp, res)) 18297 unknownContent(xpp); 18298 eventType = nextNoWhitespace(xpp); 18299 } 18300 next(xpp); 18301 parseElementClose(res); 18302 return res; 18303 } 18304 18305 protected boolean parseOperationOutcomeIssueComponentContent(int eventType, XmlPullParser xpp, OperationOutcome.OperationOutcomeIssueComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18306 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 18307 res.setSeverityElement(parseEnumeration(xpp, OperationOutcome.IssueSeverity.NULL, new OperationOutcome.IssueSeverityEnumFactory())); 18308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 18309 res.setCodeElement(parseEnumeration(xpp, OperationOutcome.IssueType.NULL, new OperationOutcome.IssueTypeEnumFactory())); 18310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 18311 res.setDetails(parseCodeableConcept(xpp)); 18312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnostics")) { 18313 res.setDiagnosticsElement(parseString(xpp)); 18314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 18315 res.getLocation().add(parseString(xpp)); 18316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 18317 res.getExpression().add(parseString(xpp)); 18318 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18319 return false; 18320 } 18321 return true; 18322 } 18323 18324 protected Organization parseOrganization(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18325 Organization res = new Organization(); 18326 parseResourceAttributes(xpp, res); 18327 next(xpp); 18328 int eventType = nextNoWhitespace(xpp); 18329 while (eventType != XmlPullParser.END_TAG) { 18330 if (!parseOrganizationContent(eventType, xpp, res)) 18331 unknownContent(xpp); 18332 eventType = nextNoWhitespace(xpp); 18333 } 18334 next(xpp); 18335 parseElementClose(res); 18336 return res; 18337 } 18338 18339 protected boolean parseOrganizationContent(int eventType, XmlPullParser xpp, Organization res) throws XmlPullParserException, IOException, FHIRFormatError { 18340 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18341 res.getIdentifier().add(parseIdentifier(xpp)); 18342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 18343 res.setActiveElement(parseBoolean(xpp)); 18344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18345 res.getType().add(parseCodeableConcept(xpp)); 18346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18347 res.setNameElement(parseString(xpp)); 18348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 18349 res.getAlias().add(parseString(xpp)); 18350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18351 res.getTelecom().add(parseContactPoint(xpp)); 18352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 18353 res.getAddress().add(parseAddress(xpp)); 18354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 18355 res.setPartOf(parseReference(xpp)); 18356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 18357 res.getContact().add(parseOrganizationContactComponent(xpp)); 18358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 18359 res.getEndpoint().add(parseReference(xpp)); 18360 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18361 return false; 18362 } 18363 return true; 18364 } 18365 18366 protected Organization.OrganizationContactComponent parseOrganizationContactComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18367 Organization.OrganizationContactComponent res = new Organization.OrganizationContactComponent(); 18368 parseElementAttributes(xpp, res); 18369 next(xpp); 18370 int eventType = nextNoWhitespace(xpp); 18371 while (eventType != XmlPullParser.END_TAG) { 18372 if (!parseOrganizationContactComponentContent(eventType, xpp, res)) 18373 unknownContent(xpp); 18374 eventType = nextNoWhitespace(xpp); 18375 } 18376 next(xpp); 18377 parseElementClose(res); 18378 return res; 18379 } 18380 18381 protected boolean parseOrganizationContactComponentContent(int eventType, XmlPullParser xpp, Organization.OrganizationContactComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18382 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 18383 res.setPurpose(parseCodeableConcept(xpp)); 18384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18385 res.setName(parseHumanName(xpp)); 18386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18387 res.getTelecom().add(parseContactPoint(xpp)); 18388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 18389 res.setAddress(parseAddress(xpp)); 18390 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18391 return false; 18392 } 18393 return true; 18394 } 18395 18396 protected OrganizationAffiliation parseOrganizationAffiliation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18397 OrganizationAffiliation res = new OrganizationAffiliation(); 18398 parseResourceAttributes(xpp, res); 18399 next(xpp); 18400 int eventType = nextNoWhitespace(xpp); 18401 while (eventType != XmlPullParser.END_TAG) { 18402 if (!parseOrganizationAffiliationContent(eventType, xpp, res)) 18403 unknownContent(xpp); 18404 eventType = nextNoWhitespace(xpp); 18405 } 18406 next(xpp); 18407 parseElementClose(res); 18408 return res; 18409 } 18410 18411 protected boolean parseOrganizationAffiliationContent(int eventType, XmlPullParser xpp, OrganizationAffiliation res) throws XmlPullParserException, IOException, FHIRFormatError { 18412 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18413 res.getIdentifier().add(parseIdentifier(xpp)); 18414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 18415 res.setActiveElement(parseBoolean(xpp)); 18416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 18417 res.setPeriod(parsePeriod(xpp)); 18418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 18419 res.setOrganization(parseReference(xpp)); 18420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participatingOrganization")) { 18421 res.setParticipatingOrganization(parseReference(xpp)); 18422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 18423 res.getNetwork().add(parseReference(xpp)); 18424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 18425 res.getCode().add(parseCodeableConcept(xpp)); 18426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 18427 res.getSpecialty().add(parseCodeableConcept(xpp)); 18428 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 18429 res.getLocation().add(parseReference(xpp)); 18430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("healthcareService")) { 18431 res.getHealthcareService().add(parseReference(xpp)); 18432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18433 res.getTelecom().add(parseContactPoint(xpp)); 18434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 18435 res.getEndpoint().add(parseReference(xpp)); 18436 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18437 return false; 18438 } 18439 return true; 18440 } 18441 18442 protected PackagedProductDefinition parsePackagedProductDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18443 PackagedProductDefinition res = new PackagedProductDefinition(); 18444 parseResourceAttributes(xpp, res); 18445 next(xpp); 18446 int eventType = nextNoWhitespace(xpp); 18447 while (eventType != XmlPullParser.END_TAG) { 18448 if (!parsePackagedProductDefinitionContent(eventType, xpp, res)) 18449 unknownContent(xpp); 18450 eventType = nextNoWhitespace(xpp); 18451 } 18452 next(xpp); 18453 parseElementClose(res); 18454 return res; 18455 } 18456 18457 protected boolean parsePackagedProductDefinitionContent(int eventType, XmlPullParser xpp, PackagedProductDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 18458 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18459 res.getIdentifier().add(parseIdentifier(xpp)); 18460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18461 res.setNameElement(parseString(xpp)); 18462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18463 res.setType(parseCodeableConcept(xpp)); 18464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageFor")) { 18465 res.getPackageFor().add(parseReference(xpp)); 18466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 18467 res.setStatus(parseCodeableConcept(xpp)); 18468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 18469 res.setStatusDateElement(parseDateTime(xpp)); 18470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("containedItemQuantity")) { 18471 res.getContainedItemQuantity().add(parseQuantity(xpp)); 18472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 18473 res.setDescriptionElement(parseMarkdown(xpp)); 18474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legalStatusOfSupply")) { 18475 res.getLegalStatusOfSupply().add(parsePackagedProductDefinitionLegalStatusOfSupplyComponent(xpp)); 18476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("marketingStatus")) { 18477 res.getMarketingStatus().add(parseMarketingStatus(xpp)); 18478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 18479 res.getCharacteristic().add(parseCodeableConcept(xpp)); 18480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copackagedIndicator")) { 18481 res.setCopackagedIndicatorElement(parseBoolean(xpp)); 18482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 18483 res.getManufacturer().add(parseReference(xpp)); 18484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 18485 res.setPackage(parsePackagedProductDefinitionPackageComponent(xpp)); 18486 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18487 return false; 18488 } 18489 return true; 18490 } 18491 18492 protected PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent parsePackagedProductDefinitionLegalStatusOfSupplyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18493 PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent res = new PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent(); 18494 parseElementAttributes(xpp, res); 18495 next(xpp); 18496 int eventType = nextNoWhitespace(xpp); 18497 while (eventType != XmlPullParser.END_TAG) { 18498 if (!parsePackagedProductDefinitionLegalStatusOfSupplyComponentContent(eventType, xpp, res)) 18499 unknownContent(xpp); 18500 eventType = nextNoWhitespace(xpp); 18501 } 18502 next(xpp); 18503 parseElementClose(res); 18504 return res; 18505 } 18506 18507 protected boolean parsePackagedProductDefinitionLegalStatusOfSupplyComponentContent(int eventType, XmlPullParser xpp, PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18508 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 18509 res.setCode(parseCodeableConcept(xpp)); 18510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 18511 res.setJurisdiction(parseCodeableConcept(xpp)); 18512 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18513 return false; 18514 } 18515 return true; 18516 } 18517 18518 protected PackagedProductDefinition.PackagedProductDefinitionPackageComponent parsePackagedProductDefinitionPackageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18519 PackagedProductDefinition.PackagedProductDefinitionPackageComponent res = new PackagedProductDefinition.PackagedProductDefinitionPackageComponent(); 18520 parseElementAttributes(xpp, res); 18521 next(xpp); 18522 int eventType = nextNoWhitespace(xpp); 18523 while (eventType != XmlPullParser.END_TAG) { 18524 if (!parsePackagedProductDefinitionPackageComponentContent(eventType, xpp, res)) 18525 unknownContent(xpp); 18526 eventType = nextNoWhitespace(xpp); 18527 } 18528 next(xpp); 18529 parseElementClose(res); 18530 return res; 18531 } 18532 18533 protected boolean parsePackagedProductDefinitionPackageComponentContent(int eventType, XmlPullParser xpp, PackagedProductDefinition.PackagedProductDefinitionPackageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18534 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18535 res.getIdentifier().add(parseIdentifier(xpp)); 18536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18537 res.setType(parseCodeableConcept(xpp)); 18538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 18539 res.setQuantityElement(parseInteger(xpp)); 18540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("material")) { 18541 res.getMaterial().add(parseCodeableConcept(xpp)); 18542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alternateMaterial")) { 18543 res.getAlternateMaterial().add(parseCodeableConcept(xpp)); 18544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shelfLifeStorage")) { 18545 res.getShelfLifeStorage().add(parseProductShelfLife(xpp)); 18546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 18547 res.getManufacturer().add(parseReference(xpp)); 18548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 18549 res.getProperty().add(parsePackagedProductDefinitionPackagePropertyComponent(xpp)); 18550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("containedItem")) { 18551 res.getContainedItem().add(parsePackagedProductDefinitionPackageContainedItemComponent(xpp)); 18552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 18553 res.getPackage().add(parsePackagedProductDefinitionPackageComponent(xpp)); 18554 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18555 return false; 18556 } 18557 return true; 18558 } 18559 18560 protected PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent parsePackagedProductDefinitionPackagePropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18561 PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent res = new PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent(); 18562 parseElementAttributes(xpp, res); 18563 next(xpp); 18564 int eventType = nextNoWhitespace(xpp); 18565 while (eventType != XmlPullParser.END_TAG) { 18566 if (!parsePackagedProductDefinitionPackagePropertyComponentContent(eventType, xpp, res)) 18567 unknownContent(xpp); 18568 eventType = nextNoWhitespace(xpp); 18569 } 18570 next(xpp); 18571 parseElementClose(res); 18572 return res; 18573 } 18574 18575 protected boolean parsePackagedProductDefinitionPackagePropertyComponentContent(int eventType, XmlPullParser xpp, PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18576 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18577 res.setType(parseCodeableConcept(xpp)); 18578 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 18579 res.setValue(parseType("value", xpp)); 18580 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18581 return false; 18582 } 18583 return true; 18584 } 18585 18586 protected PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent parsePackagedProductDefinitionPackageContainedItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18587 PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent res = new PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent(); 18588 parseElementAttributes(xpp, res); 18589 next(xpp); 18590 int eventType = nextNoWhitespace(xpp); 18591 while (eventType != XmlPullParser.END_TAG) { 18592 if (!parsePackagedProductDefinitionPackageContainedItemComponentContent(eventType, xpp, res)) 18593 unknownContent(xpp); 18594 eventType = nextNoWhitespace(xpp); 18595 } 18596 next(xpp); 18597 parseElementClose(res); 18598 return res; 18599 } 18600 18601 protected boolean parsePackagedProductDefinitionPackageContainedItemComponentContent(int eventType, XmlPullParser xpp, PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18602 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 18603 res.setItem(parseCodeableReference(xpp)); 18604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 18605 res.setAmount(parseQuantity(xpp)); 18606 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18607 return false; 18608 } 18609 return true; 18610 } 18611 18612 protected Parameters parseParameters(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18613 Parameters res = new Parameters(); 18614 parseResourceAttributes(xpp, res); 18615 next(xpp); 18616 int eventType = nextNoWhitespace(xpp); 18617 while (eventType != XmlPullParser.END_TAG) { 18618 if (!parseParametersContent(eventType, xpp, res)) 18619 unknownContent(xpp); 18620 eventType = nextNoWhitespace(xpp); 18621 } 18622 next(xpp); 18623 parseElementClose(res); 18624 return res; 18625 } 18626 18627 protected boolean parseParametersContent(int eventType, XmlPullParser xpp, Parameters res) throws XmlPullParserException, IOException, FHIRFormatError { 18628 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 18629 res.getParameter().add(parseParametersParameterComponent(xpp)); 18630 } else if (!parseResourceContent(eventType, xpp, res)){ 18631 return false; 18632 } 18633 return true; 18634 } 18635 18636 protected Parameters.ParametersParameterComponent parseParametersParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18637 Parameters.ParametersParameterComponent res = new Parameters.ParametersParameterComponent(); 18638 parseElementAttributes(xpp, res); 18639 next(xpp); 18640 int eventType = nextNoWhitespace(xpp); 18641 while (eventType != XmlPullParser.END_TAG) { 18642 if (!parseParametersParameterComponentContent(eventType, xpp, res)) 18643 unknownContent(xpp); 18644 eventType = nextNoWhitespace(xpp); 18645 } 18646 next(xpp); 18647 parseElementClose(res); 18648 return res; 18649 } 18650 18651 protected boolean parseParametersParameterComponentContent(int eventType, XmlPullParser xpp, Parameters.ParametersParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18652 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18653 res.setNameElement(parseString(xpp)); 18654 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 18655 res.setValue(parseType("value", xpp)); 18656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 18657 res.setResource(parseResourceContained(xpp)); 18658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 18659 res.getPart().add(parseParametersParameterComponent(xpp)); 18660 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18661 return false; 18662 } 18663 return true; 18664 } 18665 18666 protected Patient parsePatient(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18667 Patient res = new Patient(); 18668 parseResourceAttributes(xpp, res); 18669 next(xpp); 18670 int eventType = nextNoWhitespace(xpp); 18671 while (eventType != XmlPullParser.END_TAG) { 18672 if (!parsePatientContent(eventType, xpp, res)) 18673 unknownContent(xpp); 18674 eventType = nextNoWhitespace(xpp); 18675 } 18676 next(xpp); 18677 parseElementClose(res); 18678 return res; 18679 } 18680 18681 protected boolean parsePatientContent(int eventType, XmlPullParser xpp, Patient res) throws XmlPullParserException, IOException, FHIRFormatError { 18682 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18683 res.getIdentifier().add(parseIdentifier(xpp)); 18684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 18685 res.setActiveElement(parseBoolean(xpp)); 18686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18687 res.getName().add(parseHumanName(xpp)); 18688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18689 res.getTelecom().add(parseContactPoint(xpp)); 18690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 18691 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 18692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 18693 res.setBirthDateElement(parseDate(xpp)); 18694 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 18695 res.setDeceased(parseType("deceased", xpp)); 18696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 18697 res.getAddress().add(parseAddress(xpp)); 18698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maritalStatus")) { 18699 res.setMaritalStatus(parseCodeableConcept(xpp)); 18700 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "multipleBirth")) { 18701 res.setMultipleBirth(parseType("multipleBirth", xpp)); 18702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 18703 res.getPhoto().add(parseAttachment(xpp)); 18704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 18705 res.getContact().add(parsePatientContactComponent(xpp)); 18706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 18707 res.getCommunication().add(parsePatientCommunicationComponent(xpp)); 18708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("generalPractitioner")) { 18709 res.getGeneralPractitioner().add(parseReference(xpp)); 18710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 18711 res.setManagingOrganization(parseReference(xpp)); 18712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 18713 res.getLink().add(parsePatientLinkComponent(xpp)); 18714 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18715 return false; 18716 } 18717 return true; 18718 } 18719 18720 protected Patient.ContactComponent parsePatientContactComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18721 Patient.ContactComponent res = new Patient.ContactComponent(); 18722 parseElementAttributes(xpp, res); 18723 next(xpp); 18724 int eventType = nextNoWhitespace(xpp); 18725 while (eventType != XmlPullParser.END_TAG) { 18726 if (!parsePatientContactComponentContent(eventType, xpp, res)) 18727 unknownContent(xpp); 18728 eventType = nextNoWhitespace(xpp); 18729 } 18730 next(xpp); 18731 parseElementClose(res); 18732 return res; 18733 } 18734 18735 protected boolean parsePatientContactComponentContent(int eventType, XmlPullParser xpp, Patient.ContactComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18736 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 18737 res.getRelationship().add(parseCodeableConcept(xpp)); 18738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18739 res.setName(parseHumanName(xpp)); 18740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18741 res.getTelecom().add(parseContactPoint(xpp)); 18742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 18743 res.setAddress(parseAddress(xpp)); 18744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 18745 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 18746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 18747 res.setOrganization(parseReference(xpp)); 18748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 18749 res.setPeriod(parsePeriod(xpp)); 18750 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18751 return false; 18752 } 18753 return true; 18754 } 18755 18756 protected Patient.PatientCommunicationComponent parsePatientCommunicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18757 Patient.PatientCommunicationComponent res = new Patient.PatientCommunicationComponent(); 18758 parseElementAttributes(xpp, res); 18759 next(xpp); 18760 int eventType = nextNoWhitespace(xpp); 18761 while (eventType != XmlPullParser.END_TAG) { 18762 if (!parsePatientCommunicationComponentContent(eventType, xpp, res)) 18763 unknownContent(xpp); 18764 eventType = nextNoWhitespace(xpp); 18765 } 18766 next(xpp); 18767 parseElementClose(res); 18768 return res; 18769 } 18770 18771 protected boolean parsePatientCommunicationComponentContent(int eventType, XmlPullParser xpp, Patient.PatientCommunicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18772 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 18773 res.setLanguage(parseCodeableConcept(xpp)); 18774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 18775 res.setPreferredElement(parseBoolean(xpp)); 18776 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18777 return false; 18778 } 18779 return true; 18780 } 18781 18782 protected Patient.PatientLinkComponent parsePatientLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18783 Patient.PatientLinkComponent res = new Patient.PatientLinkComponent(); 18784 parseElementAttributes(xpp, res); 18785 next(xpp); 18786 int eventType = nextNoWhitespace(xpp); 18787 while (eventType != XmlPullParser.END_TAG) { 18788 if (!parsePatientLinkComponentContent(eventType, xpp, res)) 18789 unknownContent(xpp); 18790 eventType = nextNoWhitespace(xpp); 18791 } 18792 next(xpp); 18793 parseElementClose(res); 18794 return res; 18795 } 18796 18797 protected boolean parsePatientLinkComponentContent(int eventType, XmlPullParser xpp, Patient.PatientLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18798 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("other")) { 18799 res.setOther(parseReference(xpp)); 18800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18801 res.setTypeElement(parseEnumeration(xpp, Patient.LinkType.NULL, new Patient.LinkTypeEnumFactory())); 18802 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18803 return false; 18804 } 18805 return true; 18806 } 18807 18808 protected PaymentNotice parsePaymentNotice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18809 PaymentNotice res = new PaymentNotice(); 18810 parseResourceAttributes(xpp, res); 18811 next(xpp); 18812 int eventType = nextNoWhitespace(xpp); 18813 while (eventType != XmlPullParser.END_TAG) { 18814 if (!parsePaymentNoticeContent(eventType, xpp, res)) 18815 unknownContent(xpp); 18816 eventType = nextNoWhitespace(xpp); 18817 } 18818 next(xpp); 18819 parseElementClose(res); 18820 return res; 18821 } 18822 18823 protected boolean parsePaymentNoticeContent(int eventType, XmlPullParser xpp, PaymentNotice res) throws XmlPullParserException, IOException, FHIRFormatError { 18824 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18825 res.getIdentifier().add(parseIdentifier(xpp)); 18826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 18827 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 18828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 18829 res.setRequest(parseReference(xpp)); 18830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 18831 res.setResponse(parseReference(xpp)); 18832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 18833 res.setCreatedElement(parseDateTime(xpp)); 18834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 18835 res.setProvider(parseReference(xpp)); 18836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payment")) { 18837 res.setPayment(parseReference(xpp)); 18838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { 18839 res.setPaymentDateElement(parseDate(xpp)); 18840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 18841 res.setPayee(parseReference(xpp)); 18842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 18843 res.setRecipient(parseReference(xpp)); 18844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 18845 res.setAmount(parseMoney(xpp)); 18846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentStatus")) { 18847 res.setPaymentStatus(parseCodeableConcept(xpp)); 18848 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18849 return false; 18850 } 18851 return true; 18852 } 18853 18854 protected PaymentReconciliation parsePaymentReconciliation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18855 PaymentReconciliation res = new PaymentReconciliation(); 18856 parseResourceAttributes(xpp, res); 18857 next(xpp); 18858 int eventType = nextNoWhitespace(xpp); 18859 while (eventType != XmlPullParser.END_TAG) { 18860 if (!parsePaymentReconciliationContent(eventType, xpp, res)) 18861 unknownContent(xpp); 18862 eventType = nextNoWhitespace(xpp); 18863 } 18864 next(xpp); 18865 parseElementClose(res); 18866 return res; 18867 } 18868 18869 protected boolean parsePaymentReconciliationContent(int eventType, XmlPullParser xpp, PaymentReconciliation res) throws XmlPullParserException, IOException, FHIRFormatError { 18870 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18871 res.getIdentifier().add(parseIdentifier(xpp)); 18872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 18873 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 18874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 18875 res.setPeriod(parsePeriod(xpp)); 18876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 18877 res.setCreatedElement(parseDateTime(xpp)); 18878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentIssuer")) { 18879 res.setPaymentIssuer(parseReference(xpp)); 18880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 18881 res.setRequest(parseReference(xpp)); 18882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 18883 res.setRequestor(parseReference(xpp)); 18884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 18885 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 18886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 18887 res.setDispositionElement(parseString(xpp)); 18888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { 18889 res.setPaymentDateElement(parseDate(xpp)); 18890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAmount")) { 18891 res.setPaymentAmount(parseMoney(xpp)); 18892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentIdentifier")) { 18893 res.setPaymentIdentifier(parseIdentifier(xpp)); 18894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 18895 res.getDetail().add(parsePaymentReconciliationDetailsComponent(xpp)); 18896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("formCode")) { 18897 res.setFormCode(parseCodeableConcept(xpp)); 18898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processNote")) { 18899 res.getProcessNote().add(parsePaymentReconciliationNotesComponent(xpp)); 18900 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 18901 return false; 18902 } 18903 return true; 18904 } 18905 18906 protected PaymentReconciliation.DetailsComponent parsePaymentReconciliationDetailsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18907 PaymentReconciliation.DetailsComponent res = new PaymentReconciliation.DetailsComponent(); 18908 parseElementAttributes(xpp, res); 18909 next(xpp); 18910 int eventType = nextNoWhitespace(xpp); 18911 while (eventType != XmlPullParser.END_TAG) { 18912 if (!parsePaymentReconciliationDetailsComponentContent(eventType, xpp, res)) 18913 unknownContent(xpp); 18914 eventType = nextNoWhitespace(xpp); 18915 } 18916 next(xpp); 18917 parseElementClose(res); 18918 return res; 18919 } 18920 18921 protected boolean parsePaymentReconciliationDetailsComponentContent(int eventType, XmlPullParser xpp, PaymentReconciliation.DetailsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18922 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18923 res.setIdentifier(parseIdentifier(xpp)); 18924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("predecessor")) { 18925 res.setPredecessor(parseIdentifier(xpp)); 18926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18927 res.setType(parseCodeableConcept(xpp)); 18928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 18929 res.setRequest(parseReference(xpp)); 18930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("submitter")) { 18931 res.setSubmitter(parseReference(xpp)); 18932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 18933 res.setResponse(parseReference(xpp)); 18934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 18935 res.setDateElement(parseDate(xpp)); 18936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 18937 res.setResponsible(parseReference(xpp)); 18938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 18939 res.setPayee(parseReference(xpp)); 18940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 18941 res.setAmount(parseMoney(xpp)); 18942 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18943 return false; 18944 } 18945 return true; 18946 } 18947 18948 protected PaymentReconciliation.NotesComponent parsePaymentReconciliationNotesComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18949 PaymentReconciliation.NotesComponent res = new PaymentReconciliation.NotesComponent(); 18950 parseElementAttributes(xpp, res); 18951 next(xpp); 18952 int eventType = nextNoWhitespace(xpp); 18953 while (eventType != XmlPullParser.END_TAG) { 18954 if (!parsePaymentReconciliationNotesComponentContent(eventType, xpp, res)) 18955 unknownContent(xpp); 18956 eventType = nextNoWhitespace(xpp); 18957 } 18958 next(xpp); 18959 parseElementClose(res); 18960 return res; 18961 } 18962 18963 protected boolean parsePaymentReconciliationNotesComponentContent(int eventType, XmlPullParser xpp, PaymentReconciliation.NotesComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 18964 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 18965 res.setTypeElement(parseEnumeration(xpp, Enumerations.NoteType.NULL, new Enumerations.NoteTypeEnumFactory())); 18966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 18967 res.setTextElement(parseString(xpp)); 18968 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 18969 return false; 18970 } 18971 return true; 18972 } 18973 18974 protected Person parsePerson(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 18975 Person res = new Person(); 18976 parseResourceAttributes(xpp, res); 18977 next(xpp); 18978 int eventType = nextNoWhitespace(xpp); 18979 while (eventType != XmlPullParser.END_TAG) { 18980 if (!parsePersonContent(eventType, xpp, res)) 18981 unknownContent(xpp); 18982 eventType = nextNoWhitespace(xpp); 18983 } 18984 next(xpp); 18985 parseElementClose(res); 18986 return res; 18987 } 18988 18989 protected boolean parsePersonContent(int eventType, XmlPullParser xpp, Person res) throws XmlPullParserException, IOException, FHIRFormatError { 18990 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 18991 res.getIdentifier().add(parseIdentifier(xpp)); 18992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 18993 res.getName().add(parseHumanName(xpp)); 18994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 18995 res.getTelecom().add(parseContactPoint(xpp)); 18996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 18997 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 18998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 18999 res.setBirthDateElement(parseDate(xpp)); 19000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 19001 res.getAddress().add(parseAddress(xpp)); 19002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 19003 res.setPhoto(parseAttachment(xpp)); 19004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 19005 res.setManagingOrganization(parseReference(xpp)); 19006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 19007 res.setActiveElement(parseBoolean(xpp)); 19008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 19009 res.getLink().add(parsePersonLinkComponent(xpp)); 19010 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19011 return false; 19012 } 19013 return true; 19014 } 19015 19016 protected Person.PersonLinkComponent parsePersonLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19017 Person.PersonLinkComponent res = new Person.PersonLinkComponent(); 19018 parseElementAttributes(xpp, res); 19019 next(xpp); 19020 int eventType = nextNoWhitespace(xpp); 19021 while (eventType != XmlPullParser.END_TAG) { 19022 if (!parsePersonLinkComponentContent(eventType, xpp, res)) 19023 unknownContent(xpp); 19024 eventType = nextNoWhitespace(xpp); 19025 } 19026 next(xpp); 19027 parseElementClose(res); 19028 return res; 19029 } 19030 19031 protected boolean parsePersonLinkComponentContent(int eventType, XmlPullParser xpp, Person.PersonLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19032 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 19033 res.setTarget(parseReference(xpp)); 19034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assurance")) { 19035 res.setAssuranceElement(parseEnumeration(xpp, Person.IdentityAssuranceLevel.NULL, new Person.IdentityAssuranceLevelEnumFactory())); 19036 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19037 return false; 19038 } 19039 return true; 19040 } 19041 19042 protected PlanDefinition parsePlanDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19043 PlanDefinition res = new PlanDefinition(); 19044 parseResourceAttributes(xpp, res); 19045 next(xpp); 19046 int eventType = nextNoWhitespace(xpp); 19047 while (eventType != XmlPullParser.END_TAG) { 19048 if (!parsePlanDefinitionContent(eventType, xpp, res)) 19049 unknownContent(xpp); 19050 eventType = nextNoWhitespace(xpp); 19051 } 19052 next(xpp); 19053 parseElementClose(res); 19054 return res; 19055 } 19056 19057 protected boolean parsePlanDefinitionContent(int eventType, XmlPullParser xpp, PlanDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 19058 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 19059 res.setUrlElement(parseUri(xpp)); 19060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19061 res.getIdentifier().add(parseIdentifier(xpp)); 19062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 19063 res.setVersionElement(parseString(xpp)); 19064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 19065 res.setNameElement(parseString(xpp)); 19066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 19067 res.setTitleElement(parseString(xpp)); 19068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 19069 res.setSubtitleElement(parseString(xpp)); 19070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 19071 res.setType(parseCodeableConcept(xpp)); 19072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 19073 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 19074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 19075 res.setExperimentalElement(parseBoolean(xpp)); 19076 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 19077 res.setSubject(parseType("subject", xpp)); 19078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 19079 res.setDateElement(parseDateTime(xpp)); 19080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 19081 res.setPublisherElement(parseString(xpp)); 19082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 19083 res.getContact().add(parseContactDetail(xpp)); 19084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 19085 res.setDescriptionElement(parseMarkdown(xpp)); 19086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 19087 res.getUseContext().add(parseUsageContext(xpp)); 19088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 19089 res.getJurisdiction().add(parseCodeableConcept(xpp)); 19090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 19091 res.setPurposeElement(parseMarkdown(xpp)); 19092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 19093 res.setUsageElement(parseString(xpp)); 19094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 19095 res.setCopyrightElement(parseMarkdown(xpp)); 19096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 19097 res.setApprovalDateElement(parseDate(xpp)); 19098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 19099 res.setLastReviewDateElement(parseDate(xpp)); 19100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 19101 res.setEffectivePeriod(parsePeriod(xpp)); 19102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 19103 res.getTopic().add(parseCodeableConcept(xpp)); 19104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 19105 res.getAuthor().add(parseContactDetail(xpp)); 19106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 19107 res.getEditor().add(parseContactDetail(xpp)); 19108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 19109 res.getReviewer().add(parseContactDetail(xpp)); 19110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 19111 res.getEndorser().add(parseContactDetail(xpp)); 19112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 19113 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 19114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { 19115 res.getLibrary().add(parseCanonical(xpp)); 19116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 19117 res.getGoal().add(parsePlanDefinitionGoalComponent(xpp)); 19118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 19119 res.getAction().add(parsePlanDefinitionActionComponent(xpp)); 19120 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19121 return false; 19122 } 19123 return true; 19124 } 19125 19126 protected PlanDefinition.PlanDefinitionGoalComponent parsePlanDefinitionGoalComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19127 PlanDefinition.PlanDefinitionGoalComponent res = new PlanDefinition.PlanDefinitionGoalComponent(); 19128 parseElementAttributes(xpp, res); 19129 next(xpp); 19130 int eventType = nextNoWhitespace(xpp); 19131 while (eventType != XmlPullParser.END_TAG) { 19132 if (!parsePlanDefinitionGoalComponentContent(eventType, xpp, res)) 19133 unknownContent(xpp); 19134 eventType = nextNoWhitespace(xpp); 19135 } 19136 next(xpp); 19137 parseElementClose(res); 19138 return res; 19139 } 19140 19141 protected boolean parsePlanDefinitionGoalComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionGoalComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19142 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 19143 res.setCategory(parseCodeableConcept(xpp)); 19144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 19145 res.setDescription(parseCodeableConcept(xpp)); 19146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 19147 res.setPriority(parseCodeableConcept(xpp)); 19148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 19149 res.setStart(parseCodeableConcept(xpp)); 19150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 19151 res.getAddresses().add(parseCodeableConcept(xpp)); 19152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 19153 res.getDocumentation().add(parseRelatedArtifact(xpp)); 19154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 19155 res.getTarget().add(parsePlanDefinitionGoalTargetComponent(xpp)); 19156 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19157 return false; 19158 } 19159 return true; 19160 } 19161 19162 protected PlanDefinition.PlanDefinitionGoalTargetComponent parsePlanDefinitionGoalTargetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19163 PlanDefinition.PlanDefinitionGoalTargetComponent res = new PlanDefinition.PlanDefinitionGoalTargetComponent(); 19164 parseElementAttributes(xpp, res); 19165 next(xpp); 19166 int eventType = nextNoWhitespace(xpp); 19167 while (eventType != XmlPullParser.END_TAG) { 19168 if (!parsePlanDefinitionGoalTargetComponentContent(eventType, xpp, res)) 19169 unknownContent(xpp); 19170 eventType = nextNoWhitespace(xpp); 19171 } 19172 next(xpp); 19173 parseElementClose(res); 19174 return res; 19175 } 19176 19177 protected boolean parsePlanDefinitionGoalTargetComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionGoalTargetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19178 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measure")) { 19179 res.setMeasure(parseCodeableConcept(xpp)); 19180 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "detail")) { 19181 res.setDetail(parseType("detail", xpp)); 19182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("due")) { 19183 res.setDue(parseDuration(xpp)); 19184 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19185 return false; 19186 } 19187 return true; 19188 } 19189 19190 protected PlanDefinition.PlanDefinitionActionComponent parsePlanDefinitionActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19191 PlanDefinition.PlanDefinitionActionComponent res = new PlanDefinition.PlanDefinitionActionComponent(); 19192 parseElementAttributes(xpp, res); 19193 next(xpp); 19194 int eventType = nextNoWhitespace(xpp); 19195 while (eventType != XmlPullParser.END_TAG) { 19196 if (!parsePlanDefinitionActionComponentContent(eventType, xpp, res)) 19197 unknownContent(xpp); 19198 eventType = nextNoWhitespace(xpp); 19199 } 19200 next(xpp); 19201 parseElementClose(res); 19202 return res; 19203 } 19204 19205 protected boolean parsePlanDefinitionActionComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19206 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 19207 res.setPrefixElement(parseString(xpp)); 19208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 19209 res.setTitleElement(parseString(xpp)); 19210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 19211 res.setDescriptionElement(parseString(xpp)); 19212 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("textEquivalent")) { 19213 res.setTextEquivalentElement(parseString(xpp)); 19214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 19215 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 19216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19217 res.getCode().add(parseCodeableConcept(xpp)); 19218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 19219 res.getReason().add(parseCodeableConcept(xpp)); 19220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 19221 res.getDocumentation().add(parseRelatedArtifact(xpp)); 19222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goalId")) { 19223 res.getGoalId().add(parseId(xpp)); 19224 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 19225 res.setSubject(parseType("subject", xpp)); 19226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("trigger")) { 19227 res.getTrigger().add(parseTriggerDefinition(xpp)); 19228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 19229 res.getCondition().add(parsePlanDefinitionActionConditionComponent(xpp)); 19230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { 19231 res.getInput().add(parseDataRequirement(xpp)); 19232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("output")) { 19233 res.getOutput().add(parseDataRequirement(xpp)); 19234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAction")) { 19235 res.getRelatedAction().add(parsePlanDefinitionActionRelatedActionComponent(xpp)); 19236 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 19237 res.setTiming(parseType("timing", xpp)); 19238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 19239 res.getParticipant().add(parsePlanDefinitionActionParticipantComponent(xpp)); 19240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 19241 res.setType(parseCodeableConcept(xpp)); 19242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingBehavior")) { 19243 res.setGroupingBehaviorElement(parseEnumeration(xpp, Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); 19244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("selectionBehavior")) { 19245 res.setSelectionBehaviorElement(parseEnumeration(xpp, Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); 19246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requiredBehavior")) { 19247 res.setRequiredBehaviorElement(parseEnumeration(xpp, Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); 19248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precheckBehavior")) { 19249 res.setPrecheckBehaviorElement(parseEnumeration(xpp, Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); 19250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cardinalityBehavior")) { 19251 res.setCardinalityBehaviorElement(parseEnumeration(xpp, Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); 19252 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "definition")) { 19253 res.setDefinition(parseType("definition", xpp)); 19254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transform")) { 19255 res.setTransformElement(parseCanonical(xpp)); 19256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dynamicValue")) { 19257 res.getDynamicValue().add(parsePlanDefinitionActionDynamicValueComponent(xpp)); 19258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 19259 res.getAction().add(parsePlanDefinitionActionComponent(xpp)); 19260 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19261 return false; 19262 } 19263 return true; 19264 } 19265 19266 protected PlanDefinition.PlanDefinitionActionConditionComponent parsePlanDefinitionActionConditionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19267 PlanDefinition.PlanDefinitionActionConditionComponent res = new PlanDefinition.PlanDefinitionActionConditionComponent(); 19268 parseElementAttributes(xpp, res); 19269 next(xpp); 19270 int eventType = nextNoWhitespace(xpp); 19271 while (eventType != XmlPullParser.END_TAG) { 19272 if (!parsePlanDefinitionActionConditionComponentContent(eventType, xpp, res)) 19273 unknownContent(xpp); 19274 eventType = nextNoWhitespace(xpp); 19275 } 19276 next(xpp); 19277 parseElementClose(res); 19278 return res; 19279 } 19280 19281 protected boolean parsePlanDefinitionActionConditionComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActionConditionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19282 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 19283 res.setKindElement(parseEnumeration(xpp, Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); 19284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 19285 res.setExpression(parseExpression(xpp)); 19286 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19287 return false; 19288 } 19289 return true; 19290 } 19291 19292 protected PlanDefinition.PlanDefinitionActionRelatedActionComponent parsePlanDefinitionActionRelatedActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19293 PlanDefinition.PlanDefinitionActionRelatedActionComponent res = new PlanDefinition.PlanDefinitionActionRelatedActionComponent(); 19294 parseElementAttributes(xpp, res); 19295 next(xpp); 19296 int eventType = nextNoWhitespace(xpp); 19297 while (eventType != XmlPullParser.END_TAG) { 19298 if (!parsePlanDefinitionActionRelatedActionComponentContent(eventType, xpp, res)) 19299 unknownContent(xpp); 19300 eventType = nextNoWhitespace(xpp); 19301 } 19302 next(xpp); 19303 parseElementClose(res); 19304 return res; 19305 } 19306 19307 protected boolean parsePlanDefinitionActionRelatedActionComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActionRelatedActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19308 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionId")) { 19309 res.setActionIdElement(parseId(xpp)); 19310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 19311 res.setRelationshipElement(parseEnumeration(xpp, Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); 19312 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "offset")) { 19313 res.setOffset(parseType("offset", xpp)); 19314 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19315 return false; 19316 } 19317 return true; 19318 } 19319 19320 protected PlanDefinition.PlanDefinitionActionParticipantComponent parsePlanDefinitionActionParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19321 PlanDefinition.PlanDefinitionActionParticipantComponent res = new PlanDefinition.PlanDefinitionActionParticipantComponent(); 19322 parseElementAttributes(xpp, res); 19323 next(xpp); 19324 int eventType = nextNoWhitespace(xpp); 19325 while (eventType != XmlPullParser.END_TAG) { 19326 if (!parsePlanDefinitionActionParticipantComponentContent(eventType, xpp, res)) 19327 unknownContent(xpp); 19328 eventType = nextNoWhitespace(xpp); 19329 } 19330 next(xpp); 19331 parseElementClose(res); 19332 return res; 19333 } 19334 19335 protected boolean parsePlanDefinitionActionParticipantComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActionParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19336 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 19337 res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); 19338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 19339 res.setRole(parseCodeableConcept(xpp)); 19340 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19341 return false; 19342 } 19343 return true; 19344 } 19345 19346 protected PlanDefinition.PlanDefinitionActionDynamicValueComponent parsePlanDefinitionActionDynamicValueComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19347 PlanDefinition.PlanDefinitionActionDynamicValueComponent res = new PlanDefinition.PlanDefinitionActionDynamicValueComponent(); 19348 parseElementAttributes(xpp, res); 19349 next(xpp); 19350 int eventType = nextNoWhitespace(xpp); 19351 while (eventType != XmlPullParser.END_TAG) { 19352 if (!parsePlanDefinitionActionDynamicValueComponentContent(eventType, xpp, res)) 19353 unknownContent(xpp); 19354 eventType = nextNoWhitespace(xpp); 19355 } 19356 next(xpp); 19357 parseElementClose(res); 19358 return res; 19359 } 19360 19361 protected boolean parsePlanDefinitionActionDynamicValueComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActionDynamicValueComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19362 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 19363 res.setPathElement(parseString(xpp)); 19364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 19365 res.setExpression(parseExpression(xpp)); 19366 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19367 return false; 19368 } 19369 return true; 19370 } 19371 19372 protected Practitioner parsePractitioner(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19373 Practitioner res = new Practitioner(); 19374 parseResourceAttributes(xpp, res); 19375 next(xpp); 19376 int eventType = nextNoWhitespace(xpp); 19377 while (eventType != XmlPullParser.END_TAG) { 19378 if (!parsePractitionerContent(eventType, xpp, res)) 19379 unknownContent(xpp); 19380 eventType = nextNoWhitespace(xpp); 19381 } 19382 next(xpp); 19383 parseElementClose(res); 19384 return res; 19385 } 19386 19387 protected boolean parsePractitionerContent(int eventType, XmlPullParser xpp, Practitioner res) throws XmlPullParserException, IOException, FHIRFormatError { 19388 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19389 res.getIdentifier().add(parseIdentifier(xpp)); 19390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 19391 res.setActiveElement(parseBoolean(xpp)); 19392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 19393 res.getName().add(parseHumanName(xpp)); 19394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 19395 res.getTelecom().add(parseContactPoint(xpp)); 19396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 19397 res.getAddress().add(parseAddress(xpp)); 19398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 19399 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 19400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 19401 res.setBirthDateElement(parseDate(xpp)); 19402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 19403 res.getPhoto().add(parseAttachment(xpp)); 19404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { 19405 res.getQualification().add(parsePractitionerQualificationComponent(xpp)); 19406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 19407 res.getCommunication().add(parseCodeableConcept(xpp)); 19408 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19409 return false; 19410 } 19411 return true; 19412 } 19413 19414 protected Practitioner.PractitionerQualificationComponent parsePractitionerQualificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19415 Practitioner.PractitionerQualificationComponent res = new Practitioner.PractitionerQualificationComponent(); 19416 parseElementAttributes(xpp, res); 19417 next(xpp); 19418 int eventType = nextNoWhitespace(xpp); 19419 while (eventType != XmlPullParser.END_TAG) { 19420 if (!parsePractitionerQualificationComponentContent(eventType, xpp, res)) 19421 unknownContent(xpp); 19422 eventType = nextNoWhitespace(xpp); 19423 } 19424 next(xpp); 19425 parseElementClose(res); 19426 return res; 19427 } 19428 19429 protected boolean parsePractitionerQualificationComponentContent(int eventType, XmlPullParser xpp, Practitioner.PractitionerQualificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19431 res.getIdentifier().add(parseIdentifier(xpp)); 19432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19433 res.setCode(parseCodeableConcept(xpp)); 19434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 19435 res.setPeriod(parsePeriod(xpp)); 19436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 19437 res.setIssuer(parseReference(xpp)); 19438 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19439 return false; 19440 } 19441 return true; 19442 } 19443 19444 protected PractitionerRole parsePractitionerRole(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19445 PractitionerRole res = new PractitionerRole(); 19446 parseResourceAttributes(xpp, res); 19447 next(xpp); 19448 int eventType = nextNoWhitespace(xpp); 19449 while (eventType != XmlPullParser.END_TAG) { 19450 if (!parsePractitionerRoleContent(eventType, xpp, res)) 19451 unknownContent(xpp); 19452 eventType = nextNoWhitespace(xpp); 19453 } 19454 next(xpp); 19455 parseElementClose(res); 19456 return res; 19457 } 19458 19459 protected boolean parsePractitionerRoleContent(int eventType, XmlPullParser xpp, PractitionerRole res) throws XmlPullParserException, IOException, FHIRFormatError { 19460 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19461 res.getIdentifier().add(parseIdentifier(xpp)); 19462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 19463 res.setActiveElement(parseBoolean(xpp)); 19464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 19465 res.setPeriod(parsePeriod(xpp)); 19466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practitioner")) { 19467 res.setPractitioner(parseReference(xpp)); 19468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 19469 res.setOrganization(parseReference(xpp)); 19470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19471 res.getCode().add(parseCodeableConcept(xpp)); 19472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 19473 res.getSpecialty().add(parseCodeableConcept(xpp)); 19474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 19475 res.getLocation().add(parseReference(xpp)); 19476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("healthcareService")) { 19477 res.getHealthcareService().add(parseReference(xpp)); 19478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 19479 res.getTelecom().add(parseContactPoint(xpp)); 19480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { 19481 res.getAvailableTime().add(parsePractitionerRoleAvailableTimeComponent(xpp)); 19482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { 19483 res.getNotAvailable().add(parsePractitionerRoleNotAvailableComponent(xpp)); 19484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { 19485 res.setAvailabilityExceptionsElement(parseString(xpp)); 19486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 19487 res.getEndpoint().add(parseReference(xpp)); 19488 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19489 return false; 19490 } 19491 return true; 19492 } 19493 19494 protected PractitionerRole.PractitionerRoleAvailableTimeComponent parsePractitionerRoleAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19495 PractitionerRole.PractitionerRoleAvailableTimeComponent res = new PractitionerRole.PractitionerRoleAvailableTimeComponent(); 19496 parseElementAttributes(xpp, res); 19497 next(xpp); 19498 int eventType = nextNoWhitespace(xpp); 19499 while (eventType != XmlPullParser.END_TAG) { 19500 if (!parsePractitionerRoleAvailableTimeComponentContent(eventType, xpp, res)) 19501 unknownContent(xpp); 19502 eventType = nextNoWhitespace(xpp); 19503 } 19504 next(xpp); 19505 parseElementClose(res); 19506 return res; 19507 } 19508 19509 protected boolean parsePractitionerRoleAvailableTimeComponentContent(int eventType, XmlPullParser xpp, PractitionerRole.PractitionerRoleAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19510 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { 19511 res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); 19512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { 19513 res.setAllDayElement(parseBoolean(xpp)); 19514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { 19515 res.setAvailableStartTimeElement(parseTime(xpp)); 19516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { 19517 res.setAvailableEndTimeElement(parseTime(xpp)); 19518 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19519 return false; 19520 } 19521 return true; 19522 } 19523 19524 protected PractitionerRole.PractitionerRoleNotAvailableComponent parsePractitionerRoleNotAvailableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19525 PractitionerRole.PractitionerRoleNotAvailableComponent res = new PractitionerRole.PractitionerRoleNotAvailableComponent(); 19526 parseElementAttributes(xpp, res); 19527 next(xpp); 19528 int eventType = nextNoWhitespace(xpp); 19529 while (eventType != XmlPullParser.END_TAG) { 19530 if (!parsePractitionerRoleNotAvailableComponentContent(eventType, xpp, res)) 19531 unknownContent(xpp); 19532 eventType = nextNoWhitespace(xpp); 19533 } 19534 next(xpp); 19535 parseElementClose(res); 19536 return res; 19537 } 19538 19539 protected boolean parsePractitionerRoleNotAvailableComponentContent(int eventType, XmlPullParser xpp, PractitionerRole.PractitionerRoleNotAvailableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19540 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 19541 res.setDescriptionElement(parseString(xpp)); 19542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { 19543 res.setDuring(parsePeriod(xpp)); 19544 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19545 return false; 19546 } 19547 return true; 19548 } 19549 19550 protected Procedure parseProcedure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19551 Procedure res = new Procedure(); 19552 parseResourceAttributes(xpp, res); 19553 next(xpp); 19554 int eventType = nextNoWhitespace(xpp); 19555 while (eventType != XmlPullParser.END_TAG) { 19556 if (!parseProcedureContent(eventType, xpp, res)) 19557 unknownContent(xpp); 19558 eventType = nextNoWhitespace(xpp); 19559 } 19560 next(xpp); 19561 parseElementClose(res); 19562 return res; 19563 } 19564 19565 protected boolean parseProcedureContent(int eventType, XmlPullParser xpp, Procedure res) throws XmlPullParserException, IOException, FHIRFormatError { 19566 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19567 res.getIdentifier().add(parseIdentifier(xpp)); 19568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 19569 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 19570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 19571 res.getInstantiatesUri().add(parseUri(xpp)); 19572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 19573 res.getBasedOn().add(parseReference(xpp)); 19574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 19575 res.getPartOf().add(parseReference(xpp)); 19576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 19577 res.setStatusElement(parseEnumeration(xpp, Enumerations.EventStatus.NULL, new Enumerations.EventStatusEnumFactory())); 19578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 19579 res.setStatusReason(parseCodeableConcept(xpp)); 19580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 19581 res.setCategory(parseCodeableConcept(xpp)); 19582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19583 res.setCode(parseCodeableConcept(xpp)); 19584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 19585 res.setSubject(parseReference(xpp)); 19586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 19587 res.setEncounter(parseReference(xpp)); 19588 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "performed")) { 19589 res.setPerformed(parseType("performed", xpp)); 19590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 19591 res.setRecorder(parseReference(xpp)); 19592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { 19593 res.setAsserter(parseReference(xpp)); 19594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 19595 res.getPerformer().add(parseProcedurePerformerComponent(xpp)); 19596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 19597 res.setLocation(parseReference(xpp)); 19598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 19599 res.getReasonCode().add(parseCodeableConcept(xpp)); 19600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 19601 res.getReasonReference().add(parseReference(xpp)); 19602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 19603 res.getBodySite().add(parseCodeableConcept(xpp)); 19604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 19605 res.setOutcome(parseCodeableConcept(xpp)); 19606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("report")) { 19607 res.getReport().add(parseReference(xpp)); 19608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("complication")) { 19609 res.getComplication().add(parseCodeableConcept(xpp)); 19610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("complicationDetail")) { 19611 res.getComplicationDetail().add(parseReference(xpp)); 19612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("followUp")) { 19613 res.getFollowUp().add(parseCodeableConcept(xpp)); 19614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 19615 res.getNote().add(parseAnnotation(xpp)); 19616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focalDevice")) { 19617 res.getFocalDevice().add(parseProcedureFocalDeviceComponent(xpp)); 19618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usedReference")) { 19619 res.getUsedReference().add(parseReference(xpp)); 19620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usedCode")) { 19621 res.getUsedCode().add(parseCodeableConcept(xpp)); 19622 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19623 return false; 19624 } 19625 return true; 19626 } 19627 19628 protected Procedure.ProcedurePerformerComponent parseProcedurePerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19629 Procedure.ProcedurePerformerComponent res = new Procedure.ProcedurePerformerComponent(); 19630 parseElementAttributes(xpp, res); 19631 next(xpp); 19632 int eventType = nextNoWhitespace(xpp); 19633 while (eventType != XmlPullParser.END_TAG) { 19634 if (!parseProcedurePerformerComponentContent(eventType, xpp, res)) 19635 unknownContent(xpp); 19636 eventType = nextNoWhitespace(xpp); 19637 } 19638 next(xpp); 19639 parseElementClose(res); 19640 return res; 19641 } 19642 19643 protected boolean parseProcedurePerformerComponentContent(int eventType, XmlPullParser xpp, Procedure.ProcedurePerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19644 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { 19645 res.setFunction(parseCodeableConcept(xpp)); 19646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 19647 res.setActor(parseReference(xpp)); 19648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { 19649 res.setOnBehalfOf(parseReference(xpp)); 19650 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19651 return false; 19652 } 19653 return true; 19654 } 19655 19656 protected Procedure.ProcedureFocalDeviceComponent parseProcedureFocalDeviceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19657 Procedure.ProcedureFocalDeviceComponent res = new Procedure.ProcedureFocalDeviceComponent(); 19658 parseElementAttributes(xpp, res); 19659 next(xpp); 19660 int eventType = nextNoWhitespace(xpp); 19661 while (eventType != XmlPullParser.END_TAG) { 19662 if (!parseProcedureFocalDeviceComponentContent(eventType, xpp, res)) 19663 unknownContent(xpp); 19664 eventType = nextNoWhitespace(xpp); 19665 } 19666 next(xpp); 19667 parseElementClose(res); 19668 return res; 19669 } 19670 19671 protected boolean parseProcedureFocalDeviceComponentContent(int eventType, XmlPullParser xpp, Procedure.ProcedureFocalDeviceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19672 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 19673 res.setAction(parseCodeableConcept(xpp)); 19674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manipulated")) { 19675 res.setManipulated(parseReference(xpp)); 19676 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19677 return false; 19678 } 19679 return true; 19680 } 19681 19682 protected Provenance parseProvenance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19683 Provenance res = new Provenance(); 19684 parseResourceAttributes(xpp, res); 19685 next(xpp); 19686 int eventType = nextNoWhitespace(xpp); 19687 while (eventType != XmlPullParser.END_TAG) { 19688 if (!parseProvenanceContent(eventType, xpp, res)) 19689 unknownContent(xpp); 19690 eventType = nextNoWhitespace(xpp); 19691 } 19692 next(xpp); 19693 parseElementClose(res); 19694 return res; 19695 } 19696 19697 protected boolean parseProvenanceContent(int eventType, XmlPullParser xpp, Provenance res) throws XmlPullParserException, IOException, FHIRFormatError { 19698 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 19699 res.getTarget().add(parseReference(xpp)); 19700 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurred")) { 19701 res.setOccurred(parseType("occurred", xpp)); 19702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorded")) { 19703 res.setRecordedElement(parseInstant(xpp)); 19704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 19705 res.getPolicy().add(parseUri(xpp)); 19706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 19707 res.setLocation(parseReference(xpp)); 19708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 19709 res.getReason().add(parseCodeableConcept(xpp)); 19710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 19711 res.setActivity(parseCodeableConcept(xpp)); 19712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 19713 res.getAgent().add(parseProvenanceAgentComponent(xpp)); 19714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 19715 res.getEntity().add(parseProvenanceEntityComponent(xpp)); 19716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 19717 res.getSignature().add(parseSignature(xpp)); 19718 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19719 return false; 19720 } 19721 return true; 19722 } 19723 19724 protected Provenance.ProvenanceAgentComponent parseProvenanceAgentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19725 Provenance.ProvenanceAgentComponent res = new Provenance.ProvenanceAgentComponent(); 19726 parseElementAttributes(xpp, res); 19727 next(xpp); 19728 int eventType = nextNoWhitespace(xpp); 19729 while (eventType != XmlPullParser.END_TAG) { 19730 if (!parseProvenanceAgentComponentContent(eventType, xpp, res)) 19731 unknownContent(xpp); 19732 eventType = nextNoWhitespace(xpp); 19733 } 19734 next(xpp); 19735 parseElementClose(res); 19736 return res; 19737 } 19738 19739 protected boolean parseProvenanceAgentComponentContent(int eventType, XmlPullParser xpp, Provenance.ProvenanceAgentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19740 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 19741 res.setType(parseCodeableConcept(xpp)); 19742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 19743 res.getRole().add(parseCodeableConcept(xpp)); 19744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 19745 res.setWho(parseReference(xpp)); 19746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { 19747 res.setOnBehalfOf(parseReference(xpp)); 19748 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19749 return false; 19750 } 19751 return true; 19752 } 19753 19754 protected Provenance.ProvenanceEntityComponent parseProvenanceEntityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19755 Provenance.ProvenanceEntityComponent res = new Provenance.ProvenanceEntityComponent(); 19756 parseElementAttributes(xpp, res); 19757 next(xpp); 19758 int eventType = nextNoWhitespace(xpp); 19759 while (eventType != XmlPullParser.END_TAG) { 19760 if (!parseProvenanceEntityComponentContent(eventType, xpp, res)) 19761 unknownContent(xpp); 19762 eventType = nextNoWhitespace(xpp); 19763 } 19764 next(xpp); 19765 parseElementClose(res); 19766 return res; 19767 } 19768 19769 protected boolean parseProvenanceEntityComponentContent(int eventType, XmlPullParser xpp, Provenance.ProvenanceEntityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19770 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 19771 res.setRoleElement(parseEnumeration(xpp, Provenance.ProvenanceEntityRole.NULL, new Provenance.ProvenanceEntityRoleEnumFactory())); 19772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("what")) { 19773 res.setWhat(parseReference(xpp)); 19774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 19775 res.getAgent().add(parseProvenanceAgentComponent(xpp)); 19776 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19777 return false; 19778 } 19779 return true; 19780 } 19781 19782 protected Questionnaire parseQuestionnaire(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19783 Questionnaire res = new Questionnaire(); 19784 parseResourceAttributes(xpp, res); 19785 next(xpp); 19786 int eventType = nextNoWhitespace(xpp); 19787 while (eventType != XmlPullParser.END_TAG) { 19788 if (!parseQuestionnaireContent(eventType, xpp, res)) 19789 unknownContent(xpp); 19790 eventType = nextNoWhitespace(xpp); 19791 } 19792 next(xpp); 19793 parseElementClose(res); 19794 return res; 19795 } 19796 19797 protected boolean parseQuestionnaireContent(int eventType, XmlPullParser xpp, Questionnaire res) throws XmlPullParserException, IOException, FHIRFormatError { 19798 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 19799 res.setUrlElement(parseUri(xpp)); 19800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19801 res.getIdentifier().add(parseIdentifier(xpp)); 19802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 19803 res.setVersionElement(parseString(xpp)); 19804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 19805 res.setNameElement(parseString(xpp)); 19806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 19807 res.setTitleElement(parseString(xpp)); 19808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 19809 res.getDerivedFrom().add(parseCanonical(xpp)); 19810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 19811 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 19812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 19813 res.setExperimentalElement(parseBoolean(xpp)); 19814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectType")) { 19815 res.getSubjectType().add(parseCode(xpp)); 19816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 19817 res.setDateElement(parseDateTime(xpp)); 19818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 19819 res.setPublisherElement(parseString(xpp)); 19820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 19821 res.getContact().add(parseContactDetail(xpp)); 19822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 19823 res.setDescriptionElement(parseMarkdown(xpp)); 19824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 19825 res.getUseContext().add(parseUsageContext(xpp)); 19826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 19827 res.getJurisdiction().add(parseCodeableConcept(xpp)); 19828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 19829 res.setPurposeElement(parseMarkdown(xpp)); 19830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 19831 res.setCopyrightElement(parseMarkdown(xpp)); 19832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 19833 res.setApprovalDateElement(parseDate(xpp)); 19834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 19835 res.setLastReviewDateElement(parseDate(xpp)); 19836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 19837 res.setEffectivePeriod(parsePeriod(xpp)); 19838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19839 res.getCode().add(parseCoding(xpp)); 19840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 19841 res.getItem().add(parseQuestionnaireItemComponent(xpp)); 19842 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 19843 return false; 19844 } 19845 return true; 19846 } 19847 19848 protected Questionnaire.QuestionnaireItemComponent parseQuestionnaireItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19849 Questionnaire.QuestionnaireItemComponent res = new Questionnaire.QuestionnaireItemComponent(); 19850 parseElementAttributes(xpp, res); 19851 next(xpp); 19852 int eventType = nextNoWhitespace(xpp); 19853 while (eventType != XmlPullParser.END_TAG) { 19854 if (!parseQuestionnaireItemComponentContent(eventType, xpp, res)) 19855 unknownContent(xpp); 19856 eventType = nextNoWhitespace(xpp); 19857 } 19858 next(xpp); 19859 parseElementClose(res); 19860 return res; 19861 } 19862 19863 protected boolean parseQuestionnaireItemComponentContent(int eventType, XmlPullParser xpp, Questionnaire.QuestionnaireItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19864 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 19865 res.setLinkIdElement(parseString(xpp)); 19866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 19867 res.setDefinitionElement(parseUri(xpp)); 19868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 19869 res.getCode().add(parseCoding(xpp)); 19870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 19871 res.setPrefixElement(parseString(xpp)); 19872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 19873 res.setTextElement(parseString(xpp)); 19874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 19875 res.setTypeElement(parseEnumeration(xpp, Questionnaire.QuestionnaireItemType.NULL, new Questionnaire.QuestionnaireItemTypeEnumFactory())); 19876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enableWhen")) { 19877 res.getEnableWhen().add(parseQuestionnaireItemEnableWhenComponent(xpp)); 19878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enableBehavior")) { 19879 res.setEnableBehaviorElement(parseEnumeration(xpp, Questionnaire.EnableWhenBehavior.NULL, new Questionnaire.EnableWhenBehaviorEnumFactory())); 19880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 19881 res.setRequiredElement(parseBoolean(xpp)); 19882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeats")) { 19883 res.setRepeatsElement(parseBoolean(xpp)); 19884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readOnly")) { 19885 res.setReadOnlyElement(parseBoolean(xpp)); 19886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxLength")) { 19887 res.setMaxLengthElement(parseInteger(xpp)); 19888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answerValueSet")) { 19889 res.setAnswerValueSetElement(parseCanonical(xpp)); 19890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answerOption")) { 19891 res.getAnswerOption().add(parseQuestionnaireItemAnswerOptionComponent(xpp)); 19892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initial")) { 19893 res.getInitial().add(parseQuestionnaireItemInitialComponent(xpp)); 19894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 19895 res.getItem().add(parseQuestionnaireItemComponent(xpp)); 19896 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19897 return false; 19898 } 19899 return true; 19900 } 19901 19902 protected Questionnaire.QuestionnaireItemEnableWhenComponent parseQuestionnaireItemEnableWhenComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19903 Questionnaire.QuestionnaireItemEnableWhenComponent res = new Questionnaire.QuestionnaireItemEnableWhenComponent(); 19904 parseElementAttributes(xpp, res); 19905 next(xpp); 19906 int eventType = nextNoWhitespace(xpp); 19907 while (eventType != XmlPullParser.END_TAG) { 19908 if (!parseQuestionnaireItemEnableWhenComponentContent(eventType, xpp, res)) 19909 unknownContent(xpp); 19910 eventType = nextNoWhitespace(xpp); 19911 } 19912 next(xpp); 19913 parseElementClose(res); 19914 return res; 19915 } 19916 19917 protected boolean parseQuestionnaireItemEnableWhenComponentContent(int eventType, XmlPullParser xpp, Questionnaire.QuestionnaireItemEnableWhenComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19918 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("question")) { 19919 res.setQuestionElement(parseString(xpp)); 19920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 19921 res.setOperatorElement(parseEnumeration(xpp, Questionnaire.QuestionnaireItemOperator.NULL, new Questionnaire.QuestionnaireItemOperatorEnumFactory())); 19922 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "answer")) { 19923 res.setAnswer(parseType("answer", xpp)); 19924 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19925 return false; 19926 } 19927 return true; 19928 } 19929 19930 protected Questionnaire.QuestionnaireItemAnswerOptionComponent parseQuestionnaireItemAnswerOptionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19931 Questionnaire.QuestionnaireItemAnswerOptionComponent res = new Questionnaire.QuestionnaireItemAnswerOptionComponent(); 19932 parseElementAttributes(xpp, res); 19933 next(xpp); 19934 int eventType = nextNoWhitespace(xpp); 19935 while (eventType != XmlPullParser.END_TAG) { 19936 if (!parseQuestionnaireItemAnswerOptionComponentContent(eventType, xpp, res)) 19937 unknownContent(xpp); 19938 eventType = nextNoWhitespace(xpp); 19939 } 19940 next(xpp); 19941 parseElementClose(res); 19942 return res; 19943 } 19944 19945 protected boolean parseQuestionnaireItemAnswerOptionComponentContent(int eventType, XmlPullParser xpp, Questionnaire.QuestionnaireItemAnswerOptionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19946 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 19947 res.setValue(parseType("value", xpp)); 19948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initialSelected")) { 19949 res.setInitialSelectedElement(parseBoolean(xpp)); 19950 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19951 return false; 19952 } 19953 return true; 19954 } 19955 19956 protected Questionnaire.QuestionnaireItemInitialComponent parseQuestionnaireItemInitialComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19957 Questionnaire.QuestionnaireItemInitialComponent res = new Questionnaire.QuestionnaireItemInitialComponent(); 19958 parseElementAttributes(xpp, res); 19959 next(xpp); 19960 int eventType = nextNoWhitespace(xpp); 19961 while (eventType != XmlPullParser.END_TAG) { 19962 if (!parseQuestionnaireItemInitialComponentContent(eventType, xpp, res)) 19963 unknownContent(xpp); 19964 eventType = nextNoWhitespace(xpp); 19965 } 19966 next(xpp); 19967 parseElementClose(res); 19968 return res; 19969 } 19970 19971 protected boolean parseQuestionnaireItemInitialComponentContent(int eventType, XmlPullParser xpp, Questionnaire.QuestionnaireItemInitialComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 19972 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 19973 res.setValue(parseType("value", xpp)); 19974 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 19975 return false; 19976 } 19977 return true; 19978 } 19979 19980 protected QuestionnaireResponse parseQuestionnaireResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 19981 QuestionnaireResponse res = new QuestionnaireResponse(); 19982 parseResourceAttributes(xpp, res); 19983 next(xpp); 19984 int eventType = nextNoWhitespace(xpp); 19985 while (eventType != XmlPullParser.END_TAG) { 19986 if (!parseQuestionnaireResponseContent(eventType, xpp, res)) 19987 unknownContent(xpp); 19988 eventType = nextNoWhitespace(xpp); 19989 } 19990 next(xpp); 19991 parseElementClose(res); 19992 return res; 19993 } 19994 19995 protected boolean parseQuestionnaireResponseContent(int eventType, XmlPullParser xpp, QuestionnaireResponse res) throws XmlPullParserException, IOException, FHIRFormatError { 19996 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 19997 res.setIdentifier(parseIdentifier(xpp)); 19998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 19999 res.getBasedOn().add(parseReference(xpp)); 20000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 20001 res.getPartOf().add(parseReference(xpp)); 20002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("questionnaire")) { 20003 res.setQuestionnaireElement(parseCanonical(xpp)); 20004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20005 res.setStatusElement(parseEnumeration(xpp, QuestionnaireResponse.QuestionnaireResponseStatus.NULL, new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory())); 20006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 20007 res.setSubject(parseReference(xpp)); 20008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 20009 res.setEncounter(parseReference(xpp)); 20010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authored")) { 20011 res.setAuthoredElement(parseDateTime(xpp)); 20012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 20013 res.setAuthor(parseReference(xpp)); 20014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 20015 res.setSource(parseReference(xpp)); 20016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 20017 res.getItem().add(parseQuestionnaireResponseItemComponent(xpp)); 20018 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20019 return false; 20020 } 20021 return true; 20022 } 20023 20024 protected QuestionnaireResponse.QuestionnaireResponseItemComponent parseQuestionnaireResponseItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20025 QuestionnaireResponse.QuestionnaireResponseItemComponent res = new QuestionnaireResponse.QuestionnaireResponseItemComponent(); 20026 parseElementAttributes(xpp, res); 20027 next(xpp); 20028 int eventType = nextNoWhitespace(xpp); 20029 while (eventType != XmlPullParser.END_TAG) { 20030 if (!parseQuestionnaireResponseItemComponentContent(eventType, xpp, res)) 20031 unknownContent(xpp); 20032 eventType = nextNoWhitespace(xpp); 20033 } 20034 next(xpp); 20035 parseElementClose(res); 20036 return res; 20037 } 20038 20039 protected boolean parseQuestionnaireResponseItemComponentContent(int eventType, XmlPullParser xpp, QuestionnaireResponse.QuestionnaireResponseItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20040 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 20041 res.setLinkIdElement(parseString(xpp)); 20042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 20043 res.setDefinitionElement(parseUri(xpp)); 20044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 20045 res.setTextElement(parseString(xpp)); 20046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answer")) { 20047 res.getAnswer().add(parseQuestionnaireResponseItemAnswerComponent(xpp)); 20048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 20049 res.getItem().add(parseQuestionnaireResponseItemComponent(xpp)); 20050 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20051 return false; 20052 } 20053 return true; 20054 } 20055 20056 protected QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent parseQuestionnaireResponseItemAnswerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20057 QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent res = new QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent(); 20058 parseElementAttributes(xpp, res); 20059 next(xpp); 20060 int eventType = nextNoWhitespace(xpp); 20061 while (eventType != XmlPullParser.END_TAG) { 20062 if (!parseQuestionnaireResponseItemAnswerComponentContent(eventType, xpp, res)) 20063 unknownContent(xpp); 20064 eventType = nextNoWhitespace(xpp); 20065 } 20066 next(xpp); 20067 parseElementClose(res); 20068 return res; 20069 } 20070 20071 protected boolean parseQuestionnaireResponseItemAnswerComponentContent(int eventType, XmlPullParser xpp, QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20072 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 20073 res.setValue(parseType("value", xpp)); 20074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 20075 res.getItem().add(parseQuestionnaireResponseItemComponent(xpp)); 20076 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20077 return false; 20078 } 20079 return true; 20080 } 20081 20082 protected RegulatedAuthorization parseRegulatedAuthorization(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20083 RegulatedAuthorization res = new RegulatedAuthorization(); 20084 parseResourceAttributes(xpp, res); 20085 next(xpp); 20086 int eventType = nextNoWhitespace(xpp); 20087 while (eventType != XmlPullParser.END_TAG) { 20088 if (!parseRegulatedAuthorizationContent(eventType, xpp, res)) 20089 unknownContent(xpp); 20090 eventType = nextNoWhitespace(xpp); 20091 } 20092 next(xpp); 20093 parseElementClose(res); 20094 return res; 20095 } 20096 20097 protected boolean parseRegulatedAuthorizationContent(int eventType, XmlPullParser xpp, RegulatedAuthorization res) throws XmlPullParserException, IOException, FHIRFormatError { 20098 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20099 res.getIdentifier().add(parseIdentifier(xpp)); 20100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 20101 res.getSubject().add(parseReference(xpp)); 20102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20103 res.setType(parseCodeableConcept(xpp)); 20104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20105 res.setDescriptionElement(parseMarkdown(xpp)); 20106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("region")) { 20107 res.getRegion().add(parseCodeableConcept(xpp)); 20108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20109 res.setStatus(parseCodeableConcept(xpp)); 20110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 20111 res.setStatusDateElement(parseDateTime(xpp)); 20112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { 20113 res.setValidityPeriod(parsePeriod(xpp)); 20114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 20115 res.setIndication(parseCodeableReference(xpp)); 20116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intendedUse")) { 20117 res.setIntendedUse(parseCodeableConcept(xpp)); 20118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { 20119 res.getBasis().add(parseCodeableConcept(xpp)); 20120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("holder")) { 20121 res.setHolder(parseReference(xpp)); 20122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regulator")) { 20123 res.setRegulator(parseReference(xpp)); 20124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("case")) { 20125 res.setCase(parseRegulatedAuthorizationCaseComponent(xpp)); 20126 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20127 return false; 20128 } 20129 return true; 20130 } 20131 20132 protected RegulatedAuthorization.RegulatedAuthorizationCaseComponent parseRegulatedAuthorizationCaseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20133 RegulatedAuthorization.RegulatedAuthorizationCaseComponent res = new RegulatedAuthorization.RegulatedAuthorizationCaseComponent(); 20134 parseElementAttributes(xpp, res); 20135 next(xpp); 20136 int eventType = nextNoWhitespace(xpp); 20137 while (eventType != XmlPullParser.END_TAG) { 20138 if (!parseRegulatedAuthorizationCaseComponentContent(eventType, xpp, res)) 20139 unknownContent(xpp); 20140 eventType = nextNoWhitespace(xpp); 20141 } 20142 next(xpp); 20143 parseElementClose(res); 20144 return res; 20145 } 20146 20147 protected boolean parseRegulatedAuthorizationCaseComponentContent(int eventType, XmlPullParser xpp, RegulatedAuthorization.RegulatedAuthorizationCaseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20148 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20149 res.setIdentifier(parseIdentifier(xpp)); 20150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20151 res.setType(parseCodeableConcept(xpp)); 20152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20153 res.setStatus(parseCodeableConcept(xpp)); 20154 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "date")) { 20155 res.setDate(parseType("date", xpp)); 20156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("application")) { 20157 res.getApplication().add(parseRegulatedAuthorizationCaseComponent(xpp)); 20158 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20159 return false; 20160 } 20161 return true; 20162 } 20163 20164 protected RelatedPerson parseRelatedPerson(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20165 RelatedPerson res = new RelatedPerson(); 20166 parseResourceAttributes(xpp, res); 20167 next(xpp); 20168 int eventType = nextNoWhitespace(xpp); 20169 while (eventType != XmlPullParser.END_TAG) { 20170 if (!parseRelatedPersonContent(eventType, xpp, res)) 20171 unknownContent(xpp); 20172 eventType = nextNoWhitespace(xpp); 20173 } 20174 next(xpp); 20175 parseElementClose(res); 20176 return res; 20177 } 20178 20179 protected boolean parseRelatedPersonContent(int eventType, XmlPullParser xpp, RelatedPerson res) throws XmlPullParserException, IOException, FHIRFormatError { 20180 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20181 res.getIdentifier().add(parseIdentifier(xpp)); 20182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 20183 res.setActiveElement(parseBoolean(xpp)); 20184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 20185 res.setPatient(parseReference(xpp)); 20186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 20187 res.getRelationship().add(parseCodeableConcept(xpp)); 20188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20189 res.getName().add(parseHumanName(xpp)); 20190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 20191 res.getTelecom().add(parseContactPoint(xpp)); 20192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 20193 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 20194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 20195 res.setBirthDateElement(parseDate(xpp)); 20196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 20197 res.getAddress().add(parseAddress(xpp)); 20198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 20199 res.getPhoto().add(parseAttachment(xpp)); 20200 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 20201 res.setPeriod(parsePeriod(xpp)); 20202 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 20203 res.getCommunication().add(parseRelatedPersonCommunicationComponent(xpp)); 20204 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20205 return false; 20206 } 20207 return true; 20208 } 20209 20210 protected RelatedPerson.RelatedPersonCommunicationComponent parseRelatedPersonCommunicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20211 RelatedPerson.RelatedPersonCommunicationComponent res = new RelatedPerson.RelatedPersonCommunicationComponent(); 20212 parseElementAttributes(xpp, res); 20213 next(xpp); 20214 int eventType = nextNoWhitespace(xpp); 20215 while (eventType != XmlPullParser.END_TAG) { 20216 if (!parseRelatedPersonCommunicationComponentContent(eventType, xpp, res)) 20217 unknownContent(xpp); 20218 eventType = nextNoWhitespace(xpp); 20219 } 20220 next(xpp); 20221 parseElementClose(res); 20222 return res; 20223 } 20224 20225 protected boolean parseRelatedPersonCommunicationComponentContent(int eventType, XmlPullParser xpp, RelatedPerson.RelatedPersonCommunicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20226 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 20227 res.setLanguage(parseCodeableConcept(xpp)); 20228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 20229 res.setPreferredElement(parseBoolean(xpp)); 20230 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20231 return false; 20232 } 20233 return true; 20234 } 20235 20236 protected RequestGroup parseRequestGroup(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20237 RequestGroup res = new RequestGroup(); 20238 parseResourceAttributes(xpp, res); 20239 next(xpp); 20240 int eventType = nextNoWhitespace(xpp); 20241 while (eventType != XmlPullParser.END_TAG) { 20242 if (!parseRequestGroupContent(eventType, xpp, res)) 20243 unknownContent(xpp); 20244 eventType = nextNoWhitespace(xpp); 20245 } 20246 next(xpp); 20247 parseElementClose(res); 20248 return res; 20249 } 20250 20251 protected boolean parseRequestGroupContent(int eventType, XmlPullParser xpp, RequestGroup res) throws XmlPullParserException, IOException, FHIRFormatError { 20252 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20253 res.getIdentifier().add(parseIdentifier(xpp)); 20254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 20255 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 20256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 20257 res.getInstantiatesUri().add(parseUri(xpp)); 20258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 20259 res.getBasedOn().add(parseReference(xpp)); 20260 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 20261 res.getReplaces().add(parseReference(xpp)); 20262 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { 20263 res.setGroupIdentifier(parseIdentifier(xpp)); 20264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20265 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 20266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 20267 res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); 20268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 20269 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 20270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 20271 res.setCode(parseCodeableConcept(xpp)); 20272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 20273 res.setSubject(parseReference(xpp)); 20274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 20275 res.setEncounter(parseReference(xpp)); 20276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 20277 res.setAuthoredOnElement(parseDateTime(xpp)); 20278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 20279 res.setAuthor(parseReference(xpp)); 20280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 20281 res.getReasonCode().add(parseCodeableConcept(xpp)); 20282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 20283 res.getReasonReference().add(parseReference(xpp)); 20284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 20285 res.getNote().add(parseAnnotation(xpp)); 20286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 20287 res.getAction().add(parseRequestGroupActionComponent(xpp)); 20288 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20289 return false; 20290 } 20291 return true; 20292 } 20293 20294 protected RequestGroup.RequestGroupActionComponent parseRequestGroupActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20295 RequestGroup.RequestGroupActionComponent res = new RequestGroup.RequestGroupActionComponent(); 20296 parseElementAttributes(xpp, res); 20297 next(xpp); 20298 int eventType = nextNoWhitespace(xpp); 20299 while (eventType != XmlPullParser.END_TAG) { 20300 if (!parseRequestGroupActionComponentContent(eventType, xpp, res)) 20301 unknownContent(xpp); 20302 eventType = nextNoWhitespace(xpp); 20303 } 20304 next(xpp); 20305 parseElementClose(res); 20306 return res; 20307 } 20308 20309 protected boolean parseRequestGroupActionComponentContent(int eventType, XmlPullParser xpp, RequestGroup.RequestGroupActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20310 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 20311 res.setPrefixElement(parseString(xpp)); 20312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 20313 res.setTitleElement(parseString(xpp)); 20314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20315 res.setDescriptionElement(parseString(xpp)); 20316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("textEquivalent")) { 20317 res.setTextEquivalentElement(parseString(xpp)); 20318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 20319 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 20320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 20321 res.getCode().add(parseCodeableConcept(xpp)); 20322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 20323 res.getDocumentation().add(parseRelatedArtifact(xpp)); 20324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 20325 res.getCondition().add(parseRequestGroupActionConditionComponent(xpp)); 20326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAction")) { 20327 res.getRelatedAction().add(parseRequestGroupActionRelatedActionComponent(xpp)); 20328 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 20329 res.setTiming(parseType("timing", xpp)); 20330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 20331 res.getParticipant().add(parseReference(xpp)); 20332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20333 res.setType(parseCodeableConcept(xpp)); 20334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingBehavior")) { 20335 res.setGroupingBehaviorElement(parseEnumeration(xpp, Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); 20336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("selectionBehavior")) { 20337 res.setSelectionBehaviorElement(parseEnumeration(xpp, Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); 20338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requiredBehavior")) { 20339 res.setRequiredBehaviorElement(parseEnumeration(xpp, Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); 20340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precheckBehavior")) { 20341 res.setPrecheckBehaviorElement(parseEnumeration(xpp, Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); 20342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cardinalityBehavior")) { 20343 res.setCardinalityBehaviorElement(parseEnumeration(xpp, Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); 20344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 20345 res.setResource(parseReference(xpp)); 20346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 20347 res.getAction().add(parseRequestGroupActionComponent(xpp)); 20348 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20349 return false; 20350 } 20351 return true; 20352 } 20353 20354 protected RequestGroup.RequestGroupActionConditionComponent parseRequestGroupActionConditionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20355 RequestGroup.RequestGroupActionConditionComponent res = new RequestGroup.RequestGroupActionConditionComponent(); 20356 parseElementAttributes(xpp, res); 20357 next(xpp); 20358 int eventType = nextNoWhitespace(xpp); 20359 while (eventType != XmlPullParser.END_TAG) { 20360 if (!parseRequestGroupActionConditionComponentContent(eventType, xpp, res)) 20361 unknownContent(xpp); 20362 eventType = nextNoWhitespace(xpp); 20363 } 20364 next(xpp); 20365 parseElementClose(res); 20366 return res; 20367 } 20368 20369 protected boolean parseRequestGroupActionConditionComponentContent(int eventType, XmlPullParser xpp, RequestGroup.RequestGroupActionConditionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20370 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 20371 res.setKindElement(parseEnumeration(xpp, Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); 20372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 20373 res.setExpression(parseExpression(xpp)); 20374 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20375 return false; 20376 } 20377 return true; 20378 } 20379 20380 protected RequestGroup.RequestGroupActionRelatedActionComponent parseRequestGroupActionRelatedActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20381 RequestGroup.RequestGroupActionRelatedActionComponent res = new RequestGroup.RequestGroupActionRelatedActionComponent(); 20382 parseElementAttributes(xpp, res); 20383 next(xpp); 20384 int eventType = nextNoWhitespace(xpp); 20385 while (eventType != XmlPullParser.END_TAG) { 20386 if (!parseRequestGroupActionRelatedActionComponentContent(eventType, xpp, res)) 20387 unknownContent(xpp); 20388 eventType = nextNoWhitespace(xpp); 20389 } 20390 next(xpp); 20391 parseElementClose(res); 20392 return res; 20393 } 20394 20395 protected boolean parseRequestGroupActionRelatedActionComponentContent(int eventType, XmlPullParser xpp, RequestGroup.RequestGroupActionRelatedActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20396 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionId")) { 20397 res.setActionIdElement(parseId(xpp)); 20398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 20399 res.setRelationshipElement(parseEnumeration(xpp, Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); 20400 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "offset")) { 20401 res.setOffset(parseType("offset", xpp)); 20402 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20403 return false; 20404 } 20405 return true; 20406 } 20407 20408 protected ResearchDefinition parseResearchDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20409 ResearchDefinition res = new ResearchDefinition(); 20410 parseResourceAttributes(xpp, res); 20411 next(xpp); 20412 int eventType = nextNoWhitespace(xpp); 20413 while (eventType != XmlPullParser.END_TAG) { 20414 if (!parseResearchDefinitionContent(eventType, xpp, res)) 20415 unknownContent(xpp); 20416 eventType = nextNoWhitespace(xpp); 20417 } 20418 next(xpp); 20419 parseElementClose(res); 20420 return res; 20421 } 20422 20423 protected boolean parseResearchDefinitionContent(int eventType, XmlPullParser xpp, ResearchDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 20424 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 20425 res.setUrlElement(parseUri(xpp)); 20426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20427 res.getIdentifier().add(parseIdentifier(xpp)); 20428 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 20429 res.setVersionElement(parseString(xpp)); 20430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20431 res.setNameElement(parseString(xpp)); 20432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 20433 res.setTitleElement(parseString(xpp)); 20434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shortTitle")) { 20435 res.setShortTitleElement(parseString(xpp)); 20436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 20437 res.setSubtitleElement(parseString(xpp)); 20438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20439 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 20440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 20441 res.setExperimentalElement(parseBoolean(xpp)); 20442 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 20443 res.setSubject(parseType("subject", xpp)); 20444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 20445 res.setDateElement(parseDateTime(xpp)); 20446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 20447 res.setPublisherElement(parseString(xpp)); 20448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 20449 res.getContact().add(parseContactDetail(xpp)); 20450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20451 res.setDescriptionElement(parseMarkdown(xpp)); 20452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 20453 res.getComment().add(parseString(xpp)); 20454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 20455 res.getUseContext().add(parseUsageContext(xpp)); 20456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 20457 res.getJurisdiction().add(parseCodeableConcept(xpp)); 20458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 20459 res.setPurposeElement(parseMarkdown(xpp)); 20460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 20461 res.setUsageElement(parseString(xpp)); 20462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 20463 res.setCopyrightElement(parseMarkdown(xpp)); 20464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 20465 res.setApprovalDateElement(parseDate(xpp)); 20466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 20467 res.setLastReviewDateElement(parseDate(xpp)); 20468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 20469 res.setEffectivePeriod(parsePeriod(xpp)); 20470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 20471 res.getTopic().add(parseCodeableConcept(xpp)); 20472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 20473 res.getAuthor().add(parseContactDetail(xpp)); 20474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 20475 res.getEditor().add(parseContactDetail(xpp)); 20476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 20477 res.getReviewer().add(parseContactDetail(xpp)); 20478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 20479 res.getEndorser().add(parseContactDetail(xpp)); 20480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 20481 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 20482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { 20483 res.getLibrary().add(parseCanonical(xpp)); 20484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("population")) { 20485 res.setPopulation(parseReference(xpp)); 20486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exposure")) { 20487 res.setExposure(parseReference(xpp)); 20488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exposureAlternative")) { 20489 res.setExposureAlternative(parseReference(xpp)); 20490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 20491 res.setOutcome(parseReference(xpp)); 20492 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20493 return false; 20494 } 20495 return true; 20496 } 20497 20498 protected ResearchElementDefinition parseResearchElementDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20499 ResearchElementDefinition res = new ResearchElementDefinition(); 20500 parseResourceAttributes(xpp, res); 20501 next(xpp); 20502 int eventType = nextNoWhitespace(xpp); 20503 while (eventType != XmlPullParser.END_TAG) { 20504 if (!parseResearchElementDefinitionContent(eventType, xpp, res)) 20505 unknownContent(xpp); 20506 eventType = nextNoWhitespace(xpp); 20507 } 20508 next(xpp); 20509 parseElementClose(res); 20510 return res; 20511 } 20512 20513 protected boolean parseResearchElementDefinitionContent(int eventType, XmlPullParser xpp, ResearchElementDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 20514 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 20515 res.setUrlElement(parseUri(xpp)); 20516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20517 res.getIdentifier().add(parseIdentifier(xpp)); 20518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 20519 res.setVersionElement(parseString(xpp)); 20520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20521 res.setNameElement(parseString(xpp)); 20522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 20523 res.setTitleElement(parseString(xpp)); 20524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("shortTitle")) { 20525 res.setShortTitleElement(parseString(xpp)); 20526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtitle")) { 20527 res.setSubtitleElement(parseString(xpp)); 20528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20529 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 20530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 20531 res.setExperimentalElement(parseBoolean(xpp)); 20532 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { 20533 res.setSubject(parseType("subject", xpp)); 20534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 20535 res.setDateElement(parseDateTime(xpp)); 20536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 20537 res.setPublisherElement(parseString(xpp)); 20538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 20539 res.getContact().add(parseContactDetail(xpp)); 20540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20541 res.setDescriptionElement(parseMarkdown(xpp)); 20542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 20543 res.getComment().add(parseString(xpp)); 20544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 20545 res.getUseContext().add(parseUsageContext(xpp)); 20546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 20547 res.getJurisdiction().add(parseCodeableConcept(xpp)); 20548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 20549 res.setPurposeElement(parseMarkdown(xpp)); 20550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 20551 res.setUsageElement(parseString(xpp)); 20552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 20553 res.setCopyrightElement(parseMarkdown(xpp)); 20554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 20555 res.setApprovalDateElement(parseDate(xpp)); 20556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 20557 res.setLastReviewDateElement(parseDate(xpp)); 20558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 20559 res.setEffectivePeriod(parsePeriod(xpp)); 20560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 20561 res.getTopic().add(parseCodeableConcept(xpp)); 20562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 20563 res.getAuthor().add(parseContactDetail(xpp)); 20564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { 20565 res.getEditor().add(parseContactDetail(xpp)); 20566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { 20567 res.getReviewer().add(parseContactDetail(xpp)); 20568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { 20569 res.getEndorser().add(parseContactDetail(xpp)); 20570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 20571 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 20572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { 20573 res.getLibrary().add(parseCanonical(xpp)); 20574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20575 res.setTypeElement(parseEnumeration(xpp, ResearchElementDefinition.ResearchElementType.NULL, new ResearchElementDefinition.ResearchElementTypeEnumFactory())); 20576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variableType")) { 20577 res.setVariableTypeElement(parseEnumeration(xpp, ResearchElementDefinition.VariableType.NULL, new ResearchElementDefinition.VariableTypeEnumFactory())); 20578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 20579 res.getCharacteristic().add(parseResearchElementDefinitionCharacteristicComponent(xpp)); 20580 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20581 return false; 20582 } 20583 return true; 20584 } 20585 20586 protected ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent parseResearchElementDefinitionCharacteristicComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20587 ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent res = new ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent(); 20588 parseElementAttributes(xpp, res); 20589 next(xpp); 20590 int eventType = nextNoWhitespace(xpp); 20591 while (eventType != XmlPullParser.END_TAG) { 20592 if (!parseResearchElementDefinitionCharacteristicComponentContent(eventType, xpp, res)) 20593 unknownContent(xpp); 20594 eventType = nextNoWhitespace(xpp); 20595 } 20596 next(xpp); 20597 parseElementClose(res); 20598 return res; 20599 } 20600 20601 protected boolean parseResearchElementDefinitionCharacteristicComponentContent(int eventType, XmlPullParser xpp, ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20602 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "definition")) { 20603 res.setDefinition(parseType("definition", xpp)); 20604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usageContext")) { 20605 res.getUsageContext().add(parseUsageContext(xpp)); 20606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 20607 res.setExcludeElement(parseBoolean(xpp)); 20608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitOfMeasure")) { 20609 res.setUnitOfMeasure(parseCodeableConcept(xpp)); 20610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyEffectiveDescription")) { 20611 res.setStudyEffectiveDescriptionElement(parseString(xpp)); 20612 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "studyEffective")) { 20613 res.setStudyEffective(parseType("studyEffective", xpp)); 20614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyEffectiveTimeFromStart")) { 20615 res.setStudyEffectiveTimeFromStart(parseDuration(xpp)); 20616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyEffectiveGroupMeasure")) { 20617 res.setStudyEffectiveGroupMeasureElement(parseEnumeration(xpp, Enumerations.GroupMeasure.NULL, new Enumerations.GroupMeasureEnumFactory())); 20618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantEffectiveDescription")) { 20619 res.setParticipantEffectiveDescriptionElement(parseString(xpp)); 20620 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "participantEffective")) { 20621 res.setParticipantEffective(parseType("participantEffective", xpp)); 20622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantEffectiveTimeFromStart")) { 20623 res.setParticipantEffectiveTimeFromStart(parseDuration(xpp)); 20624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantEffectiveGroupMeasure")) { 20625 res.setParticipantEffectiveGroupMeasureElement(parseEnumeration(xpp, Enumerations.GroupMeasure.NULL, new Enumerations.GroupMeasureEnumFactory())); 20626 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20627 return false; 20628 } 20629 return true; 20630 } 20631 20632 protected ResearchStudy parseResearchStudy(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20633 ResearchStudy res = new ResearchStudy(); 20634 parseResourceAttributes(xpp, res); 20635 next(xpp); 20636 int eventType = nextNoWhitespace(xpp); 20637 while (eventType != XmlPullParser.END_TAG) { 20638 if (!parseResearchStudyContent(eventType, xpp, res)) 20639 unknownContent(xpp); 20640 eventType = nextNoWhitespace(xpp); 20641 } 20642 next(xpp); 20643 parseElementClose(res); 20644 return res; 20645 } 20646 20647 protected boolean parseResearchStudyContent(int eventType, XmlPullParser xpp, ResearchStudy res) throws XmlPullParserException, IOException, FHIRFormatError { 20648 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20649 res.getIdentifier().add(parseIdentifier(xpp)); 20650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 20651 res.setTitleElement(parseString(xpp)); 20652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 20653 res.getProtocol().add(parseReference(xpp)); 20654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 20655 res.getPartOf().add(parseReference(xpp)); 20656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20657 res.setStatusElement(parseEnumeration(xpp, ResearchStudy.ResearchStudyStatus.NULL, new ResearchStudy.ResearchStudyStatusEnumFactory())); 20658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("primaryPurposeType")) { 20659 res.setPrimaryPurposeType(parseCodeableConcept(xpp)); 20660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("phase")) { 20661 res.setPhase(parseCodeableConcept(xpp)); 20662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 20663 res.getCategory().add(parseCodeableConcept(xpp)); 20664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 20665 res.getFocus().add(parseCodeableConcept(xpp)); 20666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 20667 res.getCondition().add(parseCodeableConcept(xpp)); 20668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 20669 res.getContact().add(parseContactDetail(xpp)); 20670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { 20671 res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); 20672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("keyword")) { 20673 res.getKeyword().add(parseCodeableConcept(xpp)); 20674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 20675 res.getLocation().add(parseCodeableConcept(xpp)); 20676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20677 res.setDescriptionElement(parseMarkdown(xpp)); 20678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enrollment")) { 20679 res.getEnrollment().add(parseReference(xpp)); 20680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 20681 res.setPeriod(parsePeriod(xpp)); 20682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sponsor")) { 20683 res.setSponsor(parseReference(xpp)); 20684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("principalInvestigator")) { 20685 res.setPrincipalInvestigator(parseReference(xpp)); 20686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 20687 res.getSite().add(parseReference(xpp)); 20688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonStopped")) { 20689 res.setReasonStopped(parseCodeableConcept(xpp)); 20690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 20691 res.getNote().add(parseAnnotation(xpp)); 20692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("arm")) { 20693 res.getArm().add(parseResearchStudyArmComponent(xpp)); 20694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("objective")) { 20695 res.getObjective().add(parseResearchStudyObjectiveComponent(xpp)); 20696 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20697 return false; 20698 } 20699 return true; 20700 } 20701 20702 protected ResearchStudy.ResearchStudyArmComponent parseResearchStudyArmComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20703 ResearchStudy.ResearchStudyArmComponent res = new ResearchStudy.ResearchStudyArmComponent(); 20704 parseElementAttributes(xpp, res); 20705 next(xpp); 20706 int eventType = nextNoWhitespace(xpp); 20707 while (eventType != XmlPullParser.END_TAG) { 20708 if (!parseResearchStudyArmComponentContent(eventType, xpp, res)) 20709 unknownContent(xpp); 20710 eventType = nextNoWhitespace(xpp); 20711 } 20712 next(xpp); 20713 parseElementClose(res); 20714 return res; 20715 } 20716 20717 protected boolean parseResearchStudyArmComponentContent(int eventType, XmlPullParser xpp, ResearchStudy.ResearchStudyArmComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20718 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20719 res.setNameElement(parseString(xpp)); 20720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20721 res.setType(parseCodeableConcept(xpp)); 20722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20723 res.setDescriptionElement(parseString(xpp)); 20724 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20725 return false; 20726 } 20727 return true; 20728 } 20729 20730 protected ResearchStudy.ResearchStudyObjectiveComponent parseResearchStudyObjectiveComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20731 ResearchStudy.ResearchStudyObjectiveComponent res = new ResearchStudy.ResearchStudyObjectiveComponent(); 20732 parseElementAttributes(xpp, res); 20733 next(xpp); 20734 int eventType = nextNoWhitespace(xpp); 20735 while (eventType != XmlPullParser.END_TAG) { 20736 if (!parseResearchStudyObjectiveComponentContent(eventType, xpp, res)) 20737 unknownContent(xpp); 20738 eventType = nextNoWhitespace(xpp); 20739 } 20740 next(xpp); 20741 parseElementClose(res); 20742 return res; 20743 } 20744 20745 protected boolean parseResearchStudyObjectiveComponentContent(int eventType, XmlPullParser xpp, ResearchStudy.ResearchStudyObjectiveComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20746 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20747 res.setNameElement(parseString(xpp)); 20748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20749 res.setType(parseCodeableConcept(xpp)); 20750 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20751 return false; 20752 } 20753 return true; 20754 } 20755 20756 protected ResearchSubject parseResearchSubject(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20757 ResearchSubject res = new ResearchSubject(); 20758 parseResourceAttributes(xpp, res); 20759 next(xpp); 20760 int eventType = nextNoWhitespace(xpp); 20761 while (eventType != XmlPullParser.END_TAG) { 20762 if (!parseResearchSubjectContent(eventType, xpp, res)) 20763 unknownContent(xpp); 20764 eventType = nextNoWhitespace(xpp); 20765 } 20766 next(xpp); 20767 parseElementClose(res); 20768 return res; 20769 } 20770 20771 protected boolean parseResearchSubjectContent(int eventType, XmlPullParser xpp, ResearchSubject res) throws XmlPullParserException, IOException, FHIRFormatError { 20772 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20773 res.getIdentifier().add(parseIdentifier(xpp)); 20774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20775 res.setStatusElement(parseEnumeration(xpp, ResearchSubject.ResearchSubjectStatus.NULL, new ResearchSubject.ResearchSubjectStatusEnumFactory())); 20776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 20777 res.setPeriod(parsePeriod(xpp)); 20778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { 20779 res.setStudy(parseReference(xpp)); 20780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("individual")) { 20781 res.setIndividual(parseReference(xpp)); 20782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assignedArm")) { 20783 res.setAssignedArmElement(parseString(xpp)); 20784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actualArm")) { 20785 res.setActualArmElement(parseString(xpp)); 20786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("consent")) { 20787 res.setConsent(parseReference(xpp)); 20788 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20789 return false; 20790 } 20791 return true; 20792 } 20793 20794 protected RiskAssessment parseRiskAssessment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20795 RiskAssessment res = new RiskAssessment(); 20796 parseResourceAttributes(xpp, res); 20797 next(xpp); 20798 int eventType = nextNoWhitespace(xpp); 20799 while (eventType != XmlPullParser.END_TAG) { 20800 if (!parseRiskAssessmentContent(eventType, xpp, res)) 20801 unknownContent(xpp); 20802 eventType = nextNoWhitespace(xpp); 20803 } 20804 next(xpp); 20805 parseElementClose(res); 20806 return res; 20807 } 20808 20809 protected boolean parseRiskAssessmentContent(int eventType, XmlPullParser xpp, RiskAssessment res) throws XmlPullParserException, IOException, FHIRFormatError { 20810 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20811 res.getIdentifier().add(parseIdentifier(xpp)); 20812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 20813 res.setBasedOn(parseReference(xpp)); 20814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 20815 res.setParent(parseReference(xpp)); 20816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20817 res.setStatusElement(parseEnumeration(xpp, Enumerations.ObservationStatus.NULL, new Enumerations.ObservationStatusEnumFactory())); 20818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 20819 res.setMethod(parseCodeableConcept(xpp)); 20820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 20821 res.setCode(parseCodeableConcept(xpp)); 20822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 20823 res.setSubject(parseReference(xpp)); 20824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 20825 res.setEncounter(parseReference(xpp)); 20826 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 20827 res.setOccurrence(parseType("occurrence", xpp)); 20828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 20829 res.setCondition(parseReference(xpp)); 20830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 20831 res.setPerformer(parseReference(xpp)); 20832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 20833 res.getReasonCode().add(parseCodeableConcept(xpp)); 20834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 20835 res.getReasonReference().add(parseReference(xpp)); 20836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { 20837 res.getBasis().add(parseReference(xpp)); 20838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prediction")) { 20839 res.getPrediction().add(parseRiskAssessmentPredictionComponent(xpp)); 20840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 20841 res.setMitigationElement(parseString(xpp)); 20842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 20843 res.getNote().add(parseAnnotation(xpp)); 20844 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20845 return false; 20846 } 20847 return true; 20848 } 20849 20850 protected RiskAssessment.RiskAssessmentPredictionComponent parseRiskAssessmentPredictionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20851 RiskAssessment.RiskAssessmentPredictionComponent res = new RiskAssessment.RiskAssessmentPredictionComponent(); 20852 parseElementAttributes(xpp, res); 20853 next(xpp); 20854 int eventType = nextNoWhitespace(xpp); 20855 while (eventType != XmlPullParser.END_TAG) { 20856 if (!parseRiskAssessmentPredictionComponentContent(eventType, xpp, res)) 20857 unknownContent(xpp); 20858 eventType = nextNoWhitespace(xpp); 20859 } 20860 next(xpp); 20861 parseElementClose(res); 20862 return res; 20863 } 20864 20865 protected boolean parseRiskAssessmentPredictionComponentContent(int eventType, XmlPullParser xpp, RiskAssessment.RiskAssessmentPredictionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 20866 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 20867 res.setOutcome(parseCodeableConcept(xpp)); 20868 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "probability")) { 20869 res.setProbability(parseType("probability", xpp)); 20870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualitativeRisk")) { 20871 res.setQualitativeRisk(parseCodeableConcept(xpp)); 20872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relativeRisk")) { 20873 res.setRelativeRiskElement(parseDecimal(xpp)); 20874 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "when")) { 20875 res.setWhen(parseType("when", xpp)); 20876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rationale")) { 20877 res.setRationaleElement(parseString(xpp)); 20878 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 20879 return false; 20880 } 20881 return true; 20882 } 20883 20884 protected Schedule parseSchedule(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20885 Schedule res = new Schedule(); 20886 parseResourceAttributes(xpp, res); 20887 next(xpp); 20888 int eventType = nextNoWhitespace(xpp); 20889 while (eventType != XmlPullParser.END_TAG) { 20890 if (!parseScheduleContent(eventType, xpp, res)) 20891 unknownContent(xpp); 20892 eventType = nextNoWhitespace(xpp); 20893 } 20894 next(xpp); 20895 parseElementClose(res); 20896 return res; 20897 } 20898 20899 protected boolean parseScheduleContent(int eventType, XmlPullParser xpp, Schedule res) throws XmlPullParserException, IOException, FHIRFormatError { 20900 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 20901 res.getIdentifier().add(parseIdentifier(xpp)); 20902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 20903 res.setActiveElement(parseBoolean(xpp)); 20904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { 20905 res.getServiceCategory().add(parseCodeableConcept(xpp)); 20906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 20907 res.getServiceType().add(parseCodeableConcept(xpp)); 20908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 20909 res.getSpecialty().add(parseCodeableConcept(xpp)); 20910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 20911 res.getActor().add(parseReference(xpp)); 20912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("planningHorizon")) { 20913 res.setPlanningHorizon(parsePeriod(xpp)); 20914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 20915 res.setCommentElement(parseString(xpp)); 20916 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20917 return false; 20918 } 20919 return true; 20920 } 20921 20922 protected SearchParameter parseSearchParameter(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20923 SearchParameter res = new SearchParameter(); 20924 parseResourceAttributes(xpp, res); 20925 next(xpp); 20926 int eventType = nextNoWhitespace(xpp); 20927 while (eventType != XmlPullParser.END_TAG) { 20928 if (!parseSearchParameterContent(eventType, xpp, res)) 20929 unknownContent(xpp); 20930 eventType = nextNoWhitespace(xpp); 20931 } 20932 next(xpp); 20933 parseElementClose(res); 20934 return res; 20935 } 20936 20937 protected boolean parseSearchParameterContent(int eventType, XmlPullParser xpp, SearchParameter res) throws XmlPullParserException, IOException, FHIRFormatError { 20938 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 20939 res.setUrlElement(parseUri(xpp)); 20940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 20941 res.setVersionElement(parseString(xpp)); 20942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 20943 res.setNameElement(parseString(xpp)); 20944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 20945 res.setDerivedFromElement(parseCanonical(xpp)); 20946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 20947 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 20948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 20949 res.setExperimentalElement(parseBoolean(xpp)); 20950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 20951 res.setDateElement(parseDateTime(xpp)); 20952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 20953 res.setPublisherElement(parseString(xpp)); 20954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 20955 res.getContact().add(parseContactDetail(xpp)); 20956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 20957 res.setDescriptionElement(parseMarkdown(xpp)); 20958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 20959 res.getUseContext().add(parseUsageContext(xpp)); 20960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 20961 res.getJurisdiction().add(parseCodeableConcept(xpp)); 20962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 20963 res.setPurposeElement(parseMarkdown(xpp)); 20964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 20965 res.setCodeElement(parseCode(xpp)); 20966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 20967 res.getBase().add(parseCode(xpp)); 20968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 20969 res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 20970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 20971 res.setExpressionElement(parseString(xpp)); 20972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 20973 res.setXpathElement(parseString(xpp)); 20974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpathUsage")) { 20975 res.setXpathUsageElement(parseEnumeration(xpp, SearchParameter.XPathUsageType.NULL, new SearchParameter.XPathUsageTypeEnumFactory())); 20976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 20977 res.getTarget().add(parseCode(xpp)); 20978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multipleOr")) { 20979 res.setMultipleOrElement(parseBoolean(xpp)); 20980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multipleAnd")) { 20981 res.setMultipleAndElement(parseBoolean(xpp)); 20982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 20983 res.getComparator().add(parseEnumeration(xpp, SearchParameter.SearchComparator.NULL, new SearchParameter.SearchComparatorEnumFactory())); 20984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 20985 res.getModifier().add(parseEnumeration(xpp, SearchParameter.SearchModifierCode.NULL, new SearchParameter.SearchModifierCodeEnumFactory())); 20986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("chain")) { 20987 res.getChain().add(parseString(xpp)); 20988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 20989 res.getComponent().add(parseSearchParameterComponentComponent(xpp)); 20990 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 20991 return false; 20992 } 20993 return true; 20994 } 20995 20996 protected SearchParameter.SearchParameterComponentComponent parseSearchParameterComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 20997 SearchParameter.SearchParameterComponentComponent res = new SearchParameter.SearchParameterComponentComponent(); 20998 parseElementAttributes(xpp, res); 20999 next(xpp); 21000 int eventType = nextNoWhitespace(xpp); 21001 while (eventType != XmlPullParser.END_TAG) { 21002 if (!parseSearchParameterComponentComponentContent(eventType, xpp, res)) 21003 unknownContent(xpp); 21004 eventType = nextNoWhitespace(xpp); 21005 } 21006 next(xpp); 21007 parseElementClose(res); 21008 return res; 21009 } 21010 21011 protected boolean parseSearchParameterComponentComponentContent(int eventType, XmlPullParser xpp, SearchParameter.SearchParameterComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21012 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 21013 res.setDefinitionElement(parseCanonical(xpp)); 21014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 21015 res.setExpressionElement(parseString(xpp)); 21016 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21017 return false; 21018 } 21019 return true; 21020 } 21021 21022 protected ServiceRequest parseServiceRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21023 ServiceRequest res = new ServiceRequest(); 21024 parseResourceAttributes(xpp, res); 21025 next(xpp); 21026 int eventType = nextNoWhitespace(xpp); 21027 while (eventType != XmlPullParser.END_TAG) { 21028 if (!parseServiceRequestContent(eventType, xpp, res)) 21029 unknownContent(xpp); 21030 eventType = nextNoWhitespace(xpp); 21031 } 21032 next(xpp); 21033 parseElementClose(res); 21034 return res; 21035 } 21036 21037 protected boolean parseServiceRequestContent(int eventType, XmlPullParser xpp, ServiceRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 21038 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21039 res.getIdentifier().add(parseIdentifier(xpp)); 21040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 21041 res.getInstantiatesCanonical().add(parseCanonical(xpp)); 21042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 21043 res.getInstantiatesUri().add(parseUri(xpp)); 21044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 21045 res.getBasedOn().add(parseReference(xpp)); 21046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { 21047 res.getReplaces().add(parseReference(xpp)); 21048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requisition")) { 21049 res.setRequisition(parseIdentifier(xpp)); 21050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21051 res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); 21052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 21053 res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); 21054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 21055 res.getCategory().add(parseCodeableConcept(xpp)); 21056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 21057 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 21058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { 21059 res.setDoNotPerformElement(parseBoolean(xpp)); 21060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 21061 res.setCode(parseCodeableConcept(xpp)); 21062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderDetail")) { 21063 res.getOrderDetail().add(parseCodeableConcept(xpp)); 21064 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "quantity")) { 21065 res.setQuantity(parseType("quantity", xpp)); 21066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 21067 res.setSubject(parseReference(xpp)); 21068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 21069 res.setEncounter(parseReference(xpp)); 21070 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 21071 res.setOccurrence(parseType("occurrence", xpp)); 21072 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 21073 res.setAsNeeded(parseType("asNeeded", xpp)); 21074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 21075 res.setAuthoredOnElement(parseDateTime(xpp)); 21076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 21077 res.setRequester(parseReference(xpp)); 21078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { 21079 res.setPerformerType(parseCodeableConcept(xpp)); 21080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 21081 res.getPerformer().add(parseReference(xpp)); 21082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("locationCode")) { 21083 res.getLocationCode().add(parseCodeableConcept(xpp)); 21084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("locationReference")) { 21085 res.getLocationReference().add(parseReference(xpp)); 21086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 21087 res.getReasonCode().add(parseCodeableConcept(xpp)); 21088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 21089 res.getReasonReference().add(parseReference(xpp)); 21090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 21091 res.getInsurance().add(parseReference(xpp)); 21092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { 21093 res.getSupportingInfo().add(parseReference(xpp)); 21094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 21095 res.getSpecimen().add(parseReference(xpp)); 21096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 21097 res.getBodySite().add(parseCodeableConcept(xpp)); 21098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 21099 res.getNote().add(parseAnnotation(xpp)); 21100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientInstruction")) { 21101 res.setPatientInstructionElement(parseString(xpp)); 21102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relevantHistory")) { 21103 res.getRelevantHistory().add(parseReference(xpp)); 21104 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21105 return false; 21106 } 21107 return true; 21108 } 21109 21110 protected Slot parseSlot(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21111 Slot res = new Slot(); 21112 parseResourceAttributes(xpp, res); 21113 next(xpp); 21114 int eventType = nextNoWhitespace(xpp); 21115 while (eventType != XmlPullParser.END_TAG) { 21116 if (!parseSlotContent(eventType, xpp, res)) 21117 unknownContent(xpp); 21118 eventType = nextNoWhitespace(xpp); 21119 } 21120 next(xpp); 21121 parseElementClose(res); 21122 return res; 21123 } 21124 21125 protected boolean parseSlotContent(int eventType, XmlPullParser xpp, Slot res) throws XmlPullParserException, IOException, FHIRFormatError { 21126 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21127 res.getIdentifier().add(parseIdentifier(xpp)); 21128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { 21129 res.getServiceCategory().add(parseCodeableConcept(xpp)); 21130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 21131 res.getServiceType().add(parseCodeableConcept(xpp)); 21132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 21133 res.getSpecialty().add(parseCodeableConcept(xpp)); 21134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentType")) { 21135 res.setAppointmentType(parseCodeableConcept(xpp)); 21136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 21137 res.setSchedule(parseReference(xpp)); 21138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21139 res.setStatusElement(parseEnumeration(xpp, Slot.SlotStatus.NULL, new Slot.SlotStatusEnumFactory())); 21140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 21141 res.setStartElement(parseInstant(xpp)); 21142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 21143 res.setEndElement(parseInstant(xpp)); 21144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overbooked")) { 21145 res.setOverbookedElement(parseBoolean(xpp)); 21146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 21147 res.setCommentElement(parseString(xpp)); 21148 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21149 return false; 21150 } 21151 return true; 21152 } 21153 21154 protected Specimen parseSpecimen(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21155 Specimen res = new Specimen(); 21156 parseResourceAttributes(xpp, res); 21157 next(xpp); 21158 int eventType = nextNoWhitespace(xpp); 21159 while (eventType != XmlPullParser.END_TAG) { 21160 if (!parseSpecimenContent(eventType, xpp, res)) 21161 unknownContent(xpp); 21162 eventType = nextNoWhitespace(xpp); 21163 } 21164 next(xpp); 21165 parseElementClose(res); 21166 return res; 21167 } 21168 21169 protected boolean parseSpecimenContent(int eventType, XmlPullParser xpp, Specimen res) throws XmlPullParserException, IOException, FHIRFormatError { 21170 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21171 res.getIdentifier().add(parseIdentifier(xpp)); 21172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accessionIdentifier")) { 21173 res.setAccessionIdentifier(parseIdentifier(xpp)); 21174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21175 res.setStatusElement(parseEnumeration(xpp, Specimen.SpecimenStatus.NULL, new Specimen.SpecimenStatusEnumFactory())); 21176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21177 res.setType(parseCodeableConcept(xpp)); 21178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 21179 res.setSubject(parseReference(xpp)); 21180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receivedTime")) { 21181 res.setReceivedTimeElement(parseDateTime(xpp)); 21182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 21183 res.getParent().add(parseReference(xpp)); 21184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 21185 res.getRequest().add(parseReference(xpp)); 21186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { 21187 res.setCollection(parseSpecimenCollectionComponent(xpp)); 21188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processing")) { 21189 res.getProcessing().add(parseSpecimenProcessingComponent(xpp)); 21190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 21191 res.getContainer().add(parseSpecimenContainerComponent(xpp)); 21192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 21193 res.getCondition().add(parseCodeableConcept(xpp)); 21194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 21195 res.getNote().add(parseAnnotation(xpp)); 21196 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21197 return false; 21198 } 21199 return true; 21200 } 21201 21202 protected Specimen.SpecimenCollectionComponent parseSpecimenCollectionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21203 Specimen.SpecimenCollectionComponent res = new Specimen.SpecimenCollectionComponent(); 21204 parseElementAttributes(xpp, res); 21205 next(xpp); 21206 int eventType = nextNoWhitespace(xpp); 21207 while (eventType != XmlPullParser.END_TAG) { 21208 if (!parseSpecimenCollectionComponentContent(eventType, xpp, res)) 21209 unknownContent(xpp); 21210 eventType = nextNoWhitespace(xpp); 21211 } 21212 next(xpp); 21213 parseElementClose(res); 21214 return res; 21215 } 21216 21217 protected boolean parseSpecimenCollectionComponentContent(int eventType, XmlPullParser xpp, Specimen.SpecimenCollectionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21218 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collector")) { 21219 res.setCollector(parseReference(xpp)); 21220 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "collected")) { 21221 res.setCollected(parseType("collected", xpp)); 21222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 21223 res.setDuration(parseDuration(xpp)); 21224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 21225 res.setQuantity(parseQuantity(xpp)); 21226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 21227 res.setMethod(parseCodeableConcept(xpp)); 21228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 21229 res.setBodySite(parseCodeableConcept(xpp)); 21230 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "fastingStatus")) { 21231 res.setFastingStatus(parseType("fastingStatus", xpp)); 21232 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21233 return false; 21234 } 21235 return true; 21236 } 21237 21238 protected Specimen.SpecimenProcessingComponent parseSpecimenProcessingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21239 Specimen.SpecimenProcessingComponent res = new Specimen.SpecimenProcessingComponent(); 21240 parseElementAttributes(xpp, res); 21241 next(xpp); 21242 int eventType = nextNoWhitespace(xpp); 21243 while (eventType != XmlPullParser.END_TAG) { 21244 if (!parseSpecimenProcessingComponentContent(eventType, xpp, res)) 21245 unknownContent(xpp); 21246 eventType = nextNoWhitespace(xpp); 21247 } 21248 next(xpp); 21249 parseElementClose(res); 21250 return res; 21251 } 21252 21253 protected boolean parseSpecimenProcessingComponentContent(int eventType, XmlPullParser xpp, Specimen.SpecimenProcessingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21254 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 21255 res.setDescriptionElement(parseString(xpp)); 21256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 21257 res.setProcedure(parseCodeableConcept(xpp)); 21258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { 21259 res.getAdditive().add(parseReference(xpp)); 21260 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "time")) { 21261 res.setTime(parseType("time", xpp)); 21262 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21263 return false; 21264 } 21265 return true; 21266 } 21267 21268 protected Specimen.SpecimenContainerComponent parseSpecimenContainerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21269 Specimen.SpecimenContainerComponent res = new Specimen.SpecimenContainerComponent(); 21270 parseElementAttributes(xpp, res); 21271 next(xpp); 21272 int eventType = nextNoWhitespace(xpp); 21273 while (eventType != XmlPullParser.END_TAG) { 21274 if (!parseSpecimenContainerComponentContent(eventType, xpp, res)) 21275 unknownContent(xpp); 21276 eventType = nextNoWhitespace(xpp); 21277 } 21278 next(xpp); 21279 parseElementClose(res); 21280 return res; 21281 } 21282 21283 protected boolean parseSpecimenContainerComponentContent(int eventType, XmlPullParser xpp, Specimen.SpecimenContainerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21284 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21285 res.getIdentifier().add(parseIdentifier(xpp)); 21286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 21287 res.setDescriptionElement(parseString(xpp)); 21288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21289 res.setType(parseCodeableConcept(xpp)); 21290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capacity")) { 21291 res.setCapacity(parseQuantity(xpp)); 21292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimenQuantity")) { 21293 res.setSpecimenQuantity(parseQuantity(xpp)); 21294 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "additive")) { 21295 res.setAdditive(parseType("additive", xpp)); 21296 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21297 return false; 21298 } 21299 return true; 21300 } 21301 21302 protected SpecimenDefinition parseSpecimenDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21303 SpecimenDefinition res = new SpecimenDefinition(); 21304 parseResourceAttributes(xpp, res); 21305 next(xpp); 21306 int eventType = nextNoWhitespace(xpp); 21307 while (eventType != XmlPullParser.END_TAG) { 21308 if (!parseSpecimenDefinitionContent(eventType, xpp, res)) 21309 unknownContent(xpp); 21310 eventType = nextNoWhitespace(xpp); 21311 } 21312 next(xpp); 21313 parseElementClose(res); 21314 return res; 21315 } 21316 21317 protected boolean parseSpecimenDefinitionContent(int eventType, XmlPullParser xpp, SpecimenDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 21318 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21319 res.setIdentifier(parseIdentifier(xpp)); 21320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeCollected")) { 21321 res.setTypeCollected(parseCodeableConcept(xpp)); 21322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPreparation")) { 21323 res.getPatientPreparation().add(parseCodeableConcept(xpp)); 21324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timeAspect")) { 21325 res.setTimeAspectElement(parseString(xpp)); 21326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { 21327 res.getCollection().add(parseCodeableConcept(xpp)); 21328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeTested")) { 21329 res.getTypeTested().add(parseSpecimenDefinitionTypeTestedComponent(xpp)); 21330 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21331 return false; 21332 } 21333 return true; 21334 } 21335 21336 protected SpecimenDefinition.SpecimenDefinitionTypeTestedComponent parseSpecimenDefinitionTypeTestedComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21337 SpecimenDefinition.SpecimenDefinitionTypeTestedComponent res = new SpecimenDefinition.SpecimenDefinitionTypeTestedComponent(); 21338 parseElementAttributes(xpp, res); 21339 next(xpp); 21340 int eventType = nextNoWhitespace(xpp); 21341 while (eventType != XmlPullParser.END_TAG) { 21342 if (!parseSpecimenDefinitionTypeTestedComponentContent(eventType, xpp, res)) 21343 unknownContent(xpp); 21344 eventType = nextNoWhitespace(xpp); 21345 } 21346 next(xpp); 21347 parseElementClose(res); 21348 return res; 21349 } 21350 21351 protected boolean parseSpecimenDefinitionTypeTestedComponentContent(int eventType, XmlPullParser xpp, SpecimenDefinition.SpecimenDefinitionTypeTestedComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21352 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isDerived")) { 21353 res.setIsDerivedElement(parseBoolean(xpp)); 21354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21355 res.setType(parseCodeableConcept(xpp)); 21356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preference")) { 21357 res.setPreferenceElement(parseEnumeration(xpp, SpecimenDefinition.SpecimenContainedPreference.NULL, new SpecimenDefinition.SpecimenContainedPreferenceEnumFactory())); 21358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 21359 res.setContainer(parseSpecimenDefinitionTypeTestedContainerComponent(xpp)); 21360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { 21361 res.setRequirementElement(parseString(xpp)); 21362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("retentionTime")) { 21363 res.setRetentionTime(parseDuration(xpp)); 21364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rejectionCriterion")) { 21365 res.getRejectionCriterion().add(parseCodeableConcept(xpp)); 21366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("handling")) { 21367 res.getHandling().add(parseSpecimenDefinitionTypeTestedHandlingComponent(xpp)); 21368 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21369 return false; 21370 } 21371 return true; 21372 } 21373 21374 protected SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent parseSpecimenDefinitionTypeTestedContainerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21375 SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent res = new SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent(); 21376 parseElementAttributes(xpp, res); 21377 next(xpp); 21378 int eventType = nextNoWhitespace(xpp); 21379 while (eventType != XmlPullParser.END_TAG) { 21380 if (!parseSpecimenDefinitionTypeTestedContainerComponentContent(eventType, xpp, res)) 21381 unknownContent(xpp); 21382 eventType = nextNoWhitespace(xpp); 21383 } 21384 next(xpp); 21385 parseElementClose(res); 21386 return res; 21387 } 21388 21389 protected boolean parseSpecimenDefinitionTypeTestedContainerComponentContent(int eventType, XmlPullParser xpp, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21390 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("material")) { 21391 res.setMaterial(parseCodeableConcept(xpp)); 21392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21393 res.setType(parseCodeableConcept(xpp)); 21394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cap")) { 21395 res.setCap(parseCodeableConcept(xpp)); 21396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 21397 res.setDescriptionElement(parseString(xpp)); 21398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capacity")) { 21399 res.setCapacity(parseQuantity(xpp)); 21400 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "minimumVolume")) { 21401 res.setMinimumVolume(parseType("minimumVolume", xpp)); 21402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { 21403 res.getAdditive().add(parseSpecimenDefinitionTypeTestedContainerAdditiveComponent(xpp)); 21404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preparation")) { 21405 res.setPreparationElement(parseString(xpp)); 21406 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21407 return false; 21408 } 21409 return true; 21410 } 21411 21412 protected SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent parseSpecimenDefinitionTypeTestedContainerAdditiveComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21413 SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent res = new SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent(); 21414 parseElementAttributes(xpp, res); 21415 next(xpp); 21416 int eventType = nextNoWhitespace(xpp); 21417 while (eventType != XmlPullParser.END_TAG) { 21418 if (!parseSpecimenDefinitionTypeTestedContainerAdditiveComponentContent(eventType, xpp, res)) 21419 unknownContent(xpp); 21420 eventType = nextNoWhitespace(xpp); 21421 } 21422 next(xpp); 21423 parseElementClose(res); 21424 return res; 21425 } 21426 21427 protected boolean parseSpecimenDefinitionTypeTestedContainerAdditiveComponentContent(int eventType, XmlPullParser xpp, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21428 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "additive")) { 21429 res.setAdditive(parseType("additive", xpp)); 21430 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21431 return false; 21432 } 21433 return true; 21434 } 21435 21436 protected SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent parseSpecimenDefinitionTypeTestedHandlingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21437 SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent res = new SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent(); 21438 parseElementAttributes(xpp, res); 21439 next(xpp); 21440 int eventType = nextNoWhitespace(xpp); 21441 while (eventType != XmlPullParser.END_TAG) { 21442 if (!parseSpecimenDefinitionTypeTestedHandlingComponentContent(eventType, xpp, res)) 21443 unknownContent(xpp); 21444 eventType = nextNoWhitespace(xpp); 21445 } 21446 next(xpp); 21447 parseElementClose(res); 21448 return res; 21449 } 21450 21451 protected boolean parseSpecimenDefinitionTypeTestedHandlingComponentContent(int eventType, XmlPullParser xpp, SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21452 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("temperatureQualifier")) { 21453 res.setTemperatureQualifier(parseCodeableConcept(xpp)); 21454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("temperatureRange")) { 21455 res.setTemperatureRange(parseRange(xpp)); 21456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDuration")) { 21457 res.setMaxDuration(parseDuration(xpp)); 21458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 21459 res.setInstructionElement(parseString(xpp)); 21460 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21461 return false; 21462 } 21463 return true; 21464 } 21465 21466 protected StructureDefinition parseStructureDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21467 StructureDefinition res = new StructureDefinition(); 21468 parseResourceAttributes(xpp, res); 21469 next(xpp); 21470 int eventType = nextNoWhitespace(xpp); 21471 while (eventType != XmlPullParser.END_TAG) { 21472 if (!parseStructureDefinitionContent(eventType, xpp, res)) 21473 unknownContent(xpp); 21474 eventType = nextNoWhitespace(xpp); 21475 } 21476 next(xpp); 21477 parseElementClose(res); 21478 return res; 21479 } 21480 21481 protected boolean parseStructureDefinitionContent(int eventType, XmlPullParser xpp, StructureDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 21482 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 21483 res.setUrlElement(parseUri(xpp)); 21484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21485 res.getIdentifier().add(parseIdentifier(xpp)); 21486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 21487 res.setVersionElement(parseString(xpp)); 21488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21489 res.setNameElement(parseString(xpp)); 21490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 21491 res.setTitleElement(parseString(xpp)); 21492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21493 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 21494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 21495 res.setExperimentalElement(parseBoolean(xpp)); 21496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 21497 res.setDateElement(parseDateTime(xpp)); 21498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 21499 res.setPublisherElement(parseString(xpp)); 21500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 21501 res.getContact().add(parseContactDetail(xpp)); 21502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 21503 res.setDescriptionElement(parseMarkdown(xpp)); 21504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 21505 res.getUseContext().add(parseUsageContext(xpp)); 21506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 21507 res.getJurisdiction().add(parseCodeableConcept(xpp)); 21508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 21509 res.setPurposeElement(parseMarkdown(xpp)); 21510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 21511 res.setCopyrightElement(parseMarkdown(xpp)); 21512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("keyword")) { 21513 res.getKeyword().add(parseCoding(xpp)); 21514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 21515 res.setFhirVersionElement(parseEnumeration(xpp, Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); 21516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 21517 res.getMapping().add(parseStructureDefinitionMappingComponent(xpp)); 21518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 21519 res.setKindElement(parseEnumeration(xpp, StructureDefinition.StructureDefinitionKind.NULL, new StructureDefinition.StructureDefinitionKindEnumFactory())); 21520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 21521 res.setAbstractElement(parseBoolean(xpp)); 21522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 21523 res.getContext().add(parseStructureDefinitionContextComponent(xpp)); 21524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contextInvariant")) { 21525 res.getContextInvariant().add(parseString(xpp)); 21526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21527 res.setTypeElement(parseUri(xpp)); 21528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseDefinition")) { 21529 res.setBaseDefinitionElement(parseCanonical(xpp)); 21530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivation")) { 21531 res.setDerivationElement(parseEnumeration(xpp, StructureDefinition.TypeDerivationRule.NULL, new StructureDefinition.TypeDerivationRuleEnumFactory())); 21532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("snapshot")) { 21533 res.setSnapshot(parseStructureDefinitionSnapshotComponent(xpp)); 21534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("differential")) { 21535 res.setDifferential(parseStructureDefinitionDifferentialComponent(xpp)); 21536 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21537 return false; 21538 } 21539 return true; 21540 } 21541 21542 protected StructureDefinition.StructureDefinitionMappingComponent parseStructureDefinitionMappingComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21543 StructureDefinition.StructureDefinitionMappingComponent res = new StructureDefinition.StructureDefinitionMappingComponent(); 21544 parseElementAttributes(xpp, res); 21545 next(xpp); 21546 int eventType = nextNoWhitespace(xpp); 21547 while (eventType != XmlPullParser.END_TAG) { 21548 if (!parseStructureDefinitionMappingComponentContent(eventType, xpp, res)) 21549 unknownContent(xpp); 21550 eventType = nextNoWhitespace(xpp); 21551 } 21552 next(xpp); 21553 parseElementClose(res); 21554 return res; 21555 } 21556 21557 protected boolean parseStructureDefinitionMappingComponentContent(int eventType, XmlPullParser xpp, StructureDefinition.StructureDefinitionMappingComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21558 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 21559 res.setIdentityElement(parseId(xpp)); 21560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 21561 res.setUriElement(parseUri(xpp)); 21562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21563 res.setNameElement(parseString(xpp)); 21564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 21565 res.setCommentElement(parseString(xpp)); 21566 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21567 return false; 21568 } 21569 return true; 21570 } 21571 21572 protected StructureDefinition.StructureDefinitionContextComponent parseStructureDefinitionContextComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21573 StructureDefinition.StructureDefinitionContextComponent res = new StructureDefinition.StructureDefinitionContextComponent(); 21574 parseElementAttributes(xpp, res); 21575 next(xpp); 21576 int eventType = nextNoWhitespace(xpp); 21577 while (eventType != XmlPullParser.END_TAG) { 21578 if (!parseStructureDefinitionContextComponentContent(eventType, xpp, res)) 21579 unknownContent(xpp); 21580 eventType = nextNoWhitespace(xpp); 21581 } 21582 next(xpp); 21583 parseElementClose(res); 21584 return res; 21585 } 21586 21587 protected boolean parseStructureDefinitionContextComponentContent(int eventType, XmlPullParser xpp, StructureDefinition.StructureDefinitionContextComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21588 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21589 res.setTypeElement(parseEnumeration(xpp, StructureDefinition.ExtensionContextType.NULL, new StructureDefinition.ExtensionContextTypeEnumFactory())); 21590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 21591 res.setExpressionElement(parseString(xpp)); 21592 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21593 return false; 21594 } 21595 return true; 21596 } 21597 21598 protected StructureDefinition.StructureDefinitionSnapshotComponent parseStructureDefinitionSnapshotComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21599 StructureDefinition.StructureDefinitionSnapshotComponent res = new StructureDefinition.StructureDefinitionSnapshotComponent(); 21600 parseElementAttributes(xpp, res); 21601 next(xpp); 21602 int eventType = nextNoWhitespace(xpp); 21603 while (eventType != XmlPullParser.END_TAG) { 21604 if (!parseStructureDefinitionSnapshotComponentContent(eventType, xpp, res)) 21605 unknownContent(xpp); 21606 eventType = nextNoWhitespace(xpp); 21607 } 21608 next(xpp); 21609 parseElementClose(res); 21610 return res; 21611 } 21612 21613 protected boolean parseStructureDefinitionSnapshotComponentContent(int eventType, XmlPullParser xpp, StructureDefinition.StructureDefinitionSnapshotComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21614 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 21615 res.getElement().add(parseElementDefinition(xpp)); 21616 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21617 return false; 21618 } 21619 return true; 21620 } 21621 21622 protected StructureDefinition.StructureDefinitionDifferentialComponent parseStructureDefinitionDifferentialComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21623 StructureDefinition.StructureDefinitionDifferentialComponent res = new StructureDefinition.StructureDefinitionDifferentialComponent(); 21624 parseElementAttributes(xpp, res); 21625 next(xpp); 21626 int eventType = nextNoWhitespace(xpp); 21627 while (eventType != XmlPullParser.END_TAG) { 21628 if (!parseStructureDefinitionDifferentialComponentContent(eventType, xpp, res)) 21629 unknownContent(xpp); 21630 eventType = nextNoWhitespace(xpp); 21631 } 21632 next(xpp); 21633 parseElementClose(res); 21634 return res; 21635 } 21636 21637 protected boolean parseStructureDefinitionDifferentialComponentContent(int eventType, XmlPullParser xpp, StructureDefinition.StructureDefinitionDifferentialComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21638 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 21639 res.getElement().add(parseElementDefinition(xpp)); 21640 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21641 return false; 21642 } 21643 return true; 21644 } 21645 21646 protected StructureMap parseStructureMap(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21647 StructureMap res = new StructureMap(); 21648 parseResourceAttributes(xpp, res); 21649 next(xpp); 21650 int eventType = nextNoWhitespace(xpp); 21651 while (eventType != XmlPullParser.END_TAG) { 21652 if (!parseStructureMapContent(eventType, xpp, res)) 21653 unknownContent(xpp); 21654 eventType = nextNoWhitespace(xpp); 21655 } 21656 next(xpp); 21657 parseElementClose(res); 21658 return res; 21659 } 21660 21661 protected boolean parseStructureMapContent(int eventType, XmlPullParser xpp, StructureMap res) throws XmlPullParserException, IOException, FHIRFormatError { 21662 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 21663 res.setUrlElement(parseUri(xpp)); 21664 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 21665 res.getIdentifier().add(parseIdentifier(xpp)); 21666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 21667 res.setVersionElement(parseString(xpp)); 21668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21669 res.setNameElement(parseString(xpp)); 21670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 21671 res.setTitleElement(parseString(xpp)); 21672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21673 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 21674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 21675 res.setExperimentalElement(parseBoolean(xpp)); 21676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 21677 res.setDateElement(parseDateTime(xpp)); 21678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 21679 res.setPublisherElement(parseString(xpp)); 21680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 21681 res.getContact().add(parseContactDetail(xpp)); 21682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 21683 res.setDescriptionElement(parseMarkdown(xpp)); 21684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 21685 res.getUseContext().add(parseUsageContext(xpp)); 21686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 21687 res.getJurisdiction().add(parseCodeableConcept(xpp)); 21688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 21689 res.setPurposeElement(parseMarkdown(xpp)); 21690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 21691 res.setCopyrightElement(parseMarkdown(xpp)); 21692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structure")) { 21693 res.getStructure().add(parseStructureMapStructureComponent(xpp)); 21694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("import")) { 21695 res.getImport().add(parseCanonical(xpp)); 21696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 21697 res.getGroup().add(parseStructureMapGroupComponent(xpp)); 21698 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21699 return false; 21700 } 21701 return true; 21702 } 21703 21704 protected StructureMap.StructureMapStructureComponent parseStructureMapStructureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21705 StructureMap.StructureMapStructureComponent res = new StructureMap.StructureMapStructureComponent(); 21706 parseElementAttributes(xpp, res); 21707 next(xpp); 21708 int eventType = nextNoWhitespace(xpp); 21709 while (eventType != XmlPullParser.END_TAG) { 21710 if (!parseStructureMapStructureComponentContent(eventType, xpp, res)) 21711 unknownContent(xpp); 21712 eventType = nextNoWhitespace(xpp); 21713 } 21714 next(xpp); 21715 parseElementClose(res); 21716 return res; 21717 } 21718 21719 protected boolean parseStructureMapStructureComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapStructureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21720 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 21721 res.setUrlElement(parseCanonical(xpp)); 21722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 21723 res.setModeElement(parseEnumeration(xpp, StructureMap.StructureMapModelMode.NULL, new StructureMap.StructureMapModelModeEnumFactory())); 21724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 21725 res.setAliasElement(parseString(xpp)); 21726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 21727 res.setDocumentationElement(parseString(xpp)); 21728 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21729 return false; 21730 } 21731 return true; 21732 } 21733 21734 protected StructureMap.StructureMapGroupComponent parseStructureMapGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21735 StructureMap.StructureMapGroupComponent res = new StructureMap.StructureMapGroupComponent(); 21736 parseElementAttributes(xpp, res); 21737 next(xpp); 21738 int eventType = nextNoWhitespace(xpp); 21739 while (eventType != XmlPullParser.END_TAG) { 21740 if (!parseStructureMapGroupComponentContent(eventType, xpp, res)) 21741 unknownContent(xpp); 21742 eventType = nextNoWhitespace(xpp); 21743 } 21744 next(xpp); 21745 parseElementClose(res); 21746 return res; 21747 } 21748 21749 protected boolean parseStructureMapGroupComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21751 res.setNameElement(parseId(xpp)); 21752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extends")) { 21753 res.setExtendsElement(parseId(xpp)); 21754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeMode")) { 21755 res.setTypeModeElement(parseEnumeration(xpp, StructureMap.StructureMapGroupTypeMode.NULL, new StructureMap.StructureMapGroupTypeModeEnumFactory())); 21756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 21757 res.setDocumentationElement(parseString(xpp)); 21758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { 21759 res.getInput().add(parseStructureMapGroupInputComponent(xpp)); 21760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 21761 res.getRule().add(parseStructureMapGroupRuleComponent(xpp)); 21762 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21763 return false; 21764 } 21765 return true; 21766 } 21767 21768 protected StructureMap.StructureMapGroupInputComponent parseStructureMapGroupInputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21769 StructureMap.StructureMapGroupInputComponent res = new StructureMap.StructureMapGroupInputComponent(); 21770 parseElementAttributes(xpp, res); 21771 next(xpp); 21772 int eventType = nextNoWhitespace(xpp); 21773 while (eventType != XmlPullParser.END_TAG) { 21774 if (!parseStructureMapGroupInputComponentContent(eventType, xpp, res)) 21775 unknownContent(xpp); 21776 eventType = nextNoWhitespace(xpp); 21777 } 21778 next(xpp); 21779 parseElementClose(res); 21780 return res; 21781 } 21782 21783 protected boolean parseStructureMapGroupInputComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupInputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21784 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21785 res.setNameElement(parseId(xpp)); 21786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21787 res.setTypeElement(parseString(xpp)); 21788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 21789 res.setModeElement(parseEnumeration(xpp, StructureMap.StructureMapInputMode.NULL, new StructureMap.StructureMapInputModeEnumFactory())); 21790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 21791 res.setDocumentationElement(parseString(xpp)); 21792 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21793 return false; 21794 } 21795 return true; 21796 } 21797 21798 protected StructureMap.StructureMapGroupRuleComponent parseStructureMapGroupRuleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21799 StructureMap.StructureMapGroupRuleComponent res = new StructureMap.StructureMapGroupRuleComponent(); 21800 parseElementAttributes(xpp, res); 21801 next(xpp); 21802 int eventType = nextNoWhitespace(xpp); 21803 while (eventType != XmlPullParser.END_TAG) { 21804 if (!parseStructureMapGroupRuleComponentContent(eventType, xpp, res)) 21805 unknownContent(xpp); 21806 eventType = nextNoWhitespace(xpp); 21807 } 21808 next(xpp); 21809 parseElementClose(res); 21810 return res; 21811 } 21812 21813 protected boolean parseStructureMapGroupRuleComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupRuleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21814 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21815 res.setNameElement(parseId(xpp)); 21816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 21817 res.getSource().add(parseStructureMapGroupRuleSourceComponent(xpp)); 21818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 21819 res.getTarget().add(parseStructureMapGroupRuleTargetComponent(xpp)); 21820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 21821 res.getRule().add(parseStructureMapGroupRuleComponent(xpp)); 21822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependent")) { 21823 res.getDependent().add(parseStructureMapGroupRuleDependentComponent(xpp)); 21824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 21825 res.setDocumentationElement(parseString(xpp)); 21826 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21827 return false; 21828 } 21829 return true; 21830 } 21831 21832 protected StructureMap.StructureMapGroupRuleSourceComponent parseStructureMapGroupRuleSourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21833 StructureMap.StructureMapGroupRuleSourceComponent res = new StructureMap.StructureMapGroupRuleSourceComponent(); 21834 parseElementAttributes(xpp, res); 21835 next(xpp); 21836 int eventType = nextNoWhitespace(xpp); 21837 while (eventType != XmlPullParser.END_TAG) { 21838 if (!parseStructureMapGroupRuleSourceComponentContent(eventType, xpp, res)) 21839 unknownContent(xpp); 21840 eventType = nextNoWhitespace(xpp); 21841 } 21842 next(xpp); 21843 parseElementClose(res); 21844 return res; 21845 } 21846 21847 protected boolean parseStructureMapGroupRuleSourceComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupRuleSourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21848 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 21849 res.setContextElement(parseId(xpp)); 21850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 21851 res.setMinElement(parseInteger(xpp)); 21852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 21853 res.setMaxElement(parseString(xpp)); 21854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 21855 res.setTypeElement(parseString(xpp)); 21856 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "defaultValue")) { 21857 res.setDefaultValue(parseType("defaultValue", xpp)); 21858 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 21859 res.setElementElement(parseString(xpp)); 21860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("listMode")) { 21861 res.setListModeElement(parseEnumeration(xpp, StructureMap.StructureMapSourceListMode.NULL, new StructureMap.StructureMapSourceListModeEnumFactory())); 21862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 21863 res.setVariableElement(parseId(xpp)); 21864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 21865 res.setConditionElement(parseString(xpp)); 21866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("check")) { 21867 res.setCheckElement(parseString(xpp)); 21868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("logMessage")) { 21869 res.setLogMessageElement(parseString(xpp)); 21870 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21871 return false; 21872 } 21873 return true; 21874 } 21875 21876 protected StructureMap.StructureMapGroupRuleTargetComponent parseStructureMapGroupRuleTargetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21877 StructureMap.StructureMapGroupRuleTargetComponent res = new StructureMap.StructureMapGroupRuleTargetComponent(); 21878 parseElementAttributes(xpp, res); 21879 next(xpp); 21880 int eventType = nextNoWhitespace(xpp); 21881 while (eventType != XmlPullParser.END_TAG) { 21882 if (!parseStructureMapGroupRuleTargetComponentContent(eventType, xpp, res)) 21883 unknownContent(xpp); 21884 eventType = nextNoWhitespace(xpp); 21885 } 21886 next(xpp); 21887 parseElementClose(res); 21888 return res; 21889 } 21890 21891 protected boolean parseStructureMapGroupRuleTargetComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupRuleTargetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21892 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 21893 res.setContextElement(parseId(xpp)); 21894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contextType")) { 21895 res.setContextTypeElement(parseEnumeration(xpp, StructureMap.StructureMapContextType.NULL, new StructureMap.StructureMapContextTypeEnumFactory())); 21896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 21897 res.setElementElement(parseString(xpp)); 21898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 21899 res.setVariableElement(parseId(xpp)); 21900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("listMode")) { 21901 res.getListMode().add(parseEnumeration(xpp, StructureMap.StructureMapTargetListMode.NULL, new StructureMap.StructureMapTargetListModeEnumFactory())); 21902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("listRuleId")) { 21903 res.setListRuleIdElement(parseId(xpp)); 21904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transform")) { 21905 res.setTransformElement(parseEnumeration(xpp, StructureMap.StructureMapTransform.NULL, new StructureMap.StructureMapTransformEnumFactory())); 21906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 21907 res.getParameter().add(parseStructureMapGroupRuleTargetParameterComponent(xpp)); 21908 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21909 return false; 21910 } 21911 return true; 21912 } 21913 21914 protected StructureMap.StructureMapGroupRuleTargetParameterComponent parseStructureMapGroupRuleTargetParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21915 StructureMap.StructureMapGroupRuleTargetParameterComponent res = new StructureMap.StructureMapGroupRuleTargetParameterComponent(); 21916 parseElementAttributes(xpp, res); 21917 next(xpp); 21918 int eventType = nextNoWhitespace(xpp); 21919 while (eventType != XmlPullParser.END_TAG) { 21920 if (!parseStructureMapGroupRuleTargetParameterComponentContent(eventType, xpp, res)) 21921 unknownContent(xpp); 21922 eventType = nextNoWhitespace(xpp); 21923 } 21924 next(xpp); 21925 parseElementClose(res); 21926 return res; 21927 } 21928 21929 protected boolean parseStructureMapGroupRuleTargetParameterComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupRuleTargetParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21930 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 21931 res.setValue(parseType("value", xpp)); 21932 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21933 return false; 21934 } 21935 return true; 21936 } 21937 21938 protected StructureMap.StructureMapGroupRuleDependentComponent parseStructureMapGroupRuleDependentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21939 StructureMap.StructureMapGroupRuleDependentComponent res = new StructureMap.StructureMapGroupRuleDependentComponent(); 21940 parseElementAttributes(xpp, res); 21941 next(xpp); 21942 int eventType = nextNoWhitespace(xpp); 21943 while (eventType != XmlPullParser.END_TAG) { 21944 if (!parseStructureMapGroupRuleDependentComponentContent(eventType, xpp, res)) 21945 unknownContent(xpp); 21946 eventType = nextNoWhitespace(xpp); 21947 } 21948 next(xpp); 21949 parseElementClose(res); 21950 return res; 21951 } 21952 21953 protected boolean parseStructureMapGroupRuleDependentComponentContent(int eventType, XmlPullParser xpp, StructureMap.StructureMapGroupRuleDependentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 21954 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 21955 res.setNameElement(parseId(xpp)); 21956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 21957 res.getVariable().add(parseString(xpp)); 21958 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 21959 return false; 21960 } 21961 return true; 21962 } 21963 21964 protected Subscription parseSubscription(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 21965 Subscription res = new Subscription(); 21966 parseResourceAttributes(xpp, res); 21967 next(xpp); 21968 int eventType = nextNoWhitespace(xpp); 21969 while (eventType != XmlPullParser.END_TAG) { 21970 if (!parseSubscriptionContent(eventType, xpp, res)) 21971 unknownContent(xpp); 21972 eventType = nextNoWhitespace(xpp); 21973 } 21974 next(xpp); 21975 parseElementClose(res); 21976 return res; 21977 } 21978 21979 protected boolean parseSubscriptionContent(int eventType, XmlPullParser xpp, Subscription res) throws XmlPullParserException, IOException, FHIRFormatError { 21980 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 21981 res.setStatusElement(parseEnumeration(xpp, Enumerations.SubscriptionStatus.NULL, new Enumerations.SubscriptionStatusEnumFactory())); 21982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 21983 res.getContact().add(parseContactPoint(xpp)); 21984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 21985 res.setEndElement(parseInstant(xpp)); 21986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 21987 res.setReasonElement(parseString(xpp)); 21988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 21989 res.setCriteriaElement(parseString(xpp)); 21990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 21991 res.setErrorElement(parseString(xpp)); 21992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("channel")) { 21993 res.setChannel(parseSubscriptionChannelComponent(xpp)); 21994 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 21995 return false; 21996 } 21997 return true; 21998 } 21999 22000 protected Subscription.SubscriptionChannelComponent parseSubscriptionChannelComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22001 Subscription.SubscriptionChannelComponent res = new Subscription.SubscriptionChannelComponent(); 22002 parseElementAttributes(xpp, res); 22003 next(xpp); 22004 int eventType = nextNoWhitespace(xpp); 22005 while (eventType != XmlPullParser.END_TAG) { 22006 if (!parseSubscriptionChannelComponentContent(eventType, xpp, res)) 22007 unknownContent(xpp); 22008 eventType = nextNoWhitespace(xpp); 22009 } 22010 next(xpp); 22011 parseElementClose(res); 22012 return res; 22013 } 22014 22015 protected boolean parseSubscriptionChannelComponentContent(int eventType, XmlPullParser xpp, Subscription.SubscriptionChannelComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22016 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22017 res.setTypeElement(parseEnumeration(xpp, Subscription.SubscriptionChannelType.NULL, new Subscription.SubscriptionChannelTypeEnumFactory())); 22018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 22019 res.setEndpointElement(parseUrl(xpp)); 22020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 22021 res.setPayloadElement(parseCode(xpp)); 22022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("header")) { 22023 res.getHeader().add(parseString(xpp)); 22024 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22025 return false; 22026 } 22027 return true; 22028 } 22029 22030 protected SubscriptionStatus parseSubscriptionStatus(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22031 SubscriptionStatus res = new SubscriptionStatus(); 22032 parseResourceAttributes(xpp, res); 22033 next(xpp); 22034 int eventType = nextNoWhitespace(xpp); 22035 while (eventType != XmlPullParser.END_TAG) { 22036 if (!parseSubscriptionStatusContent(eventType, xpp, res)) 22037 unknownContent(xpp); 22038 eventType = nextNoWhitespace(xpp); 22039 } 22040 next(xpp); 22041 parseElementClose(res); 22042 return res; 22043 } 22044 22045 protected boolean parseSubscriptionStatusContent(int eventType, XmlPullParser xpp, SubscriptionStatus res) throws XmlPullParserException, IOException, FHIRFormatError { 22046 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22047 res.setStatusElement(parseEnumeration(xpp, Enumerations.SubscriptionStatus.NULL, new Enumerations.SubscriptionStatusEnumFactory())); 22048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22049 res.setTypeElement(parseEnumeration(xpp, SubscriptionStatus.SubscriptionNotificationType.NULL, new SubscriptionStatus.SubscriptionNotificationTypeEnumFactory())); 22050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventsSinceSubscriptionStart")) { 22051 res.setEventsSinceSubscriptionStartElement(parseString(xpp)); 22052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventsInNotification")) { 22053 res.setEventsInNotificationElement(parseInteger(xpp)); 22054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notificationEvent")) { 22055 res.getNotificationEvent().add(parseSubscriptionStatusNotificationEventComponent(xpp)); 22056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscription")) { 22057 res.setSubscription(parseReference(xpp)); 22058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { 22059 res.setTopicElement(parseCanonical(xpp)); 22060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 22061 res.getError().add(parseCodeableConcept(xpp)); 22062 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22063 return false; 22064 } 22065 return true; 22066 } 22067 22068 protected SubscriptionStatus.SubscriptionStatusNotificationEventComponent parseSubscriptionStatusNotificationEventComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22069 SubscriptionStatus.SubscriptionStatusNotificationEventComponent res = new SubscriptionStatus.SubscriptionStatusNotificationEventComponent(); 22070 parseElementAttributes(xpp, res); 22071 next(xpp); 22072 int eventType = nextNoWhitespace(xpp); 22073 while (eventType != XmlPullParser.END_TAG) { 22074 if (!parseSubscriptionStatusNotificationEventComponentContent(eventType, xpp, res)) 22075 unknownContent(xpp); 22076 eventType = nextNoWhitespace(xpp); 22077 } 22078 next(xpp); 22079 parseElementClose(res); 22080 return res; 22081 } 22082 22083 protected boolean parseSubscriptionStatusNotificationEventComponentContent(int eventType, XmlPullParser xpp, SubscriptionStatus.SubscriptionStatusNotificationEventComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22084 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventNumber")) { 22085 res.setEventNumberElement(parseString(xpp)); 22086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 22087 res.setTimestampElement(parseInstant(xpp)); 22088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 22089 res.setFocus(parseReference(xpp)); 22090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalContext")) { 22091 res.getAdditionalContext().add(parseReference(xpp)); 22092 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22093 return false; 22094 } 22095 return true; 22096 } 22097 22098 protected SubscriptionTopic parseSubscriptionTopic(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22099 SubscriptionTopic res = new SubscriptionTopic(); 22100 parseResourceAttributes(xpp, res); 22101 next(xpp); 22102 int eventType = nextNoWhitespace(xpp); 22103 while (eventType != XmlPullParser.END_TAG) { 22104 if (!parseSubscriptionTopicContent(eventType, xpp, res)) 22105 unknownContent(xpp); 22106 eventType = nextNoWhitespace(xpp); 22107 } 22108 next(xpp); 22109 parseElementClose(res); 22110 return res; 22111 } 22112 22113 protected boolean parseSubscriptionTopicContent(int eventType, XmlPullParser xpp, SubscriptionTopic res) throws XmlPullParserException, IOException, FHIRFormatError { 22114 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 22115 res.setUrlElement(parseUri(xpp)); 22116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22117 res.getIdentifier().add(parseIdentifier(xpp)); 22118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 22119 res.setVersionElement(parseString(xpp)); 22120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 22121 res.setTitleElement(parseString(xpp)); 22122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { 22123 res.getDerivedFrom().add(parseCanonical(xpp)); 22124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22125 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 22126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 22127 res.setExperimentalElement(parseBoolean(xpp)); 22128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 22129 res.setDateElement(parseDateTime(xpp)); 22130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 22131 res.setPublisherElement(parseString(xpp)); 22132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 22133 res.getContact().add(parseContactDetail(xpp)); 22134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22135 res.setDescriptionElement(parseMarkdown(xpp)); 22136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 22137 res.getUseContext().add(parseUsageContext(xpp)); 22138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 22139 res.getJurisdiction().add(parseCodeableConcept(xpp)); 22140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 22141 res.setPurposeElement(parseMarkdown(xpp)); 22142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 22143 res.setCopyrightElement(parseMarkdown(xpp)); 22144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { 22145 res.setApprovalDateElement(parseDate(xpp)); 22146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { 22147 res.setLastReviewDateElement(parseDate(xpp)); 22148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { 22149 res.setEffectivePeriod(parsePeriod(xpp)); 22150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceTrigger")) { 22151 res.getResourceTrigger().add(parseSubscriptionTopicResourceTriggerComponent(xpp)); 22152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eventTrigger")) { 22153 res.getEventTrigger().add(parseSubscriptionTopicEventTriggerComponent(xpp)); 22154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("canFilterBy")) { 22155 res.getCanFilterBy().add(parseSubscriptionTopicCanFilterByComponent(xpp)); 22156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notificationShape")) { 22157 res.getNotificationShape().add(parseSubscriptionTopicNotificationShapeComponent(xpp)); 22158 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22159 return false; 22160 } 22161 return true; 22162 } 22163 22164 protected SubscriptionTopic.SubscriptionTopicResourceTriggerComponent parseSubscriptionTopicResourceTriggerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22165 SubscriptionTopic.SubscriptionTopicResourceTriggerComponent res = new SubscriptionTopic.SubscriptionTopicResourceTriggerComponent(); 22166 parseElementAttributes(xpp, res); 22167 next(xpp); 22168 int eventType = nextNoWhitespace(xpp); 22169 while (eventType != XmlPullParser.END_TAG) { 22170 if (!parseSubscriptionTopicResourceTriggerComponentContent(eventType, xpp, res)) 22171 unknownContent(xpp); 22172 eventType = nextNoWhitespace(xpp); 22173 } 22174 next(xpp); 22175 parseElementClose(res); 22176 return res; 22177 } 22178 22179 protected boolean parseSubscriptionTopicResourceTriggerComponentContent(int eventType, XmlPullParser xpp, SubscriptionTopic.SubscriptionTopicResourceTriggerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22180 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22181 res.setDescriptionElement(parseMarkdown(xpp)); 22182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 22183 res.setResourceElement(parseUri(xpp)); 22184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportedInteraction")) { 22185 res.getSupportedInteraction().add(parseEnumeration(xpp, SubscriptionTopic.InteractionTrigger.NULL, new SubscriptionTopic.InteractionTriggerEnumFactory())); 22186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("queryCriteria")) { 22187 res.setQueryCriteria(parseSubscriptionTopicResourceTriggerQueryCriteriaComponent(xpp)); 22188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirPathCriteria")) { 22189 res.setFhirPathCriteriaElement(parseString(xpp)); 22190 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22191 return false; 22192 } 22193 return true; 22194 } 22195 22196 protected SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent parseSubscriptionTopicResourceTriggerQueryCriteriaComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22197 SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent res = new SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent(); 22198 parseElementAttributes(xpp, res); 22199 next(xpp); 22200 int eventType = nextNoWhitespace(xpp); 22201 while (eventType != XmlPullParser.END_TAG) { 22202 if (!parseSubscriptionTopicResourceTriggerQueryCriteriaComponentContent(eventType, xpp, res)) 22203 unknownContent(xpp); 22204 eventType = nextNoWhitespace(xpp); 22205 } 22206 next(xpp); 22207 parseElementClose(res); 22208 return res; 22209 } 22210 22211 protected boolean parseSubscriptionTopicResourceTriggerQueryCriteriaComponentContent(int eventType, XmlPullParser xpp, SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22212 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("previous")) { 22213 res.setPreviousElement(parseString(xpp)); 22214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resultForCreate")) { 22215 res.setResultForCreateElement(parseEnumeration(xpp, SubscriptionTopic.CriteriaNotExistsBehavior.NULL, new SubscriptionTopic.CriteriaNotExistsBehaviorEnumFactory())); 22216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("current")) { 22217 res.setCurrentElement(parseString(xpp)); 22218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resultForDelete")) { 22219 res.setResultForDeleteElement(parseEnumeration(xpp, SubscriptionTopic.CriteriaNotExistsBehavior.NULL, new SubscriptionTopic.CriteriaNotExistsBehaviorEnumFactory())); 22220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requireBoth")) { 22221 res.setRequireBothElement(parseBoolean(xpp)); 22222 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22223 return false; 22224 } 22225 return true; 22226 } 22227 22228 protected SubscriptionTopic.SubscriptionTopicEventTriggerComponent parseSubscriptionTopicEventTriggerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22229 SubscriptionTopic.SubscriptionTopicEventTriggerComponent res = new SubscriptionTopic.SubscriptionTopicEventTriggerComponent(); 22230 parseElementAttributes(xpp, res); 22231 next(xpp); 22232 int eventType = nextNoWhitespace(xpp); 22233 while (eventType != XmlPullParser.END_TAG) { 22234 if (!parseSubscriptionTopicEventTriggerComponentContent(eventType, xpp, res)) 22235 unknownContent(xpp); 22236 eventType = nextNoWhitespace(xpp); 22237 } 22238 next(xpp); 22239 parseElementClose(res); 22240 return res; 22241 } 22242 22243 protected boolean parseSubscriptionTopicEventTriggerComponentContent(int eventType, XmlPullParser xpp, SubscriptionTopic.SubscriptionTopicEventTriggerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22244 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22245 res.setDescriptionElement(parseMarkdown(xpp)); 22246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 22247 res.setEvent(parseCodeableConcept(xpp)); 22248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 22249 res.setResourceElement(parseUri(xpp)); 22250 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22251 return false; 22252 } 22253 return true; 22254 } 22255 22256 protected SubscriptionTopic.SubscriptionTopicCanFilterByComponent parseSubscriptionTopicCanFilterByComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22257 SubscriptionTopic.SubscriptionTopicCanFilterByComponent res = new SubscriptionTopic.SubscriptionTopicCanFilterByComponent(); 22258 parseElementAttributes(xpp, res); 22259 next(xpp); 22260 int eventType = nextNoWhitespace(xpp); 22261 while (eventType != XmlPullParser.END_TAG) { 22262 if (!parseSubscriptionTopicCanFilterByComponentContent(eventType, xpp, res)) 22263 unknownContent(xpp); 22264 eventType = nextNoWhitespace(xpp); 22265 } 22266 next(xpp); 22267 parseElementClose(res); 22268 return res; 22269 } 22270 22271 protected boolean parseSubscriptionTopicCanFilterByComponentContent(int eventType, XmlPullParser xpp, SubscriptionTopic.SubscriptionTopicCanFilterByComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22272 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22273 res.setDescriptionElement(parseMarkdown(xpp)); 22274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 22275 res.setResourceElement(parseUri(xpp)); 22276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filterParameter")) { 22277 res.setFilterParameterElement(parseString(xpp)); 22278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 22279 res.getModifier().add(parseEnumeration(xpp, SubscriptionTopic.SubscriptionSearchModifier.NULL, new SubscriptionTopic.SubscriptionSearchModifierEnumFactory())); 22280 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22281 return false; 22282 } 22283 return true; 22284 } 22285 22286 protected SubscriptionTopic.SubscriptionTopicNotificationShapeComponent parseSubscriptionTopicNotificationShapeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22287 SubscriptionTopic.SubscriptionTopicNotificationShapeComponent res = new SubscriptionTopic.SubscriptionTopicNotificationShapeComponent(); 22288 parseElementAttributes(xpp, res); 22289 next(xpp); 22290 int eventType = nextNoWhitespace(xpp); 22291 while (eventType != XmlPullParser.END_TAG) { 22292 if (!parseSubscriptionTopicNotificationShapeComponentContent(eventType, xpp, res)) 22293 unknownContent(xpp); 22294 eventType = nextNoWhitespace(xpp); 22295 } 22296 next(xpp); 22297 parseElementClose(res); 22298 return res; 22299 } 22300 22301 protected boolean parseSubscriptionTopicNotificationShapeComponentContent(int eventType, XmlPullParser xpp, SubscriptionTopic.SubscriptionTopicNotificationShapeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22302 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 22303 res.setResourceElement(parseUri(xpp)); 22304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 22305 res.getInclude().add(parseString(xpp)); 22306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revInclude")) { 22307 res.getRevInclude().add(parseString(xpp)); 22308 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22309 return false; 22310 } 22311 return true; 22312 } 22313 22314 protected Substance parseSubstance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22315 Substance res = new Substance(); 22316 parseResourceAttributes(xpp, res); 22317 next(xpp); 22318 int eventType = nextNoWhitespace(xpp); 22319 while (eventType != XmlPullParser.END_TAG) { 22320 if (!parseSubstanceContent(eventType, xpp, res)) 22321 unknownContent(xpp); 22322 eventType = nextNoWhitespace(xpp); 22323 } 22324 next(xpp); 22325 parseElementClose(res); 22326 return res; 22327 } 22328 22329 protected boolean parseSubstanceContent(int eventType, XmlPullParser xpp, Substance res) throws XmlPullParserException, IOException, FHIRFormatError { 22330 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22331 res.getIdentifier().add(parseIdentifier(xpp)); 22332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22333 res.setStatusElement(parseEnumeration(xpp, Substance.FHIRSubstanceStatus.NULL, new Substance.FHIRSubstanceStatusEnumFactory())); 22334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 22335 res.getCategory().add(parseCodeableConcept(xpp)); 22336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 22337 res.setCode(parseCodeableConcept(xpp)); 22338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22339 res.setDescriptionElement(parseString(xpp)); 22340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 22341 res.getInstance().add(parseSubstanceInstanceComponent(xpp)); 22342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 22343 res.getIngredient().add(parseSubstanceIngredientComponent(xpp)); 22344 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22345 return false; 22346 } 22347 return true; 22348 } 22349 22350 protected Substance.SubstanceInstanceComponent parseSubstanceInstanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22351 Substance.SubstanceInstanceComponent res = new Substance.SubstanceInstanceComponent(); 22352 parseElementAttributes(xpp, res); 22353 next(xpp); 22354 int eventType = nextNoWhitespace(xpp); 22355 while (eventType != XmlPullParser.END_TAG) { 22356 if (!parseSubstanceInstanceComponentContent(eventType, xpp, res)) 22357 unknownContent(xpp); 22358 eventType = nextNoWhitespace(xpp); 22359 } 22360 next(xpp); 22361 parseElementClose(res); 22362 return res; 22363 } 22364 22365 protected boolean parseSubstanceInstanceComponentContent(int eventType, XmlPullParser xpp, Substance.SubstanceInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22366 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22367 res.setIdentifier(parseIdentifier(xpp)); 22368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 22369 res.setExpiryElement(parseDateTime(xpp)); 22370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 22371 res.setQuantity(parseQuantity(xpp)); 22372 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22373 return false; 22374 } 22375 return true; 22376 } 22377 22378 protected Substance.SubstanceIngredientComponent parseSubstanceIngredientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22379 Substance.SubstanceIngredientComponent res = new Substance.SubstanceIngredientComponent(); 22380 parseElementAttributes(xpp, res); 22381 next(xpp); 22382 int eventType = nextNoWhitespace(xpp); 22383 while (eventType != XmlPullParser.END_TAG) { 22384 if (!parseSubstanceIngredientComponentContent(eventType, xpp, res)) 22385 unknownContent(xpp); 22386 eventType = nextNoWhitespace(xpp); 22387 } 22388 next(xpp); 22389 parseElementClose(res); 22390 return res; 22391 } 22392 22393 protected boolean parseSubstanceIngredientComponentContent(int eventType, XmlPullParser xpp, Substance.SubstanceIngredientComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22394 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 22395 res.setQuantity(parseRatio(xpp)); 22396 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "substance")) { 22397 res.setSubstance(parseType("substance", xpp)); 22398 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22399 return false; 22400 } 22401 return true; 22402 } 22403 22404 protected SubstanceDefinition parseSubstanceDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22405 SubstanceDefinition res = new SubstanceDefinition(); 22406 parseResourceAttributes(xpp, res); 22407 next(xpp); 22408 int eventType = nextNoWhitespace(xpp); 22409 while (eventType != XmlPullParser.END_TAG) { 22410 if (!parseSubstanceDefinitionContent(eventType, xpp, res)) 22411 unknownContent(xpp); 22412 eventType = nextNoWhitespace(xpp); 22413 } 22414 next(xpp); 22415 parseElementClose(res); 22416 return res; 22417 } 22418 22419 protected boolean parseSubstanceDefinitionContent(int eventType, XmlPullParser xpp, SubstanceDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { 22420 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22421 res.getIdentifier().add(parseIdentifier(xpp)); 22422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 22423 res.setVersionElement(parseString(xpp)); 22424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22425 res.setStatus(parseCodeableConcept(xpp)); 22426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { 22427 res.getClassification().add(parseCodeableConcept(xpp)); 22428 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 22429 res.setDomain(parseCodeableConcept(xpp)); 22430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("grade")) { 22431 res.getGrade().add(parseCodeableConcept(xpp)); 22432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22433 res.setDescriptionElement(parseMarkdown(xpp)); 22434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSource")) { 22435 res.getInformationSource().add(parseReference(xpp)); 22436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 22437 res.getNote().add(parseAnnotation(xpp)); 22438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 22439 res.getManufacturer().add(parseReference(xpp)); 22440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 22441 res.getSupplier().add(parseReference(xpp)); 22442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("moiety")) { 22443 res.getMoiety().add(parseSubstanceDefinitionMoietyComponent(xpp)); 22444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 22445 res.getProperty().add(parseSubstanceDefinitionPropertyComponent(xpp)); 22446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("molecularWeight")) { 22447 res.getMolecularWeight().add(parseSubstanceDefinitionMolecularWeightComponent(xpp)); 22448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structure")) { 22449 res.setStructure(parseSubstanceDefinitionStructureComponent(xpp)); 22450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 22451 res.getCode().add(parseSubstanceDefinitionCodeComponent(xpp)); 22452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 22453 res.getName().add(parseSubstanceDefinitionNameComponent(xpp)); 22454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 22455 res.getRelationship().add(parseSubstanceDefinitionRelationshipComponent(xpp)); 22456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceMaterial")) { 22457 res.setSourceMaterial(parseSubstanceDefinitionSourceMaterialComponent(xpp)); 22458 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22459 return false; 22460 } 22461 return true; 22462 } 22463 22464 protected SubstanceDefinition.SubstanceDefinitionMoietyComponent parseSubstanceDefinitionMoietyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22465 SubstanceDefinition.SubstanceDefinitionMoietyComponent res = new SubstanceDefinition.SubstanceDefinitionMoietyComponent(); 22466 parseElementAttributes(xpp, res); 22467 next(xpp); 22468 int eventType = nextNoWhitespace(xpp); 22469 while (eventType != XmlPullParser.END_TAG) { 22470 if (!parseSubstanceDefinitionMoietyComponentContent(eventType, xpp, res)) 22471 unknownContent(xpp); 22472 eventType = nextNoWhitespace(xpp); 22473 } 22474 next(xpp); 22475 parseElementClose(res); 22476 return res; 22477 } 22478 22479 protected boolean parseSubstanceDefinitionMoietyComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionMoietyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22480 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 22481 res.setRole(parseCodeableConcept(xpp)); 22482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22483 res.setIdentifier(parseIdentifier(xpp)); 22484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 22485 res.setNameElement(parseString(xpp)); 22486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stereochemistry")) { 22487 res.setStereochemistry(parseCodeableConcept(xpp)); 22488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("opticalActivity")) { 22489 res.setOpticalActivity(parseCodeableConcept(xpp)); 22490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("molecularFormula")) { 22491 res.setMolecularFormulaElement(parseString(xpp)); 22492 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "amount")) { 22493 res.setAmount(parseType("amount", xpp)); 22494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amountType")) { 22495 res.setAmountType(parseCodeableConcept(xpp)); 22496 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22497 return false; 22498 } 22499 return true; 22500 } 22501 22502 protected SubstanceDefinition.SubstanceDefinitionPropertyComponent parseSubstanceDefinitionPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22503 SubstanceDefinition.SubstanceDefinitionPropertyComponent res = new SubstanceDefinition.SubstanceDefinitionPropertyComponent(); 22504 parseElementAttributes(xpp, res); 22505 next(xpp); 22506 int eventType = nextNoWhitespace(xpp); 22507 while (eventType != XmlPullParser.END_TAG) { 22508 if (!parseSubstanceDefinitionPropertyComponentContent(eventType, xpp, res)) 22509 unknownContent(xpp); 22510 eventType = nextNoWhitespace(xpp); 22511 } 22512 next(xpp); 22513 parseElementClose(res); 22514 return res; 22515 } 22516 22517 protected boolean parseSubstanceDefinitionPropertyComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22518 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22519 res.setType(parseCodeableConcept(xpp)); 22520 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 22521 res.setValue(parseType("value", xpp)); 22522 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22523 return false; 22524 } 22525 return true; 22526 } 22527 22528 protected SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent parseSubstanceDefinitionMolecularWeightComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22529 SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent res = new SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent(); 22530 parseElementAttributes(xpp, res); 22531 next(xpp); 22532 int eventType = nextNoWhitespace(xpp); 22533 while (eventType != XmlPullParser.END_TAG) { 22534 if (!parseSubstanceDefinitionMolecularWeightComponentContent(eventType, xpp, res)) 22535 unknownContent(xpp); 22536 eventType = nextNoWhitespace(xpp); 22537 } 22538 next(xpp); 22539 parseElementClose(res); 22540 return res; 22541 } 22542 22543 protected boolean parseSubstanceDefinitionMolecularWeightComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22544 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 22545 res.setMethod(parseCodeableConcept(xpp)); 22546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22547 res.setType(parseCodeableConcept(xpp)); 22548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 22549 res.setAmount(parseQuantity(xpp)); 22550 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22551 return false; 22552 } 22553 return true; 22554 } 22555 22556 protected SubstanceDefinition.SubstanceDefinitionStructureComponent parseSubstanceDefinitionStructureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22557 SubstanceDefinition.SubstanceDefinitionStructureComponent res = new SubstanceDefinition.SubstanceDefinitionStructureComponent(); 22558 parseElementAttributes(xpp, res); 22559 next(xpp); 22560 int eventType = nextNoWhitespace(xpp); 22561 while (eventType != XmlPullParser.END_TAG) { 22562 if (!parseSubstanceDefinitionStructureComponentContent(eventType, xpp, res)) 22563 unknownContent(xpp); 22564 eventType = nextNoWhitespace(xpp); 22565 } 22566 next(xpp); 22567 parseElementClose(res); 22568 return res; 22569 } 22570 22571 protected boolean parseSubstanceDefinitionStructureComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionStructureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22572 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stereochemistry")) { 22573 res.setStereochemistry(parseCodeableConcept(xpp)); 22574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("opticalActivity")) { 22575 res.setOpticalActivity(parseCodeableConcept(xpp)); 22576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("molecularFormula")) { 22577 res.setMolecularFormulaElement(parseString(xpp)); 22578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("molecularFormulaByMoiety")) { 22579 res.setMolecularFormulaByMoietyElement(parseString(xpp)); 22580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("molecularWeight")) { 22581 res.setMolecularWeight(parseSubstanceDefinitionMolecularWeightComponent(xpp)); 22582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("technique")) { 22583 res.getTechnique().add(parseCodeableConcept(xpp)); 22584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceDocument")) { 22585 res.getSourceDocument().add(parseReference(xpp)); 22586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("representation")) { 22587 res.getRepresentation().add(parseSubstanceDefinitionStructureRepresentationComponent(xpp)); 22588 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22589 return false; 22590 } 22591 return true; 22592 } 22593 22594 protected SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent parseSubstanceDefinitionStructureRepresentationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22595 SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent res = new SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent(); 22596 parseElementAttributes(xpp, res); 22597 next(xpp); 22598 int eventType = nextNoWhitespace(xpp); 22599 while (eventType != XmlPullParser.END_TAG) { 22600 if (!parseSubstanceDefinitionStructureRepresentationComponentContent(eventType, xpp, res)) 22601 unknownContent(xpp); 22602 eventType = nextNoWhitespace(xpp); 22603 } 22604 next(xpp); 22605 parseElementClose(res); 22606 return res; 22607 } 22608 22609 protected boolean parseSubstanceDefinitionStructureRepresentationComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22610 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22611 res.setType(parseCodeableConcept(xpp)); 22612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("representation")) { 22613 res.setRepresentationElement(parseString(xpp)); 22614 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 22615 res.setFormat(parseCodeableConcept(xpp)); 22616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("document")) { 22617 res.setDocument(parseReference(xpp)); 22618 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22619 return false; 22620 } 22621 return true; 22622 } 22623 22624 protected SubstanceDefinition.SubstanceDefinitionCodeComponent parseSubstanceDefinitionCodeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22625 SubstanceDefinition.SubstanceDefinitionCodeComponent res = new SubstanceDefinition.SubstanceDefinitionCodeComponent(); 22626 parseElementAttributes(xpp, res); 22627 next(xpp); 22628 int eventType = nextNoWhitespace(xpp); 22629 while (eventType != XmlPullParser.END_TAG) { 22630 if (!parseSubstanceDefinitionCodeComponentContent(eventType, xpp, res)) 22631 unknownContent(xpp); 22632 eventType = nextNoWhitespace(xpp); 22633 } 22634 next(xpp); 22635 parseElementClose(res); 22636 return res; 22637 } 22638 22639 protected boolean parseSubstanceDefinitionCodeComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionCodeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22640 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 22641 res.setCode(parseCodeableConcept(xpp)); 22642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22643 res.setStatus(parseCodeableConcept(xpp)); 22644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 22645 res.setStatusDateElement(parseDateTime(xpp)); 22646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 22647 res.getNote().add(parseAnnotation(xpp)); 22648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 22649 res.getSource().add(parseReference(xpp)); 22650 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22651 return false; 22652 } 22653 return true; 22654 } 22655 22656 protected SubstanceDefinition.SubstanceDefinitionNameComponent parseSubstanceDefinitionNameComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22657 SubstanceDefinition.SubstanceDefinitionNameComponent res = new SubstanceDefinition.SubstanceDefinitionNameComponent(); 22658 parseElementAttributes(xpp, res); 22659 next(xpp); 22660 int eventType = nextNoWhitespace(xpp); 22661 while (eventType != XmlPullParser.END_TAG) { 22662 if (!parseSubstanceDefinitionNameComponentContent(eventType, xpp, res)) 22663 unknownContent(xpp); 22664 eventType = nextNoWhitespace(xpp); 22665 } 22666 next(xpp); 22667 parseElementClose(res); 22668 return res; 22669 } 22670 22671 protected boolean parseSubstanceDefinitionNameComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionNameComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22672 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 22673 res.setNameElement(parseString(xpp)); 22674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22675 res.setType(parseCodeableConcept(xpp)); 22676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22677 res.setStatus(parseCodeableConcept(xpp)); 22678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 22679 res.setPreferredElement(parseBoolean(xpp)); 22680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 22681 res.getLanguage().add(parseCodeableConcept(xpp)); 22682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 22683 res.getDomain().add(parseCodeableConcept(xpp)); 22684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 22685 res.getJurisdiction().add(parseCodeableConcept(xpp)); 22686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("synonym")) { 22687 res.getSynonym().add(parseSubstanceDefinitionNameComponent(xpp)); 22688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("translation")) { 22689 res.getTranslation().add(parseSubstanceDefinitionNameComponent(xpp)); 22690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("official")) { 22691 res.getOfficial().add(parseSubstanceDefinitionNameOfficialComponent(xpp)); 22692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 22693 res.getSource().add(parseReference(xpp)); 22694 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22695 return false; 22696 } 22697 return true; 22698 } 22699 22700 protected SubstanceDefinition.SubstanceDefinitionNameOfficialComponent parseSubstanceDefinitionNameOfficialComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22701 SubstanceDefinition.SubstanceDefinitionNameOfficialComponent res = new SubstanceDefinition.SubstanceDefinitionNameOfficialComponent(); 22702 parseElementAttributes(xpp, res); 22703 next(xpp); 22704 int eventType = nextNoWhitespace(xpp); 22705 while (eventType != XmlPullParser.END_TAG) { 22706 if (!parseSubstanceDefinitionNameOfficialComponentContent(eventType, xpp, res)) 22707 unknownContent(xpp); 22708 eventType = nextNoWhitespace(xpp); 22709 } 22710 next(xpp); 22711 parseElementClose(res); 22712 return res; 22713 } 22714 22715 protected boolean parseSubstanceDefinitionNameOfficialComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionNameOfficialComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22716 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 22717 res.setAuthority(parseCodeableConcept(xpp)); 22718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22719 res.setStatus(parseCodeableConcept(xpp)); 22720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 22721 res.setDateElement(parseDateTime(xpp)); 22722 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22723 return false; 22724 } 22725 return true; 22726 } 22727 22728 protected SubstanceDefinition.SubstanceDefinitionRelationshipComponent parseSubstanceDefinitionRelationshipComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22729 SubstanceDefinition.SubstanceDefinitionRelationshipComponent res = new SubstanceDefinition.SubstanceDefinitionRelationshipComponent(); 22730 parseElementAttributes(xpp, res); 22731 next(xpp); 22732 int eventType = nextNoWhitespace(xpp); 22733 while (eventType != XmlPullParser.END_TAG) { 22734 if (!parseSubstanceDefinitionRelationshipComponentContent(eventType, xpp, res)) 22735 unknownContent(xpp); 22736 eventType = nextNoWhitespace(xpp); 22737 } 22738 next(xpp); 22739 parseElementClose(res); 22740 return res; 22741 } 22742 22743 protected boolean parseSubstanceDefinitionRelationshipComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionRelationshipComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22744 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "substanceDefinition")) { 22745 res.setSubstanceDefinition(parseType("substanceDefinition", xpp)); 22746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22747 res.setType(parseCodeableConcept(xpp)); 22748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isDefining")) { 22749 res.setIsDefiningElement(parseBoolean(xpp)); 22750 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "amount")) { 22751 res.setAmount(parseType("amount", xpp)); 22752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amountRatioHighLimit")) { 22753 res.setAmountRatioHighLimit(parseRatio(xpp)); 22754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amountType")) { 22755 res.setAmountType(parseCodeableConcept(xpp)); 22756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 22757 res.getSource().add(parseReference(xpp)); 22758 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22759 return false; 22760 } 22761 return true; 22762 } 22763 22764 protected SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent parseSubstanceDefinitionSourceMaterialComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22765 SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent res = new SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent(); 22766 parseElementAttributes(xpp, res); 22767 next(xpp); 22768 int eventType = nextNoWhitespace(xpp); 22769 while (eventType != XmlPullParser.END_TAG) { 22770 if (!parseSubstanceDefinitionSourceMaterialComponentContent(eventType, xpp, res)) 22771 unknownContent(xpp); 22772 eventType = nextNoWhitespace(xpp); 22773 } 22774 next(xpp); 22775 parseElementClose(res); 22776 return res; 22777 } 22778 22779 protected boolean parseSubstanceDefinitionSourceMaterialComponentContent(int eventType, XmlPullParser xpp, SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22780 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22781 res.setType(parseCodeableConcept(xpp)); 22782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genus")) { 22783 res.setGenus(parseCodeableConcept(xpp)); 22784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("species")) { 22785 res.setSpecies(parseCodeableConcept(xpp)); 22786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 22787 res.setPart(parseCodeableConcept(xpp)); 22788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("countryOfOrigin")) { 22789 res.getCountryOfOrigin().add(parseCodeableConcept(xpp)); 22790 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22791 return false; 22792 } 22793 return true; 22794 } 22795 22796 protected SupplyDelivery parseSupplyDelivery(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22797 SupplyDelivery res = new SupplyDelivery(); 22798 parseResourceAttributes(xpp, res); 22799 next(xpp); 22800 int eventType = nextNoWhitespace(xpp); 22801 while (eventType != XmlPullParser.END_TAG) { 22802 if (!parseSupplyDeliveryContent(eventType, xpp, res)) 22803 unknownContent(xpp); 22804 eventType = nextNoWhitespace(xpp); 22805 } 22806 next(xpp); 22807 parseElementClose(res); 22808 return res; 22809 } 22810 22811 protected boolean parseSupplyDeliveryContent(int eventType, XmlPullParser xpp, SupplyDelivery res) throws XmlPullParserException, IOException, FHIRFormatError { 22812 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22813 res.getIdentifier().add(parseIdentifier(xpp)); 22814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 22815 res.getBasedOn().add(parseReference(xpp)); 22816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 22817 res.getPartOf().add(parseReference(xpp)); 22818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22819 res.setStatusElement(parseEnumeration(xpp, SupplyDelivery.SupplyDeliveryStatus.NULL, new SupplyDelivery.SupplyDeliveryStatusEnumFactory())); 22820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 22821 res.setPatient(parseReference(xpp)); 22822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 22823 res.setType(parseCodeableConcept(xpp)); 22824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suppliedItem")) { 22825 res.setSuppliedItem(parseSupplyDeliverySuppliedItemComponent(xpp)); 22826 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 22827 res.setOccurrence(parseType("occurrence", xpp)); 22828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 22829 res.setSupplier(parseReference(xpp)); 22830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 22831 res.setDestination(parseReference(xpp)); 22832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 22833 res.getReceiver().add(parseReference(xpp)); 22834 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22835 return false; 22836 } 22837 return true; 22838 } 22839 22840 protected SupplyDelivery.SupplyDeliverySuppliedItemComponent parseSupplyDeliverySuppliedItemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22841 SupplyDelivery.SupplyDeliverySuppliedItemComponent res = new SupplyDelivery.SupplyDeliverySuppliedItemComponent(); 22842 parseElementAttributes(xpp, res); 22843 next(xpp); 22844 int eventType = nextNoWhitespace(xpp); 22845 while (eventType != XmlPullParser.END_TAG) { 22846 if (!parseSupplyDeliverySuppliedItemComponentContent(eventType, xpp, res)) 22847 unknownContent(xpp); 22848 eventType = nextNoWhitespace(xpp); 22849 } 22850 next(xpp); 22851 parseElementClose(res); 22852 return res; 22853 } 22854 22855 protected boolean parseSupplyDeliverySuppliedItemComponentContent(int eventType, XmlPullParser xpp, SupplyDelivery.SupplyDeliverySuppliedItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22856 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 22857 res.setQuantity(parseQuantity(xpp)); 22858 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "item")) { 22859 res.setItem(parseType("item", xpp)); 22860 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22861 return false; 22862 } 22863 return true; 22864 } 22865 22866 protected SupplyRequest parseSupplyRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22867 SupplyRequest res = new SupplyRequest(); 22868 parseResourceAttributes(xpp, res); 22869 next(xpp); 22870 int eventType = nextNoWhitespace(xpp); 22871 while (eventType != XmlPullParser.END_TAG) { 22872 if (!parseSupplyRequestContent(eventType, xpp, res)) 22873 unknownContent(xpp); 22874 eventType = nextNoWhitespace(xpp); 22875 } 22876 next(xpp); 22877 parseElementClose(res); 22878 return res; 22879 } 22880 22881 protected boolean parseSupplyRequestContent(int eventType, XmlPullParser xpp, SupplyRequest res) throws XmlPullParserException, IOException, FHIRFormatError { 22882 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22883 res.getIdentifier().add(parseIdentifier(xpp)); 22884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22885 res.setStatusElement(parseEnumeration(xpp, SupplyRequest.SupplyRequestStatus.NULL, new SupplyRequest.SupplyRequestStatusEnumFactory())); 22886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 22887 res.setCategory(parseCodeableConcept(xpp)); 22888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 22889 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 22890 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "item")) { 22891 res.setItem(parseType("item", xpp)); 22892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 22893 res.setQuantity(parseQuantity(xpp)); 22894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 22895 res.getParameter().add(parseSupplyRequestParameterComponent(xpp)); 22896 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { 22897 res.setOccurrence(parseType("occurrence", xpp)); 22898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 22899 res.setAuthoredOnElement(parseDateTime(xpp)); 22900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 22901 res.setRequester(parseReference(xpp)); 22902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 22903 res.getSupplier().add(parseReference(xpp)); 22904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 22905 res.getReasonCode().add(parseCodeableConcept(xpp)); 22906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 22907 res.getReasonReference().add(parseReference(xpp)); 22908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deliverFrom")) { 22909 res.setDeliverFrom(parseReference(xpp)); 22910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deliverTo")) { 22911 res.setDeliverTo(parseReference(xpp)); 22912 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 22913 return false; 22914 } 22915 return true; 22916 } 22917 22918 protected SupplyRequest.SupplyRequestParameterComponent parseSupplyRequestParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22919 SupplyRequest.SupplyRequestParameterComponent res = new SupplyRequest.SupplyRequestParameterComponent(); 22920 parseElementAttributes(xpp, res); 22921 next(xpp); 22922 int eventType = nextNoWhitespace(xpp); 22923 while (eventType != XmlPullParser.END_TAG) { 22924 if (!parseSupplyRequestParameterComponentContent(eventType, xpp, res)) 22925 unknownContent(xpp); 22926 eventType = nextNoWhitespace(xpp); 22927 } 22928 next(xpp); 22929 parseElementClose(res); 22930 return res; 22931 } 22932 22933 protected boolean parseSupplyRequestParameterComponentContent(int eventType, XmlPullParser xpp, SupplyRequest.SupplyRequestParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 22934 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 22935 res.setCode(parseCodeableConcept(xpp)); 22936 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 22937 res.setValue(parseType("value", xpp)); 22938 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 22939 return false; 22940 } 22941 return true; 22942 } 22943 22944 protected Task parseTask(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 22945 Task res = new Task(); 22946 parseResourceAttributes(xpp, res); 22947 next(xpp); 22948 int eventType = nextNoWhitespace(xpp); 22949 while (eventType != XmlPullParser.END_TAG) { 22950 if (!parseTaskContent(eventType, xpp, res)) 22951 unknownContent(xpp); 22952 eventType = nextNoWhitespace(xpp); 22953 } 22954 next(xpp); 22955 parseElementClose(res); 22956 return res; 22957 } 22958 22959 protected boolean parseTaskContent(int eventType, XmlPullParser xpp, Task res) throws XmlPullParserException, IOException, FHIRFormatError { 22960 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 22961 res.getIdentifier().add(parseIdentifier(xpp)); 22962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { 22963 res.setInstantiatesCanonicalElement(parseCanonical(xpp)); 22964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { 22965 res.setInstantiatesUriElement(parseUri(xpp)); 22966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { 22967 res.getBasedOn().add(parseReference(xpp)); 22968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { 22969 res.setGroupIdentifier(parseIdentifier(xpp)); 22970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 22971 res.getPartOf().add(parseReference(xpp)); 22972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 22973 res.setStatusElement(parseEnumeration(xpp, Task.TaskStatus.NULL, new Task.TaskStatusEnumFactory())); 22974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 22975 res.setStatusReason(parseCodeableConcept(xpp)); 22976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessStatus")) { 22977 res.setBusinessStatus(parseCodeableConcept(xpp)); 22978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { 22979 res.setIntentElement(parseEnumeration(xpp, Task.TaskIntent.NULL, new Task.TaskIntentEnumFactory())); 22980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 22981 res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); 22982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 22983 res.setCode(parseCodeableConcept(xpp)); 22984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 22985 res.setDescriptionElement(parseString(xpp)); 22986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 22987 res.setFocus(parseReference(xpp)); 22988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("for")) { 22989 res.setFor(parseReference(xpp)); 22990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 22991 res.setEncounter(parseReference(xpp)); 22992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("executionPeriod")) { 22993 res.setExecutionPeriod(parsePeriod(xpp)); 22994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { 22995 res.setAuthoredOnElement(parseDateTime(xpp)); 22996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastModified")) { 22997 res.setLastModifiedElement(parseDateTime(xpp)); 22998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 22999 res.setRequester(parseReference(xpp)); 23000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { 23001 res.getPerformerType().add(parseCodeableConcept(xpp)); 23002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 23003 res.setOwner(parseReference(xpp)); 23004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 23005 res.setLocation(parseReference(xpp)); 23006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 23007 res.setReasonCode(parseCodeableConcept(xpp)); 23008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 23009 res.setReasonReference(parseReference(xpp)); 23010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { 23011 res.getInsurance().add(parseReference(xpp)); 23012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 23013 res.getNote().add(parseAnnotation(xpp)); 23014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relevantHistory")) { 23015 res.getRelevantHistory().add(parseReference(xpp)); 23016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("restriction")) { 23017 res.setRestriction(parseTaskRestrictionComponent(xpp)); 23018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { 23019 res.getInput().add(parseTaskParameterComponent(xpp)); 23020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("output")) { 23021 res.getOutput().add(parseTaskOutputComponent(xpp)); 23022 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 23023 return false; 23024 } 23025 return true; 23026 } 23027 23028 protected Task.TaskRestrictionComponent parseTaskRestrictionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23029 Task.TaskRestrictionComponent res = new Task.TaskRestrictionComponent(); 23030 parseElementAttributes(xpp, res); 23031 next(xpp); 23032 int eventType = nextNoWhitespace(xpp); 23033 while (eventType != XmlPullParser.END_TAG) { 23034 if (!parseTaskRestrictionComponentContent(eventType, xpp, res)) 23035 unknownContent(xpp); 23036 eventType = nextNoWhitespace(xpp); 23037 } 23038 next(xpp); 23039 parseElementClose(res); 23040 return res; 23041 } 23042 23043 protected boolean parseTaskRestrictionComponentContent(int eventType, XmlPullParser xpp, Task.TaskRestrictionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23044 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repetitions")) { 23045 res.setRepetitionsElement(parsePositiveInt(xpp)); 23046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 23047 res.setPeriod(parsePeriod(xpp)); 23048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 23049 res.getRecipient().add(parseReference(xpp)); 23050 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23051 return false; 23052 } 23053 return true; 23054 } 23055 23056 protected Task.ParameterComponent parseTaskParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23057 Task.ParameterComponent res = new Task.ParameterComponent(); 23058 parseElementAttributes(xpp, res); 23059 next(xpp); 23060 int eventType = nextNoWhitespace(xpp); 23061 while (eventType != XmlPullParser.END_TAG) { 23062 if (!parseTaskParameterComponentContent(eventType, xpp, res)) 23063 unknownContent(xpp); 23064 eventType = nextNoWhitespace(xpp); 23065 } 23066 next(xpp); 23067 parseElementClose(res); 23068 return res; 23069 } 23070 23071 protected boolean parseTaskParameterComponentContent(int eventType, XmlPullParser xpp, Task.ParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23072 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 23073 res.setType(parseCodeableConcept(xpp)); 23074 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 23075 res.setValue(parseType("value", xpp)); 23076 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23077 return false; 23078 } 23079 return true; 23080 } 23081 23082 protected Task.TaskOutputComponent parseTaskOutputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23083 Task.TaskOutputComponent res = new Task.TaskOutputComponent(); 23084 parseElementAttributes(xpp, res); 23085 next(xpp); 23086 int eventType = nextNoWhitespace(xpp); 23087 while (eventType != XmlPullParser.END_TAG) { 23088 if (!parseTaskOutputComponentContent(eventType, xpp, res)) 23089 unknownContent(xpp); 23090 eventType = nextNoWhitespace(xpp); 23091 } 23092 next(xpp); 23093 parseElementClose(res); 23094 return res; 23095 } 23096 23097 protected boolean parseTaskOutputComponentContent(int eventType, XmlPullParser xpp, Task.TaskOutputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23098 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 23099 res.setType(parseCodeableConcept(xpp)); 23100 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 23101 res.setValue(parseType("value", xpp)); 23102 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23103 return false; 23104 } 23105 return true; 23106 } 23107 23108 protected TerminologyCapabilities parseTerminologyCapabilities(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23109 TerminologyCapabilities res = new TerminologyCapabilities(); 23110 parseResourceAttributes(xpp, res); 23111 next(xpp); 23112 int eventType = nextNoWhitespace(xpp); 23113 while (eventType != XmlPullParser.END_TAG) { 23114 if (!parseTerminologyCapabilitiesContent(eventType, xpp, res)) 23115 unknownContent(xpp); 23116 eventType = nextNoWhitespace(xpp); 23117 } 23118 next(xpp); 23119 parseElementClose(res); 23120 return res; 23121 } 23122 23123 protected boolean parseTerminologyCapabilitiesContent(int eventType, XmlPullParser xpp, TerminologyCapabilities res) throws XmlPullParserException, IOException, FHIRFormatError { 23124 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 23125 res.setUrlElement(parseUri(xpp)); 23126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 23127 res.setVersionElement(parseString(xpp)); 23128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23129 res.setNameElement(parseString(xpp)); 23130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 23131 res.setTitleElement(parseString(xpp)); 23132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 23133 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 23134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 23135 res.setExperimentalElement(parseBoolean(xpp)); 23136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 23137 res.setDateElement(parseDateTime(xpp)); 23138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 23139 res.setPublisherElement(parseString(xpp)); 23140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 23141 res.getContact().add(parseContactDetail(xpp)); 23142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23143 res.setDescriptionElement(parseMarkdown(xpp)); 23144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 23145 res.getUseContext().add(parseUsageContext(xpp)); 23146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 23147 res.getJurisdiction().add(parseCodeableConcept(xpp)); 23148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 23149 res.setPurposeElement(parseMarkdown(xpp)); 23150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 23151 res.setCopyrightElement(parseMarkdown(xpp)); 23152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 23153 res.setKindElement(parseEnumeration(xpp, Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); 23154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 23155 res.setSoftware(parseTerminologyCapabilitiesSoftwareComponent(xpp)); 23156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementation")) { 23157 res.setImplementation(parseTerminologyCapabilitiesImplementationComponent(xpp)); 23158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lockedDate")) { 23159 res.setLockedDateElement(parseBoolean(xpp)); 23160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 23161 res.getCodeSystem().add(parseTerminologyCapabilitiesCodeSystemComponent(xpp)); 23162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expansion")) { 23163 res.setExpansion(parseTerminologyCapabilitiesExpansionComponent(xpp)); 23164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSearch")) { 23165 res.setCodeSearchElement(parseEnumeration(xpp, TerminologyCapabilities.CodeSearchSupport.NULL, new TerminologyCapabilities.CodeSearchSupportEnumFactory())); 23166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validateCode")) { 23167 res.setValidateCode(parseTerminologyCapabilitiesValidateCodeComponent(xpp)); 23168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("translation")) { 23169 res.setTranslation(parseTerminologyCapabilitiesTranslationComponent(xpp)); 23170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("closure")) { 23171 res.setClosure(parseTerminologyCapabilitiesClosureComponent(xpp)); 23172 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 23173 return false; 23174 } 23175 return true; 23176 } 23177 23178 protected TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent parseTerminologyCapabilitiesSoftwareComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23179 TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent res = new TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent(); 23180 parseElementAttributes(xpp, res); 23181 next(xpp); 23182 int eventType = nextNoWhitespace(xpp); 23183 while (eventType != XmlPullParser.END_TAG) { 23184 if (!parseTerminologyCapabilitiesSoftwareComponentContent(eventType, xpp, res)) 23185 unknownContent(xpp); 23186 eventType = nextNoWhitespace(xpp); 23187 } 23188 next(xpp); 23189 parseElementClose(res); 23190 return res; 23191 } 23192 23193 protected boolean parseTerminologyCapabilitiesSoftwareComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23194 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23195 res.setNameElement(parseString(xpp)); 23196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 23197 res.setVersionElement(parseString(xpp)); 23198 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23199 return false; 23200 } 23201 return true; 23202 } 23203 23204 protected TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent parseTerminologyCapabilitiesImplementationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23205 TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent res = new TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent(); 23206 parseElementAttributes(xpp, res); 23207 next(xpp); 23208 int eventType = nextNoWhitespace(xpp); 23209 while (eventType != XmlPullParser.END_TAG) { 23210 if (!parseTerminologyCapabilitiesImplementationComponentContent(eventType, xpp, res)) 23211 unknownContent(xpp); 23212 eventType = nextNoWhitespace(xpp); 23213 } 23214 next(xpp); 23215 parseElementClose(res); 23216 return res; 23217 } 23218 23219 protected boolean parseTerminologyCapabilitiesImplementationComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23220 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23221 res.setDescriptionElement(parseString(xpp)); 23222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 23223 res.setUrlElement(parseUrl(xpp)); 23224 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23225 return false; 23226 } 23227 return true; 23228 } 23229 23230 protected TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent parseTerminologyCapabilitiesCodeSystemComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23231 TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent res = new TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent(); 23232 parseElementAttributes(xpp, res); 23233 next(xpp); 23234 int eventType = nextNoWhitespace(xpp); 23235 while (eventType != XmlPullParser.END_TAG) { 23236 if (!parseTerminologyCapabilitiesCodeSystemComponentContent(eventType, xpp, res)) 23237 unknownContent(xpp); 23238 eventType = nextNoWhitespace(xpp); 23239 } 23240 next(xpp); 23241 parseElementClose(res); 23242 return res; 23243 } 23244 23245 protected boolean parseTerminologyCapabilitiesCodeSystemComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23246 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 23247 res.setUriElement(parseCanonical(xpp)); 23248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 23249 res.getVersion().add(parseTerminologyCapabilitiesCodeSystemVersionComponent(xpp)); 23250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subsumption")) { 23251 res.setSubsumptionElement(parseBoolean(xpp)); 23252 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23253 return false; 23254 } 23255 return true; 23256 } 23257 23258 protected TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent parseTerminologyCapabilitiesCodeSystemVersionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23259 TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent res = new TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent(); 23260 parseElementAttributes(xpp, res); 23261 next(xpp); 23262 int eventType = nextNoWhitespace(xpp); 23263 while (eventType != XmlPullParser.END_TAG) { 23264 if (!parseTerminologyCapabilitiesCodeSystemVersionComponentContent(eventType, xpp, res)) 23265 unknownContent(xpp); 23266 eventType = nextNoWhitespace(xpp); 23267 } 23268 next(xpp); 23269 parseElementClose(res); 23270 return res; 23271 } 23272 23273 protected boolean parseTerminologyCapabilitiesCodeSystemVersionComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23274 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 23275 res.setCodeElement(parseString(xpp)); 23276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isDefault")) { 23277 res.setIsDefaultElement(parseBoolean(xpp)); 23278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compositional")) { 23279 res.setCompositionalElement(parseBoolean(xpp)); 23280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 23281 res.getLanguage().add(parseCode(xpp)); 23282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { 23283 res.getFilter().add(parseTerminologyCapabilitiesCodeSystemVersionFilterComponent(xpp)); 23284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 23285 res.getProperty().add(parseCode(xpp)); 23286 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23287 return false; 23288 } 23289 return true; 23290 } 23291 23292 protected TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent parseTerminologyCapabilitiesCodeSystemVersionFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23293 TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent res = new TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent(); 23294 parseElementAttributes(xpp, res); 23295 next(xpp); 23296 int eventType = nextNoWhitespace(xpp); 23297 while (eventType != XmlPullParser.END_TAG) { 23298 if (!parseTerminologyCapabilitiesCodeSystemVersionFilterComponentContent(eventType, xpp, res)) 23299 unknownContent(xpp); 23300 eventType = nextNoWhitespace(xpp); 23301 } 23302 next(xpp); 23303 parseElementClose(res); 23304 return res; 23305 } 23306 23307 protected boolean parseTerminologyCapabilitiesCodeSystemVersionFilterComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23308 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 23309 res.setCodeElement(parseCode(xpp)); 23310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("op")) { 23311 res.getOp().add(parseCode(xpp)); 23312 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23313 return false; 23314 } 23315 return true; 23316 } 23317 23318 protected TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent parseTerminologyCapabilitiesExpansionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23319 TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent res = new TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent(); 23320 parseElementAttributes(xpp, res); 23321 next(xpp); 23322 int eventType = nextNoWhitespace(xpp); 23323 while (eventType != XmlPullParser.END_TAG) { 23324 if (!parseTerminologyCapabilitiesExpansionComponentContent(eventType, xpp, res)) 23325 unknownContent(xpp); 23326 eventType = nextNoWhitespace(xpp); 23327 } 23328 next(xpp); 23329 parseElementClose(res); 23330 return res; 23331 } 23332 23333 protected boolean parseTerminologyCapabilitiesExpansionComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23334 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hierarchical")) { 23335 res.setHierarchicalElement(parseBoolean(xpp)); 23336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paging")) { 23337 res.setPagingElement(parseBoolean(xpp)); 23338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("incomplete")) { 23339 res.setIncompleteElement(parseBoolean(xpp)); 23340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 23341 res.getParameter().add(parseTerminologyCapabilitiesExpansionParameterComponent(xpp)); 23342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("textFilter")) { 23343 res.setTextFilterElement(parseMarkdown(xpp)); 23344 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23345 return false; 23346 } 23347 return true; 23348 } 23349 23350 protected TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent parseTerminologyCapabilitiesExpansionParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23351 TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent res = new TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent(); 23352 parseElementAttributes(xpp, res); 23353 next(xpp); 23354 int eventType = nextNoWhitespace(xpp); 23355 while (eventType != XmlPullParser.END_TAG) { 23356 if (!parseTerminologyCapabilitiesExpansionParameterComponentContent(eventType, xpp, res)) 23357 unknownContent(xpp); 23358 eventType = nextNoWhitespace(xpp); 23359 } 23360 next(xpp); 23361 parseElementClose(res); 23362 return res; 23363 } 23364 23365 protected boolean parseTerminologyCapabilitiesExpansionParameterComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23366 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23367 res.setNameElement(parseCode(xpp)); 23368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 23369 res.setDocumentationElement(parseString(xpp)); 23370 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23371 return false; 23372 } 23373 return true; 23374 } 23375 23376 protected TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent parseTerminologyCapabilitiesValidateCodeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23377 TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent res = new TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent(); 23378 parseElementAttributes(xpp, res); 23379 next(xpp); 23380 int eventType = nextNoWhitespace(xpp); 23381 while (eventType != XmlPullParser.END_TAG) { 23382 if (!parseTerminologyCapabilitiesValidateCodeComponentContent(eventType, xpp, res)) 23383 unknownContent(xpp); 23384 eventType = nextNoWhitespace(xpp); 23385 } 23386 next(xpp); 23387 parseElementClose(res); 23388 return res; 23389 } 23390 23391 protected boolean parseTerminologyCapabilitiesValidateCodeComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23392 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("translations")) { 23393 res.setTranslationsElement(parseBoolean(xpp)); 23394 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23395 return false; 23396 } 23397 return true; 23398 } 23399 23400 protected TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent parseTerminologyCapabilitiesTranslationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23401 TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent res = new TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent(); 23402 parseElementAttributes(xpp, res); 23403 next(xpp); 23404 int eventType = nextNoWhitespace(xpp); 23405 while (eventType != XmlPullParser.END_TAG) { 23406 if (!parseTerminologyCapabilitiesTranslationComponentContent(eventType, xpp, res)) 23407 unknownContent(xpp); 23408 eventType = nextNoWhitespace(xpp); 23409 } 23410 next(xpp); 23411 parseElementClose(res); 23412 return res; 23413 } 23414 23415 protected boolean parseTerminologyCapabilitiesTranslationComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23416 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("needsMap")) { 23417 res.setNeedsMapElement(parseBoolean(xpp)); 23418 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23419 return false; 23420 } 23421 return true; 23422 } 23423 23424 protected TerminologyCapabilities.TerminologyCapabilitiesClosureComponent parseTerminologyCapabilitiesClosureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23425 TerminologyCapabilities.TerminologyCapabilitiesClosureComponent res = new TerminologyCapabilities.TerminologyCapabilitiesClosureComponent(); 23426 parseElementAttributes(xpp, res); 23427 next(xpp); 23428 int eventType = nextNoWhitespace(xpp); 23429 while (eventType != XmlPullParser.END_TAG) { 23430 if (!parseTerminologyCapabilitiesClosureComponentContent(eventType, xpp, res)) 23431 unknownContent(xpp); 23432 eventType = nextNoWhitespace(xpp); 23433 } 23434 next(xpp); 23435 parseElementClose(res); 23436 return res; 23437 } 23438 23439 protected boolean parseTerminologyCapabilitiesClosureComponentContent(int eventType, XmlPullParser xpp, TerminologyCapabilities.TerminologyCapabilitiesClosureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23440 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("translation")) { 23441 res.setTranslationElement(parseBoolean(xpp)); 23442 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23443 return false; 23444 } 23445 return true; 23446 } 23447 23448 protected TestReport parseTestReport(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23449 TestReport res = new TestReport(); 23450 parseResourceAttributes(xpp, res); 23451 next(xpp); 23452 int eventType = nextNoWhitespace(xpp); 23453 while (eventType != XmlPullParser.END_TAG) { 23454 if (!parseTestReportContent(eventType, xpp, res)) 23455 unknownContent(xpp); 23456 eventType = nextNoWhitespace(xpp); 23457 } 23458 next(xpp); 23459 parseElementClose(res); 23460 return res; 23461 } 23462 23463 protected boolean parseTestReportContent(int eventType, XmlPullParser xpp, TestReport res) throws XmlPullParserException, IOException, FHIRFormatError { 23464 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 23465 res.setIdentifier(parseIdentifier(xpp)); 23466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23467 res.setNameElement(parseString(xpp)); 23468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 23469 res.setStatusElement(parseEnumeration(xpp, TestReport.TestReportStatus.NULL, new TestReport.TestReportStatusEnumFactory())); 23470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("testScript")) { 23471 res.setTestScript(parseReference(xpp)); 23472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 23473 res.setResultElement(parseEnumeration(xpp, TestReport.TestReportResult.NULL, new TestReport.TestReportResultEnumFactory())); 23474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 23475 res.setScoreElement(parseDecimal(xpp)); 23476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tester")) { 23477 res.setTesterElement(parseString(xpp)); 23478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 23479 res.setIssuedElement(parseDateTime(xpp)); 23480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 23481 res.getParticipant().add(parseTestReportParticipantComponent(xpp)); 23482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("setup")) { 23483 res.setSetup(parseTestReportSetupComponent(xpp)); 23484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("test")) { 23485 res.getTest().add(parseTestReportTestComponent(xpp)); 23486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("teardown")) { 23487 res.setTeardown(parseTestReportTeardownComponent(xpp)); 23488 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 23489 return false; 23490 } 23491 return true; 23492 } 23493 23494 protected TestReport.TestReportParticipantComponent parseTestReportParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23495 TestReport.TestReportParticipantComponent res = new TestReport.TestReportParticipantComponent(); 23496 parseElementAttributes(xpp, res); 23497 next(xpp); 23498 int eventType = nextNoWhitespace(xpp); 23499 while (eventType != XmlPullParser.END_TAG) { 23500 if (!parseTestReportParticipantComponentContent(eventType, xpp, res)) 23501 unknownContent(xpp); 23502 eventType = nextNoWhitespace(xpp); 23503 } 23504 next(xpp); 23505 parseElementClose(res); 23506 return res; 23507 } 23508 23509 protected boolean parseTestReportParticipantComponentContent(int eventType, XmlPullParser xpp, TestReport.TestReportParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23510 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 23511 res.setTypeElement(parseEnumeration(xpp, TestReport.TestReportParticipantType.NULL, new TestReport.TestReportParticipantTypeEnumFactory())); 23512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 23513 res.setUriElement(parseUri(xpp)); 23514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 23515 res.setDisplayElement(parseString(xpp)); 23516 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23517 return false; 23518 } 23519 return true; 23520 } 23521 23522 protected TestReport.TestReportSetupComponent parseTestReportSetupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23523 TestReport.TestReportSetupComponent res = new TestReport.TestReportSetupComponent(); 23524 parseElementAttributes(xpp, res); 23525 next(xpp); 23526 int eventType = nextNoWhitespace(xpp); 23527 while (eventType != XmlPullParser.END_TAG) { 23528 if (!parseTestReportSetupComponentContent(eventType, xpp, res)) 23529 unknownContent(xpp); 23530 eventType = nextNoWhitespace(xpp); 23531 } 23532 next(xpp); 23533 parseElementClose(res); 23534 return res; 23535 } 23536 23537 protected boolean parseTestReportSetupComponentContent(int eventType, XmlPullParser xpp, TestReport.TestReportSetupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23538 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 23539 res.getAction().add(parseTestReportSetupActionComponent(xpp)); 23540 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23541 return false; 23542 } 23543 return true; 23544 } 23545 23546 protected TestReport.SetupActionComponent parseTestReportSetupActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23547 TestReport.SetupActionComponent res = new TestReport.SetupActionComponent(); 23548 parseElementAttributes(xpp, res); 23549 next(xpp); 23550 int eventType = nextNoWhitespace(xpp); 23551 while (eventType != XmlPullParser.END_TAG) { 23552 if (!parseTestReportSetupActionComponentContent(eventType, xpp, res)) 23553 unknownContent(xpp); 23554 eventType = nextNoWhitespace(xpp); 23555 } 23556 next(xpp); 23557 parseElementClose(res); 23558 return res; 23559 } 23560 23561 protected boolean parseTestReportSetupActionComponentContent(int eventType, XmlPullParser xpp, TestReport.SetupActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23562 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 23563 res.setOperation(parseTestReportSetupActionOperationComponent(xpp)); 23564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 23565 res.setAssert(parseTestReportSetupActionAssertComponent(xpp)); 23566 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23567 return false; 23568 } 23569 return true; 23570 } 23571 23572 protected TestReport.SetupActionOperationComponent parseTestReportSetupActionOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23573 TestReport.SetupActionOperationComponent res = new TestReport.SetupActionOperationComponent(); 23574 parseElementAttributes(xpp, res); 23575 next(xpp); 23576 int eventType = nextNoWhitespace(xpp); 23577 while (eventType != XmlPullParser.END_TAG) { 23578 if (!parseTestReportSetupActionOperationComponentContent(eventType, xpp, res)) 23579 unknownContent(xpp); 23580 eventType = nextNoWhitespace(xpp); 23581 } 23582 next(xpp); 23583 parseElementClose(res); 23584 return res; 23585 } 23586 23587 protected boolean parseTestReportSetupActionOperationComponentContent(int eventType, XmlPullParser xpp, TestReport.SetupActionOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23588 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 23589 res.setResultElement(parseEnumeration(xpp, TestReport.TestReportActionResult.NULL, new TestReport.TestReportActionResultEnumFactory())); 23590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("message")) { 23591 res.setMessageElement(parseMarkdown(xpp)); 23592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 23593 res.setDetailElement(parseUri(xpp)); 23594 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23595 return false; 23596 } 23597 return true; 23598 } 23599 23600 protected TestReport.SetupActionAssertComponent parseTestReportSetupActionAssertComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23601 TestReport.SetupActionAssertComponent res = new TestReport.SetupActionAssertComponent(); 23602 parseElementAttributes(xpp, res); 23603 next(xpp); 23604 int eventType = nextNoWhitespace(xpp); 23605 while (eventType != XmlPullParser.END_TAG) { 23606 if (!parseTestReportSetupActionAssertComponentContent(eventType, xpp, res)) 23607 unknownContent(xpp); 23608 eventType = nextNoWhitespace(xpp); 23609 } 23610 next(xpp); 23611 parseElementClose(res); 23612 return res; 23613 } 23614 23615 protected boolean parseTestReportSetupActionAssertComponentContent(int eventType, XmlPullParser xpp, TestReport.SetupActionAssertComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23616 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 23617 res.setResultElement(parseEnumeration(xpp, TestReport.TestReportActionResult.NULL, new TestReport.TestReportActionResultEnumFactory())); 23618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("message")) { 23619 res.setMessageElement(parseMarkdown(xpp)); 23620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 23621 res.setDetailElement(parseString(xpp)); 23622 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23623 return false; 23624 } 23625 return true; 23626 } 23627 23628 protected TestReport.TestReportTestComponent parseTestReportTestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23629 TestReport.TestReportTestComponent res = new TestReport.TestReportTestComponent(); 23630 parseElementAttributes(xpp, res); 23631 next(xpp); 23632 int eventType = nextNoWhitespace(xpp); 23633 while (eventType != XmlPullParser.END_TAG) { 23634 if (!parseTestReportTestComponentContent(eventType, xpp, res)) 23635 unknownContent(xpp); 23636 eventType = nextNoWhitespace(xpp); 23637 } 23638 next(xpp); 23639 parseElementClose(res); 23640 return res; 23641 } 23642 23643 protected boolean parseTestReportTestComponentContent(int eventType, XmlPullParser xpp, TestReport.TestReportTestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23644 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23645 res.setNameElement(parseString(xpp)); 23646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23647 res.setDescriptionElement(parseString(xpp)); 23648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 23649 res.getAction().add(parseTestReportTestActionComponent(xpp)); 23650 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23651 return false; 23652 } 23653 return true; 23654 } 23655 23656 protected TestReport.TestActionComponent parseTestReportTestActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23657 TestReport.TestActionComponent res = new TestReport.TestActionComponent(); 23658 parseElementAttributes(xpp, res); 23659 next(xpp); 23660 int eventType = nextNoWhitespace(xpp); 23661 while (eventType != XmlPullParser.END_TAG) { 23662 if (!parseTestReportTestActionComponentContent(eventType, xpp, res)) 23663 unknownContent(xpp); 23664 eventType = nextNoWhitespace(xpp); 23665 } 23666 next(xpp); 23667 parseElementClose(res); 23668 return res; 23669 } 23670 23671 protected boolean parseTestReportTestActionComponentContent(int eventType, XmlPullParser xpp, TestReport.TestActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23672 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 23673 res.setOperation(parseTestReportSetupActionOperationComponent(xpp)); 23674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 23675 res.setAssert(parseTestReportSetupActionAssertComponent(xpp)); 23676 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23677 return false; 23678 } 23679 return true; 23680 } 23681 23682 protected TestReport.TestReportTeardownComponent parseTestReportTeardownComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23683 TestReport.TestReportTeardownComponent res = new TestReport.TestReportTeardownComponent(); 23684 parseElementAttributes(xpp, res); 23685 next(xpp); 23686 int eventType = nextNoWhitespace(xpp); 23687 while (eventType != XmlPullParser.END_TAG) { 23688 if (!parseTestReportTeardownComponentContent(eventType, xpp, res)) 23689 unknownContent(xpp); 23690 eventType = nextNoWhitespace(xpp); 23691 } 23692 next(xpp); 23693 parseElementClose(res); 23694 return res; 23695 } 23696 23697 protected boolean parseTestReportTeardownComponentContent(int eventType, XmlPullParser xpp, TestReport.TestReportTeardownComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23698 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 23699 res.getAction().add(parseTestReportTeardownActionComponent(xpp)); 23700 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23701 return false; 23702 } 23703 return true; 23704 } 23705 23706 protected TestReport.TeardownActionComponent parseTestReportTeardownActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23707 TestReport.TeardownActionComponent res = new TestReport.TeardownActionComponent(); 23708 parseElementAttributes(xpp, res); 23709 next(xpp); 23710 int eventType = nextNoWhitespace(xpp); 23711 while (eventType != XmlPullParser.END_TAG) { 23712 if (!parseTestReportTeardownActionComponentContent(eventType, xpp, res)) 23713 unknownContent(xpp); 23714 eventType = nextNoWhitespace(xpp); 23715 } 23716 next(xpp); 23717 parseElementClose(res); 23718 return res; 23719 } 23720 23721 protected boolean parseTestReportTeardownActionComponentContent(int eventType, XmlPullParser xpp, TestReport.TeardownActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23722 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 23723 res.setOperation(parseTestReportSetupActionOperationComponent(xpp)); 23724 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23725 return false; 23726 } 23727 return true; 23728 } 23729 23730 protected TestScript parseTestScript(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23731 TestScript res = new TestScript(); 23732 parseResourceAttributes(xpp, res); 23733 next(xpp); 23734 int eventType = nextNoWhitespace(xpp); 23735 while (eventType != XmlPullParser.END_TAG) { 23736 if (!parseTestScriptContent(eventType, xpp, res)) 23737 unknownContent(xpp); 23738 eventType = nextNoWhitespace(xpp); 23739 } 23740 next(xpp); 23741 parseElementClose(res); 23742 return res; 23743 } 23744 23745 protected boolean parseTestScriptContent(int eventType, XmlPullParser xpp, TestScript res) throws XmlPullParserException, IOException, FHIRFormatError { 23746 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 23747 res.setUrlElement(parseUri(xpp)); 23748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 23749 res.setIdentifier(parseIdentifier(xpp)); 23750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 23751 res.setVersionElement(parseString(xpp)); 23752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23753 res.setNameElement(parseString(xpp)); 23754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 23755 res.setTitleElement(parseString(xpp)); 23756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 23757 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 23758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 23759 res.setExperimentalElement(parseBoolean(xpp)); 23760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 23761 res.setDateElement(parseDateTime(xpp)); 23762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 23763 res.setPublisherElement(parseString(xpp)); 23764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 23765 res.getContact().add(parseContactDetail(xpp)); 23766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23767 res.setDescriptionElement(parseMarkdown(xpp)); 23768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 23769 res.getUseContext().add(parseUsageContext(xpp)); 23770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 23771 res.getJurisdiction().add(parseCodeableConcept(xpp)); 23772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 23773 res.setPurposeElement(parseMarkdown(xpp)); 23774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 23775 res.setCopyrightElement(parseMarkdown(xpp)); 23776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 23777 res.getOrigin().add(parseTestScriptOriginComponent(xpp)); 23778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 23779 res.getDestination().add(parseTestScriptDestinationComponent(xpp)); 23780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 23781 res.setMetadata(parseTestScriptMetadataComponent(xpp)); 23782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fixture")) { 23783 res.getFixture().add(parseTestScriptFixtureComponent(xpp)); 23784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 23785 res.getProfile().add(parseReference(xpp)); 23786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 23787 res.getVariable().add(parseTestScriptVariableComponent(xpp)); 23788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("setup")) { 23789 res.setSetup(parseTestScriptSetupComponent(xpp)); 23790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("test")) { 23791 res.getTest().add(parseTestScriptTestComponent(xpp)); 23792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("teardown")) { 23793 res.setTeardown(parseTestScriptTeardownComponent(xpp)); 23794 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 23795 return false; 23796 } 23797 return true; 23798 } 23799 23800 protected TestScript.TestScriptOriginComponent parseTestScriptOriginComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23801 TestScript.TestScriptOriginComponent res = new TestScript.TestScriptOriginComponent(); 23802 parseElementAttributes(xpp, res); 23803 next(xpp); 23804 int eventType = nextNoWhitespace(xpp); 23805 while (eventType != XmlPullParser.END_TAG) { 23806 if (!parseTestScriptOriginComponentContent(eventType, xpp, res)) 23807 unknownContent(xpp); 23808 eventType = nextNoWhitespace(xpp); 23809 } 23810 next(xpp); 23811 parseElementClose(res); 23812 return res; 23813 } 23814 23815 protected boolean parseTestScriptOriginComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptOriginComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23816 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("index")) { 23817 res.setIndexElement(parseInteger(xpp)); 23818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 23819 res.setProfile(parseCoding(xpp)); 23820 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23821 return false; 23822 } 23823 return true; 23824 } 23825 23826 protected TestScript.TestScriptDestinationComponent parseTestScriptDestinationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23827 TestScript.TestScriptDestinationComponent res = new TestScript.TestScriptDestinationComponent(); 23828 parseElementAttributes(xpp, res); 23829 next(xpp); 23830 int eventType = nextNoWhitespace(xpp); 23831 while (eventType != XmlPullParser.END_TAG) { 23832 if (!parseTestScriptDestinationComponentContent(eventType, xpp, res)) 23833 unknownContent(xpp); 23834 eventType = nextNoWhitespace(xpp); 23835 } 23836 next(xpp); 23837 parseElementClose(res); 23838 return res; 23839 } 23840 23841 protected boolean parseTestScriptDestinationComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptDestinationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23842 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("index")) { 23843 res.setIndexElement(parseInteger(xpp)); 23844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 23845 res.setProfile(parseCoding(xpp)); 23846 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23847 return false; 23848 } 23849 return true; 23850 } 23851 23852 protected TestScript.TestScriptMetadataComponent parseTestScriptMetadataComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23853 TestScript.TestScriptMetadataComponent res = new TestScript.TestScriptMetadataComponent(); 23854 parseElementAttributes(xpp, res); 23855 next(xpp); 23856 int eventType = nextNoWhitespace(xpp); 23857 while (eventType != XmlPullParser.END_TAG) { 23858 if (!parseTestScriptMetadataComponentContent(eventType, xpp, res)) 23859 unknownContent(xpp); 23860 eventType = nextNoWhitespace(xpp); 23861 } 23862 next(xpp); 23863 parseElementClose(res); 23864 return res; 23865 } 23866 23867 protected boolean parseTestScriptMetadataComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptMetadataComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23868 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 23869 res.getLink().add(parseTestScriptMetadataLinkComponent(xpp)); 23870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capability")) { 23871 res.getCapability().add(parseTestScriptMetadataCapabilityComponent(xpp)); 23872 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23873 return false; 23874 } 23875 return true; 23876 } 23877 23878 protected TestScript.TestScriptMetadataLinkComponent parseTestScriptMetadataLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23879 TestScript.TestScriptMetadataLinkComponent res = new TestScript.TestScriptMetadataLinkComponent(); 23880 parseElementAttributes(xpp, res); 23881 next(xpp); 23882 int eventType = nextNoWhitespace(xpp); 23883 while (eventType != XmlPullParser.END_TAG) { 23884 if (!parseTestScriptMetadataLinkComponentContent(eventType, xpp, res)) 23885 unknownContent(xpp); 23886 eventType = nextNoWhitespace(xpp); 23887 } 23888 next(xpp); 23889 parseElementClose(res); 23890 return res; 23891 } 23892 23893 protected boolean parseTestScriptMetadataLinkComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptMetadataLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23894 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 23895 res.setUrlElement(parseUri(xpp)); 23896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23897 res.setDescriptionElement(parseString(xpp)); 23898 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23899 return false; 23900 } 23901 return true; 23902 } 23903 23904 protected TestScript.TestScriptMetadataCapabilityComponent parseTestScriptMetadataCapabilityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23905 TestScript.TestScriptMetadataCapabilityComponent res = new TestScript.TestScriptMetadataCapabilityComponent(); 23906 parseElementAttributes(xpp, res); 23907 next(xpp); 23908 int eventType = nextNoWhitespace(xpp); 23909 while (eventType != XmlPullParser.END_TAG) { 23910 if (!parseTestScriptMetadataCapabilityComponentContent(eventType, xpp, res)) 23911 unknownContent(xpp); 23912 eventType = nextNoWhitespace(xpp); 23913 } 23914 next(xpp); 23915 parseElementClose(res); 23916 return res; 23917 } 23918 23919 protected boolean parseTestScriptMetadataCapabilityComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptMetadataCapabilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23920 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 23921 res.setRequiredElement(parseBoolean(xpp)); 23922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validated")) { 23923 res.setValidatedElement(parseBoolean(xpp)); 23924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23925 res.setDescriptionElement(parseString(xpp)); 23926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 23927 res.getOrigin().add(parseInteger(xpp)); 23928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 23929 res.setDestinationElement(parseInteger(xpp)); 23930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 23931 res.getLink().add(parseUri(xpp)); 23932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capabilities")) { 23933 res.setCapabilitiesElement(parseCanonical(xpp)); 23934 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23935 return false; 23936 } 23937 return true; 23938 } 23939 23940 protected TestScript.TestScriptFixtureComponent parseTestScriptFixtureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23941 TestScript.TestScriptFixtureComponent res = new TestScript.TestScriptFixtureComponent(); 23942 parseElementAttributes(xpp, res); 23943 next(xpp); 23944 int eventType = nextNoWhitespace(xpp); 23945 while (eventType != XmlPullParser.END_TAG) { 23946 if (!parseTestScriptFixtureComponentContent(eventType, xpp, res)) 23947 unknownContent(xpp); 23948 eventType = nextNoWhitespace(xpp); 23949 } 23950 next(xpp); 23951 parseElementClose(res); 23952 return res; 23953 } 23954 23955 protected boolean parseTestScriptFixtureComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptFixtureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23956 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autocreate")) { 23957 res.setAutocreateElement(parseBoolean(xpp)); 23958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autodelete")) { 23959 res.setAutodeleteElement(parseBoolean(xpp)); 23960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 23961 res.setResource(parseReference(xpp)); 23962 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 23963 return false; 23964 } 23965 return true; 23966 } 23967 23968 protected TestScript.TestScriptVariableComponent parseTestScriptVariableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 23969 TestScript.TestScriptVariableComponent res = new TestScript.TestScriptVariableComponent(); 23970 parseElementAttributes(xpp, res); 23971 next(xpp); 23972 int eventType = nextNoWhitespace(xpp); 23973 while (eventType != XmlPullParser.END_TAG) { 23974 if (!parseTestScriptVariableComponentContent(eventType, xpp, res)) 23975 unknownContent(xpp); 23976 eventType = nextNoWhitespace(xpp); 23977 } 23978 next(xpp); 23979 parseElementClose(res); 23980 return res; 23981 } 23982 23983 protected boolean parseTestScriptVariableComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptVariableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 23984 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 23985 res.setNameElement(parseString(xpp)); 23986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("defaultValue")) { 23987 res.setDefaultValueElement(parseString(xpp)); 23988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 23989 res.setDescriptionElement(parseString(xpp)); 23990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 23991 res.setExpressionElement(parseString(xpp)); 23992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 23993 res.setHeaderFieldElement(parseString(xpp)); 23994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hint")) { 23995 res.setHintElement(parseString(xpp)); 23996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 23997 res.setPathElement(parseString(xpp)); 23998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 23999 res.setSourceIdElement(parseId(xpp)); 24000 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24001 return false; 24002 } 24003 return true; 24004 } 24005 24006 protected TestScript.TestScriptSetupComponent parseTestScriptSetupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24007 TestScript.TestScriptSetupComponent res = new TestScript.TestScriptSetupComponent(); 24008 parseElementAttributes(xpp, res); 24009 next(xpp); 24010 int eventType = nextNoWhitespace(xpp); 24011 while (eventType != XmlPullParser.END_TAG) { 24012 if (!parseTestScriptSetupComponentContent(eventType, xpp, res)) 24013 unknownContent(xpp); 24014 eventType = nextNoWhitespace(xpp); 24015 } 24016 next(xpp); 24017 parseElementClose(res); 24018 return res; 24019 } 24020 24021 protected boolean parseTestScriptSetupComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptSetupComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24022 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 24023 res.getAction().add(parseTestScriptSetupActionComponent(xpp)); 24024 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24025 return false; 24026 } 24027 return true; 24028 } 24029 24030 protected TestScript.SetupActionComponent parseTestScriptSetupActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24031 TestScript.SetupActionComponent res = new TestScript.SetupActionComponent(); 24032 parseElementAttributes(xpp, res); 24033 next(xpp); 24034 int eventType = nextNoWhitespace(xpp); 24035 while (eventType != XmlPullParser.END_TAG) { 24036 if (!parseTestScriptSetupActionComponentContent(eventType, xpp, res)) 24037 unknownContent(xpp); 24038 eventType = nextNoWhitespace(xpp); 24039 } 24040 next(xpp); 24041 parseElementClose(res); 24042 return res; 24043 } 24044 24045 protected boolean parseTestScriptSetupActionComponentContent(int eventType, XmlPullParser xpp, TestScript.SetupActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24046 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 24047 res.setOperation(parseTestScriptSetupActionOperationComponent(xpp)); 24048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 24049 res.setAssert(parseTestScriptSetupActionAssertComponent(xpp)); 24050 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24051 return false; 24052 } 24053 return true; 24054 } 24055 24056 protected TestScript.SetupActionOperationComponent parseTestScriptSetupActionOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24057 TestScript.SetupActionOperationComponent res = new TestScript.SetupActionOperationComponent(); 24058 parseElementAttributes(xpp, res); 24059 next(xpp); 24060 int eventType = nextNoWhitespace(xpp); 24061 while (eventType != XmlPullParser.END_TAG) { 24062 if (!parseTestScriptSetupActionOperationComponentContent(eventType, xpp, res)) 24063 unknownContent(xpp); 24064 eventType = nextNoWhitespace(xpp); 24065 } 24066 next(xpp); 24067 parseElementClose(res); 24068 return res; 24069 } 24070 24071 protected boolean parseTestScriptSetupActionOperationComponentContent(int eventType, XmlPullParser xpp, TestScript.SetupActionOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24072 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 24073 res.setType(parseCoding(xpp)); 24074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 24075 res.setResourceElement(parseEnumeration(xpp, TestScript.FHIRDefinedType.NULL, new TestScript.FHIRDefinedTypeEnumFactory())); 24076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 24077 res.setLabelElement(parseString(xpp)); 24078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 24079 res.setDescriptionElement(parseString(xpp)); 24080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accept")) { 24081 res.setAcceptElement(parseCode(xpp)); 24082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 24083 res.setContentTypeElement(parseCode(xpp)); 24084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 24085 res.setDestinationElement(parseInteger(xpp)); 24086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encodeRequestUrl")) { 24087 res.setEncodeRequestUrlElement(parseBoolean(xpp)); 24088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 24089 res.setMethodElement(parseEnumeration(xpp, TestScript.TestScriptRequestMethodCode.NULL, new TestScript.TestScriptRequestMethodCodeEnumFactory())); 24090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 24091 res.setOriginElement(parseInteger(xpp)); 24092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("params")) { 24093 res.setParamsElement(parseString(xpp)); 24094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestHeader")) { 24095 res.getRequestHeader().add(parseTestScriptSetupActionOperationRequestHeaderComponent(xpp)); 24096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestId")) { 24097 res.setRequestIdElement(parseId(xpp)); 24098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseId")) { 24099 res.setResponseIdElement(parseId(xpp)); 24100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 24101 res.setSourceIdElement(parseId(xpp)); 24102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetId")) { 24103 res.setTargetIdElement(parseId(xpp)); 24104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 24105 res.setUrlElement(parseString(xpp)); 24106 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24107 return false; 24108 } 24109 return true; 24110 } 24111 24112 protected TestScript.SetupActionOperationRequestHeaderComponent parseTestScriptSetupActionOperationRequestHeaderComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24113 TestScript.SetupActionOperationRequestHeaderComponent res = new TestScript.SetupActionOperationRequestHeaderComponent(); 24114 parseElementAttributes(xpp, res); 24115 next(xpp); 24116 int eventType = nextNoWhitespace(xpp); 24117 while (eventType != XmlPullParser.END_TAG) { 24118 if (!parseTestScriptSetupActionOperationRequestHeaderComponentContent(eventType, xpp, res)) 24119 unknownContent(xpp); 24120 eventType = nextNoWhitespace(xpp); 24121 } 24122 next(xpp); 24123 parseElementClose(res); 24124 return res; 24125 } 24126 24127 protected boolean parseTestScriptSetupActionOperationRequestHeaderComponentContent(int eventType, XmlPullParser xpp, TestScript.SetupActionOperationRequestHeaderComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24128 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("field")) { 24129 res.setFieldElement(parseString(xpp)); 24130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 24131 res.setValueElement(parseString(xpp)); 24132 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24133 return false; 24134 } 24135 return true; 24136 } 24137 24138 protected TestScript.SetupActionAssertComponent parseTestScriptSetupActionAssertComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24139 TestScript.SetupActionAssertComponent res = new TestScript.SetupActionAssertComponent(); 24140 parseElementAttributes(xpp, res); 24141 next(xpp); 24142 int eventType = nextNoWhitespace(xpp); 24143 while (eventType != XmlPullParser.END_TAG) { 24144 if (!parseTestScriptSetupActionAssertComponentContent(eventType, xpp, res)) 24145 unknownContent(xpp); 24146 eventType = nextNoWhitespace(xpp); 24147 } 24148 next(xpp); 24149 parseElementClose(res); 24150 return res; 24151 } 24152 24153 protected boolean parseTestScriptSetupActionAssertComponentContent(int eventType, XmlPullParser xpp, TestScript.SetupActionAssertComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24154 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 24155 res.setLabelElement(parseString(xpp)); 24156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 24157 res.setDescriptionElement(parseString(xpp)); 24158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("direction")) { 24159 res.setDirectionElement(parseEnumeration(xpp, TestScript.AssertionDirectionType.NULL, new TestScript.AssertionDirectionTypeEnumFactory())); 24160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourceId")) { 24161 res.setCompareToSourceIdElement(parseString(xpp)); 24162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourceExpression")) { 24163 res.setCompareToSourceExpressionElement(parseString(xpp)); 24164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourcePath")) { 24165 res.setCompareToSourcePathElement(parseString(xpp)); 24166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 24167 res.setContentTypeElement(parseCode(xpp)); 24168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { 24169 res.setExpressionElement(parseString(xpp)); 24170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 24171 res.setHeaderFieldElement(parseString(xpp)); 24172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minimumId")) { 24173 res.setMinimumIdElement(parseString(xpp)); 24174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("navigationLinks")) { 24175 res.setNavigationLinksElement(parseBoolean(xpp)); 24176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 24177 res.setOperatorElement(parseEnumeration(xpp, TestScript.AssertionOperatorType.NULL, new TestScript.AssertionOperatorTypeEnumFactory())); 24178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 24179 res.setPathElement(parseString(xpp)); 24180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestMethod")) { 24181 res.setRequestMethodElement(parseEnumeration(xpp, TestScript.TestScriptRequestMethodCode.NULL, new TestScript.TestScriptRequestMethodCodeEnumFactory())); 24182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestURL")) { 24183 res.setRequestURLElement(parseString(xpp)); 24184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 24185 res.setResourceElement(parseEnumeration(xpp, TestScript.FHIRDefinedType.NULL, new TestScript.FHIRDefinedTypeEnumFactory())); 24186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 24187 res.setResponseElement(parseEnumeration(xpp, TestScript.AssertionResponseTypes.NULL, new TestScript.AssertionResponseTypesEnumFactory())); 24188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseCode")) { 24189 res.setResponseCodeElement(parseString(xpp)); 24190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 24191 res.setSourceIdElement(parseId(xpp)); 24192 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validateProfileId")) { 24193 res.setValidateProfileIdElement(parseId(xpp)); 24194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 24195 res.setValueElement(parseString(xpp)); 24196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("warningOnly")) { 24197 res.setWarningOnlyElement(parseBoolean(xpp)); 24198 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24199 return false; 24200 } 24201 return true; 24202 } 24203 24204 protected TestScript.TestScriptTestComponent parseTestScriptTestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24205 TestScript.TestScriptTestComponent res = new TestScript.TestScriptTestComponent(); 24206 parseElementAttributes(xpp, res); 24207 next(xpp); 24208 int eventType = nextNoWhitespace(xpp); 24209 while (eventType != XmlPullParser.END_TAG) { 24210 if (!parseTestScriptTestComponentContent(eventType, xpp, res)) 24211 unknownContent(xpp); 24212 eventType = nextNoWhitespace(xpp); 24213 } 24214 next(xpp); 24215 parseElementClose(res); 24216 return res; 24217 } 24218 24219 protected boolean parseTestScriptTestComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptTestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24220 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 24221 res.setNameElement(parseString(xpp)); 24222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 24223 res.setDescriptionElement(parseString(xpp)); 24224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 24225 res.getAction().add(parseTestScriptTestActionComponent(xpp)); 24226 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24227 return false; 24228 } 24229 return true; 24230 } 24231 24232 protected TestScript.TestActionComponent parseTestScriptTestActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24233 TestScript.TestActionComponent res = new TestScript.TestActionComponent(); 24234 parseElementAttributes(xpp, res); 24235 next(xpp); 24236 int eventType = nextNoWhitespace(xpp); 24237 while (eventType != XmlPullParser.END_TAG) { 24238 if (!parseTestScriptTestActionComponentContent(eventType, xpp, res)) 24239 unknownContent(xpp); 24240 eventType = nextNoWhitespace(xpp); 24241 } 24242 next(xpp); 24243 parseElementClose(res); 24244 return res; 24245 } 24246 24247 protected boolean parseTestScriptTestActionComponentContent(int eventType, XmlPullParser xpp, TestScript.TestActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24248 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 24249 res.setOperation(parseTestScriptSetupActionOperationComponent(xpp)); 24250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 24251 res.setAssert(parseTestScriptSetupActionAssertComponent(xpp)); 24252 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24253 return false; 24254 } 24255 return true; 24256 } 24257 24258 protected TestScript.TestScriptTeardownComponent parseTestScriptTeardownComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24259 TestScript.TestScriptTeardownComponent res = new TestScript.TestScriptTeardownComponent(); 24260 parseElementAttributes(xpp, res); 24261 next(xpp); 24262 int eventType = nextNoWhitespace(xpp); 24263 while (eventType != XmlPullParser.END_TAG) { 24264 if (!parseTestScriptTeardownComponentContent(eventType, xpp, res)) 24265 unknownContent(xpp); 24266 eventType = nextNoWhitespace(xpp); 24267 } 24268 next(xpp); 24269 parseElementClose(res); 24270 return res; 24271 } 24272 24273 protected boolean parseTestScriptTeardownComponentContent(int eventType, XmlPullParser xpp, TestScript.TestScriptTeardownComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24274 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 24275 res.getAction().add(parseTestScriptTeardownActionComponent(xpp)); 24276 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24277 return false; 24278 } 24279 return true; 24280 } 24281 24282 protected TestScript.TeardownActionComponent parseTestScriptTeardownActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24283 TestScript.TeardownActionComponent res = new TestScript.TeardownActionComponent(); 24284 parseElementAttributes(xpp, res); 24285 next(xpp); 24286 int eventType = nextNoWhitespace(xpp); 24287 while (eventType != XmlPullParser.END_TAG) { 24288 if (!parseTestScriptTeardownActionComponentContent(eventType, xpp, res)) 24289 unknownContent(xpp); 24290 eventType = nextNoWhitespace(xpp); 24291 } 24292 next(xpp); 24293 parseElementClose(res); 24294 return res; 24295 } 24296 24297 protected boolean parseTestScriptTeardownActionComponentContent(int eventType, XmlPullParser xpp, TestScript.TeardownActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24298 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 24299 res.setOperation(parseTestScriptSetupActionOperationComponent(xpp)); 24300 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24301 return false; 24302 } 24303 return true; 24304 } 24305 24306 protected ValueSet parseValueSet(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24307 ValueSet res = new ValueSet(); 24308 parseResourceAttributes(xpp, res); 24309 next(xpp); 24310 int eventType = nextNoWhitespace(xpp); 24311 while (eventType != XmlPullParser.END_TAG) { 24312 if (!parseValueSetContent(eventType, xpp, res)) 24313 unknownContent(xpp); 24314 eventType = nextNoWhitespace(xpp); 24315 } 24316 next(xpp); 24317 parseElementClose(res); 24318 return res; 24319 } 24320 24321 protected boolean parseValueSetContent(int eventType, XmlPullParser xpp, ValueSet res) throws XmlPullParserException, IOException, FHIRFormatError { 24322 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 24323 res.setUrlElement(parseUri(xpp)); 24324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 24325 res.getIdentifier().add(parseIdentifier(xpp)); 24326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 24327 res.setVersionElement(parseString(xpp)); 24328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 24329 res.setNameElement(parseString(xpp)); 24330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 24331 res.setTitleElement(parseString(xpp)); 24332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 24333 res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); 24334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 24335 res.setExperimentalElement(parseBoolean(xpp)); 24336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 24337 res.setDateElement(parseDateTime(xpp)); 24338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 24339 res.setPublisherElement(parseString(xpp)); 24340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 24341 res.getContact().add(parseContactDetail(xpp)); 24342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 24343 res.setDescriptionElement(parseMarkdown(xpp)); 24344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 24345 res.getUseContext().add(parseUsageContext(xpp)); 24346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { 24347 res.getJurisdiction().add(parseCodeableConcept(xpp)); 24348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("immutable")) { 24349 res.setImmutableElement(parseBoolean(xpp)); 24350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 24351 res.setPurposeElement(parseMarkdown(xpp)); 24352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 24353 res.setCopyrightElement(parseMarkdown(xpp)); 24354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compose")) { 24355 res.setCompose(parseValueSetComposeComponent(xpp)); 24356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expansion")) { 24357 res.setExpansion(parseValueSetExpansionComponent(xpp)); 24358 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 24359 return false; 24360 } 24361 return true; 24362 } 24363 24364 protected ValueSet.ValueSetComposeComponent parseValueSetComposeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24365 ValueSet.ValueSetComposeComponent res = new ValueSet.ValueSetComposeComponent(); 24366 parseElementAttributes(xpp, res); 24367 next(xpp); 24368 int eventType = nextNoWhitespace(xpp); 24369 while (eventType != XmlPullParser.END_TAG) { 24370 if (!parseValueSetComposeComponentContent(eventType, xpp, res)) 24371 unknownContent(xpp); 24372 eventType = nextNoWhitespace(xpp); 24373 } 24374 next(xpp); 24375 parseElementClose(res); 24376 return res; 24377 } 24378 24379 protected boolean parseValueSetComposeComponentContent(int eventType, XmlPullParser xpp, ValueSet.ValueSetComposeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24380 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lockedDate")) { 24381 res.setLockedDateElement(parseDate(xpp)); 24382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inactive")) { 24383 res.setInactiveElement(parseBoolean(xpp)); 24384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 24385 res.getInclude().add(parseValueSetConceptSetComponent(xpp)); 24386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 24387 res.getExclude().add(parseValueSetConceptSetComponent(xpp)); 24388 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24389 return false; 24390 } 24391 return true; 24392 } 24393 24394 protected ValueSet.ConceptSetComponent parseValueSetConceptSetComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24395 ValueSet.ConceptSetComponent res = new ValueSet.ConceptSetComponent(); 24396 parseElementAttributes(xpp, res); 24397 next(xpp); 24398 int eventType = nextNoWhitespace(xpp); 24399 while (eventType != XmlPullParser.END_TAG) { 24400 if (!parseValueSetConceptSetComponentContent(eventType, xpp, res)) 24401 unknownContent(xpp); 24402 eventType = nextNoWhitespace(xpp); 24403 } 24404 next(xpp); 24405 parseElementClose(res); 24406 return res; 24407 } 24408 24409 protected boolean parseValueSetConceptSetComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptSetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24410 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 24411 res.setSystemElement(parseUri(xpp)); 24412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 24413 res.setVersionElement(parseString(xpp)); 24414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 24415 res.getConcept().add(parseValueSetConceptReferenceComponent(xpp)); 24416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { 24417 res.getFilter().add(parseValueSetConceptSetFilterComponent(xpp)); 24418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { 24419 res.getValueSet().add(parseCanonical(xpp)); 24420 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24421 return false; 24422 } 24423 return true; 24424 } 24425 24426 protected ValueSet.ConceptReferenceComponent parseValueSetConceptReferenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24427 ValueSet.ConceptReferenceComponent res = new ValueSet.ConceptReferenceComponent(); 24428 parseElementAttributes(xpp, res); 24429 next(xpp); 24430 int eventType = nextNoWhitespace(xpp); 24431 while (eventType != XmlPullParser.END_TAG) { 24432 if (!parseValueSetConceptReferenceComponentContent(eventType, xpp, res)) 24433 unknownContent(xpp); 24434 eventType = nextNoWhitespace(xpp); 24435 } 24436 next(xpp); 24437 parseElementClose(res); 24438 return res; 24439 } 24440 24441 protected boolean parseValueSetConceptReferenceComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptReferenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24442 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 24443 res.setCodeElement(parseCode(xpp)); 24444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 24445 res.setDisplayElement(parseString(xpp)); 24446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 24447 res.getDesignation().add(parseValueSetConceptReferenceDesignationComponent(xpp)); 24448 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24449 return false; 24450 } 24451 return true; 24452 } 24453 24454 protected ValueSet.ConceptReferenceDesignationComponent parseValueSetConceptReferenceDesignationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24455 ValueSet.ConceptReferenceDesignationComponent res = new ValueSet.ConceptReferenceDesignationComponent(); 24456 parseElementAttributes(xpp, res); 24457 next(xpp); 24458 int eventType = nextNoWhitespace(xpp); 24459 while (eventType != XmlPullParser.END_TAG) { 24460 if (!parseValueSetConceptReferenceDesignationComponentContent(eventType, xpp, res)) 24461 unknownContent(xpp); 24462 eventType = nextNoWhitespace(xpp); 24463 } 24464 next(xpp); 24465 parseElementClose(res); 24466 return res; 24467 } 24468 24469 protected boolean parseValueSetConceptReferenceDesignationComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptReferenceDesignationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24470 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 24471 res.setLanguageElement(parseCode(xpp)); 24472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 24473 res.setUse(parseCoding(xpp)); 24474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 24475 res.setValueElement(parseString(xpp)); 24476 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24477 return false; 24478 } 24479 return true; 24480 } 24481 24482 protected ValueSet.ConceptSetFilterComponent parseValueSetConceptSetFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24483 ValueSet.ConceptSetFilterComponent res = new ValueSet.ConceptSetFilterComponent(); 24484 parseElementAttributes(xpp, res); 24485 next(xpp); 24486 int eventType = nextNoWhitespace(xpp); 24487 while (eventType != XmlPullParser.END_TAG) { 24488 if (!parseValueSetConceptSetFilterComponentContent(eventType, xpp, res)) 24489 unknownContent(xpp); 24490 eventType = nextNoWhitespace(xpp); 24491 } 24492 next(xpp); 24493 parseElementClose(res); 24494 return res; 24495 } 24496 24497 protected boolean parseValueSetConceptSetFilterComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptSetFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24498 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 24499 res.setPropertyElement(parseCode(xpp)); 24500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("op")) { 24501 res.setOpElement(parseEnumeration(xpp, Enumerations.FilterOperator.NULL, new Enumerations.FilterOperatorEnumFactory())); 24502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 24503 res.setValueElement(parseString(xpp)); 24504 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24505 return false; 24506 } 24507 return true; 24508 } 24509 24510 protected ValueSet.ValueSetExpansionComponent parseValueSetExpansionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24511 ValueSet.ValueSetExpansionComponent res = new ValueSet.ValueSetExpansionComponent(); 24512 parseElementAttributes(xpp, res); 24513 next(xpp); 24514 int eventType = nextNoWhitespace(xpp); 24515 while (eventType != XmlPullParser.END_TAG) { 24516 if (!parseValueSetExpansionComponentContent(eventType, xpp, res)) 24517 unknownContent(xpp); 24518 eventType = nextNoWhitespace(xpp); 24519 } 24520 next(xpp); 24521 parseElementClose(res); 24522 return res; 24523 } 24524 24525 protected boolean parseValueSetExpansionComponentContent(int eventType, XmlPullParser xpp, ValueSet.ValueSetExpansionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24526 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 24527 res.setIdentifierElement(parseUri(xpp)); 24528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 24529 res.setTimestampElement(parseDateTime(xpp)); 24530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 24531 res.setTotalElement(parseInteger(xpp)); 24532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offset")) { 24533 res.setOffsetElement(parseInteger(xpp)); 24534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 24535 res.getParameter().add(parseValueSetExpansionParameterComponent(xpp)); 24536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 24537 res.getContains().add(parseValueSetExpansionContainsComponent(xpp)); 24538 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24539 return false; 24540 } 24541 return true; 24542 } 24543 24544 protected ValueSet.ValueSetExpansionParameterComponent parseValueSetExpansionParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24545 ValueSet.ValueSetExpansionParameterComponent res = new ValueSet.ValueSetExpansionParameterComponent(); 24546 parseElementAttributes(xpp, res); 24547 next(xpp); 24548 int eventType = nextNoWhitespace(xpp); 24549 while (eventType != XmlPullParser.END_TAG) { 24550 if (!parseValueSetExpansionParameterComponentContent(eventType, xpp, res)) 24551 unknownContent(xpp); 24552 eventType = nextNoWhitespace(xpp); 24553 } 24554 next(xpp); 24555 parseElementClose(res); 24556 return res; 24557 } 24558 24559 protected boolean parseValueSetExpansionParameterComponentContent(int eventType, XmlPullParser xpp, ValueSet.ValueSetExpansionParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24560 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 24561 res.setNameElement(parseString(xpp)); 24562 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 24563 res.setValue(parseType("value", xpp)); 24564 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24565 return false; 24566 } 24567 return true; 24568 } 24569 24570 protected ValueSet.ValueSetExpansionContainsComponent parseValueSetExpansionContainsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24571 ValueSet.ValueSetExpansionContainsComponent res = new ValueSet.ValueSetExpansionContainsComponent(); 24572 parseElementAttributes(xpp, res); 24573 next(xpp); 24574 int eventType = nextNoWhitespace(xpp); 24575 while (eventType != XmlPullParser.END_TAG) { 24576 if (!parseValueSetExpansionContainsComponentContent(eventType, xpp, res)) 24577 unknownContent(xpp); 24578 eventType = nextNoWhitespace(xpp); 24579 } 24580 next(xpp); 24581 parseElementClose(res); 24582 return res; 24583 } 24584 24585 protected boolean parseValueSetExpansionContainsComponentContent(int eventType, XmlPullParser xpp, ValueSet.ValueSetExpansionContainsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24586 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 24587 res.setSystemElement(parseUri(xpp)); 24588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 24589 res.setAbstractElement(parseBoolean(xpp)); 24590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inactive")) { 24591 res.setInactiveElement(parseBoolean(xpp)); 24592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 24593 res.setVersionElement(parseString(xpp)); 24594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 24595 res.setCodeElement(parseCode(xpp)); 24596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 24597 res.setDisplayElement(parseString(xpp)); 24598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 24599 res.getDesignation().add(parseValueSetConceptReferenceDesignationComponent(xpp)); 24600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 24601 res.getContains().add(parseValueSetExpansionContainsComponent(xpp)); 24602 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24603 return false; 24604 } 24605 return true; 24606 } 24607 24608 protected VerificationResult parseVerificationResult(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24609 VerificationResult res = new VerificationResult(); 24610 parseResourceAttributes(xpp, res); 24611 next(xpp); 24612 int eventType = nextNoWhitespace(xpp); 24613 while (eventType != XmlPullParser.END_TAG) { 24614 if (!parseVerificationResultContent(eventType, xpp, res)) 24615 unknownContent(xpp); 24616 eventType = nextNoWhitespace(xpp); 24617 } 24618 next(xpp); 24619 parseElementClose(res); 24620 return res; 24621 } 24622 24623 protected boolean parseVerificationResultContent(int eventType, XmlPullParser xpp, VerificationResult res) throws XmlPullParserException, IOException, FHIRFormatError { 24624 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 24625 res.getTarget().add(parseReference(xpp)); 24626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetLocation")) { 24627 res.getTargetLocation().add(parseString(xpp)); 24628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("need")) { 24629 res.setNeed(parseCodeableConcept(xpp)); 24630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 24631 res.setStatusElement(parseEnumeration(xpp, VerificationResult.Status.NULL, new VerificationResult.StatusEnumFactory())); 24632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 24633 res.setStatusDateElement(parseDateTime(xpp)); 24634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validationType")) { 24635 res.setValidationType(parseCodeableConcept(xpp)); 24636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validationProcess")) { 24637 res.getValidationProcess().add(parseCodeableConcept(xpp)); 24638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequency")) { 24639 res.setFrequency(parseTiming(xpp)); 24640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastPerformed")) { 24641 res.setLastPerformedElement(parseDateTime(xpp)); 24642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nextScheduled")) { 24643 res.setNextScheduledElement(parseDate(xpp)); 24644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("failureAction")) { 24645 res.setFailureAction(parseCodeableConcept(xpp)); 24646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("primarySource")) { 24647 res.getPrimarySource().add(parseVerificationResultPrimarySourceComponent(xpp)); 24648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attestation")) { 24649 res.setAttestation(parseVerificationResultAttestationComponent(xpp)); 24650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validator")) { 24651 res.getValidator().add(parseVerificationResultValidatorComponent(xpp)); 24652 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 24653 return false; 24654 } 24655 return true; 24656 } 24657 24658 protected VerificationResult.VerificationResultPrimarySourceComponent parseVerificationResultPrimarySourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24659 VerificationResult.VerificationResultPrimarySourceComponent res = new VerificationResult.VerificationResultPrimarySourceComponent(); 24660 parseElementAttributes(xpp, res); 24661 next(xpp); 24662 int eventType = nextNoWhitespace(xpp); 24663 while (eventType != XmlPullParser.END_TAG) { 24664 if (!parseVerificationResultPrimarySourceComponentContent(eventType, xpp, res)) 24665 unknownContent(xpp); 24666 eventType = nextNoWhitespace(xpp); 24667 } 24668 next(xpp); 24669 parseElementClose(res); 24670 return res; 24671 } 24672 24673 protected boolean parseVerificationResultPrimarySourceComponentContent(int eventType, XmlPullParser xpp, VerificationResult.VerificationResultPrimarySourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24674 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 24675 res.setWho(parseReference(xpp)); 24676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 24677 res.getType().add(parseCodeableConcept(xpp)); 24678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communicationMethod")) { 24679 res.getCommunicationMethod().add(parseCodeableConcept(xpp)); 24680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validationStatus")) { 24681 res.setValidationStatus(parseCodeableConcept(xpp)); 24682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validationDate")) { 24683 res.setValidationDateElement(parseDateTime(xpp)); 24684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("canPushUpdates")) { 24685 res.setCanPushUpdates(parseCodeableConcept(xpp)); 24686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pushTypeAvailable")) { 24687 res.getPushTypeAvailable().add(parseCodeableConcept(xpp)); 24688 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24689 return false; 24690 } 24691 return true; 24692 } 24693 24694 protected VerificationResult.VerificationResultAttestationComponent parseVerificationResultAttestationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24695 VerificationResult.VerificationResultAttestationComponent res = new VerificationResult.VerificationResultAttestationComponent(); 24696 parseElementAttributes(xpp, res); 24697 next(xpp); 24698 int eventType = nextNoWhitespace(xpp); 24699 while (eventType != XmlPullParser.END_TAG) { 24700 if (!parseVerificationResultAttestationComponentContent(eventType, xpp, res)) 24701 unknownContent(xpp); 24702 eventType = nextNoWhitespace(xpp); 24703 } 24704 next(xpp); 24705 parseElementClose(res); 24706 return res; 24707 } 24708 24709 protected boolean parseVerificationResultAttestationComponentContent(int eventType, XmlPullParser xpp, VerificationResult.VerificationResultAttestationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24710 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 24711 res.setWho(parseReference(xpp)); 24712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { 24713 res.setOnBehalfOf(parseReference(xpp)); 24714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communicationMethod")) { 24715 res.setCommunicationMethod(parseCodeableConcept(xpp)); 24716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 24717 res.setDateElement(parseDate(xpp)); 24718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceIdentityCertificate")) { 24719 res.setSourceIdentityCertificateElement(parseString(xpp)); 24720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("proxyIdentityCertificate")) { 24721 res.setProxyIdentityCertificateElement(parseString(xpp)); 24722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("proxySignature")) { 24723 res.setProxySignature(parseSignature(xpp)); 24724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceSignature")) { 24725 res.setSourceSignature(parseSignature(xpp)); 24726 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24727 return false; 24728 } 24729 return true; 24730 } 24731 24732 protected VerificationResult.VerificationResultValidatorComponent parseVerificationResultValidatorComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24733 VerificationResult.VerificationResultValidatorComponent res = new VerificationResult.VerificationResultValidatorComponent(); 24734 parseElementAttributes(xpp, res); 24735 next(xpp); 24736 int eventType = nextNoWhitespace(xpp); 24737 while (eventType != XmlPullParser.END_TAG) { 24738 if (!parseVerificationResultValidatorComponentContent(eventType, xpp, res)) 24739 unknownContent(xpp); 24740 eventType = nextNoWhitespace(xpp); 24741 } 24742 next(xpp); 24743 parseElementClose(res); 24744 return res; 24745 } 24746 24747 protected boolean parseVerificationResultValidatorComponentContent(int eventType, XmlPullParser xpp, VerificationResult.VerificationResultValidatorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24748 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 24749 res.setOrganization(parseReference(xpp)); 24750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identityCertificate")) { 24751 res.setIdentityCertificateElement(parseString(xpp)); 24752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attestationSignature")) { 24753 res.setAttestationSignature(parseSignature(xpp)); 24754 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24755 return false; 24756 } 24757 return true; 24758 } 24759 24760 protected VisionPrescription parseVisionPrescription(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24761 VisionPrescription res = new VisionPrescription(); 24762 parseResourceAttributes(xpp, res); 24763 next(xpp); 24764 int eventType = nextNoWhitespace(xpp); 24765 while (eventType != XmlPullParser.END_TAG) { 24766 if (!parseVisionPrescriptionContent(eventType, xpp, res)) 24767 unknownContent(xpp); 24768 eventType = nextNoWhitespace(xpp); 24769 } 24770 next(xpp); 24771 parseElementClose(res); 24772 return res; 24773 } 24774 24775 protected boolean parseVisionPrescriptionContent(int eventType, XmlPullParser xpp, VisionPrescription res) throws XmlPullParserException, IOException, FHIRFormatError { 24776 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 24777 res.getIdentifier().add(parseIdentifier(xpp)); 24778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 24779 res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); 24780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 24781 res.setCreatedElement(parseDateTime(xpp)); 24782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 24783 res.setPatient(parseReference(xpp)); 24784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 24785 res.setEncounter(parseReference(xpp)); 24786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateWritten")) { 24787 res.setDateWrittenElement(parseDateTime(xpp)); 24788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescriber")) { 24789 res.setPrescriber(parseReference(xpp)); 24790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lensSpecification")) { 24791 res.getLensSpecification().add(parseVisionPrescriptionLensSpecificationComponent(xpp)); 24792 } else if (!parseDomainResourceContent(eventType, xpp, res)){ 24793 return false; 24794 } 24795 return true; 24796 } 24797 24798 protected VisionPrescription.VisionPrescriptionLensSpecificationComponent parseVisionPrescriptionLensSpecificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24799 VisionPrescription.VisionPrescriptionLensSpecificationComponent res = new VisionPrescription.VisionPrescriptionLensSpecificationComponent(); 24800 parseElementAttributes(xpp, res); 24801 next(xpp); 24802 int eventType = nextNoWhitespace(xpp); 24803 while (eventType != XmlPullParser.END_TAG) { 24804 if (!parseVisionPrescriptionLensSpecificationComponentContent(eventType, xpp, res)) 24805 unknownContent(xpp); 24806 eventType = nextNoWhitespace(xpp); 24807 } 24808 next(xpp); 24809 parseElementClose(res); 24810 return res; 24811 } 24812 24813 protected boolean parseVisionPrescriptionLensSpecificationComponentContent(int eventType, XmlPullParser xpp, VisionPrescription.VisionPrescriptionLensSpecificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24814 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 24815 res.setProduct(parseCodeableConcept(xpp)); 24816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eye")) { 24817 res.setEyeElement(parseEnumeration(xpp, VisionPrescription.VisionEyes.NULL, new VisionPrescription.VisionEyesEnumFactory())); 24818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sphere")) { 24819 res.setSphereElement(parseDecimal(xpp)); 24820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cylinder")) { 24821 res.setCylinderElement(parseDecimal(xpp)); 24822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("axis")) { 24823 res.setAxisElement(parseInteger(xpp)); 24824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prism")) { 24825 res.getPrism().add(parseVisionPrescriptionPrismComponent(xpp)); 24826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("add")) { 24827 res.setAddElement(parseDecimal(xpp)); 24828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("power")) { 24829 res.setPowerElement(parseDecimal(xpp)); 24830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("backCurve")) { 24831 res.setBackCurveElement(parseDecimal(xpp)); 24832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diameter")) { 24833 res.setDiameterElement(parseDecimal(xpp)); 24834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 24835 res.setDuration(parseQuantity(xpp)); 24836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 24837 res.setColorElement(parseString(xpp)); 24838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("brand")) { 24839 res.setBrandElement(parseString(xpp)); 24840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 24841 res.getNote().add(parseAnnotation(xpp)); 24842 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24843 return false; 24844 } 24845 return true; 24846 } 24847 24848 protected VisionPrescription.PrismComponent parseVisionPrescriptionPrismComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24849 VisionPrescription.PrismComponent res = new VisionPrescription.PrismComponent(); 24850 parseElementAttributes(xpp, res); 24851 next(xpp); 24852 int eventType = nextNoWhitespace(xpp); 24853 while (eventType != XmlPullParser.END_TAG) { 24854 if (!parseVisionPrescriptionPrismComponentContent(eventType, xpp, res)) 24855 unknownContent(xpp); 24856 eventType = nextNoWhitespace(xpp); 24857 } 24858 next(xpp); 24859 parseElementClose(res); 24860 return res; 24861 } 24862 24863 protected boolean parseVisionPrescriptionPrismComponentContent(int eventType, XmlPullParser xpp, VisionPrescription.PrismComponent res) throws XmlPullParserException, IOException, FHIRFormatError { 24864 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 24865 res.setAmountElement(parseDecimal(xpp)); 24866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 24867 res.setBaseElement(parseEnumeration(xpp, VisionPrescription.VisionBase.NULL, new VisionPrescription.VisionBaseEnumFactory())); 24868 } else if (!parseBackboneElementContent(eventType, xpp, res)){ 24869 return false; 24870 } 24871 return true; 24872 } 24873 24874 24875 24876 @Override 24877 protected Resource parseResource(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 24878 if (xpp == null) { 24879 throw new IOException("xpp == null!"); 24880 } else if (xpp.getName().equals("Account")) { 24881 return parseAccount(xpp); 24882 } else if (xpp.getName().equals("ActivityDefinition")) { 24883 return parseActivityDefinition(xpp); 24884 } else if (xpp.getName().equals("AdministrableProductDefinition")) { 24885 return parseAdministrableProductDefinition(xpp); 24886 } else if (xpp.getName().equals("AdverseEvent")) { 24887 return parseAdverseEvent(xpp); 24888 } else if (xpp.getName().equals("AllergyIntolerance")) { 24889 return parseAllergyIntolerance(xpp); 24890 } else if (xpp.getName().equals("Appointment")) { 24891 return parseAppointment(xpp); 24892 } else if (xpp.getName().equals("AppointmentResponse")) { 24893 return parseAppointmentResponse(xpp); 24894 } else if (xpp.getName().equals("AuditEvent")) { 24895 return parseAuditEvent(xpp); 24896 } else if (xpp.getName().equals("Basic")) { 24897 return parseBasic(xpp); 24898 } else if (xpp.getName().equals("Binary")) { 24899 return parseBinary(xpp); 24900 } else if (xpp.getName().equals("BiologicallyDerivedProduct")) { 24901 return parseBiologicallyDerivedProduct(xpp); 24902 } else if (xpp.getName().equals("BodyStructure")) { 24903 return parseBodyStructure(xpp); 24904 } else if (xpp.getName().equals("Bundle")) { 24905 return parseBundle(xpp); 24906 } else if (xpp.getName().equals("CapabilityStatement")) { 24907 return parseCapabilityStatement(xpp); 24908 } else if (xpp.getName().equals("CarePlan")) { 24909 return parseCarePlan(xpp); 24910 } else if (xpp.getName().equals("CareTeam")) { 24911 return parseCareTeam(xpp); 24912 } else if (xpp.getName().equals("CatalogEntry")) { 24913 return parseCatalogEntry(xpp); 24914 } else if (xpp.getName().equals("ChargeItem")) { 24915 return parseChargeItem(xpp); 24916 } else if (xpp.getName().equals("ChargeItemDefinition")) { 24917 return parseChargeItemDefinition(xpp); 24918 } else if (xpp.getName().equals("Citation")) { 24919 return parseCitation(xpp); 24920 } else if (xpp.getName().equals("Claim")) { 24921 return parseClaim(xpp); 24922 } else if (xpp.getName().equals("ClaimResponse")) { 24923 return parseClaimResponse(xpp); 24924 } else if (xpp.getName().equals("ClinicalImpression")) { 24925 return parseClinicalImpression(xpp); 24926 } else if (xpp.getName().equals("ClinicalUseDefinition")) { 24927 return parseClinicalUseDefinition(xpp); 24928 } else if (xpp.getName().equals("CodeSystem")) { 24929 return parseCodeSystem(xpp); 24930 } else if (xpp.getName().equals("Communication")) { 24931 return parseCommunication(xpp); 24932 } else if (xpp.getName().equals("CommunicationRequest")) { 24933 return parseCommunicationRequest(xpp); 24934 } else if (xpp.getName().equals("CompartmentDefinition")) { 24935 return parseCompartmentDefinition(xpp); 24936 } else if (xpp.getName().equals("Composition")) { 24937 return parseComposition(xpp); 24938 } else if (xpp.getName().equals("ConceptMap")) { 24939 return parseConceptMap(xpp); 24940 } else if (xpp.getName().equals("Condition")) { 24941 return parseCondition(xpp); 24942 } else if (xpp.getName().equals("Consent")) { 24943 return parseConsent(xpp); 24944 } else if (xpp.getName().equals("Contract")) { 24945 return parseContract(xpp); 24946 } else if (xpp.getName().equals("Coverage")) { 24947 return parseCoverage(xpp); 24948 } else if (xpp.getName().equals("CoverageEligibilityRequest")) { 24949 return parseCoverageEligibilityRequest(xpp); 24950 } else if (xpp.getName().equals("CoverageEligibilityResponse")) { 24951 return parseCoverageEligibilityResponse(xpp); 24952 } else if (xpp.getName().equals("DetectedIssue")) { 24953 return parseDetectedIssue(xpp); 24954 } else if (xpp.getName().equals("Device")) { 24955 return parseDevice(xpp); 24956 } else if (xpp.getName().equals("DeviceDefinition")) { 24957 return parseDeviceDefinition(xpp); 24958 } else if (xpp.getName().equals("DeviceMetric")) { 24959 return parseDeviceMetric(xpp); 24960 } else if (xpp.getName().equals("DeviceRequest")) { 24961 return parseDeviceRequest(xpp); 24962 } else if (xpp.getName().equals("DeviceUseStatement")) { 24963 return parseDeviceUseStatement(xpp); 24964 } else if (xpp.getName().equals("DiagnosticReport")) { 24965 return parseDiagnosticReport(xpp); 24966 } else if (xpp.getName().equals("DocumentManifest")) { 24967 return parseDocumentManifest(xpp); 24968 } else if (xpp.getName().equals("DocumentReference")) { 24969 return parseDocumentReference(xpp); 24970 } else if (xpp.getName().equals("Encounter")) { 24971 return parseEncounter(xpp); 24972 } else if (xpp.getName().equals("Endpoint")) { 24973 return parseEndpoint(xpp); 24974 } else if (xpp.getName().equals("EnrollmentRequest")) { 24975 return parseEnrollmentRequest(xpp); 24976 } else if (xpp.getName().equals("EnrollmentResponse")) { 24977 return parseEnrollmentResponse(xpp); 24978 } else if (xpp.getName().equals("EpisodeOfCare")) { 24979 return parseEpisodeOfCare(xpp); 24980 } else if (xpp.getName().equals("EventDefinition")) { 24981 return parseEventDefinition(xpp); 24982 } else if (xpp.getName().equals("Evidence")) { 24983 return parseEvidence(xpp); 24984 } else if (xpp.getName().equals("EvidenceReport")) { 24985 return parseEvidenceReport(xpp); 24986 } else if (xpp.getName().equals("EvidenceVariable")) { 24987 return parseEvidenceVariable(xpp); 24988 } else if (xpp.getName().equals("ExampleScenario")) { 24989 return parseExampleScenario(xpp); 24990 } else if (xpp.getName().equals("ExplanationOfBenefit")) { 24991 return parseExplanationOfBenefit(xpp); 24992 } else if (xpp.getName().equals("FamilyMemberHistory")) { 24993 return parseFamilyMemberHistory(xpp); 24994 } else if (xpp.getName().equals("Flag")) { 24995 return parseFlag(xpp); 24996 } else if (xpp.getName().equals("Goal")) { 24997 return parseGoal(xpp); 24998 } else if (xpp.getName().equals("GraphDefinition")) { 24999 return parseGraphDefinition(xpp); 25000 } else if (xpp.getName().equals("Group")) { 25001 return parseGroup(xpp); 25002 } else if (xpp.getName().equals("GuidanceResponse")) { 25003 return parseGuidanceResponse(xpp); 25004 } else if (xpp.getName().equals("HealthcareService")) { 25005 return parseHealthcareService(xpp); 25006 } else if (xpp.getName().equals("ImagingStudy")) { 25007 return parseImagingStudy(xpp); 25008 } else if (xpp.getName().equals("Immunization")) { 25009 return parseImmunization(xpp); 25010 } else if (xpp.getName().equals("ImmunizationEvaluation")) { 25011 return parseImmunizationEvaluation(xpp); 25012 } else if (xpp.getName().equals("ImmunizationRecommendation")) { 25013 return parseImmunizationRecommendation(xpp); 25014 } else if (xpp.getName().equals("ImplementationGuide")) { 25015 return parseImplementationGuide(xpp); 25016 } else if (xpp.getName().equals("Ingredient")) { 25017 return parseIngredient(xpp); 25018 } else if (xpp.getName().equals("InsurancePlan")) { 25019 return parseInsurancePlan(xpp); 25020 } else if (xpp.getName().equals("Invoice")) { 25021 return parseInvoice(xpp); 25022 } else if (xpp.getName().equals("Library")) { 25023 return parseLibrary(xpp); 25024 } else if (xpp.getName().equals("Linkage")) { 25025 return parseLinkage(xpp); 25026 } else if (xpp.getName().equals("List")) { 25027 return parseListResource(xpp); 25028 } else if (xpp.getName().equals("Location")) { 25029 return parseLocation(xpp); 25030 } else if (xpp.getName().equals("ManufacturedItemDefinition")) { 25031 return parseManufacturedItemDefinition(xpp); 25032 } else if (xpp.getName().equals("Measure")) { 25033 return parseMeasure(xpp); 25034 } else if (xpp.getName().equals("MeasureReport")) { 25035 return parseMeasureReport(xpp); 25036 } else if (xpp.getName().equals("Media")) { 25037 return parseMedia(xpp); 25038 } else if (xpp.getName().equals("Medication")) { 25039 return parseMedication(xpp); 25040 } else if (xpp.getName().equals("MedicationAdministration")) { 25041 return parseMedicationAdministration(xpp); 25042 } else if (xpp.getName().equals("MedicationDispense")) { 25043 return parseMedicationDispense(xpp); 25044 } else if (xpp.getName().equals("MedicationKnowledge")) { 25045 return parseMedicationKnowledge(xpp); 25046 } else if (xpp.getName().equals("MedicationRequest")) { 25047 return parseMedicationRequest(xpp); 25048 } else if (xpp.getName().equals("MedicationStatement")) { 25049 return parseMedicationStatement(xpp); 25050 } else if (xpp.getName().equals("MedicinalProductDefinition")) { 25051 return parseMedicinalProductDefinition(xpp); 25052 } else if (xpp.getName().equals("MessageDefinition")) { 25053 return parseMessageDefinition(xpp); 25054 } else if (xpp.getName().equals("MessageHeader")) { 25055 return parseMessageHeader(xpp); 25056 } else if (xpp.getName().equals("MolecularSequence")) { 25057 return parseMolecularSequence(xpp); 25058 } else if (xpp.getName().equals("NamingSystem")) { 25059 return parseNamingSystem(xpp); 25060 } else if (xpp.getName().equals("NutritionOrder")) { 25061 return parseNutritionOrder(xpp); 25062 } else if (xpp.getName().equals("NutritionProduct")) { 25063 return parseNutritionProduct(xpp); 25064 } else if (xpp.getName().equals("Observation")) { 25065 return parseObservation(xpp); 25066 } else if (xpp.getName().equals("ObservationDefinition")) { 25067 return parseObservationDefinition(xpp); 25068 } else if (xpp.getName().equals("OperationDefinition")) { 25069 return parseOperationDefinition(xpp); 25070 } else if (xpp.getName().equals("OperationOutcome")) { 25071 return parseOperationOutcome(xpp); 25072 } else if (xpp.getName().equals("Organization")) { 25073 return parseOrganization(xpp); 25074 } else if (xpp.getName().equals("OrganizationAffiliation")) { 25075 return parseOrganizationAffiliation(xpp); 25076 } else if (xpp.getName().equals("PackagedProductDefinition")) { 25077 return parsePackagedProductDefinition(xpp); 25078 } else if (xpp.getName().equals("Parameters")) { 25079 return parseParameters(xpp); 25080 } else if (xpp.getName().equals("Patient")) { 25081 return parsePatient(xpp); 25082 } else if (xpp.getName().equals("PaymentNotice")) { 25083 return parsePaymentNotice(xpp); 25084 } else if (xpp.getName().equals("PaymentReconciliation")) { 25085 return parsePaymentReconciliation(xpp); 25086 } else if (xpp.getName().equals("Person")) { 25087 return parsePerson(xpp); 25088 } else if (xpp.getName().equals("PlanDefinition")) { 25089 return parsePlanDefinition(xpp); 25090 } else if (xpp.getName().equals("Practitioner")) { 25091 return parsePractitioner(xpp); 25092 } else if (xpp.getName().equals("PractitionerRole")) { 25093 return parsePractitionerRole(xpp); 25094 } else if (xpp.getName().equals("Procedure")) { 25095 return parseProcedure(xpp); 25096 } else if (xpp.getName().equals("Provenance")) { 25097 return parseProvenance(xpp); 25098 } else if (xpp.getName().equals("Questionnaire")) { 25099 return parseQuestionnaire(xpp); 25100 } else if (xpp.getName().equals("QuestionnaireResponse")) { 25101 return parseQuestionnaireResponse(xpp); 25102 } else if (xpp.getName().equals("RegulatedAuthorization")) { 25103 return parseRegulatedAuthorization(xpp); 25104 } else if (xpp.getName().equals("RelatedPerson")) { 25105 return parseRelatedPerson(xpp); 25106 } else if (xpp.getName().equals("RequestGroup")) { 25107 return parseRequestGroup(xpp); 25108 } else if (xpp.getName().equals("ResearchDefinition")) { 25109 return parseResearchDefinition(xpp); 25110 } else if (xpp.getName().equals("ResearchElementDefinition")) { 25111 return parseResearchElementDefinition(xpp); 25112 } else if (xpp.getName().equals("ResearchStudy")) { 25113 return parseResearchStudy(xpp); 25114 } else if (xpp.getName().equals("ResearchSubject")) { 25115 return parseResearchSubject(xpp); 25116 } else if (xpp.getName().equals("RiskAssessment")) { 25117 return parseRiskAssessment(xpp); 25118 } else if (xpp.getName().equals("Schedule")) { 25119 return parseSchedule(xpp); 25120 } else if (xpp.getName().equals("SearchParameter")) { 25121 return parseSearchParameter(xpp); 25122 } else if (xpp.getName().equals("ServiceRequest")) { 25123 return parseServiceRequest(xpp); 25124 } else if (xpp.getName().equals("Slot")) { 25125 return parseSlot(xpp); 25126 } else if (xpp.getName().equals("Specimen")) { 25127 return parseSpecimen(xpp); 25128 } else if (xpp.getName().equals("SpecimenDefinition")) { 25129 return parseSpecimenDefinition(xpp); 25130 } else if (xpp.getName().equals("StructureDefinition")) { 25131 return parseStructureDefinition(xpp); 25132 } else if (xpp.getName().equals("StructureMap")) { 25133 return parseStructureMap(xpp); 25134 } else if (xpp.getName().equals("Subscription")) { 25135 return parseSubscription(xpp); 25136 } else if (xpp.getName().equals("SubscriptionStatus")) { 25137 return parseSubscriptionStatus(xpp); 25138 } else if (xpp.getName().equals("SubscriptionTopic")) { 25139 return parseSubscriptionTopic(xpp); 25140 } else if (xpp.getName().equals("Substance")) { 25141 return parseSubstance(xpp); 25142 } else if (xpp.getName().equals("SubstanceDefinition")) { 25143 return parseSubstanceDefinition(xpp); 25144 } else if (xpp.getName().equals("SupplyDelivery")) { 25145 return parseSupplyDelivery(xpp); 25146 } else if (xpp.getName().equals("SupplyRequest")) { 25147 return parseSupplyRequest(xpp); 25148 } else if (xpp.getName().equals("Task")) { 25149 return parseTask(xpp); 25150 } else if (xpp.getName().equals("TerminologyCapabilities")) { 25151 return parseTerminologyCapabilities(xpp); 25152 } else if (xpp.getName().equals("TestReport")) { 25153 return parseTestReport(xpp); 25154 } else if (xpp.getName().equals("TestScript")) { 25155 return parseTestScript(xpp); 25156 } else if (xpp.getName().equals("ValueSet")) { 25157 return parseValueSet(xpp); 25158 } else if (xpp.getName().equals("VerificationResult")) { 25159 return parseVerificationResult(xpp); 25160 } else if (xpp.getName().equals("VisionPrescription")) { 25161 return parseVisionPrescription(xpp); 25162 25163 } else { 25164 throw new FHIRFormatError("Unknown resource type "+xpp.getName()+""); 25165 } 25166 } 25167 25168 protected DataType parseType(String prefix, XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 25169 if (prefix == null) { 25170 throw new IOException("prefix == null!"); 25171 } else if (xpp == null) { 25172 throw new IOException("xpp == null!"); 25173 } else if (xpp.getName().equals(prefix+"Date")) { 25174 return parseDate(xpp); 25175 } else if (xpp.getName().equals(prefix+"DateTime")) { 25176 return parseDateTime(xpp); 25177 } else if (xpp.getName().equals(prefix+"Code")) { 25178 return parseCode(xpp); 25179 } else if (xpp.getName().equals(prefix+"String")) { 25180 return parseString(xpp); 25181 } else if (xpp.getName().equals(prefix+"Integer")) { 25182 return parseInteger(xpp); 25183 } else if (xpp.getName().equals(prefix+"Integer64")) { 25184 return parseInteger64(xpp); 25185 } else if (xpp.getName().equals(prefix+"Oid")) { 25186 return parseOid(xpp); 25187 } else if (xpp.getName().equals(prefix+"Canonical")) { 25188 return parseCanonical(xpp); 25189 } else if (xpp.getName().equals(prefix+"Uri")) { 25190 return parseUri(xpp); 25191 } else if (xpp.getName().equals(prefix+"Uuid")) { 25192 return parseUuid(xpp); 25193 } else if (xpp.getName().equals(prefix+"Url")) { 25194 return parseUrl(xpp); 25195 } else if (xpp.getName().equals(prefix+"Instant")) { 25196 return parseInstant(xpp); 25197 } else if (xpp.getName().equals(prefix+"Boolean")) { 25198 return parseBoolean(xpp); 25199 } else if (xpp.getName().equals(prefix+"Base64Binary")) { 25200 return parseBase64Binary(xpp); 25201 } else if (xpp.getName().equals(prefix+"UnsignedInt")) { 25202 return parseUnsignedInt(xpp); 25203 } else if (xpp.getName().equals(prefix+"Markdown")) { 25204 return parseMarkdown(xpp); 25205 } else if (xpp.getName().equals(prefix+"Time")) { 25206 return parseTime(xpp); 25207 } else if (xpp.getName().equals(prefix+"Id")) { 25208 return parseId(xpp); 25209 } else if (xpp.getName().equals(prefix+"PositiveInt")) { 25210 return parsePositiveInt(xpp); 25211 } else if (xpp.getName().equals(prefix+"Decimal")) { 25212 return parseDecimal(xpp); 25213 } else if (xpp.getName().equals(prefix+"Address")) { 25214 return parseAddress(xpp); 25215 } else if (xpp.getName().equals(prefix+"Age")) { 25216 return parseAge(xpp); 25217 } else if (xpp.getName().equals(prefix+"Annotation")) { 25218 return parseAnnotation(xpp); 25219 } else if (xpp.getName().equals(prefix+"Attachment")) { 25220 return parseAttachment(xpp); 25221 } else if (xpp.getName().equals(prefix+"CodeableConcept")) { 25222 return parseCodeableConcept(xpp); 25223 } else if (xpp.getName().equals(prefix+"CodeableReference")) { 25224 return parseCodeableReference(xpp); 25225 } else if (xpp.getName().equals(prefix+"Coding")) { 25226 return parseCoding(xpp); 25227 } else if (xpp.getName().equals(prefix+"ContactDetail")) { 25228 return parseContactDetail(xpp); 25229 } else if (xpp.getName().equals(prefix+"ContactPoint")) { 25230 return parseContactPoint(xpp); 25231 } else if (xpp.getName().equals(prefix+"Contributor")) { 25232 return parseContributor(xpp); 25233 } else if (xpp.getName().equals(prefix+"Count")) { 25234 return parseCount(xpp); 25235 } else if (xpp.getName().equals(prefix+"DataRequirement")) { 25236 return parseDataRequirement(xpp); 25237 } else if (xpp.getName().equals(prefix+"Distance")) { 25238 return parseDistance(xpp); 25239 } else if (xpp.getName().equals(prefix+"Dosage")) { 25240 return parseDosage(xpp); 25241 } else if (xpp.getName().equals(prefix+"Duration")) { 25242 return parseDuration(xpp); 25243 } else if (xpp.getName().equals(prefix+"ElementDefinition")) { 25244 return parseElementDefinition(xpp); 25245 } else if (xpp.getName().equals(prefix+"Expression")) { 25246 return parseExpression(xpp); 25247 } else if (xpp.getName().equals(prefix+"Extension")) { 25248 return parseExtension(xpp); 25249 } else if (xpp.getName().equals(prefix+"HumanName")) { 25250 return parseHumanName(xpp); 25251 } else if (xpp.getName().equals(prefix+"Identifier")) { 25252 return parseIdentifier(xpp); 25253 } else if (xpp.getName().equals(prefix+"MarketingStatus")) { 25254 return parseMarketingStatus(xpp); 25255 } else if (xpp.getName().equals(prefix+"Meta")) { 25256 return parseMeta(xpp); 25257 } else if (xpp.getName().equals(prefix+"Money")) { 25258 return parseMoney(xpp); 25259 } else if (xpp.getName().equals(prefix+"Narrative")) { 25260 return parseNarrative(xpp); 25261 } else if (xpp.getName().equals(prefix+"ParameterDefinition")) { 25262 return parseParameterDefinition(xpp); 25263 } else if (xpp.getName().equals(prefix+"Period")) { 25264 return parsePeriod(xpp); 25265 } else if (xpp.getName().equals(prefix+"Population")) { 25266 return parsePopulation(xpp); 25267 } else if (xpp.getName().equals(prefix+"ProdCharacteristic")) { 25268 return parseProdCharacteristic(xpp); 25269 } else if (xpp.getName().equals(prefix+"ProductShelfLife")) { 25270 return parseProductShelfLife(xpp); 25271 } else if (xpp.getName().equals(prefix+"Quantity")) { 25272 return parseQuantity(xpp); 25273 } else if (xpp.getName().equals(prefix+"Range")) { 25274 return parseRange(xpp); 25275 } else if (xpp.getName().equals(prefix+"Ratio")) { 25276 return parseRatio(xpp); 25277 } else if (xpp.getName().equals(prefix+"RatioRange")) { 25278 return parseRatioRange(xpp); 25279 } else if (xpp.getName().equals(prefix+"Reference")) { 25280 return parseReference(xpp); 25281 } else if (xpp.getName().equals(prefix+"RelatedArtifact")) { 25282 return parseRelatedArtifact(xpp); 25283 } else if (xpp.getName().equals(prefix+"SampledData")) { 25284 return parseSampledData(xpp); 25285 } else if (xpp.getName().equals(prefix+"Signature")) { 25286 return parseSignature(xpp); 25287 } else if (xpp.getName().equals(prefix+"Timing")) { 25288 return parseTiming(xpp); 25289 } else if (xpp.getName().equals(prefix+"TriggerDefinition")) { 25290 return parseTriggerDefinition(xpp); 25291 } else if (xpp.getName().equals(prefix+"UsageContext")) { 25292 return parseUsageContext(xpp); 25293 25294 } else { 25295 throw new FHIRFormatError("Unknown type "+xpp.getName()); 25296 } 25297 } 25298 25299 protected DataType parseType(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 25300 if (type == null) { 25301 throw new IOException("type == null!"); 25302 } else if (xpp == null) { 25303 throw new IOException("xpp == null!"); 25304 } else if (type.equals("date")) { 25305 return parseDate(xpp); 25306 } else if (type.equals("dateTime")) { 25307 return parseDateTime(xpp); 25308 } else if (type.equals("code")) { 25309 return parseCode(xpp); 25310 } else if (type.equals("string")) { 25311 return parseString(xpp); 25312 } else if (type.equals("integer")) { 25313 return parseInteger(xpp); 25314 } else if (type.equals("integer64")) { 25315 return parseInteger64(xpp); 25316 } else if (type.equals("oid")) { 25317 return parseOid(xpp); 25318 } else if (type.equals("canonical")) { 25319 return parseCanonical(xpp); 25320 } else if (type.equals("uri")) { 25321 return parseUri(xpp); 25322 } else if (type.equals("uuid")) { 25323 return parseUuid(xpp); 25324 } else if (type.equals("url")) { 25325 return parseUrl(xpp); 25326 } else if (type.equals("instant")) { 25327 return parseInstant(xpp); 25328 } else if (type.equals("boolean")) { 25329 return parseBoolean(xpp); 25330 } else if (type.equals("base64Binary")) { 25331 return parseBase64Binary(xpp); 25332 } else if (type.equals("unsignedInt")) { 25333 return parseUnsignedInt(xpp); 25334 } else if (type.equals("markdown")) { 25335 return parseMarkdown(xpp); 25336 } else if (type.equals("time")) { 25337 return parseTime(xpp); 25338 } else if (type.equals("id")) { 25339 return parseId(xpp); 25340 } else if (type.equals("positiveInt")) { 25341 return parsePositiveInt(xpp); 25342 } else if (type.equals("decimal")) { 25343 return parseDecimal(xpp); 25344 } else if (type.equals("Address")) { 25345 return parseAddress(xpp); 25346 } else if (type.equals("Age")) { 25347 return parseAge(xpp); 25348 } else if (type.equals("Annotation")) { 25349 return parseAnnotation(xpp); 25350 } else if (type.equals("Attachment")) { 25351 return parseAttachment(xpp); 25352 } else if (type.equals("CodeableConcept")) { 25353 return parseCodeableConcept(xpp); 25354 } else if (type.equals("CodeableReference")) { 25355 return parseCodeableReference(xpp); 25356 } else if (type.equals("Coding")) { 25357 return parseCoding(xpp); 25358 } else if (type.equals("ContactDetail")) { 25359 return parseContactDetail(xpp); 25360 } else if (type.equals("ContactPoint")) { 25361 return parseContactPoint(xpp); 25362 } else if (type.equals("Contributor")) { 25363 return parseContributor(xpp); 25364 } else if (type.equals("Count")) { 25365 return parseCount(xpp); 25366 } else if (type.equals("DataRequirement")) { 25367 return parseDataRequirement(xpp); 25368 } else if (type.equals("Distance")) { 25369 return parseDistance(xpp); 25370 } else if (type.equals("Dosage")) { 25371 return parseDosage(xpp); 25372 } else if (type.equals("Duration")) { 25373 return parseDuration(xpp); 25374 } else if (type.equals("ElementDefinition")) { 25375 return parseElementDefinition(xpp); 25376 } else if (type.equals("Expression")) { 25377 return parseExpression(xpp); 25378 } else if (type.equals("Extension")) { 25379 return parseExtension(xpp); 25380 } else if (type.equals("HumanName")) { 25381 return parseHumanName(xpp); 25382 } else if (type.equals("Identifier")) { 25383 return parseIdentifier(xpp); 25384 } else if (type.equals("MarketingStatus")) { 25385 return parseMarketingStatus(xpp); 25386 } else if (type.equals("Meta")) { 25387 return parseMeta(xpp); 25388 } else if (type.equals("Money")) { 25389 return parseMoney(xpp); 25390 } else if (type.equals("Narrative")) { 25391 return parseNarrative(xpp); 25392 } else if (type.equals("ParameterDefinition")) { 25393 return parseParameterDefinition(xpp); 25394 } else if (type.equals("Period")) { 25395 return parsePeriod(xpp); 25396 } else if (type.equals("Population")) { 25397 return parsePopulation(xpp); 25398 } else if (type.equals("ProdCharacteristic")) { 25399 return parseProdCharacteristic(xpp); 25400 } else if (type.equals("ProductShelfLife")) { 25401 return parseProductShelfLife(xpp); 25402 } else if (type.equals("Quantity")) { 25403 return parseQuantity(xpp); 25404 } else if (type.equals("Range")) { 25405 return parseRange(xpp); 25406 } else if (type.equals("Ratio")) { 25407 return parseRatio(xpp); 25408 } else if (type.equals("RatioRange")) { 25409 return parseRatioRange(xpp); 25410 } else if (type.equals("Reference")) { 25411 return parseReference(xpp); 25412 } else if (type.equals("RelatedArtifact")) { 25413 return parseRelatedArtifact(xpp); 25414 } else if (type.equals("SampledData")) { 25415 return parseSampledData(xpp); 25416 } else if (type.equals("Signature")) { 25417 return parseSignature(xpp); 25418 } else if (type.equals("Timing")) { 25419 return parseTiming(xpp); 25420 } else if (type.equals("TriggerDefinition")) { 25421 return parseTriggerDefinition(xpp); 25422 } else if (type.equals("UsageContext")) { 25423 return parseUsageContext(xpp); 25424 25425 } else { 25426 throw new FHIRFormatError("Unknown type "+type); 25427 } 25428 } 25429 25430 public Base parseFragment(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 25431 if (type == null) { 25432 throw new IOException("type == null!"); 25433 } else if (xpp == null) { 25434 throw new IOException("xpp == null!"); 25435 } else if (type.equals("Address")) { 25436 return parseAddress(xpp); 25437 } else if (type.equals("Age")) { 25438 return parseAge(xpp); 25439 } else if (type.equals("Annotation")) { 25440 return parseAnnotation(xpp); 25441 } else if (type.equals("Attachment")) { 25442 return parseAttachment(xpp); 25443 } else if (type.equals("CodeableConcept")) { 25444 return parseCodeableConcept(xpp); 25445 } else if (type.equals("CodeableReference")) { 25446 return parseCodeableReference(xpp); 25447 } else if (type.equals("Coding")) { 25448 return parseCoding(xpp); 25449 } else if (type.equals("ContactDetail")) { 25450 return parseContactDetail(xpp); 25451 } else if (type.equals("ContactPoint")) { 25452 return parseContactPoint(xpp); 25453 } else if (type.equals("Contributor")) { 25454 return parseContributor(xpp); 25455 } else if (type.equals("Count")) { 25456 return parseCount(xpp); 25457 } else if (type.equals("DataRequirement")) { 25458 return parseDataRequirement(xpp); 25459 } else if (type.equals("Distance")) { 25460 return parseDistance(xpp); 25461 } else if (type.equals("Dosage")) { 25462 return parseDosage(xpp); 25463 } else if (type.equals("Duration")) { 25464 return parseDuration(xpp); 25465 } else if (type.equals("ElementDefinition")) { 25466 return parseElementDefinition(xpp); 25467 } else if (type.equals("Expression")) { 25468 return parseExpression(xpp); 25469 } else if (type.equals("Extension")) { 25470 return parseExtension(xpp); 25471 } else if (type.equals("HumanName")) { 25472 return parseHumanName(xpp); 25473 } else if (type.equals("Identifier")) { 25474 return parseIdentifier(xpp); 25475 } else if (type.equals("MarketingStatus")) { 25476 return parseMarketingStatus(xpp); 25477 } else if (type.equals("Meta")) { 25478 return parseMeta(xpp); 25479 } else if (type.equals("Money")) { 25480 return parseMoney(xpp); 25481 } else if (type.equals("Narrative")) { 25482 return parseNarrative(xpp); 25483 } else if (type.equals("ParameterDefinition")) { 25484 return parseParameterDefinition(xpp); 25485 } else if (type.equals("Period")) { 25486 return parsePeriod(xpp); 25487 } else if (type.equals("Population")) { 25488 return parsePopulation(xpp); 25489 } else if (type.equals("ProdCharacteristic")) { 25490 return parseProdCharacteristic(xpp); 25491 } else if (type.equals("ProductShelfLife")) { 25492 return parseProductShelfLife(xpp); 25493 } else if (type.equals("Quantity")) { 25494 return parseQuantity(xpp); 25495 } else if (type.equals("Range")) { 25496 return parseRange(xpp); 25497 } else if (type.equals("Ratio")) { 25498 return parseRatio(xpp); 25499 } else if (type.equals("RatioRange")) { 25500 return parseRatioRange(xpp); 25501 } else if (type.equals("Reference")) { 25502 return parseReference(xpp); 25503 } else if (type.equals("RelatedArtifact")) { 25504 return parseRelatedArtifact(xpp); 25505 } else if (type.equals("SampledData")) { 25506 return parseSampledData(xpp); 25507 } else if (type.equals("Signature")) { 25508 return parseSignature(xpp); 25509 } else if (type.equals("Timing")) { 25510 return parseTiming(xpp); 25511 } else if (type.equals("TriggerDefinition")) { 25512 return parseTriggerDefinition(xpp); 25513 } else if (type.equals("UsageContext")) { 25514 return parseUsageContext(xpp); 25515 } else if (type.equals("Account")) { 25516 return parseAccount(xpp); 25517 } else if (type.equals("ActivityDefinition")) { 25518 return parseActivityDefinition(xpp); 25519 } else if (type.equals("AdministrableProductDefinition")) { 25520 return parseAdministrableProductDefinition(xpp); 25521 } else if (type.equals("AdverseEvent")) { 25522 return parseAdverseEvent(xpp); 25523 } else if (type.equals("AllergyIntolerance")) { 25524 return parseAllergyIntolerance(xpp); 25525 } else if (type.equals("Appointment")) { 25526 return parseAppointment(xpp); 25527 } else if (type.equals("AppointmentResponse")) { 25528 return parseAppointmentResponse(xpp); 25529 } else if (type.equals("AuditEvent")) { 25530 return parseAuditEvent(xpp); 25531 } else if (type.equals("Basic")) { 25532 return parseBasic(xpp); 25533 } else if (type.equals("Binary")) { 25534 return parseBinary(xpp); 25535 } else if (type.equals("BiologicallyDerivedProduct")) { 25536 return parseBiologicallyDerivedProduct(xpp); 25537 } else if (type.equals("BodyStructure")) { 25538 return parseBodyStructure(xpp); 25539 } else if (type.equals("Bundle")) { 25540 return parseBundle(xpp); 25541 } else if (type.equals("CapabilityStatement")) { 25542 return parseCapabilityStatement(xpp); 25543 } else if (type.equals("CarePlan")) { 25544 return parseCarePlan(xpp); 25545 } else if (type.equals("CareTeam")) { 25546 return parseCareTeam(xpp); 25547 } else if (type.equals("CatalogEntry")) { 25548 return parseCatalogEntry(xpp); 25549 } else if (type.equals("ChargeItem")) { 25550 return parseChargeItem(xpp); 25551 } else if (type.equals("ChargeItemDefinition")) { 25552 return parseChargeItemDefinition(xpp); 25553 } else if (type.equals("Citation")) { 25554 return parseCitation(xpp); 25555 } else if (type.equals("Claim")) { 25556 return parseClaim(xpp); 25557 } else if (type.equals("ClaimResponse")) { 25558 return parseClaimResponse(xpp); 25559 } else if (type.equals("ClinicalImpression")) { 25560 return parseClinicalImpression(xpp); 25561 } else if (type.equals("ClinicalUseDefinition")) { 25562 return parseClinicalUseDefinition(xpp); 25563 } else if (type.equals("CodeSystem")) { 25564 return parseCodeSystem(xpp); 25565 } else if (type.equals("Communication")) { 25566 return parseCommunication(xpp); 25567 } else if (type.equals("CommunicationRequest")) { 25568 return parseCommunicationRequest(xpp); 25569 } else if (type.equals("CompartmentDefinition")) { 25570 return parseCompartmentDefinition(xpp); 25571 } else if (type.equals("Composition")) { 25572 return parseComposition(xpp); 25573 } else if (type.equals("ConceptMap")) { 25574 return parseConceptMap(xpp); 25575 } else if (type.equals("Condition")) { 25576 return parseCondition(xpp); 25577 } else if (type.equals("Consent")) { 25578 return parseConsent(xpp); 25579 } else if (type.equals("Contract")) { 25580 return parseContract(xpp); 25581 } else if (type.equals("Coverage")) { 25582 return parseCoverage(xpp); 25583 } else if (type.equals("CoverageEligibilityRequest")) { 25584 return parseCoverageEligibilityRequest(xpp); 25585 } else if (type.equals("CoverageEligibilityResponse")) { 25586 return parseCoverageEligibilityResponse(xpp); 25587 } else if (type.equals("DetectedIssue")) { 25588 return parseDetectedIssue(xpp); 25589 } else if (type.equals("Device")) { 25590 return parseDevice(xpp); 25591 } else if (type.equals("DeviceDefinition")) { 25592 return parseDeviceDefinition(xpp); 25593 } else if (type.equals("DeviceMetric")) { 25594 return parseDeviceMetric(xpp); 25595 } else if (type.equals("DeviceRequest")) { 25596 return parseDeviceRequest(xpp); 25597 } else if (type.equals("DeviceUseStatement")) { 25598 return parseDeviceUseStatement(xpp); 25599 } else if (type.equals("DiagnosticReport")) { 25600 return parseDiagnosticReport(xpp); 25601 } else if (type.equals("DocumentManifest")) { 25602 return parseDocumentManifest(xpp); 25603 } else if (type.equals("DocumentReference")) { 25604 return parseDocumentReference(xpp); 25605 } else if (type.equals("Encounter")) { 25606 return parseEncounter(xpp); 25607 } else if (type.equals("Endpoint")) { 25608 return parseEndpoint(xpp); 25609 } else if (type.equals("EnrollmentRequest")) { 25610 return parseEnrollmentRequest(xpp); 25611 } else if (type.equals("EnrollmentResponse")) { 25612 return parseEnrollmentResponse(xpp); 25613 } else if (type.equals("EpisodeOfCare")) { 25614 return parseEpisodeOfCare(xpp); 25615 } else if (type.equals("EventDefinition")) { 25616 return parseEventDefinition(xpp); 25617 } else if (type.equals("Evidence")) { 25618 return parseEvidence(xpp); 25619 } else if (type.equals("EvidenceReport")) { 25620 return parseEvidenceReport(xpp); 25621 } else if (type.equals("EvidenceVariable")) { 25622 return parseEvidenceVariable(xpp); 25623 } else if (type.equals("ExampleScenario")) { 25624 return parseExampleScenario(xpp); 25625 } else if (type.equals("ExplanationOfBenefit")) { 25626 return parseExplanationOfBenefit(xpp); 25627 } else if (type.equals("FamilyMemberHistory")) { 25628 return parseFamilyMemberHistory(xpp); 25629 } else if (type.equals("Flag")) { 25630 return parseFlag(xpp); 25631 } else if (type.equals("Goal")) { 25632 return parseGoal(xpp); 25633 } else if (type.equals("GraphDefinition")) { 25634 return parseGraphDefinition(xpp); 25635 } else if (type.equals("Group")) { 25636 return parseGroup(xpp); 25637 } else if (type.equals("GuidanceResponse")) { 25638 return parseGuidanceResponse(xpp); 25639 } else if (type.equals("HealthcareService")) { 25640 return parseHealthcareService(xpp); 25641 } else if (type.equals("ImagingStudy")) { 25642 return parseImagingStudy(xpp); 25643 } else if (type.equals("Immunization")) { 25644 return parseImmunization(xpp); 25645 } else if (type.equals("ImmunizationEvaluation")) { 25646 return parseImmunizationEvaluation(xpp); 25647 } else if (type.equals("ImmunizationRecommendation")) { 25648 return parseImmunizationRecommendation(xpp); 25649 } else if (type.equals("ImplementationGuide")) { 25650 return parseImplementationGuide(xpp); 25651 } else if (type.equals("Ingredient")) { 25652 return parseIngredient(xpp); 25653 } else if (type.equals("InsurancePlan")) { 25654 return parseInsurancePlan(xpp); 25655 } else if (type.equals("Invoice")) { 25656 return parseInvoice(xpp); 25657 } else if (type.equals("Library")) { 25658 return parseLibrary(xpp); 25659 } else if (type.equals("Linkage")) { 25660 return parseLinkage(xpp); 25661 } else if (type.equals("List")) { 25662 return parseListResource(xpp); 25663 } else if (type.equals("Location")) { 25664 return parseLocation(xpp); 25665 } else if (type.equals("ManufacturedItemDefinition")) { 25666 return parseManufacturedItemDefinition(xpp); 25667 } else if (type.equals("Measure")) { 25668 return parseMeasure(xpp); 25669 } else if (type.equals("MeasureReport")) { 25670 return parseMeasureReport(xpp); 25671 } else if (type.equals("Media")) { 25672 return parseMedia(xpp); 25673 } else if (type.equals("Medication")) { 25674 return parseMedication(xpp); 25675 } else if (type.equals("MedicationAdministration")) { 25676 return parseMedicationAdministration(xpp); 25677 } else if (type.equals("MedicationDispense")) { 25678 return parseMedicationDispense(xpp); 25679 } else if (type.equals("MedicationKnowledge")) { 25680 return parseMedicationKnowledge(xpp); 25681 } else if (type.equals("MedicationRequest")) { 25682 return parseMedicationRequest(xpp); 25683 } else if (type.equals("MedicationStatement")) { 25684 return parseMedicationStatement(xpp); 25685 } else if (type.equals("MedicinalProductDefinition")) { 25686 return parseMedicinalProductDefinition(xpp); 25687 } else if (type.equals("MessageDefinition")) { 25688 return parseMessageDefinition(xpp); 25689 } else if (type.equals("MessageHeader")) { 25690 return parseMessageHeader(xpp); 25691 } else if (type.equals("MolecularSequence")) { 25692 return parseMolecularSequence(xpp); 25693 } else if (type.equals("NamingSystem")) { 25694 return parseNamingSystem(xpp); 25695 } else if (type.equals("NutritionOrder")) { 25696 return parseNutritionOrder(xpp); 25697 } else if (type.equals("NutritionProduct")) { 25698 return parseNutritionProduct(xpp); 25699 } else if (type.equals("Observation")) { 25700 return parseObservation(xpp); 25701 } else if (type.equals("ObservationDefinition")) { 25702 return parseObservationDefinition(xpp); 25703 } else if (type.equals("OperationDefinition")) { 25704 return parseOperationDefinition(xpp); 25705 } else if (type.equals("OperationOutcome")) { 25706 return parseOperationOutcome(xpp); 25707 } else if (type.equals("Organization")) { 25708 return parseOrganization(xpp); 25709 } else if (type.equals("OrganizationAffiliation")) { 25710 return parseOrganizationAffiliation(xpp); 25711 } else if (type.equals("PackagedProductDefinition")) { 25712 return parsePackagedProductDefinition(xpp); 25713 } else if (type.equals("Parameters")) { 25714 return parseParameters(xpp); 25715 } else if (type.equals("Patient")) { 25716 return parsePatient(xpp); 25717 } else if (type.equals("PaymentNotice")) { 25718 return parsePaymentNotice(xpp); 25719 } else if (type.equals("PaymentReconciliation")) { 25720 return parsePaymentReconciliation(xpp); 25721 } else if (type.equals("Person")) { 25722 return parsePerson(xpp); 25723 } else if (type.equals("PlanDefinition")) { 25724 return parsePlanDefinition(xpp); 25725 } else if (type.equals("Practitioner")) { 25726 return parsePractitioner(xpp); 25727 } else if (type.equals("PractitionerRole")) { 25728 return parsePractitionerRole(xpp); 25729 } else if (type.equals("Procedure")) { 25730 return parseProcedure(xpp); 25731 } else if (type.equals("Provenance")) { 25732 return parseProvenance(xpp); 25733 } else if (type.equals("Questionnaire")) { 25734 return parseQuestionnaire(xpp); 25735 } else if (type.equals("QuestionnaireResponse")) { 25736 return parseQuestionnaireResponse(xpp); 25737 } else if (type.equals("RegulatedAuthorization")) { 25738 return parseRegulatedAuthorization(xpp); 25739 } else if (type.equals("RelatedPerson")) { 25740 return parseRelatedPerson(xpp); 25741 } else if (type.equals("RequestGroup")) { 25742 return parseRequestGroup(xpp); 25743 } else if (type.equals("ResearchDefinition")) { 25744 return parseResearchDefinition(xpp); 25745 } else if (type.equals("ResearchElementDefinition")) { 25746 return parseResearchElementDefinition(xpp); 25747 } else if (type.equals("ResearchStudy")) { 25748 return parseResearchStudy(xpp); 25749 } else if (type.equals("ResearchSubject")) { 25750 return parseResearchSubject(xpp); 25751 } else if (type.equals("RiskAssessment")) { 25752 return parseRiskAssessment(xpp); 25753 } else if (type.equals("Schedule")) { 25754 return parseSchedule(xpp); 25755 } else if (type.equals("SearchParameter")) { 25756 return parseSearchParameter(xpp); 25757 } else if (type.equals("ServiceRequest")) { 25758 return parseServiceRequest(xpp); 25759 } else if (type.equals("Slot")) { 25760 return parseSlot(xpp); 25761 } else if (type.equals("Specimen")) { 25762 return parseSpecimen(xpp); 25763 } else if (type.equals("SpecimenDefinition")) { 25764 return parseSpecimenDefinition(xpp); 25765 } else if (type.equals("StructureDefinition")) { 25766 return parseStructureDefinition(xpp); 25767 } else if (type.equals("StructureMap")) { 25768 return parseStructureMap(xpp); 25769 } else if (type.equals("Subscription")) { 25770 return parseSubscription(xpp); 25771 } else if (type.equals("SubscriptionStatus")) { 25772 return parseSubscriptionStatus(xpp); 25773 } else if (type.equals("SubscriptionTopic")) { 25774 return parseSubscriptionTopic(xpp); 25775 } else if (type.equals("Substance")) { 25776 return parseSubstance(xpp); 25777 } else if (type.equals("SubstanceDefinition")) { 25778 return parseSubstanceDefinition(xpp); 25779 } else if (type.equals("SupplyDelivery")) { 25780 return parseSupplyDelivery(xpp); 25781 } else if (type.equals("SupplyRequest")) { 25782 return parseSupplyRequest(xpp); 25783 } else if (type.equals("Task")) { 25784 return parseTask(xpp); 25785 } else if (type.equals("TerminologyCapabilities")) { 25786 return parseTerminologyCapabilities(xpp); 25787 } else if (type.equals("TestReport")) { 25788 return parseTestReport(xpp); 25789 } else if (type.equals("TestScript")) { 25790 return parseTestScript(xpp); 25791 } else if (type.equals("ValueSet")) { 25792 return parseValueSet(xpp); 25793 } else if (type.equals("VerificationResult")) { 25794 return parseVerificationResult(xpp); 25795 } else if (type.equals("VisionPrescription")) { 25796 return parseVisionPrescription(xpp); 25797 25798 } else if (type.equals("date")) { 25799 return parseDate(xpp); 25800 } else if (type.equals("dateTime")) { 25801 return parseDateTime(xpp); 25802 } else if (type.equals("code")) { 25803 return parseCode(xpp); 25804 } else if (type.equals("string")) { 25805 return parseString(xpp); 25806 } else if (type.equals("integer")) { 25807 return parseInteger(xpp); 25808 } else if (type.equals("integer64")) { 25809 return parseInteger64(xpp); 25810 } else if (type.equals("oid")) { 25811 return parseOid(xpp); 25812 } else if (type.equals("canonical")) { 25813 return parseCanonical(xpp); 25814 } else if (type.equals("uri")) { 25815 return parseUri(xpp); 25816 } else if (type.equals("uuid")) { 25817 return parseUuid(xpp); 25818 } else if (type.equals("url")) { 25819 return parseUrl(xpp); 25820 } else if (type.equals("instant")) { 25821 return parseInstant(xpp); 25822 } else if (type.equals("boolean")) { 25823 return parseBoolean(xpp); 25824 } else if (type.equals("base64Binary")) { 25825 return parseBase64Binary(xpp); 25826 } else if (type.equals("unsignedInt")) { 25827 return parseUnsignedInt(xpp); 25828 } else if (type.equals("markdown")) { 25829 return parseMarkdown(xpp); 25830 } else if (type.equals("time")) { 25831 return parseTime(xpp); 25832 } else if (type.equals("id")) { 25833 return parseId(xpp); 25834 } else if (type.equals("positiveInt")) { 25835 return parsePositiveInt(xpp); 25836 } else if (type.equals("decimal")) { 25837 return parseDecimal(xpp); 25838 } else { 25839 throw new FHIRFormatError("Unknown type "+type); 25840 } 25841 } 25842 25843 private boolean nameIsTypeName(XmlPullParser xpp, String prefix) throws IOException { 25844 if (prefix == null) { 25845 throw new IOException("prefix == null!"); 25846 } else if (xpp == null) { 25847 throw new IOException("xpp == null!"); 25848 } else if (xpp.getName().equals(prefix+"Address")) { 25849 return true; 25850 } else if (xpp.getName().equals(prefix+"Age")) { 25851 return true; 25852 } else if (xpp.getName().equals(prefix+"Annotation")) { 25853 return true; 25854 } else if (xpp.getName().equals(prefix+"Attachment")) { 25855 return true; 25856 } else if (xpp.getName().equals(prefix+"CodeableConcept")) { 25857 return true; 25858 } else if (xpp.getName().equals(prefix+"CodeableReference")) { 25859 return true; 25860 } else if (xpp.getName().equals(prefix+"Coding")) { 25861 return true; 25862 } else if (xpp.getName().equals(prefix+"ContactDetail")) { 25863 return true; 25864 } else if (xpp.getName().equals(prefix+"ContactPoint")) { 25865 return true; 25866 } else if (xpp.getName().equals(prefix+"Contributor")) { 25867 return true; 25868 } else if (xpp.getName().equals(prefix+"Count")) { 25869 return true; 25870 } else if (xpp.getName().equals(prefix+"DataRequirement")) { 25871 return true; 25872 } else if (xpp.getName().equals(prefix+"Distance")) { 25873 return true; 25874 } else if (xpp.getName().equals(prefix+"Dosage")) { 25875 return true; 25876 } else if (xpp.getName().equals(prefix+"Duration")) { 25877 return true; 25878 } else if (xpp.getName().equals(prefix+"ElementDefinition")) { 25879 return true; 25880 } else if (xpp.getName().equals(prefix+"Expression")) { 25881 return true; 25882 } else if (xpp.getName().equals(prefix+"Extension")) { 25883 return true; 25884 } else if (xpp.getName().equals(prefix+"HumanName")) { 25885 return true; 25886 } else if (xpp.getName().equals(prefix+"Identifier")) { 25887 return true; 25888 } else if (xpp.getName().equals(prefix+"MarketingStatus")) { 25889 return true; 25890 } else if (xpp.getName().equals(prefix+"Meta")) { 25891 return true; 25892 } else if (xpp.getName().equals(prefix+"Money")) { 25893 return true; 25894 } else if (xpp.getName().equals(prefix+"Narrative")) { 25895 return true; 25896 } else if (xpp.getName().equals(prefix+"ParameterDefinition")) { 25897 return true; 25898 } else if (xpp.getName().equals(prefix+"Period")) { 25899 return true; 25900 } else if (xpp.getName().equals(prefix+"Population")) { 25901 return true; 25902 } else if (xpp.getName().equals(prefix+"ProdCharacteristic")) { 25903 return true; 25904 } else if (xpp.getName().equals(prefix+"ProductShelfLife")) { 25905 return true; 25906 } else if (xpp.getName().equals(prefix+"Quantity")) { 25907 return true; 25908 } else if (xpp.getName().equals(prefix+"Range")) { 25909 return true; 25910 } else if (xpp.getName().equals(prefix+"Ratio")) { 25911 return true; 25912 } else if (xpp.getName().equals(prefix+"RatioRange")) { 25913 return true; 25914 } else if (xpp.getName().equals(prefix+"Reference")) { 25915 return true; 25916 } else if (xpp.getName().equals(prefix+"RelatedArtifact")) { 25917 return true; 25918 } else if (xpp.getName().equals(prefix+"SampledData")) { 25919 return true; 25920 } else if (xpp.getName().equals(prefix+"Signature")) { 25921 return true; 25922 } else if (xpp.getName().equals(prefix+"Timing")) { 25923 return true; 25924 } else if (xpp.getName().equals(prefix+"TriggerDefinition")) { 25925 return true; 25926 } else if (xpp.getName().equals(prefix+"UsageContext")) { 25927 return true; 25928 } else if (xpp.getName().equals(prefix+"Account")) { 25929 return true; 25930 } else if (xpp.getName().equals(prefix+"ActivityDefinition")) { 25931 return true; 25932 } else if (xpp.getName().equals(prefix+"AdministrableProductDefinition")) { 25933 return true; 25934 } else if (xpp.getName().equals(prefix+"AdverseEvent")) { 25935 return true; 25936 } else if (xpp.getName().equals(prefix+"AllergyIntolerance")) { 25937 return true; 25938 } else if (xpp.getName().equals(prefix+"Appointment")) { 25939 return true; 25940 } else if (xpp.getName().equals(prefix+"AppointmentResponse")) { 25941 return true; 25942 } else if (xpp.getName().equals(prefix+"AuditEvent")) { 25943 return true; 25944 } else if (xpp.getName().equals(prefix+"Basic")) { 25945 return true; 25946 } else if (xpp.getName().equals(prefix+"Binary")) { 25947 return true; 25948 } else if (xpp.getName().equals(prefix+"BiologicallyDerivedProduct")) { 25949 return true; 25950 } else if (xpp.getName().equals(prefix+"BodyStructure")) { 25951 return true; 25952 } else if (xpp.getName().equals(prefix+"Bundle")) { 25953 return true; 25954 } else if (xpp.getName().equals(prefix+"CapabilityStatement")) { 25955 return true; 25956 } else if (xpp.getName().equals(prefix+"CarePlan")) { 25957 return true; 25958 } else if (xpp.getName().equals(prefix+"CareTeam")) { 25959 return true; 25960 } else if (xpp.getName().equals(prefix+"CatalogEntry")) { 25961 return true; 25962 } else if (xpp.getName().equals(prefix+"ChargeItem")) { 25963 return true; 25964 } else if (xpp.getName().equals(prefix+"ChargeItemDefinition")) { 25965 return true; 25966 } else if (xpp.getName().equals(prefix+"Citation")) { 25967 return true; 25968 } else if (xpp.getName().equals(prefix+"Claim")) { 25969 return true; 25970 } else if (xpp.getName().equals(prefix+"ClaimResponse")) { 25971 return true; 25972 } else if (xpp.getName().equals(prefix+"ClinicalImpression")) { 25973 return true; 25974 } else if (xpp.getName().equals(prefix+"ClinicalUseDefinition")) { 25975 return true; 25976 } else if (xpp.getName().equals(prefix+"CodeSystem")) { 25977 return true; 25978 } else if (xpp.getName().equals(prefix+"Communication")) { 25979 return true; 25980 } else if (xpp.getName().equals(prefix+"CommunicationRequest")) { 25981 return true; 25982 } else if (xpp.getName().equals(prefix+"CompartmentDefinition")) { 25983 return true; 25984 } else if (xpp.getName().equals(prefix+"Composition")) { 25985 return true; 25986 } else if (xpp.getName().equals(prefix+"ConceptMap")) { 25987 return true; 25988 } else if (xpp.getName().equals(prefix+"Condition")) { 25989 return true; 25990 } else if (xpp.getName().equals(prefix+"Consent")) { 25991 return true; 25992 } else if (xpp.getName().equals(prefix+"Contract")) { 25993 return true; 25994 } else if (xpp.getName().equals(prefix+"Coverage")) { 25995 return true; 25996 } else if (xpp.getName().equals(prefix+"CoverageEligibilityRequest")) { 25997 return true; 25998 } else if (xpp.getName().equals(prefix+"CoverageEligibilityResponse")) { 25999 return true; 26000 } else if (xpp.getName().equals(prefix+"DetectedIssue")) { 26001 return true; 26002 } else if (xpp.getName().equals(prefix+"Device")) { 26003 return true; 26004 } else if (xpp.getName().equals(prefix+"DeviceDefinition")) { 26005 return true; 26006 } else if (xpp.getName().equals(prefix+"DeviceMetric")) { 26007 return true; 26008 } else if (xpp.getName().equals(prefix+"DeviceRequest")) { 26009 return true; 26010 } else if (xpp.getName().equals(prefix+"DeviceUseStatement")) { 26011 return true; 26012 } else if (xpp.getName().equals(prefix+"DiagnosticReport")) { 26013 return true; 26014 } else if (xpp.getName().equals(prefix+"DocumentManifest")) { 26015 return true; 26016 } else if (xpp.getName().equals(prefix+"DocumentReference")) { 26017 return true; 26018 } else if (xpp.getName().equals(prefix+"Encounter")) { 26019 return true; 26020 } else if (xpp.getName().equals(prefix+"Endpoint")) { 26021 return true; 26022 } else if (xpp.getName().equals(prefix+"EnrollmentRequest")) { 26023 return true; 26024 } else if (xpp.getName().equals(prefix+"EnrollmentResponse")) { 26025 return true; 26026 } else if (xpp.getName().equals(prefix+"EpisodeOfCare")) { 26027 return true; 26028 } else if (xpp.getName().equals(prefix+"EventDefinition")) { 26029 return true; 26030 } else if (xpp.getName().equals(prefix+"Evidence")) { 26031 return true; 26032 } else if (xpp.getName().equals(prefix+"EvidenceReport")) { 26033 return true; 26034 } else if (xpp.getName().equals(prefix+"EvidenceVariable")) { 26035 return true; 26036 } else if (xpp.getName().equals(prefix+"ExampleScenario")) { 26037 return true; 26038 } else if (xpp.getName().equals(prefix+"ExplanationOfBenefit")) { 26039 return true; 26040 } else if (xpp.getName().equals(prefix+"FamilyMemberHistory")) { 26041 return true; 26042 } else if (xpp.getName().equals(prefix+"Flag")) { 26043 return true; 26044 } else if (xpp.getName().equals(prefix+"Goal")) { 26045 return true; 26046 } else if (xpp.getName().equals(prefix+"GraphDefinition")) { 26047 return true; 26048 } else if (xpp.getName().equals(prefix+"Group")) { 26049 return true; 26050 } else if (xpp.getName().equals(prefix+"GuidanceResponse")) { 26051 return true; 26052 } else if (xpp.getName().equals(prefix+"HealthcareService")) { 26053 return true; 26054 } else if (xpp.getName().equals(prefix+"ImagingStudy")) { 26055 return true; 26056 } else if (xpp.getName().equals(prefix+"Immunization")) { 26057 return true; 26058 } else if (xpp.getName().equals(prefix+"ImmunizationEvaluation")) { 26059 return true; 26060 } else if (xpp.getName().equals(prefix+"ImmunizationRecommendation")) { 26061 return true; 26062 } else if (xpp.getName().equals(prefix+"ImplementationGuide")) { 26063 return true; 26064 } else if (xpp.getName().equals(prefix+"Ingredient")) { 26065 return true; 26066 } else if (xpp.getName().equals(prefix+"InsurancePlan")) { 26067 return true; 26068 } else if (xpp.getName().equals(prefix+"Invoice")) { 26069 return true; 26070 } else if (xpp.getName().equals(prefix+"Library")) { 26071 return true; 26072 } else if (xpp.getName().equals(prefix+"Linkage")) { 26073 return true; 26074 } else if (xpp.getName().equals(prefix+"List")) { 26075 return true; 26076 } else if (xpp.getName().equals(prefix+"Location")) { 26077 return true; 26078 } else if (xpp.getName().equals(prefix+"ManufacturedItemDefinition")) { 26079 return true; 26080 } else if (xpp.getName().equals(prefix+"Measure")) { 26081 return true; 26082 } else if (xpp.getName().equals(prefix+"MeasureReport")) { 26083 return true; 26084 } else if (xpp.getName().equals(prefix+"Media")) { 26085 return true; 26086 } else if (xpp.getName().equals(prefix+"Medication")) { 26087 return true; 26088 } else if (xpp.getName().equals(prefix+"MedicationAdministration")) { 26089 return true; 26090 } else if (xpp.getName().equals(prefix+"MedicationDispense")) { 26091 return true; 26092 } else if (xpp.getName().equals(prefix+"MedicationKnowledge")) { 26093 return true; 26094 } else if (xpp.getName().equals(prefix+"MedicationRequest")) { 26095 return true; 26096 } else if (xpp.getName().equals(prefix+"MedicationStatement")) { 26097 return true; 26098 } else if (xpp.getName().equals(prefix+"MedicinalProductDefinition")) { 26099 return true; 26100 } else if (xpp.getName().equals(prefix+"MessageDefinition")) { 26101 return true; 26102 } else if (xpp.getName().equals(prefix+"MessageHeader")) { 26103 return true; 26104 } else if (xpp.getName().equals(prefix+"MolecularSequence")) { 26105 return true; 26106 } else if (xpp.getName().equals(prefix+"NamingSystem")) { 26107 return true; 26108 } else if (xpp.getName().equals(prefix+"NutritionOrder")) { 26109 return true; 26110 } else if (xpp.getName().equals(prefix+"NutritionProduct")) { 26111 return true; 26112 } else if (xpp.getName().equals(prefix+"Observation")) { 26113 return true; 26114 } else if (xpp.getName().equals(prefix+"ObservationDefinition")) { 26115 return true; 26116 } else if (xpp.getName().equals(prefix+"OperationDefinition")) { 26117 return true; 26118 } else if (xpp.getName().equals(prefix+"OperationOutcome")) { 26119 return true; 26120 } else if (xpp.getName().equals(prefix+"Organization")) { 26121 return true; 26122 } else if (xpp.getName().equals(prefix+"OrganizationAffiliation")) { 26123 return true; 26124 } else if (xpp.getName().equals(prefix+"PackagedProductDefinition")) { 26125 return true; 26126 } else if (xpp.getName().equals(prefix+"Parameters")) { 26127 return true; 26128 } else if (xpp.getName().equals(prefix+"Patient")) { 26129 return true; 26130 } else if (xpp.getName().equals(prefix+"PaymentNotice")) { 26131 return true; 26132 } else if (xpp.getName().equals(prefix+"PaymentReconciliation")) { 26133 return true; 26134 } else if (xpp.getName().equals(prefix+"Person")) { 26135 return true; 26136 } else if (xpp.getName().equals(prefix+"PlanDefinition")) { 26137 return true; 26138 } else if (xpp.getName().equals(prefix+"Practitioner")) { 26139 return true; 26140 } else if (xpp.getName().equals(prefix+"PractitionerRole")) { 26141 return true; 26142 } else if (xpp.getName().equals(prefix+"Procedure")) { 26143 return true; 26144 } else if (xpp.getName().equals(prefix+"Provenance")) { 26145 return true; 26146 } else if (xpp.getName().equals(prefix+"Questionnaire")) { 26147 return true; 26148 } else if (xpp.getName().equals(prefix+"QuestionnaireResponse")) { 26149 return true; 26150 } else if (xpp.getName().equals(prefix+"RegulatedAuthorization")) { 26151 return true; 26152 } else if (xpp.getName().equals(prefix+"RelatedPerson")) { 26153 return true; 26154 } else if (xpp.getName().equals(prefix+"RequestGroup")) { 26155 return true; 26156 } else if (xpp.getName().equals(prefix+"ResearchDefinition")) { 26157 return true; 26158 } else if (xpp.getName().equals(prefix+"ResearchElementDefinition")) { 26159 return true; 26160 } else if (xpp.getName().equals(prefix+"ResearchStudy")) { 26161 return true; 26162 } else if (xpp.getName().equals(prefix+"ResearchSubject")) { 26163 return true; 26164 } else if (xpp.getName().equals(prefix+"RiskAssessment")) { 26165 return true; 26166 } else if (xpp.getName().equals(prefix+"Schedule")) { 26167 return true; 26168 } else if (xpp.getName().equals(prefix+"SearchParameter")) { 26169 return true; 26170 } else if (xpp.getName().equals(prefix+"ServiceRequest")) { 26171 return true; 26172 } else if (xpp.getName().equals(prefix+"Slot")) { 26173 return true; 26174 } else if (xpp.getName().equals(prefix+"Specimen")) { 26175 return true; 26176 } else if (xpp.getName().equals(prefix+"SpecimenDefinition")) { 26177 return true; 26178 } else if (xpp.getName().equals(prefix+"StructureDefinition")) { 26179 return true; 26180 } else if (xpp.getName().equals(prefix+"StructureMap")) { 26181 return true; 26182 } else if (xpp.getName().equals(prefix+"Subscription")) { 26183 return true; 26184 } else if (xpp.getName().equals(prefix+"SubscriptionStatus")) { 26185 return true; 26186 } else if (xpp.getName().equals(prefix+"SubscriptionTopic")) { 26187 return true; 26188 } else if (xpp.getName().equals(prefix+"Substance")) { 26189 return true; 26190 } else if (xpp.getName().equals(prefix+"SubstanceDefinition")) { 26191 return true; 26192 } else if (xpp.getName().equals(prefix+"SupplyDelivery")) { 26193 return true; 26194 } else if (xpp.getName().equals(prefix+"SupplyRequest")) { 26195 return true; 26196 } else if (xpp.getName().equals(prefix+"Task")) { 26197 return true; 26198 } else if (xpp.getName().equals(prefix+"TerminologyCapabilities")) { 26199 return true; 26200 } else if (xpp.getName().equals(prefix+"TestReport")) { 26201 return true; 26202 } else if (xpp.getName().equals(prefix+"TestScript")) { 26203 return true; 26204 } else if (xpp.getName().equals(prefix+"ValueSet")) { 26205 return true; 26206 } else if (xpp.getName().equals(prefix+"VerificationResult")) { 26207 return true; 26208 } else if (xpp.getName().equals(prefix+"VisionPrescription")) { 26209 return true; 26210 26211 } else if (xpp.getName().equals(prefix+"Date")) { 26212 return true; 26213 } else if (xpp.getName().equals(prefix+"DateTime")) { 26214 return true; 26215 } else if (xpp.getName().equals(prefix+"Code")) { 26216 return true; 26217 } else if (xpp.getName().equals(prefix+"String")) { 26218 return true; 26219 } else if (xpp.getName().equals(prefix+"Integer")) { 26220 return true; 26221 } else if (xpp.getName().equals(prefix+"Integer64")) { 26222 return true; 26223 } else if (xpp.getName().equals(prefix+"Oid")) { 26224 return true; 26225 } else if (xpp.getName().equals(prefix+"Canonical")) { 26226 return true; 26227 } else if (xpp.getName().equals(prefix+"Uri")) { 26228 return true; 26229 } else if (xpp.getName().equals(prefix+"Uuid")) { 26230 return true; 26231 } else if (xpp.getName().equals(prefix+"Url")) { 26232 return true; 26233 } else if (xpp.getName().equals(prefix+"Instant")) { 26234 return true; 26235 } else if (xpp.getName().equals(prefix+"Boolean")) { 26236 return true; 26237 } else if (xpp.getName().equals(prefix+"Base64Binary")) { 26238 return true; 26239 } else if (xpp.getName().equals(prefix+"UnsignedInt")) { 26240 return true; 26241 } else if (xpp.getName().equals(prefix+"Markdown")) { 26242 return true; 26243 } else if (xpp.getName().equals(prefix+"Time")) { 26244 return true; 26245 } else if (xpp.getName().equals(prefix+"Id")) { 26246 return true; 26247 } else if (xpp.getName().equals(prefix+"PositiveInt")) { 26248 return true; 26249 } else if (xpp.getName().equals(prefix+"Decimal")) { 26250 return true; 26251 } else { 26252 return false; 26253 } 26254 } 26255 26256 @Override 26257 protected DataType parseAnyType(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 26258 return parseType(xpp, type); 26259 } 26260 26261 26262//----------------- Composer ------------------------------------------------------------------------------------------- 26263 26264 protected <E extends Enum<E>> void composeEnumeration(String name, Enumeration<E> value, EnumFactory e) throws IOException { 26265 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) { 26266 composeElementAttributes(value); 26267 if (value.getValue() != null) 26268 xml.attribute("value", e.toCode(value.getValue())); 26269 26270 xml.enter(FHIR_NS, name); 26271 composeElementElements(value); 26272 composeElementClose(value); 26273 xml.exit(FHIR_NS, name); 26274 } 26275 } 26276 26277 protected void composeDate(String name, DateType value) throws IOException { 26278 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// date 26279 composeElementAttributes(value); 26280 if (value.asStringValue() != null) 26281 xml.attribute("value", value.asStringValue()); 26282 26283 xml.enter(FHIR_NS, name); 26284 composeElementElements(value); 26285 composeElementClose(value); 26286 xml.exit(FHIR_NS, name); 26287 } 26288 } 26289 26290 protected void composeDateTime(String name, DateTimeType value) throws IOException { 26291 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// dateTime 26292 composeElementAttributes(value); 26293 if (value.asStringValue() != null) 26294 xml.attribute("value", value.asStringValue()); 26295 26296 xml.enter(FHIR_NS, name); 26297 composeElementElements(value); 26298 composeElementClose(value); 26299 xml.exit(FHIR_NS, name); 26300 } 26301 } 26302 26303 protected void composeCode(String name, CodeType value) throws IOException { 26304 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// code 26305 composeElementAttributes(value); 26306 if (value.asStringValue() != null) 26307 xml.attribute("value", value.asStringValue()); 26308 26309 xml.enter(FHIR_NS, name); 26310 composeElementElements(value); 26311 composeElementClose(value); 26312 xml.exit(FHIR_NS, name); 26313 } 26314 } 26315 26316 protected void composeString(String name, StringType value) throws IOException { 26317 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// string 26318 composeElementAttributes(value); 26319 if (value.asStringValue() != null) 26320 xml.attribute("value", value.asStringValue()); 26321 26322 xml.enter(FHIR_NS, name); 26323 composeElementElements(value); 26324 composeElementClose(value); 26325 xml.exit(FHIR_NS, name); 26326 } 26327 } 26328 26329 protected void composeInteger(String name, IntegerType value) throws IOException { 26330 if (value != null) { // integer 26331 composeElementAttributes(value); 26332 if (value.asStringValue() != null) 26333 xml.attribute("value", value.asStringValue()); 26334 26335 xml.enter(FHIR_NS, name); 26336 composeElementElements(value); 26337 composeElementClose(value); 26338 xml.exit(FHIR_NS, name); 26339 } 26340 } 26341 26342 protected void composeInteger64(String name, Integer64Type value) throws IOException { 26343 if (value != null) { // integer 26344 composeElementAttributes(value); 26345 if (value.asStringValue() != null) 26346 xml.attribute("value", value.asStringValue()); 26347 26348 xml.enter(FHIR_NS, name); 26349 composeElementElements(value); 26350 composeElementClose(value); 26351 xml.exit(FHIR_NS, name); 26352 } 26353 } 26354 26355 protected void composeOid(String name, OidType value) throws IOException { 26356 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// oid 26357 composeElementAttributes(value); 26358 if (value.asStringValue() != null) 26359 xml.attribute("value", value.asStringValue()); 26360 26361 xml.enter(FHIR_NS, name); 26362 composeElementElements(value); 26363 composeElementClose(value); 26364 xml.exit(FHIR_NS, name); 26365 } 26366 } 26367 26368 protected void composeCanonical(String name, CanonicalType value) throws IOException { 26369 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// canonical 26370 composeElementAttributes(value); 26371 if (value.asStringValue() != null) 26372 xml.attribute("value", value.asStringValue()); 26373 26374 xml.enter(FHIR_NS, name); 26375 composeElementElements(value); 26376 composeElementClose(value); 26377 xml.exit(FHIR_NS, name); 26378 } 26379 } 26380 26381 protected void composeUri(String name, UriType value) throws IOException { 26382 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// uri 26383 composeElementAttributes(value); 26384 if (value.asStringValue() != null) 26385 xml.attribute("value", value.asStringValue()); 26386 26387 xml.enter(FHIR_NS, name); 26388 composeElementElements(value); 26389 composeElementClose(value); 26390 xml.exit(FHIR_NS, name); 26391 } 26392 } 26393 26394 protected void composeUuid(String name, UuidType value) throws IOException { 26395 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// uuid 26396 composeElementAttributes(value); 26397 if (value.asStringValue() != null) 26398 xml.attribute("value", value.asStringValue()); 26399 26400 xml.enter(FHIR_NS, name); 26401 composeElementElements(value); 26402 composeElementClose(value); 26403 xml.exit(FHIR_NS, name); 26404 } 26405 } 26406 26407 protected void composeUrl(String name, UrlType value) throws IOException { 26408 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// url 26409 composeElementAttributes(value); 26410 if (value.asStringValue() != null) 26411 xml.attribute("value", value.asStringValue()); 26412 26413 xml.enter(FHIR_NS, name); 26414 composeElementElements(value); 26415 composeElementClose(value); 26416 xml.exit(FHIR_NS, name); 26417 } 26418 } 26419 26420 protected void composeInstant(String name, InstantType value) throws IOException { 26421 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// instant 26422 composeElementAttributes(value); 26423 if (value.asStringValue() != null) 26424 xml.attribute("value", value.asStringValue()); 26425 26426 xml.enter(FHIR_NS, name); 26427 composeElementElements(value); 26428 composeElementClose(value); 26429 xml.exit(FHIR_NS, name); 26430 } 26431 } 26432 26433 protected void composeBoolean(String name, BooleanType value) throws IOException { 26434 if (value != null) { // boolean 26435 composeElementAttributes(value); 26436 if (value.asStringValue() != null) 26437 xml.attribute("value", value.asStringValue()); 26438 26439 xml.enter(FHIR_NS, name); 26440 composeElementElements(value); 26441 composeElementClose(value); 26442 xml.exit(FHIR_NS, name); 26443 } 26444 } 26445 26446 protected void composeBase64Binary(String name, Base64BinaryType value) throws IOException { 26447 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// base64Binary 26448 composeElementAttributes(value); 26449 if (value.asStringValue() != null) 26450 xml.attribute("value", value.asStringValue()); 26451 26452 xml.enter(FHIR_NS, name); 26453 composeElementElements(value); 26454 composeElementClose(value); 26455 xml.exit(FHIR_NS, name); 26456 } 26457 } 26458 26459 protected void composeUnsignedInt(String name, UnsignedIntType value) throws IOException { 26460 if (value != null) { // unsignedInt 26461 composeElementAttributes(value); 26462 if (value.asStringValue() != null) 26463 xml.attribute("value", value.asStringValue()); 26464 26465 xml.enter(FHIR_NS, name); 26466 composeElementElements(value); 26467 composeElementClose(value); 26468 xml.exit(FHIR_NS, name); 26469 } 26470 } 26471 26472 protected void composeMarkdown(String name, MarkdownType value) throws IOException { 26473 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// markdown 26474 composeElementAttributes(value); 26475 if (value.asStringValue() != null) 26476 xml.attribute("value", value.asStringValue()); 26477 26478 xml.enter(FHIR_NS, name); 26479 composeElementElements(value); 26480 composeElementClose(value); 26481 xml.exit(FHIR_NS, name); 26482 } 26483 } 26484 26485 protected void composeTime(String name, TimeType value) throws IOException { 26486 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// time 26487 composeElementAttributes(value); 26488 if (value.asStringValue() != null) 26489 xml.attribute("value", value.asStringValue()); 26490 26491 xml.enter(FHIR_NS, name); 26492 composeElementElements(value); 26493 composeElementClose(value); 26494 xml.exit(FHIR_NS, name); 26495 } 26496 } 26497 26498 protected void composeId(String name, IdType value) throws IOException { 26499 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// id 26500 composeElementAttributes(value); 26501 if (value.asStringValue() != null) 26502 xml.attribute("value", value.asStringValue()); 26503 26504 xml.enter(FHIR_NS, name); 26505 composeElementElements(value); 26506 composeElementClose(value); 26507 xml.exit(FHIR_NS, name); 26508 } 26509 } 26510 26511 protected void composePositiveInt(String name, PositiveIntType value) throws IOException { 26512 if (value != null) { // positiveInt 26513 composeElementAttributes(value); 26514 if (value.asStringValue() != null) 26515 xml.attribute("value", value.asStringValue()); 26516 26517 xml.enter(FHIR_NS, name); 26518 composeElementElements(value); 26519 composeElementClose(value); 26520 xml.exit(FHIR_NS, name); 26521 } 26522 } 26523 26524 protected void composeDecimal(String name, DecimalType value) throws IOException { 26525 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// decimal 26526 composeElementAttributes(value); 26527 if (value.asStringValue() != null) 26528 xml.attribute("value", value.asStringValue()); 26529 26530 xml.enter(FHIR_NS, name); 26531 composeElementElements(value); 26532 composeElementClose(value); 26533 xml.exit(FHIR_NS, name); 26534 } 26535 } 26536 26537 protected void composeElementElements(Element element) throws IOException { 26538 if (element.hasExtension()) { 26539 for (Extension e : element.getExtension()) 26540 composeExtension("extension", e); 26541 } 26542 } 26543 26544 protected void composeBackboneElementElements(BackboneElement element) throws IOException { 26545 composeDataTypeElements(element); 26546 if (element.hasModifierExtension()) { 26547 for (Extension e : element.getModifierExtension()) 26548 composeExtension("modifierExtension", e); 26549 } 26550 } 26551 26552 protected void composeDataTypeElements(DataType element) throws IOException { 26553 composeElementElements(element); 26554 } 26555 26556 protected void composeAddress(String name, Address element) throws IOException { 26557 if (element != null) { 26558 composeElementAttributes(element); 26559 xml.enter(FHIR_NS, name); 26560 composeAddressElements(element); 26561 composeElementClose(element); 26562 xml.exit(FHIR_NS, name); 26563 } 26564 } 26565 26566 protected void composeAddressElements(Address element) throws IOException { 26567 composeDataTypeElements(element); 26568 if (element.hasUseElement()) 26569 composeEnumeration("use", element.getUseElement(), new Address.AddressUseEnumFactory()); 26570 if (element.hasTypeElement()) 26571 composeEnumeration("type", element.getTypeElement(), new Address.AddressTypeEnumFactory()); 26572 if (element.hasTextElement()) { 26573 composeString("text", element.getTextElement()); 26574 } 26575 if (element.hasLine()) { 26576 for (StringType e : element.getLine()) 26577 composeString("line", e); 26578 } 26579 if (element.hasCityElement()) { 26580 composeString("city", element.getCityElement()); 26581 } 26582 if (element.hasDistrictElement()) { 26583 composeString("district", element.getDistrictElement()); 26584 } 26585 if (element.hasStateElement()) { 26586 composeString("state", element.getStateElement()); 26587 } 26588 if (element.hasPostalCodeElement()) { 26589 composeString("postalCode", element.getPostalCodeElement()); 26590 } 26591 if (element.hasCountryElement()) { 26592 composeString("country", element.getCountryElement()); 26593 } 26594 if (element.hasPeriod()) { 26595 composePeriod("period", element.getPeriod()); 26596 } 26597 } 26598 26599 protected void composeAge(String name, Age element) throws IOException { 26600 if (element != null) { 26601 composeElementAttributes(element); 26602 xml.enter(FHIR_NS, name); 26603 composeAgeElements(element); 26604 composeElementClose(element); 26605 xml.exit(FHIR_NS, name); 26606 } 26607 } 26608 26609 protected void composeAgeElements(Age element) throws IOException { 26610 composeQuantityElements(element); 26611 } 26612 26613 protected void composeAnnotation(String name, Annotation element) throws IOException { 26614 if (element != null) { 26615 composeElementAttributes(element); 26616 xml.enter(FHIR_NS, name); 26617 composeAnnotationElements(element); 26618 composeElementClose(element); 26619 xml.exit(FHIR_NS, name); 26620 } 26621 } 26622 26623 protected void composeAnnotationElements(Annotation element) throws IOException { 26624 composeDataTypeElements(element); 26625 if (element.hasAuthor()) { 26626 composeType("author", element.getAuthor()); 26627 } if (element.hasTimeElement()) { 26628 composeDateTime("time", element.getTimeElement()); 26629 } 26630 if (element.hasTextElement()) { 26631 composeMarkdown("text", element.getTextElement()); 26632 } 26633 } 26634 26635 protected void composeAttachment(String name, Attachment element) throws IOException { 26636 if (element != null) { 26637 composeElementAttributes(element); 26638 xml.enter(FHIR_NS, name); 26639 composeAttachmentElements(element); 26640 composeElementClose(element); 26641 xml.exit(FHIR_NS, name); 26642 } 26643 } 26644 26645 protected void composeAttachmentElements(Attachment element) throws IOException { 26646 composeDataTypeElements(element); 26647 if (element.hasContentTypeElement()) { 26648 composeCode("contentType", element.getContentTypeElement()); 26649 } 26650 if (element.hasLanguageElement()) { 26651 composeCode("language", element.getLanguageElement()); 26652 } 26653 if (element.hasDataElement()) { 26654 composeBase64Binary("data", element.getDataElement()); 26655 } 26656 if (element.hasUrlElement()) { 26657 composeUrl("url", element.getUrlElement()); 26658 } 26659 if (element.hasSizeElement()) { 26660 composeUnsignedInt("size", element.getSizeElement()); 26661 } 26662 if (element.hasHashElement()) { 26663 composeBase64Binary("hash", element.getHashElement()); 26664 } 26665 if (element.hasTitleElement()) { 26666 composeString("title", element.getTitleElement()); 26667 } 26668 if (element.hasCreationElement()) { 26669 composeDateTime("creation", element.getCreationElement()); 26670 } 26671 } 26672 26673 protected void composeCodeableConcept(String name, CodeableConcept element) throws IOException { 26674 if (element != null) { 26675 composeElementAttributes(element); 26676 xml.enter(FHIR_NS, name); 26677 composeCodeableConceptElements(element); 26678 composeElementClose(element); 26679 xml.exit(FHIR_NS, name); 26680 } 26681 } 26682 26683 protected void composeCodeableConceptElements(CodeableConcept element) throws IOException { 26684 composeDataTypeElements(element); 26685 if (element.hasCoding()) { 26686 for (Coding e : element.getCoding()) 26687 composeCoding("coding", e); 26688 } 26689 if (element.hasTextElement()) { 26690 composeString("text", element.getTextElement()); 26691 } 26692 } 26693 26694 protected void composeCodeableReference(String name, CodeableReference element) throws IOException { 26695 if (element != null) { 26696 composeElementAttributes(element); 26697 xml.enter(FHIR_NS, name); 26698 composeCodeableReferenceElements(element); 26699 composeElementClose(element); 26700 xml.exit(FHIR_NS, name); 26701 } 26702 } 26703 26704 protected void composeCodeableReferenceElements(CodeableReference element) throws IOException { 26705 composeDataTypeElements(element); 26706 if (element.hasConcept()) { 26707 composeCodeableConcept("concept", element.getConcept()); 26708 } 26709 if (element.hasReference()) { 26710 composeReference("reference", element.getReference()); 26711 } 26712 } 26713 26714 protected void composeCoding(String name, Coding element) throws IOException { 26715 if (element != null) { 26716 composeElementAttributes(element); 26717 xml.enter(FHIR_NS, name); 26718 composeCodingElements(element); 26719 composeElementClose(element); 26720 xml.exit(FHIR_NS, name); 26721 } 26722 } 26723 26724 protected void composeCodingElements(Coding element) throws IOException { 26725 composeDataTypeElements(element); 26726 if (element.hasSystemElement()) { 26727 composeUri("system", element.getSystemElement()); 26728 } 26729 if (element.hasVersionElement()) { 26730 composeString("version", element.getVersionElement()); 26731 } 26732 if (element.hasCodeElement()) { 26733 composeCode("code", element.getCodeElement()); 26734 } 26735 if (element.hasDisplayElement()) { 26736 composeString("display", element.getDisplayElement()); 26737 } 26738 if (element.hasUserSelectedElement()) { 26739 composeBoolean("userSelected", element.getUserSelectedElement()); 26740 } 26741 } 26742 26743 protected void composeContactDetail(String name, ContactDetail element) throws IOException { 26744 if (element != null) { 26745 composeElementAttributes(element); 26746 xml.enter(FHIR_NS, name); 26747 composeContactDetailElements(element); 26748 composeElementClose(element); 26749 xml.exit(FHIR_NS, name); 26750 } 26751 } 26752 26753 protected void composeContactDetailElements(ContactDetail element) throws IOException { 26754 composeDataTypeElements(element); 26755 if (element.hasNameElement()) { 26756 composeString("name", element.getNameElement()); 26757 } 26758 if (element.hasTelecom()) { 26759 for (ContactPoint e : element.getTelecom()) 26760 composeContactPoint("telecom", e); 26761 } 26762 } 26763 26764 protected void composeContactPoint(String name, ContactPoint element) throws IOException { 26765 if (element != null) { 26766 composeElementAttributes(element); 26767 xml.enter(FHIR_NS, name); 26768 composeContactPointElements(element); 26769 composeElementClose(element); 26770 xml.exit(FHIR_NS, name); 26771 } 26772 } 26773 26774 protected void composeContactPointElements(ContactPoint element) throws IOException { 26775 composeDataTypeElements(element); 26776 if (element.hasSystemElement()) 26777 composeEnumeration("system", element.getSystemElement(), new ContactPoint.ContactPointSystemEnumFactory()); 26778 if (element.hasValueElement()) { 26779 composeString("value", element.getValueElement()); 26780 } 26781 if (element.hasUseElement()) 26782 composeEnumeration("use", element.getUseElement(), new ContactPoint.ContactPointUseEnumFactory()); 26783 if (element.hasRankElement()) { 26784 composePositiveInt("rank", element.getRankElement()); 26785 } 26786 if (element.hasPeriod()) { 26787 composePeriod("period", element.getPeriod()); 26788 } 26789 } 26790 26791 protected void composeContributor(String name, Contributor element) throws IOException { 26792 if (element != null) { 26793 composeElementAttributes(element); 26794 xml.enter(FHIR_NS, name); 26795 composeContributorElements(element); 26796 composeElementClose(element); 26797 xml.exit(FHIR_NS, name); 26798 } 26799 } 26800 26801 protected void composeContributorElements(Contributor element) throws IOException { 26802 composeDataTypeElements(element); 26803 if (element.hasTypeElement()) 26804 composeEnumeration("type", element.getTypeElement(), new Contributor.ContributorTypeEnumFactory()); 26805 if (element.hasNameElement()) { 26806 composeString("name", element.getNameElement()); 26807 } 26808 if (element.hasContact()) { 26809 for (ContactDetail e : element.getContact()) 26810 composeContactDetail("contact", e); 26811 } 26812 } 26813 26814 protected void composeCount(String name, Count element) throws IOException { 26815 if (element != null) { 26816 composeElementAttributes(element); 26817 xml.enter(FHIR_NS, name); 26818 composeCountElements(element); 26819 composeElementClose(element); 26820 xml.exit(FHIR_NS, name); 26821 } 26822 } 26823 26824 protected void composeCountElements(Count element) throws IOException { 26825 composeQuantityElements(element); 26826 } 26827 26828 protected void composeDataRequirement(String name, DataRequirement element) throws IOException { 26829 if (element != null) { 26830 composeElementAttributes(element); 26831 xml.enter(FHIR_NS, name); 26832 composeDataRequirementElements(element); 26833 composeElementClose(element); 26834 xml.exit(FHIR_NS, name); 26835 } 26836 } 26837 26838 protected void composeDataRequirementElements(DataRequirement element) throws IOException { 26839 composeDataTypeElements(element); 26840 if (element.hasTypeElement()) 26841 composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); 26842 if (element.hasProfile()) { 26843 for (CanonicalType e : element.getProfile()) 26844 composeCanonical("profile", e); 26845 } 26846 if (element.hasSubject()) { 26847 composeType("subject", element.getSubject()); 26848 } if (element.hasMustSupport()) { 26849 for (StringType e : element.getMustSupport()) 26850 composeString("mustSupport", e); 26851 } 26852 if (element.hasCodeFilter()) { 26853 for (DataRequirement.DataRequirementCodeFilterComponent e : element.getCodeFilter()) 26854 composeDataRequirementCodeFilterComponent("codeFilter", e); 26855 } 26856 if (element.hasDateFilter()) { 26857 for (DataRequirement.DataRequirementDateFilterComponent e : element.getDateFilter()) 26858 composeDataRequirementDateFilterComponent("dateFilter", e); 26859 } 26860 if (element.hasLimitElement()) { 26861 composePositiveInt("limit", element.getLimitElement()); 26862 } 26863 if (element.hasSort()) { 26864 for (DataRequirement.DataRequirementSortComponent e : element.getSort()) 26865 composeDataRequirementSortComponent("sort", e); 26866 } 26867 } 26868 26869 protected void composeDataRequirementCodeFilterComponent(String name, DataRequirement.DataRequirementCodeFilterComponent element) throws IOException { 26870 if (element != null) { 26871 composeElementAttributes(element); 26872 xml.enter(FHIR_NS, name); 26873 composeDataRequirementCodeFilterComponentElements(element); 26874 composeElementClose(element); 26875 xml.exit(FHIR_NS, name); 26876 } 26877 } 26878 26879 protected void composeDataRequirementCodeFilterComponentElements(DataRequirement.DataRequirementCodeFilterComponent element) throws IOException { 26880 composeElementElements(element); 26881 if (element.hasPathElement()) { 26882 composeString("path", element.getPathElement()); 26883 } 26884 if (element.hasSearchParamElement()) { 26885 composeString("searchParam", element.getSearchParamElement()); 26886 } 26887 if (element.hasValueSetElement()) { 26888 composeCanonical("valueSet", element.getValueSetElement()); 26889 } 26890 if (element.hasCode()) { 26891 for (Coding e : element.getCode()) 26892 composeCoding("code", e); 26893 } 26894 } 26895 26896 protected void composeDataRequirementDateFilterComponent(String name, DataRequirement.DataRequirementDateFilterComponent element) throws IOException { 26897 if (element != null) { 26898 composeElementAttributes(element); 26899 xml.enter(FHIR_NS, name); 26900 composeDataRequirementDateFilterComponentElements(element); 26901 composeElementClose(element); 26902 xml.exit(FHIR_NS, name); 26903 } 26904 } 26905 26906 protected void composeDataRequirementDateFilterComponentElements(DataRequirement.DataRequirementDateFilterComponent element) throws IOException { 26907 composeElementElements(element); 26908 if (element.hasPathElement()) { 26909 composeString("path", element.getPathElement()); 26910 } 26911 if (element.hasSearchParamElement()) { 26912 composeString("searchParam", element.getSearchParamElement()); 26913 } 26914 if (element.hasValue()) { 26915 composeType("value", element.getValue()); 26916 } } 26917 26918 protected void composeDataRequirementSortComponent(String name, DataRequirement.DataRequirementSortComponent element) throws IOException { 26919 if (element != null) { 26920 composeElementAttributes(element); 26921 xml.enter(FHIR_NS, name); 26922 composeDataRequirementSortComponentElements(element); 26923 composeElementClose(element); 26924 xml.exit(FHIR_NS, name); 26925 } 26926 } 26927 26928 protected void composeDataRequirementSortComponentElements(DataRequirement.DataRequirementSortComponent element) throws IOException { 26929 composeElementElements(element); 26930 if (element.hasPathElement()) { 26931 composeString("path", element.getPathElement()); 26932 } 26933 if (element.hasDirectionElement()) 26934 composeEnumeration("direction", element.getDirectionElement(), new DataRequirement.SortDirectionEnumFactory()); 26935 } 26936 26937 protected void composeDistance(String name, Distance element) throws IOException { 26938 if (element != null) { 26939 composeElementAttributes(element); 26940 xml.enter(FHIR_NS, name); 26941 composeDistanceElements(element); 26942 composeElementClose(element); 26943 xml.exit(FHIR_NS, name); 26944 } 26945 } 26946 26947 protected void composeDistanceElements(Distance element) throws IOException { 26948 composeQuantityElements(element); 26949 } 26950 26951 protected void composeDosage(String name, Dosage element) throws IOException { 26952 if (element != null) { 26953 composeElementAttributes(element); 26954 xml.enter(FHIR_NS, name); 26955 composeDosageElements(element); 26956 composeElementClose(element); 26957 xml.exit(FHIR_NS, name); 26958 } 26959 } 26960 26961 protected void composeDosageElements(Dosage element) throws IOException { 26962 composeDataTypeElements(element); 26963 if (element.hasSequenceElement()) { 26964 composeInteger("sequence", element.getSequenceElement()); 26965 } 26966 if (element.hasTextElement()) { 26967 composeString("text", element.getTextElement()); 26968 } 26969 if (element.hasAdditionalInstruction()) { 26970 for (CodeableConcept e : element.getAdditionalInstruction()) 26971 composeCodeableConcept("additionalInstruction", e); 26972 } 26973 if (element.hasPatientInstructionElement()) { 26974 composeString("patientInstruction", element.getPatientInstructionElement()); 26975 } 26976 if (element.hasTiming()) { 26977 composeTiming("timing", element.getTiming()); 26978 } 26979 if (element.hasAsNeeded()) { 26980 composeType("asNeeded", element.getAsNeeded()); 26981 } if (element.hasSite()) { 26982 composeCodeableConcept("site", element.getSite()); 26983 } 26984 if (element.hasRoute()) { 26985 composeCodeableConcept("route", element.getRoute()); 26986 } 26987 if (element.hasMethod()) { 26988 composeCodeableConcept("method", element.getMethod()); 26989 } 26990 if (element.hasDoseAndRate()) { 26991 for (Dosage.DosageDoseAndRateComponent e : element.getDoseAndRate()) 26992 composeDosageDoseAndRateComponent("doseAndRate", e); 26993 } 26994 if (element.hasMaxDosePerPeriod()) { 26995 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 26996 } 26997 if (element.hasMaxDosePerAdministration()) { 26998 composeQuantity("maxDosePerAdministration", element.getMaxDosePerAdministration()); 26999 } 27000 if (element.hasMaxDosePerLifetime()) { 27001 composeQuantity("maxDosePerLifetime", element.getMaxDosePerLifetime()); 27002 } 27003 } 27004 27005 protected void composeDosageDoseAndRateComponent(String name, Dosage.DosageDoseAndRateComponent element) throws IOException { 27006 if (element != null) { 27007 composeElementAttributes(element); 27008 xml.enter(FHIR_NS, name); 27009 composeDosageDoseAndRateComponentElements(element); 27010 composeElementClose(element); 27011 xml.exit(FHIR_NS, name); 27012 } 27013 } 27014 27015 protected void composeDosageDoseAndRateComponentElements(Dosage.DosageDoseAndRateComponent element) throws IOException { 27016 composeElementElements(element); 27017 if (element.hasType()) { 27018 composeCodeableConcept("type", element.getType()); 27019 } 27020 if (element.hasDose()) { 27021 composeType("dose", element.getDose()); 27022 } if (element.hasRate()) { 27023 composeType("rate", element.getRate()); 27024 } } 27025 27026 protected void composeDuration(String name, Duration element) throws IOException { 27027 if (element != null) { 27028 composeElementAttributes(element); 27029 xml.enter(FHIR_NS, name); 27030 composeDurationElements(element); 27031 composeElementClose(element); 27032 xml.exit(FHIR_NS, name); 27033 } 27034 } 27035 27036 protected void composeDurationElements(Duration element) throws IOException { 27037 composeQuantityElements(element); 27038 } 27039 27040 protected void composeElementDefinition(String name, ElementDefinition element) throws IOException { 27041 if (element != null) { 27042 composeElementAttributes(element); 27043 xml.enter(FHIR_NS, name); 27044 composeElementDefinitionElements(element); 27045 composeElementClose(element); 27046 xml.exit(FHIR_NS, name); 27047 } 27048 } 27049 27050 protected void composeElementDefinitionElements(ElementDefinition element) throws IOException { 27051 composeDataTypeElements(element); 27052 if (element.hasPathElement()) { 27053 composeString("path", element.getPathElement()); 27054 } 27055 if (element.hasRepresentation()) 27056 for (Enumeration<ElementDefinition.PropertyRepresentation> e : element.getRepresentation()) 27057 composeEnumeration("representation", e, new ElementDefinition.PropertyRepresentationEnumFactory()); 27058 if (element.hasSliceNameElement()) { 27059 composeString("sliceName", element.getSliceNameElement()); 27060 } 27061 if (element.hasSliceIsConstrainingElement()) { 27062 composeBoolean("sliceIsConstraining", element.getSliceIsConstrainingElement()); 27063 } 27064 if (element.hasLabelElement()) { 27065 composeString("label", element.getLabelElement()); 27066 } 27067 if (element.hasCode()) { 27068 for (Coding e : element.getCode()) 27069 composeCoding("code", e); 27070 } 27071 if (element.hasSlicing()) { 27072 composeElementDefinitionSlicingComponent("slicing", element.getSlicing()); 27073 } 27074 if (element.hasShortElement()) { 27075 composeString("short", element.getShortElement()); 27076 } 27077 if (element.hasDefinitionElement()) { 27078 composeMarkdown("definition", element.getDefinitionElement()); 27079 } 27080 if (element.hasCommentElement()) { 27081 composeMarkdown("comment", element.getCommentElement()); 27082 } 27083 if (element.hasRequirementsElement()) { 27084 composeMarkdown("requirements", element.getRequirementsElement()); 27085 } 27086 if (element.hasAlias()) { 27087 for (StringType e : element.getAlias()) 27088 composeString("alias", e); 27089 } 27090 if (element.hasMinElement()) { 27091 composeUnsignedInt("min", element.getMinElement()); 27092 } 27093 if (element.hasMaxElement()) { 27094 composeString("max", element.getMaxElement()); 27095 } 27096 if (element.hasBase()) { 27097 composeElementDefinitionBaseComponent("base", element.getBase()); 27098 } 27099 if (element.hasContentReferenceElement()) { 27100 composeUri("contentReference", element.getContentReferenceElement()); 27101 } 27102 if (element.hasType()) { 27103 for (ElementDefinition.TypeRefComponent e : element.getType()) 27104 composeElementDefinitionTypeRefComponent("type", e); 27105 } 27106 if (element.hasDefaultValue()) { 27107 composeType("defaultValue", element.getDefaultValue()); 27108 } if (element.hasMeaningWhenMissingElement()) { 27109 composeMarkdown("meaningWhenMissing", element.getMeaningWhenMissingElement()); 27110 } 27111 if (element.hasOrderMeaningElement()) { 27112 composeString("orderMeaning", element.getOrderMeaningElement()); 27113 } 27114 if (element.hasFixed()) { 27115 composeType("fixed", element.getFixed()); 27116 } if (element.hasPattern()) { 27117 composeType("pattern", element.getPattern()); 27118 } if (element.hasExample()) { 27119 for (ElementDefinition.ElementDefinitionExampleComponent e : element.getExample()) 27120 composeElementDefinitionExampleComponent("example", e); 27121 } 27122 if (element.hasMinValue()) { 27123 composeType("minValue", element.getMinValue()); 27124 } if (element.hasMaxValue()) { 27125 composeType("maxValue", element.getMaxValue()); 27126 } if (element.hasMaxLengthElement()) { 27127 composeInteger("maxLength", element.getMaxLengthElement()); 27128 } 27129 if (element.hasCondition()) { 27130 for (IdType e : element.getCondition()) 27131 composeId("condition", e); 27132 } 27133 if (element.hasConstraint()) { 27134 for (ElementDefinition.ElementDefinitionConstraintComponent e : element.getConstraint()) 27135 composeElementDefinitionConstraintComponent("constraint", e); 27136 } 27137 if (element.hasMustSupportElement()) { 27138 composeBoolean("mustSupport", element.getMustSupportElement()); 27139 } 27140 if (element.hasIsModifierElement()) { 27141 composeBoolean("isModifier", element.getIsModifierElement()); 27142 } 27143 if (element.hasIsModifierReasonElement()) { 27144 composeString("isModifierReason", element.getIsModifierReasonElement()); 27145 } 27146 if (element.hasIsSummaryElement()) { 27147 composeBoolean("isSummary", element.getIsSummaryElement()); 27148 } 27149 if (element.hasBinding()) { 27150 composeElementDefinitionBindingComponent("binding", element.getBinding()); 27151 } 27152 if (element.hasMapping()) { 27153 for (ElementDefinition.ElementDefinitionMappingComponent e : element.getMapping()) 27154 composeElementDefinitionMappingComponent("mapping", e); 27155 } 27156 } 27157 27158 protected void composeElementDefinitionSlicingComponent(String name, ElementDefinition.ElementDefinitionSlicingComponent element) throws IOException { 27159 if (element != null) { 27160 composeElementAttributes(element); 27161 xml.enter(FHIR_NS, name); 27162 composeElementDefinitionSlicingComponentElements(element); 27163 composeElementClose(element); 27164 xml.exit(FHIR_NS, name); 27165 } 27166 } 27167 27168 protected void composeElementDefinitionSlicingComponentElements(ElementDefinition.ElementDefinitionSlicingComponent element) throws IOException { 27169 composeElementElements(element); 27170 if (element.hasDiscriminator()) { 27171 for (ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent e : element.getDiscriminator()) 27172 composeElementDefinitionSlicingDiscriminatorComponent("discriminator", e); 27173 } 27174 if (element.hasDescriptionElement()) { 27175 composeString("description", element.getDescriptionElement()); 27176 } 27177 if (element.hasOrderedElement()) { 27178 composeBoolean("ordered", element.getOrderedElement()); 27179 } 27180 if (element.hasRulesElement()) 27181 composeEnumeration("rules", element.getRulesElement(), new ElementDefinition.SlicingRulesEnumFactory()); 27182 } 27183 27184 protected void composeElementDefinitionSlicingDiscriminatorComponent(String name, ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent element) throws IOException { 27185 if (element != null) { 27186 composeElementAttributes(element); 27187 xml.enter(FHIR_NS, name); 27188 composeElementDefinitionSlicingDiscriminatorComponentElements(element); 27189 composeElementClose(element); 27190 xml.exit(FHIR_NS, name); 27191 } 27192 } 27193 27194 protected void composeElementDefinitionSlicingDiscriminatorComponentElements(ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent element) throws IOException { 27195 composeElementElements(element); 27196 if (element.hasTypeElement()) 27197 composeEnumeration("type", element.getTypeElement(), new ElementDefinition.DiscriminatorTypeEnumFactory()); 27198 if (element.hasPathElement()) { 27199 composeString("path", element.getPathElement()); 27200 } 27201 } 27202 27203 protected void composeElementDefinitionBaseComponent(String name, ElementDefinition.ElementDefinitionBaseComponent element) throws IOException { 27204 if (element != null) { 27205 composeElementAttributes(element); 27206 xml.enter(FHIR_NS, name); 27207 composeElementDefinitionBaseComponentElements(element); 27208 composeElementClose(element); 27209 xml.exit(FHIR_NS, name); 27210 } 27211 } 27212 27213 protected void composeElementDefinitionBaseComponentElements(ElementDefinition.ElementDefinitionBaseComponent element) throws IOException { 27214 composeElementElements(element); 27215 if (element.hasPathElement()) { 27216 composeString("path", element.getPathElement()); 27217 } 27218 if (element.hasMinElement()) { 27219 composeUnsignedInt("min", element.getMinElement()); 27220 } 27221 if (element.hasMaxElement()) { 27222 composeString("max", element.getMaxElement()); 27223 } 27224 } 27225 27226 protected void composeElementDefinitionTypeRefComponent(String name, ElementDefinition.TypeRefComponent element) throws IOException { 27227 if (element != null) { 27228 composeElementAttributes(element); 27229 xml.enter(FHIR_NS, name); 27230 composeElementDefinitionTypeRefComponentElements(element); 27231 composeElementClose(element); 27232 xml.exit(FHIR_NS, name); 27233 } 27234 } 27235 27236 protected void composeElementDefinitionTypeRefComponentElements(ElementDefinition.TypeRefComponent element) throws IOException { 27237 composeElementElements(element); 27238 if (element.hasCodeElement()) { 27239 composeUri("code", element.getCodeElement()); 27240 } 27241 if (element.hasProfile()) { 27242 for (CanonicalType e : element.getProfile()) 27243 composeCanonical("profile", e); 27244 } 27245 if (element.hasTargetProfile()) { 27246 for (CanonicalType e : element.getTargetProfile()) 27247 composeCanonical("targetProfile", e); 27248 } 27249 if (element.hasAggregation()) 27250 for (Enumeration<ElementDefinition.AggregationMode> e : element.getAggregation()) 27251 composeEnumeration("aggregation", e, new ElementDefinition.AggregationModeEnumFactory()); 27252 if (element.hasVersioningElement()) 27253 composeEnumeration("versioning", element.getVersioningElement(), new ElementDefinition.ReferenceVersionRulesEnumFactory()); 27254 } 27255 27256 protected void composeElementDefinitionExampleComponent(String name, ElementDefinition.ElementDefinitionExampleComponent element) throws IOException { 27257 if (element != null) { 27258 composeElementAttributes(element); 27259 xml.enter(FHIR_NS, name); 27260 composeElementDefinitionExampleComponentElements(element); 27261 composeElementClose(element); 27262 xml.exit(FHIR_NS, name); 27263 } 27264 } 27265 27266 protected void composeElementDefinitionExampleComponentElements(ElementDefinition.ElementDefinitionExampleComponent element) throws IOException { 27267 composeElementElements(element); 27268 if (element.hasLabelElement()) { 27269 composeString("label", element.getLabelElement()); 27270 } 27271 if (element.hasValue()) { 27272 composeType("value", element.getValue()); 27273 } } 27274 27275 protected void composeElementDefinitionConstraintComponent(String name, ElementDefinition.ElementDefinitionConstraintComponent element) throws IOException { 27276 if (element != null) { 27277 composeElementAttributes(element); 27278 xml.enter(FHIR_NS, name); 27279 composeElementDefinitionConstraintComponentElements(element); 27280 composeElementClose(element); 27281 xml.exit(FHIR_NS, name); 27282 } 27283 } 27284 27285 protected void composeElementDefinitionConstraintComponentElements(ElementDefinition.ElementDefinitionConstraintComponent element) throws IOException { 27286 composeElementElements(element); 27287 if (element.hasKeyElement()) { 27288 composeId("key", element.getKeyElement()); 27289 } 27290 if (element.hasRequirementsElement()) { 27291 composeString("requirements", element.getRequirementsElement()); 27292 } 27293 if (element.hasSeverityElement()) 27294 composeEnumeration("severity", element.getSeverityElement(), new ElementDefinition.ConstraintSeverityEnumFactory()); 27295 if (element.hasHumanElement()) { 27296 composeString("human", element.getHumanElement()); 27297 } 27298 if (element.hasExpressionElement()) { 27299 composeString("expression", element.getExpressionElement()); 27300 } 27301 if (element.hasXpathElement()) { 27302 composeString("xpath", element.getXpathElement()); 27303 } 27304 if (element.hasSourceElement()) { 27305 composeCanonical("source", element.getSourceElement()); 27306 } 27307 } 27308 27309 protected void composeElementDefinitionBindingComponent(String name, ElementDefinition.ElementDefinitionBindingComponent element) throws IOException { 27310 if (element != null) { 27311 composeElementAttributes(element); 27312 xml.enter(FHIR_NS, name); 27313 composeElementDefinitionBindingComponentElements(element); 27314 composeElementClose(element); 27315 xml.exit(FHIR_NS, name); 27316 } 27317 } 27318 27319 protected void composeElementDefinitionBindingComponentElements(ElementDefinition.ElementDefinitionBindingComponent element) throws IOException { 27320 composeElementElements(element); 27321 if (element.hasStrengthElement()) 27322 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 27323 if (element.hasDescriptionElement()) { 27324 composeString("description", element.getDescriptionElement()); 27325 } 27326 if (element.hasValueSetElement()) { 27327 composeCanonical("valueSet", element.getValueSetElement()); 27328 } 27329 } 27330 27331 protected void composeElementDefinitionMappingComponent(String name, ElementDefinition.ElementDefinitionMappingComponent element) throws IOException { 27332 if (element != null) { 27333 composeElementAttributes(element); 27334 xml.enter(FHIR_NS, name); 27335 composeElementDefinitionMappingComponentElements(element); 27336 composeElementClose(element); 27337 xml.exit(FHIR_NS, name); 27338 } 27339 } 27340 27341 protected void composeElementDefinitionMappingComponentElements(ElementDefinition.ElementDefinitionMappingComponent element) throws IOException { 27342 composeElementElements(element); 27343 if (element.hasIdentityElement()) { 27344 composeId("identity", element.getIdentityElement()); 27345 } 27346 if (element.hasLanguageElement()) { 27347 composeCode("language", element.getLanguageElement()); 27348 } 27349 if (element.hasMapElement()) { 27350 composeString("map", element.getMapElement()); 27351 } 27352 if (element.hasCommentElement()) { 27353 composeString("comment", element.getCommentElement()); 27354 } 27355 } 27356 27357 protected void composeExpression(String name, Expression element) throws IOException { 27358 if (element != null) { 27359 composeElementAttributes(element); 27360 xml.enter(FHIR_NS, name); 27361 composeExpressionElements(element); 27362 composeElementClose(element); 27363 xml.exit(FHIR_NS, name); 27364 } 27365 } 27366 27367 protected void composeExpressionElements(Expression element) throws IOException { 27368 composeDataTypeElements(element); 27369 if (element.hasDescriptionElement()) { 27370 composeString("description", element.getDescriptionElement()); 27371 } 27372 if (element.hasNameElement()) { 27373 composeId("name", element.getNameElement()); 27374 } 27375 if (element.hasLanguageElement()) { 27376 composeCode("language", element.getLanguageElement()); 27377 } 27378 if (element.hasExpressionElement()) { 27379 composeString("expression", element.getExpressionElement()); 27380 } 27381 if (element.hasReferenceElement()) { 27382 composeUri("reference", element.getReferenceElement()); 27383 } 27384 } 27385 27386 protected void composeExtension(String name, Extension element) throws IOException { 27387 if (element != null) { 27388 composeElementAttributes(element); 27389 if (element.hasUrlElement()) 27390 xml.attribute("url", element.getUrlElement().getValue()); 27391 xml.enter(FHIR_NS, name); 27392 composeExtensionElements(element); 27393 composeElementClose(element); 27394 xml.exit(FHIR_NS, name); 27395 } 27396 } 27397 27398 protected void composeExtensionElements(Extension element) throws IOException { 27399 composeDataTypeElements(element); 27400 if (element.hasValue()) { 27401 composeType("value", element.getValue()); 27402 } } 27403 27404 protected void composeHumanName(String name, HumanName element) throws IOException { 27405 if (element != null) { 27406 composeElementAttributes(element); 27407 xml.enter(FHIR_NS, name); 27408 composeHumanNameElements(element); 27409 composeElementClose(element); 27410 xml.exit(FHIR_NS, name); 27411 } 27412 } 27413 27414 protected void composeHumanNameElements(HumanName element) throws IOException { 27415 composeDataTypeElements(element); 27416 if (element.hasUseElement()) 27417 composeEnumeration("use", element.getUseElement(), new HumanName.NameUseEnumFactory()); 27418 if (element.hasTextElement()) { 27419 composeString("text", element.getTextElement()); 27420 } 27421 if (element.hasFamilyElement()) { 27422 composeString("family", element.getFamilyElement()); 27423 } 27424 if (element.hasGiven()) { 27425 for (StringType e : element.getGiven()) 27426 composeString("given", e); 27427 } 27428 if (element.hasPrefix()) { 27429 for (StringType e : element.getPrefix()) 27430 composeString("prefix", e); 27431 } 27432 if (element.hasSuffix()) { 27433 for (StringType e : element.getSuffix()) 27434 composeString("suffix", e); 27435 } 27436 if (element.hasPeriod()) { 27437 composePeriod("period", element.getPeriod()); 27438 } 27439 } 27440 27441 protected void composeIdentifier(String name, Identifier element) throws IOException { 27442 if (element != null) { 27443 composeElementAttributes(element); 27444 xml.enter(FHIR_NS, name); 27445 composeIdentifierElements(element); 27446 composeElementClose(element); 27447 xml.exit(FHIR_NS, name); 27448 } 27449 } 27450 27451 protected void composeIdentifierElements(Identifier element) throws IOException { 27452 composeDataTypeElements(element); 27453 if (element.hasUseElement()) 27454 composeEnumeration("use", element.getUseElement(), new Identifier.IdentifierUseEnumFactory()); 27455 if (element.hasType()) { 27456 composeCodeableConcept("type", element.getType()); 27457 } 27458 if (element.hasSystemElement()) { 27459 composeUri("system", element.getSystemElement()); 27460 } 27461 if (element.hasValueElement()) { 27462 composeString("value", element.getValueElement()); 27463 } 27464 if (element.hasPeriod()) { 27465 composePeriod("period", element.getPeriod()); 27466 } 27467 if (element.hasAssigner()) { 27468 composeReference("assigner", element.getAssigner()); 27469 } 27470 } 27471 27472 protected void composeMarketingStatus(String name, MarketingStatus element) throws IOException { 27473 if (element != null) { 27474 composeElementAttributes(element); 27475 xml.enter(FHIR_NS, name); 27476 composeMarketingStatusElements(element); 27477 composeElementClose(element); 27478 xml.exit(FHIR_NS, name); 27479 } 27480 } 27481 27482 protected void composeMarketingStatusElements(MarketingStatus element) throws IOException { 27483 composeDataTypeElements(element); 27484 if (element.hasCountry()) { 27485 composeCodeableConcept("country", element.getCountry()); 27486 } 27487 if (element.hasJurisdiction()) { 27488 composeCodeableConcept("jurisdiction", element.getJurisdiction()); 27489 } 27490 if (element.hasStatus()) { 27491 composeCodeableConcept("status", element.getStatus()); 27492 } 27493 if (element.hasDateRange()) { 27494 composePeriod("dateRange", element.getDateRange()); 27495 } 27496 if (element.hasRestoreDateElement()) { 27497 composeDateTime("restoreDate", element.getRestoreDateElement()); 27498 } 27499 } 27500 27501 protected void composeMeta(String name, Meta element) throws IOException { 27502 if (element != null) { 27503 composeElementAttributes(element); 27504 xml.enter(FHIR_NS, name); 27505 composeMetaElements(element); 27506 composeElementClose(element); 27507 xml.exit(FHIR_NS, name); 27508 } 27509 } 27510 27511 protected void composeMetaElements(Meta element) throws IOException { 27512 composeDataTypeElements(element); 27513 if (element.hasVersionIdElement()) { 27514 composeId("versionId", element.getVersionIdElement()); 27515 } 27516 if (element.hasLastUpdatedElement()) { 27517 composeInstant("lastUpdated", element.getLastUpdatedElement()); 27518 } 27519 if (element.hasSourceElement()) { 27520 composeUri("source", element.getSourceElement()); 27521 } 27522 if (element.hasProfile()) { 27523 for (CanonicalType e : element.getProfile()) 27524 composeCanonical("profile", e); 27525 } 27526 if (element.hasSecurity()) { 27527 for (Coding e : element.getSecurity()) 27528 composeCoding("security", e); 27529 } 27530 if (element.hasTag()) { 27531 for (Coding e : element.getTag()) 27532 composeCoding("tag", e); 27533 } 27534 } 27535 27536 protected void composeMoney(String name, Money element) throws IOException { 27537 if (element != null) { 27538 composeElementAttributes(element); 27539 xml.enter(FHIR_NS, name); 27540 composeMoneyElements(element); 27541 composeElementClose(element); 27542 xml.exit(FHIR_NS, name); 27543 } 27544 } 27545 27546 protected void composeMoneyElements(Money element) throws IOException { 27547 composeDataTypeElements(element); 27548 if (element.hasValueElement()) { 27549 composeDecimal("value", element.getValueElement()); 27550 } 27551 if (element.hasCurrencyElement()) { 27552 composeCode("currency", element.getCurrencyElement()); 27553 } 27554 } 27555 27556 protected void composeNarrative(String name, Narrative element) throws IOException { 27557 if (element != null) { 27558 composeElementAttributes(element); 27559 xml.enter(FHIR_NS, name); 27560 composeNarrativeElements(element); 27561 composeElementClose(element); 27562 xml.exit(FHIR_NS, name); 27563 } 27564 } 27565 27566 protected void composeNarrativeElements(Narrative element) throws IOException { 27567 composeDataTypeElements(element); 27568 if (element.hasStatusElement()) 27569 composeEnumeration("status", element.getStatusElement(), new Narrative.NarrativeStatusEnumFactory()); 27570 if (element.hasDiv()) { 27571 composeXhtml("div", element.getDiv()); 27572 } 27573 } 27574 27575 protected void composeParameterDefinition(String name, ParameterDefinition element) throws IOException { 27576 if (element != null) { 27577 composeElementAttributes(element); 27578 xml.enter(FHIR_NS, name); 27579 composeParameterDefinitionElements(element); 27580 composeElementClose(element); 27581 xml.exit(FHIR_NS, name); 27582 } 27583 } 27584 27585 protected void composeParameterDefinitionElements(ParameterDefinition element) throws IOException { 27586 composeDataTypeElements(element); 27587 if (element.hasNameElement()) { 27588 composeCode("name", element.getNameElement()); 27589 } 27590 if (element.hasUseElement()) 27591 composeEnumeration("use", element.getUseElement(), new Enumerations.OperationParameterUseEnumFactory()); 27592 if (element.hasMinElement()) { 27593 composeInteger("min", element.getMinElement()); 27594 } 27595 if (element.hasMaxElement()) { 27596 composeString("max", element.getMaxElement()); 27597 } 27598 if (element.hasDocumentationElement()) { 27599 composeString("documentation", element.getDocumentationElement()); 27600 } 27601 if (element.hasTypeElement()) 27602 composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); 27603 if (element.hasProfileElement()) { 27604 composeCanonical("profile", element.getProfileElement()); 27605 } 27606 } 27607 27608 protected void composePeriod(String name, Period element) throws IOException { 27609 if (element != null) { 27610 composeElementAttributes(element); 27611 xml.enter(FHIR_NS, name); 27612 composePeriodElements(element); 27613 composeElementClose(element); 27614 xml.exit(FHIR_NS, name); 27615 } 27616 } 27617 27618 protected void composePeriodElements(Period element) throws IOException { 27619 composeDataTypeElements(element); 27620 if (element.hasStartElement()) { 27621 composeDateTime("start", element.getStartElement()); 27622 } 27623 if (element.hasEndElement()) { 27624 composeDateTime("end", element.getEndElement()); 27625 } 27626 } 27627 27628 protected void composePopulation(String name, Population element) throws IOException { 27629 if (element != null) { 27630 composeElementAttributes(element); 27631 xml.enter(FHIR_NS, name); 27632 composePopulationElements(element); 27633 composeElementClose(element); 27634 xml.exit(FHIR_NS, name); 27635 } 27636 } 27637 27638 protected void composePopulationElements(Population element) throws IOException { 27639 composeDataTypeElements(element); 27640 if (element.hasAge()) { 27641 composeType("age", element.getAge()); 27642 } if (element.hasGender()) { 27643 composeCodeableConcept("gender", element.getGender()); 27644 } 27645 if (element.hasRace()) { 27646 composeCodeableConcept("race", element.getRace()); 27647 } 27648 if (element.hasPhysiologicalCondition()) { 27649 composeCodeableConcept("physiologicalCondition", element.getPhysiologicalCondition()); 27650 } 27651 } 27652 27653 protected void composeProdCharacteristic(String name, ProdCharacteristic element) throws IOException { 27654 if (element != null) { 27655 composeElementAttributes(element); 27656 xml.enter(FHIR_NS, name); 27657 composeProdCharacteristicElements(element); 27658 composeElementClose(element); 27659 xml.exit(FHIR_NS, name); 27660 } 27661 } 27662 27663 protected void composeProdCharacteristicElements(ProdCharacteristic element) throws IOException { 27664 composeDataTypeElements(element); 27665 if (element.hasHeight()) { 27666 composeQuantity("height", element.getHeight()); 27667 } 27668 if (element.hasWidth()) { 27669 composeQuantity("width", element.getWidth()); 27670 } 27671 if (element.hasDepth()) { 27672 composeQuantity("depth", element.getDepth()); 27673 } 27674 if (element.hasWeight()) { 27675 composeQuantity("weight", element.getWeight()); 27676 } 27677 if (element.hasNominalVolume()) { 27678 composeQuantity("nominalVolume", element.getNominalVolume()); 27679 } 27680 if (element.hasExternalDiameter()) { 27681 composeQuantity("externalDiameter", element.getExternalDiameter()); 27682 } 27683 if (element.hasShapeElement()) { 27684 composeString("shape", element.getShapeElement()); 27685 } 27686 if (element.hasColor()) { 27687 for (StringType e : element.getColor()) 27688 composeString("color", e); 27689 } 27690 if (element.hasImprint()) { 27691 for (StringType e : element.getImprint()) 27692 composeString("imprint", e); 27693 } 27694 if (element.hasImage()) { 27695 for (Attachment e : element.getImage()) 27696 composeAttachment("image", e); 27697 } 27698 if (element.hasScoring()) { 27699 composeCodeableConcept("scoring", element.getScoring()); 27700 } 27701 } 27702 27703 protected void composeProductShelfLife(String name, ProductShelfLife element) throws IOException { 27704 if (element != null) { 27705 composeElementAttributes(element); 27706 xml.enter(FHIR_NS, name); 27707 composeProductShelfLifeElements(element); 27708 composeElementClose(element); 27709 xml.exit(FHIR_NS, name); 27710 } 27711 } 27712 27713 protected void composeProductShelfLifeElements(ProductShelfLife element) throws IOException { 27714 composeDataTypeElements(element); 27715 if (element.hasType()) { 27716 composeCodeableConcept("type", element.getType()); 27717 } 27718 if (element.hasPeriod()) { 27719 composeType("period", element.getPeriod()); 27720 } if (element.hasSpecialPrecautionsForStorage()) { 27721 for (CodeableConcept e : element.getSpecialPrecautionsForStorage()) 27722 composeCodeableConcept("specialPrecautionsForStorage", e); 27723 } 27724 } 27725 27726 protected void composeQuantity(String name, Quantity element) throws IOException { 27727 if (element != null) { 27728 composeElementAttributes(element); 27729 xml.enter(FHIR_NS, name); 27730 composeQuantityElements(element); 27731 composeElementClose(element); 27732 xml.exit(FHIR_NS, name); 27733 } 27734 } 27735 27736 protected void composeQuantityElements(Quantity element) throws IOException { 27737 composeDataTypeElements(element); 27738 if (element.hasValueElement()) { 27739 composeDecimal("value", element.getValueElement()); 27740 } 27741 if (element.hasComparatorElement()) 27742 composeEnumeration("comparator", element.getComparatorElement(), new Enumerations.QuantityComparatorEnumFactory()); 27743 if (element.hasUnitElement()) { 27744 composeString("unit", element.getUnitElement()); 27745 } 27746 if (element.hasSystemElement()) { 27747 composeUri("system", element.getSystemElement()); 27748 } 27749 if (element.hasCodeElement()) { 27750 composeCode("code", element.getCodeElement()); 27751 } 27752 } 27753 27754 protected void composeRange(String name, Range element) throws IOException { 27755 if (element != null) { 27756 composeElementAttributes(element); 27757 xml.enter(FHIR_NS, name); 27758 composeRangeElements(element); 27759 composeElementClose(element); 27760 xml.exit(FHIR_NS, name); 27761 } 27762 } 27763 27764 protected void composeRangeElements(Range element) throws IOException { 27765 composeDataTypeElements(element); 27766 if (element.hasLow()) { 27767 composeQuantity("low", element.getLow()); 27768 } 27769 if (element.hasHigh()) { 27770 composeQuantity("high", element.getHigh()); 27771 } 27772 } 27773 27774 protected void composeRatio(String name, Ratio element) throws IOException { 27775 if (element != null) { 27776 composeElementAttributes(element); 27777 xml.enter(FHIR_NS, name); 27778 composeRatioElements(element); 27779 composeElementClose(element); 27780 xml.exit(FHIR_NS, name); 27781 } 27782 } 27783 27784 protected void composeRatioElements(Ratio element) throws IOException { 27785 composeDataTypeElements(element); 27786 if (element.hasNumerator()) { 27787 composeQuantity("numerator", element.getNumerator()); 27788 } 27789 if (element.hasDenominator()) { 27790 composeQuantity("denominator", element.getDenominator()); 27791 } 27792 } 27793 27794 protected void composeRatioRange(String name, RatioRange element) throws IOException { 27795 if (element != null) { 27796 composeElementAttributes(element); 27797 xml.enter(FHIR_NS, name); 27798 composeRatioRangeElements(element); 27799 composeElementClose(element); 27800 xml.exit(FHIR_NS, name); 27801 } 27802 } 27803 27804 protected void composeRatioRangeElements(RatioRange element) throws IOException { 27805 composeDataTypeElements(element); 27806 if (element.hasLowNumerator()) { 27807 composeQuantity("lowNumerator", element.getLowNumerator()); 27808 } 27809 if (element.hasHighNumerator()) { 27810 composeQuantity("highNumerator", element.getHighNumerator()); 27811 } 27812 if (element.hasDenominator()) { 27813 composeQuantity("denominator", element.getDenominator()); 27814 } 27815 } 27816 27817 protected void composeReference(String name, Reference element) throws IOException { 27818 if (element != null) { 27819 composeElementAttributes(element); 27820 xml.enter(FHIR_NS, name); 27821 composeReferenceElements(element); 27822 composeElementClose(element); 27823 xml.exit(FHIR_NS, name); 27824 } 27825 } 27826 27827 protected void composeReferenceElements(Reference element) throws IOException { 27828 composeDataTypeElements(element); 27829 if (element.hasReferenceElement()) { 27830 composeString("reference", element.getReferenceElement()); 27831 } 27832 if (element.hasTypeElement()) { 27833 composeUri("type", element.getTypeElement()); 27834 } 27835 if (element.hasIdentifier()) { 27836 composeIdentifier("identifier", element.getIdentifier()); 27837 } 27838 if (element.hasDisplayElement()) { 27839 composeString("display", element.getDisplayElement()); 27840 } 27841 } 27842 27843 protected void composeRelatedArtifact(String name, RelatedArtifact element) throws IOException { 27844 if (element != null) { 27845 composeElementAttributes(element); 27846 xml.enter(FHIR_NS, name); 27847 composeRelatedArtifactElements(element); 27848 composeElementClose(element); 27849 xml.exit(FHIR_NS, name); 27850 } 27851 } 27852 27853 protected void composeRelatedArtifactElements(RelatedArtifact element) throws IOException { 27854 composeDataTypeElements(element); 27855 if (element.hasTypeElement()) 27856 composeEnumeration("type", element.getTypeElement(), new RelatedArtifact.RelatedArtifactTypeEnumFactory()); 27857 if (element.hasLabelElement()) { 27858 composeString("label", element.getLabelElement()); 27859 } 27860 if (element.hasDisplayElement()) { 27861 composeString("display", element.getDisplayElement()); 27862 } 27863 if (element.hasCitationElement()) { 27864 composeMarkdown("citation", element.getCitationElement()); 27865 } 27866 if (element.hasUrlElement()) { 27867 composeUrl("url", element.getUrlElement()); 27868 } 27869 if (element.hasDocument()) { 27870 composeAttachment("document", element.getDocument()); 27871 } 27872 if (element.hasResourceElement()) { 27873 composeCanonical("resource", element.getResourceElement()); 27874 } 27875 } 27876 27877 protected void composeSampledData(String name, SampledData element) throws IOException { 27878 if (element != null) { 27879 composeElementAttributes(element); 27880 xml.enter(FHIR_NS, name); 27881 composeSampledDataElements(element); 27882 composeElementClose(element); 27883 xml.exit(FHIR_NS, name); 27884 } 27885 } 27886 27887 protected void composeSampledDataElements(SampledData element) throws IOException { 27888 composeDataTypeElements(element); 27889 if (element.hasOrigin()) { 27890 composeQuantity("origin", element.getOrigin()); 27891 } 27892 if (element.hasPeriodElement()) { 27893 composeDecimal("period", element.getPeriodElement()); 27894 } 27895 if (element.hasFactorElement()) { 27896 composeDecimal("factor", element.getFactorElement()); 27897 } 27898 if (element.hasLowerLimitElement()) { 27899 composeDecimal("lowerLimit", element.getLowerLimitElement()); 27900 } 27901 if (element.hasUpperLimitElement()) { 27902 composeDecimal("upperLimit", element.getUpperLimitElement()); 27903 } 27904 if (element.hasDimensionsElement()) { 27905 composePositiveInt("dimensions", element.getDimensionsElement()); 27906 } 27907 if (element.hasDataElement()) { 27908 composeString("data", element.getDataElement()); 27909 } 27910 } 27911 27912 protected void composeSignature(String name, Signature element) throws IOException { 27913 if (element != null) { 27914 composeElementAttributes(element); 27915 xml.enter(FHIR_NS, name); 27916 composeSignatureElements(element); 27917 composeElementClose(element); 27918 xml.exit(FHIR_NS, name); 27919 } 27920 } 27921 27922 protected void composeSignatureElements(Signature element) throws IOException { 27923 composeDataTypeElements(element); 27924 if (element.hasType()) { 27925 for (Coding e : element.getType()) 27926 composeCoding("type", e); 27927 } 27928 if (element.hasWhenElement()) { 27929 composeInstant("when", element.getWhenElement()); 27930 } 27931 if (element.hasWho()) { 27932 composeReference("who", element.getWho()); 27933 } 27934 if (element.hasOnBehalfOf()) { 27935 composeReference("onBehalfOf", element.getOnBehalfOf()); 27936 } 27937 if (element.hasTargetFormatElement()) { 27938 composeCode("targetFormat", element.getTargetFormatElement()); 27939 } 27940 if (element.hasSigFormatElement()) { 27941 composeCode("sigFormat", element.getSigFormatElement()); 27942 } 27943 if (element.hasDataElement()) { 27944 composeBase64Binary("data", element.getDataElement()); 27945 } 27946 } 27947 27948 protected void composeTiming(String name, Timing element) throws IOException { 27949 if (element != null) { 27950 composeElementAttributes(element); 27951 xml.enter(FHIR_NS, name); 27952 composeTimingElements(element); 27953 composeElementClose(element); 27954 xml.exit(FHIR_NS, name); 27955 } 27956 } 27957 27958 protected void composeTimingElements(Timing element) throws IOException { 27959 composeDataTypeElements(element); 27960 if (element.hasEvent()) { 27961 for (DateTimeType e : element.getEvent()) 27962 composeDateTime("event", e); 27963 } 27964 if (element.hasRepeat()) { 27965 composeTimingRepeatComponent("repeat", element.getRepeat()); 27966 } 27967 if (element.hasCode()) { 27968 composeCodeableConcept("code", element.getCode()); 27969 } 27970 } 27971 27972 protected void composeTimingRepeatComponent(String name, Timing.TimingRepeatComponent element) throws IOException { 27973 if (element != null) { 27974 composeElementAttributes(element); 27975 xml.enter(FHIR_NS, name); 27976 composeTimingRepeatComponentElements(element); 27977 composeElementClose(element); 27978 xml.exit(FHIR_NS, name); 27979 } 27980 } 27981 27982 protected void composeTimingRepeatComponentElements(Timing.TimingRepeatComponent element) throws IOException { 27983 composeElementElements(element); 27984 if (element.hasBounds()) { 27985 composeType("bounds", element.getBounds()); 27986 } if (element.hasCountElement()) { 27987 composePositiveInt("count", element.getCountElement()); 27988 } 27989 if (element.hasCountMaxElement()) { 27990 composePositiveInt("countMax", element.getCountMaxElement()); 27991 } 27992 if (element.hasDurationElement()) { 27993 composeDecimal("duration", element.getDurationElement()); 27994 } 27995 if (element.hasDurationMaxElement()) { 27996 composeDecimal("durationMax", element.getDurationMaxElement()); 27997 } 27998 if (element.hasDurationUnitElement()) 27999 composeEnumeration("durationUnit", element.getDurationUnitElement(), new Timing.UnitsOfTimeEnumFactory()); 28000 if (element.hasFrequencyElement()) { 28001 composePositiveInt("frequency", element.getFrequencyElement()); 28002 } 28003 if (element.hasFrequencyMaxElement()) { 28004 composePositiveInt("frequencyMax", element.getFrequencyMaxElement()); 28005 } 28006 if (element.hasPeriodElement()) { 28007 composeDecimal("period", element.getPeriodElement()); 28008 } 28009 if (element.hasPeriodMaxElement()) { 28010 composeDecimal("periodMax", element.getPeriodMaxElement()); 28011 } 28012 if (element.hasPeriodUnitElement()) 28013 composeEnumeration("periodUnit", element.getPeriodUnitElement(), new Timing.UnitsOfTimeEnumFactory()); 28014 if (element.hasDayOfWeek()) 28015 for (Enumeration<Enumerations.DaysOfWeek> e : element.getDayOfWeek()) 28016 composeEnumeration("dayOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); 28017 if (element.hasTimeOfDay()) { 28018 for (TimeType e : element.getTimeOfDay()) 28019 composeTime("timeOfDay", e); 28020 } 28021 if (element.hasWhen()) 28022 for (Enumeration<Timing.EventTiming> e : element.getWhen()) 28023 composeEnumeration("when", e, new Timing.EventTimingEnumFactory()); 28024 if (element.hasOffsetElement()) { 28025 composeUnsignedInt("offset", element.getOffsetElement()); 28026 } 28027 } 28028 28029 protected void composeTriggerDefinition(String name, TriggerDefinition element) throws IOException { 28030 if (element != null) { 28031 composeElementAttributes(element); 28032 xml.enter(FHIR_NS, name); 28033 composeTriggerDefinitionElements(element); 28034 composeElementClose(element); 28035 xml.exit(FHIR_NS, name); 28036 } 28037 } 28038 28039 protected void composeTriggerDefinitionElements(TriggerDefinition element) throws IOException { 28040 composeDataTypeElements(element); 28041 if (element.hasTypeElement()) 28042 composeEnumeration("type", element.getTypeElement(), new TriggerDefinition.TriggerTypeEnumFactory()); 28043 if (element.hasNameElement()) { 28044 composeString("name", element.getNameElement()); 28045 } 28046 if (element.hasTiming()) { 28047 composeType("timing", element.getTiming()); 28048 } if (element.hasData()) { 28049 for (DataRequirement e : element.getData()) 28050 composeDataRequirement("data", e); 28051 } 28052 if (element.hasCondition()) { 28053 composeExpression("condition", element.getCondition()); 28054 } 28055 } 28056 28057 protected void composeUsageContext(String name, UsageContext element) throws IOException { 28058 if (element != null) { 28059 composeElementAttributes(element); 28060 xml.enter(FHIR_NS, name); 28061 composeUsageContextElements(element); 28062 composeElementClose(element); 28063 xml.exit(FHIR_NS, name); 28064 } 28065 } 28066 28067 protected void composeUsageContextElements(UsageContext element) throws IOException { 28068 composeDataTypeElements(element); 28069 if (element.hasCode()) { 28070 composeCoding("code", element.getCode()); 28071 } 28072 if (element.hasValue()) { 28073 composeType("value", element.getValue()); 28074 } } 28075 28076 protected void composeResourceElements(Resource element) throws IOException { 28077 if (element.hasIdElement()) { 28078 composeId("id", element.getIdElement()); 28079 } 28080 if (element.hasMeta()) { 28081 composeMeta("meta", element.getMeta()); 28082 } 28083 if (element.hasImplicitRulesElement()) { 28084 composeUri("implicitRules", element.getImplicitRulesElement()); 28085 } 28086 if (element.hasLanguageElement()) { 28087 composeCode("language", element.getLanguageElement()); 28088 } 28089 } 28090 28091 protected void composeDomainResourceElements(DomainResource element) throws IOException { 28092 composeResourceElements(element); 28093 if (element.hasText()) { 28094 composeNarrative("text", element.getText()); 28095 } 28096 if (element.hasContained()) { 28097 for (Resource e : element.getContained()) 28098 { 28099 xml.enter(FHIR_NS, "contained"); 28100 composeResource(e); 28101 xml.exit(FHIR_NS, "contained"); 28102 } 28103 } 28104 if (element.hasExtension()) { 28105 for (Extension e : element.getExtension()) 28106 composeExtension("extension", e); 28107 } 28108 if (element.hasModifierExtension()) { 28109 for (Extension e : element.getModifierExtension()) 28110 composeExtension("modifierExtension", e); 28111 } 28112 } 28113 28114 protected void composeAccount(String name, Account element) throws IOException { 28115 if (element != null) { 28116 composeResourceAttributes(element); 28117 xml.enter(FHIR_NS, name); 28118 composeAccountElements(element); 28119 composeElementClose(element); 28120 xml.exit(FHIR_NS, name); 28121 } 28122 } 28123 28124 protected void composeAccountElements(Account element) throws IOException { 28125 composeDomainResourceElements(element); 28126 if (element.hasIdentifier()) { 28127 for (Identifier e : element.getIdentifier()) 28128 composeIdentifier("identifier", e); 28129 } 28130 if (element.hasStatusElement()) 28131 composeEnumeration("status", element.getStatusElement(), new Account.AccountStatusEnumFactory()); 28132 if (element.hasType()) { 28133 composeCodeableConcept("type", element.getType()); 28134 } 28135 if (element.hasNameElement()) { 28136 composeString("name", element.getNameElement()); 28137 } 28138 if (element.hasSubject()) { 28139 for (Reference e : element.getSubject()) 28140 composeReference("subject", e); 28141 } 28142 if (element.hasServicePeriod()) { 28143 composePeriod("servicePeriod", element.getServicePeriod()); 28144 } 28145 if (element.hasCoverage()) { 28146 for (Account.CoverageComponent e : element.getCoverage()) 28147 composeAccountCoverageComponent("coverage", e); 28148 } 28149 if (element.hasOwner()) { 28150 composeReference("owner", element.getOwner()); 28151 } 28152 if (element.hasDescriptionElement()) { 28153 composeString("description", element.getDescriptionElement()); 28154 } 28155 if (element.hasGuarantor()) { 28156 for (Account.GuarantorComponent e : element.getGuarantor()) 28157 composeAccountGuarantorComponent("guarantor", e); 28158 } 28159 if (element.hasPartOf()) { 28160 composeReference("partOf", element.getPartOf()); 28161 } 28162 } 28163 28164 protected void composeAccountCoverageComponent(String name, Account.CoverageComponent element) throws IOException { 28165 if (element != null) { 28166 composeElementAttributes(element); 28167 xml.enter(FHIR_NS, name); 28168 composeAccountCoverageComponentElements(element); 28169 composeElementClose(element); 28170 xml.exit(FHIR_NS, name); 28171 } 28172 } 28173 28174 protected void composeAccountCoverageComponentElements(Account.CoverageComponent element) throws IOException { 28175 composeBackboneElementElements(element); 28176 if (element.hasCoverage()) { 28177 composeReference("coverage", element.getCoverage()); 28178 } 28179 if (element.hasPriorityElement()) { 28180 composePositiveInt("priority", element.getPriorityElement()); 28181 } 28182 } 28183 28184 protected void composeAccountGuarantorComponent(String name, Account.GuarantorComponent element) throws IOException { 28185 if (element != null) { 28186 composeElementAttributes(element); 28187 xml.enter(FHIR_NS, name); 28188 composeAccountGuarantorComponentElements(element); 28189 composeElementClose(element); 28190 xml.exit(FHIR_NS, name); 28191 } 28192 } 28193 28194 protected void composeAccountGuarantorComponentElements(Account.GuarantorComponent element) throws IOException { 28195 composeBackboneElementElements(element); 28196 if (element.hasParty()) { 28197 composeReference("party", element.getParty()); 28198 } 28199 if (element.hasOnHoldElement()) { 28200 composeBoolean("onHold", element.getOnHoldElement()); 28201 } 28202 if (element.hasPeriod()) { 28203 composePeriod("period", element.getPeriod()); 28204 } 28205 } 28206 28207 protected void composeActivityDefinition(String name, ActivityDefinition element) throws IOException { 28208 if (element != null) { 28209 composeResourceAttributes(element); 28210 xml.enter(FHIR_NS, name); 28211 composeActivityDefinitionElements(element); 28212 composeElementClose(element); 28213 xml.exit(FHIR_NS, name); 28214 } 28215 } 28216 28217 protected void composeActivityDefinitionElements(ActivityDefinition element) throws IOException { 28218 composeDomainResourceElements(element); 28219 if (element.hasUrlElement()) { 28220 composeUri("url", element.getUrlElement()); 28221 } 28222 if (element.hasIdentifier()) { 28223 for (Identifier e : element.getIdentifier()) 28224 composeIdentifier("identifier", e); 28225 } 28226 if (element.hasVersionElement()) { 28227 composeString("version", element.getVersionElement()); 28228 } 28229 if (element.hasNameElement()) { 28230 composeString("name", element.getNameElement()); 28231 } 28232 if (element.hasTitleElement()) { 28233 composeString("title", element.getTitleElement()); 28234 } 28235 if (element.hasSubtitleElement()) { 28236 composeString("subtitle", element.getSubtitleElement()); 28237 } 28238 if (element.hasStatusElement()) 28239 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 28240 if (element.hasExperimentalElement()) { 28241 composeBoolean("experimental", element.getExperimentalElement()); 28242 } 28243 if (element.hasSubject()) { 28244 composeType("subject", element.getSubject()); 28245 } if (element.hasDateElement()) { 28246 composeDateTime("date", element.getDateElement()); 28247 } 28248 if (element.hasPublisherElement()) { 28249 composeString("publisher", element.getPublisherElement()); 28250 } 28251 if (element.hasContact()) { 28252 for (ContactDetail e : element.getContact()) 28253 composeContactDetail("contact", e); 28254 } 28255 if (element.hasDescriptionElement()) { 28256 composeMarkdown("description", element.getDescriptionElement()); 28257 } 28258 if (element.hasUseContext()) { 28259 for (UsageContext e : element.getUseContext()) 28260 composeUsageContext("useContext", e); 28261 } 28262 if (element.hasJurisdiction()) { 28263 for (CodeableConcept e : element.getJurisdiction()) 28264 composeCodeableConcept("jurisdiction", e); 28265 } 28266 if (element.hasPurposeElement()) { 28267 composeMarkdown("purpose", element.getPurposeElement()); 28268 } 28269 if (element.hasUsageElement()) { 28270 composeString("usage", element.getUsageElement()); 28271 } 28272 if (element.hasCopyrightElement()) { 28273 composeMarkdown("copyright", element.getCopyrightElement()); 28274 } 28275 if (element.hasApprovalDateElement()) { 28276 composeDate("approvalDate", element.getApprovalDateElement()); 28277 } 28278 if (element.hasLastReviewDateElement()) { 28279 composeDate("lastReviewDate", element.getLastReviewDateElement()); 28280 } 28281 if (element.hasEffectivePeriod()) { 28282 composePeriod("effectivePeriod", element.getEffectivePeriod()); 28283 } 28284 if (element.hasTopic()) { 28285 for (CodeableConcept e : element.getTopic()) 28286 composeCodeableConcept("topic", e); 28287 } 28288 if (element.hasAuthor()) { 28289 for (ContactDetail e : element.getAuthor()) 28290 composeContactDetail("author", e); 28291 } 28292 if (element.hasEditor()) { 28293 for (ContactDetail e : element.getEditor()) 28294 composeContactDetail("editor", e); 28295 } 28296 if (element.hasReviewer()) { 28297 for (ContactDetail e : element.getReviewer()) 28298 composeContactDetail("reviewer", e); 28299 } 28300 if (element.hasEndorser()) { 28301 for (ContactDetail e : element.getEndorser()) 28302 composeContactDetail("endorser", e); 28303 } 28304 if (element.hasRelatedArtifact()) { 28305 for (RelatedArtifact e : element.getRelatedArtifact()) 28306 composeRelatedArtifact("relatedArtifact", e); 28307 } 28308 if (element.hasLibrary()) { 28309 for (CanonicalType e : element.getLibrary()) 28310 composeCanonical("library", e); 28311 } 28312 if (element.hasKindElement()) 28313 composeEnumeration("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypeEnumFactory()); 28314 if (element.hasProfileElement()) { 28315 composeCanonical("profile", element.getProfileElement()); 28316 } 28317 if (element.hasCode()) { 28318 composeCodeableConcept("code", element.getCode()); 28319 } 28320 if (element.hasIntentElement()) 28321 composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); 28322 if (element.hasPriorityElement()) 28323 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 28324 if (element.hasDoNotPerformElement()) { 28325 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 28326 } 28327 if (element.hasTiming()) { 28328 composeType("timing", element.getTiming()); 28329 } if (element.hasLocation()) { 28330 composeReference("location", element.getLocation()); 28331 } 28332 if (element.hasParticipant()) { 28333 for (ActivityDefinition.ActivityDefinitionParticipantComponent e : element.getParticipant()) 28334 composeActivityDefinitionParticipantComponent("participant", e); 28335 } 28336 if (element.hasProduct()) { 28337 composeType("product", element.getProduct()); 28338 } if (element.hasQuantity()) { 28339 composeQuantity("quantity", element.getQuantity()); 28340 } 28341 if (element.hasDosage()) { 28342 for (Dosage e : element.getDosage()) 28343 composeDosage("dosage", e); 28344 } 28345 if (element.hasBodySite()) { 28346 for (CodeableConcept e : element.getBodySite()) 28347 composeCodeableConcept("bodySite", e); 28348 } 28349 if (element.hasSpecimenRequirement()) { 28350 for (Reference e : element.getSpecimenRequirement()) 28351 composeReference("specimenRequirement", e); 28352 } 28353 if (element.hasObservationRequirement()) { 28354 for (Reference e : element.getObservationRequirement()) 28355 composeReference("observationRequirement", e); 28356 } 28357 if (element.hasObservationResultRequirement()) { 28358 for (Reference e : element.getObservationResultRequirement()) 28359 composeReference("observationResultRequirement", e); 28360 } 28361 if (element.hasTransformElement()) { 28362 composeCanonical("transform", element.getTransformElement()); 28363 } 28364 if (element.hasDynamicValue()) { 28365 for (ActivityDefinition.ActivityDefinitionDynamicValueComponent e : element.getDynamicValue()) 28366 composeActivityDefinitionDynamicValueComponent("dynamicValue", e); 28367 } 28368 } 28369 28370 protected void composeActivityDefinitionParticipantComponent(String name, ActivityDefinition.ActivityDefinitionParticipantComponent element) throws IOException { 28371 if (element != null) { 28372 composeElementAttributes(element); 28373 xml.enter(FHIR_NS, name); 28374 composeActivityDefinitionParticipantComponentElements(element); 28375 composeElementClose(element); 28376 xml.exit(FHIR_NS, name); 28377 } 28378 } 28379 28380 protected void composeActivityDefinitionParticipantComponentElements(ActivityDefinition.ActivityDefinitionParticipantComponent element) throws IOException { 28381 composeBackboneElementElements(element); 28382 if (element.hasTypeElement()) 28383 composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); 28384 if (element.hasRole()) { 28385 composeCodeableConcept("role", element.getRole()); 28386 } 28387 } 28388 28389 protected void composeActivityDefinitionDynamicValueComponent(String name, ActivityDefinition.ActivityDefinitionDynamicValueComponent element) throws IOException { 28390 if (element != null) { 28391 composeElementAttributes(element); 28392 xml.enter(FHIR_NS, name); 28393 composeActivityDefinitionDynamicValueComponentElements(element); 28394 composeElementClose(element); 28395 xml.exit(FHIR_NS, name); 28396 } 28397 } 28398 28399 protected void composeActivityDefinitionDynamicValueComponentElements(ActivityDefinition.ActivityDefinitionDynamicValueComponent element) throws IOException { 28400 composeBackboneElementElements(element); 28401 if (element.hasPathElement()) { 28402 composeString("path", element.getPathElement()); 28403 } 28404 if (element.hasExpression()) { 28405 composeExpression("expression", element.getExpression()); 28406 } 28407 } 28408 28409 protected void composeAdministrableProductDefinition(String name, AdministrableProductDefinition element) throws IOException { 28410 if (element != null) { 28411 composeResourceAttributes(element); 28412 xml.enter(FHIR_NS, name); 28413 composeAdministrableProductDefinitionElements(element); 28414 composeElementClose(element); 28415 xml.exit(FHIR_NS, name); 28416 } 28417 } 28418 28419 protected void composeAdministrableProductDefinitionElements(AdministrableProductDefinition element) throws IOException { 28420 composeDomainResourceElements(element); 28421 if (element.hasIdentifier()) { 28422 for (Identifier e : element.getIdentifier()) 28423 composeIdentifier("identifier", e); 28424 } 28425 if (element.hasStatusElement()) 28426 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 28427 if (element.hasFormOf()) { 28428 for (Reference e : element.getFormOf()) 28429 composeReference("formOf", e); 28430 } 28431 if (element.hasAdministrableDoseForm()) { 28432 composeCodeableConcept("administrableDoseForm", element.getAdministrableDoseForm()); 28433 } 28434 if (element.hasUnitOfPresentation()) { 28435 composeCodeableConcept("unitOfPresentation", element.getUnitOfPresentation()); 28436 } 28437 if (element.hasProducedFrom()) { 28438 for (Reference e : element.getProducedFrom()) 28439 composeReference("producedFrom", e); 28440 } 28441 if (element.hasIngredient()) { 28442 for (CodeableConcept e : element.getIngredient()) 28443 composeCodeableConcept("ingredient", e); 28444 } 28445 if (element.hasDevice()) { 28446 composeReference("device", element.getDevice()); 28447 } 28448 if (element.hasProperty()) { 28449 for (AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent e : element.getProperty()) 28450 composeAdministrableProductDefinitionPropertyComponent("property", e); 28451 } 28452 if (element.hasRouteOfAdministration()) { 28453 for (AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent e : element.getRouteOfAdministration()) 28454 composeAdministrableProductDefinitionRouteOfAdministrationComponent("routeOfAdministration", e); 28455 } 28456 } 28457 28458 protected void composeAdministrableProductDefinitionPropertyComponent(String name, AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent element) throws IOException { 28459 if (element != null) { 28460 composeElementAttributes(element); 28461 xml.enter(FHIR_NS, name); 28462 composeAdministrableProductDefinitionPropertyComponentElements(element); 28463 composeElementClose(element); 28464 xml.exit(FHIR_NS, name); 28465 } 28466 } 28467 28468 protected void composeAdministrableProductDefinitionPropertyComponentElements(AdministrableProductDefinition.AdministrableProductDefinitionPropertyComponent element) throws IOException { 28469 composeBackboneElementElements(element); 28470 if (element.hasType()) { 28471 composeCodeableConcept("type", element.getType()); 28472 } 28473 if (element.hasValue()) { 28474 composeType("value", element.getValue()); 28475 } if (element.hasStatus()) { 28476 composeCodeableConcept("status", element.getStatus()); 28477 } 28478 } 28479 28480 protected void composeAdministrableProductDefinitionRouteOfAdministrationComponent(String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent element) throws IOException { 28481 if (element != null) { 28482 composeElementAttributes(element); 28483 xml.enter(FHIR_NS, name); 28484 composeAdministrableProductDefinitionRouteOfAdministrationComponentElements(element); 28485 composeElementClose(element); 28486 xml.exit(FHIR_NS, name); 28487 } 28488 } 28489 28490 protected void composeAdministrableProductDefinitionRouteOfAdministrationComponentElements(AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationComponent element) throws IOException { 28491 composeBackboneElementElements(element); 28492 if (element.hasCode()) { 28493 composeCodeableConcept("code", element.getCode()); 28494 } 28495 if (element.hasFirstDose()) { 28496 composeQuantity("firstDose", element.getFirstDose()); 28497 } 28498 if (element.hasMaxSingleDose()) { 28499 composeQuantity("maxSingleDose", element.getMaxSingleDose()); 28500 } 28501 if (element.hasMaxDosePerDay()) { 28502 composeQuantity("maxDosePerDay", element.getMaxDosePerDay()); 28503 } 28504 if (element.hasMaxDosePerTreatmentPeriod()) { 28505 composeRatio("maxDosePerTreatmentPeriod", element.getMaxDosePerTreatmentPeriod()); 28506 } 28507 if (element.hasMaxTreatmentPeriod()) { 28508 composeDuration("maxTreatmentPeriod", element.getMaxTreatmentPeriod()); 28509 } 28510 if (element.hasTargetSpecies()) { 28511 for (AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent e : element.getTargetSpecies()) 28512 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent("targetSpecies", e); 28513 } 28514 } 28515 28516 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent(String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent element) throws IOException { 28517 if (element != null) { 28518 composeElementAttributes(element); 28519 xml.enter(FHIR_NS, name); 28520 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponentElements(element); 28521 composeElementClose(element); 28522 xml.exit(FHIR_NS, name); 28523 } 28524 } 28525 28526 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponentElements(AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesComponent element) throws IOException { 28527 composeBackboneElementElements(element); 28528 if (element.hasCode()) { 28529 composeCodeableConcept("code", element.getCode()); 28530 } 28531 if (element.hasWithdrawalPeriod()) { 28532 for (AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent e : element.getWithdrawalPeriod()) 28533 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent("withdrawalPeriod", e); 28534 } 28535 } 28536 28537 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent(String name, AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent element) throws IOException { 28538 if (element != null) { 28539 composeElementAttributes(element); 28540 xml.enter(FHIR_NS, name); 28541 composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponentElements(element); 28542 composeElementClose(element); 28543 xml.exit(FHIR_NS, name); 28544 } 28545 } 28546 28547 protected void composeAdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponentElements(AdministrableProductDefinition.AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriodComponent element) throws IOException { 28548 composeBackboneElementElements(element); 28549 if (element.hasTissue()) { 28550 composeCodeableConcept("tissue", element.getTissue()); 28551 } 28552 if (element.hasValue()) { 28553 composeQuantity("value", element.getValue()); 28554 } 28555 if (element.hasSupportingInformationElement()) { 28556 composeString("supportingInformation", element.getSupportingInformationElement()); 28557 } 28558 } 28559 28560 protected void composeAdverseEvent(String name, AdverseEvent element) throws IOException { 28561 if (element != null) { 28562 composeResourceAttributes(element); 28563 xml.enter(FHIR_NS, name); 28564 composeAdverseEventElements(element); 28565 composeElementClose(element); 28566 xml.exit(FHIR_NS, name); 28567 } 28568 } 28569 28570 protected void composeAdverseEventElements(AdverseEvent element) throws IOException { 28571 composeDomainResourceElements(element); 28572 if (element.hasIdentifier()) { 28573 composeIdentifier("identifier", element.getIdentifier()); 28574 } 28575 if (element.hasActualityElement()) 28576 composeEnumeration("actuality", element.getActualityElement(), new AdverseEvent.AdverseEventActualityEnumFactory()); 28577 if (element.hasCategory()) { 28578 for (CodeableConcept e : element.getCategory()) 28579 composeCodeableConcept("category", e); 28580 } 28581 if (element.hasEvent()) { 28582 composeCodeableConcept("event", element.getEvent()); 28583 } 28584 if (element.hasSubject()) { 28585 composeReference("subject", element.getSubject()); 28586 } 28587 if (element.hasEncounter()) { 28588 composeReference("encounter", element.getEncounter()); 28589 } 28590 if (element.hasDateElement()) { 28591 composeDateTime("date", element.getDateElement()); 28592 } 28593 if (element.hasDetectedElement()) { 28594 composeDateTime("detected", element.getDetectedElement()); 28595 } 28596 if (element.hasRecordedDateElement()) { 28597 composeDateTime("recordedDate", element.getRecordedDateElement()); 28598 } 28599 if (element.hasResultingCondition()) { 28600 for (Reference e : element.getResultingCondition()) 28601 composeReference("resultingCondition", e); 28602 } 28603 if (element.hasLocation()) { 28604 composeReference("location", element.getLocation()); 28605 } 28606 if (element.hasSeriousness()) { 28607 composeCodeableConcept("seriousness", element.getSeriousness()); 28608 } 28609 if (element.hasSeverity()) { 28610 composeCodeableConcept("severity", element.getSeverity()); 28611 } 28612 if (element.hasOutcome()) { 28613 composeCodeableConcept("outcome", element.getOutcome()); 28614 } 28615 if (element.hasRecorder()) { 28616 composeReference("recorder", element.getRecorder()); 28617 } 28618 if (element.hasContributor()) { 28619 for (Reference e : element.getContributor()) 28620 composeReference("contributor", e); 28621 } 28622 if (element.hasSuspectEntity()) { 28623 for (AdverseEvent.AdverseEventSuspectEntityComponent e : element.getSuspectEntity()) 28624 composeAdverseEventSuspectEntityComponent("suspectEntity", e); 28625 } 28626 if (element.hasSubjectMedicalHistory()) { 28627 for (Reference e : element.getSubjectMedicalHistory()) 28628 composeReference("subjectMedicalHistory", e); 28629 } 28630 if (element.hasReferenceDocument()) { 28631 for (Reference e : element.getReferenceDocument()) 28632 composeReference("referenceDocument", e); 28633 } 28634 if (element.hasStudy()) { 28635 for (Reference e : element.getStudy()) 28636 composeReference("study", e); 28637 } 28638 } 28639 28640 protected void composeAdverseEventSuspectEntityComponent(String name, AdverseEvent.AdverseEventSuspectEntityComponent element) throws IOException { 28641 if (element != null) { 28642 composeElementAttributes(element); 28643 xml.enter(FHIR_NS, name); 28644 composeAdverseEventSuspectEntityComponentElements(element); 28645 composeElementClose(element); 28646 xml.exit(FHIR_NS, name); 28647 } 28648 } 28649 28650 protected void composeAdverseEventSuspectEntityComponentElements(AdverseEvent.AdverseEventSuspectEntityComponent element) throws IOException { 28651 composeBackboneElementElements(element); 28652 if (element.hasInstance()) { 28653 composeReference("instance", element.getInstance()); 28654 } 28655 if (element.hasCausality()) { 28656 for (AdverseEvent.AdverseEventSuspectEntityCausalityComponent e : element.getCausality()) 28657 composeAdverseEventSuspectEntityCausalityComponent("causality", e); 28658 } 28659 } 28660 28661 protected void composeAdverseEventSuspectEntityCausalityComponent(String name, AdverseEvent.AdverseEventSuspectEntityCausalityComponent element) throws IOException { 28662 if (element != null) { 28663 composeElementAttributes(element); 28664 xml.enter(FHIR_NS, name); 28665 composeAdverseEventSuspectEntityCausalityComponentElements(element); 28666 composeElementClose(element); 28667 xml.exit(FHIR_NS, name); 28668 } 28669 } 28670 28671 protected void composeAdverseEventSuspectEntityCausalityComponentElements(AdverseEvent.AdverseEventSuspectEntityCausalityComponent element) throws IOException { 28672 composeBackboneElementElements(element); 28673 if (element.hasAssessment()) { 28674 composeCodeableConcept("assessment", element.getAssessment()); 28675 } 28676 if (element.hasProductRelatednessElement()) { 28677 composeString("productRelatedness", element.getProductRelatednessElement()); 28678 } 28679 if (element.hasAuthor()) { 28680 composeReference("author", element.getAuthor()); 28681 } 28682 if (element.hasMethod()) { 28683 composeCodeableConcept("method", element.getMethod()); 28684 } 28685 } 28686 28687 protected void composeAllergyIntolerance(String name, AllergyIntolerance element) throws IOException { 28688 if (element != null) { 28689 composeResourceAttributes(element); 28690 xml.enter(FHIR_NS, name); 28691 composeAllergyIntoleranceElements(element); 28692 composeElementClose(element); 28693 xml.exit(FHIR_NS, name); 28694 } 28695 } 28696 28697 protected void composeAllergyIntoleranceElements(AllergyIntolerance element) throws IOException { 28698 composeDomainResourceElements(element); 28699 if (element.hasIdentifier()) { 28700 for (Identifier e : element.getIdentifier()) 28701 composeIdentifier("identifier", e); 28702 } 28703 if (element.hasClinicalStatus()) { 28704 composeCodeableConcept("clinicalStatus", element.getClinicalStatus()); 28705 } 28706 if (element.hasVerificationStatus()) { 28707 composeCodeableConcept("verificationStatus", element.getVerificationStatus()); 28708 } 28709 if (element.hasTypeElement()) 28710 composeEnumeration("type", element.getTypeElement(), new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory()); 28711 if (element.hasCategory()) 28712 for (Enumeration<AllergyIntolerance.AllergyIntoleranceCategory> e : element.getCategory()) 28713 composeEnumeration("category", e, new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory()); 28714 if (element.hasCriticalityElement()) 28715 composeEnumeration("criticality", element.getCriticalityElement(), new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory()); 28716 if (element.hasCode()) { 28717 composeCodeableConcept("code", element.getCode()); 28718 } 28719 if (element.hasPatient()) { 28720 composeReference("patient", element.getPatient()); 28721 } 28722 if (element.hasEncounter()) { 28723 composeReference("encounter", element.getEncounter()); 28724 } 28725 if (element.hasOnset()) { 28726 composeType("onset", element.getOnset()); 28727 } if (element.hasRecordedDateElement()) { 28728 composeDateTime("recordedDate", element.getRecordedDateElement()); 28729 } 28730 if (element.hasRecorder()) { 28731 composeReference("recorder", element.getRecorder()); 28732 } 28733 if (element.hasAsserter()) { 28734 composeReference("asserter", element.getAsserter()); 28735 } 28736 if (element.hasLastOccurrenceElement()) { 28737 composeDateTime("lastOccurrence", element.getLastOccurrenceElement()); 28738 } 28739 if (element.hasNote()) { 28740 for (Annotation e : element.getNote()) 28741 composeAnnotation("note", e); 28742 } 28743 if (element.hasReaction()) { 28744 for (AllergyIntolerance.AllergyIntoleranceReactionComponent e : element.getReaction()) 28745 composeAllergyIntoleranceReactionComponent("reaction", e); 28746 } 28747 } 28748 28749 protected void composeAllergyIntoleranceReactionComponent(String name, AllergyIntolerance.AllergyIntoleranceReactionComponent element) throws IOException { 28750 if (element != null) { 28751 composeElementAttributes(element); 28752 xml.enter(FHIR_NS, name); 28753 composeAllergyIntoleranceReactionComponentElements(element); 28754 composeElementClose(element); 28755 xml.exit(FHIR_NS, name); 28756 } 28757 } 28758 28759 protected void composeAllergyIntoleranceReactionComponentElements(AllergyIntolerance.AllergyIntoleranceReactionComponent element) throws IOException { 28760 composeBackboneElementElements(element); 28761 if (element.hasSubstance()) { 28762 composeCodeableConcept("substance", element.getSubstance()); 28763 } 28764 if (element.hasManifestation()) { 28765 for (CodeableConcept e : element.getManifestation()) 28766 composeCodeableConcept("manifestation", e); 28767 } 28768 if (element.hasDescriptionElement()) { 28769 composeString("description", element.getDescriptionElement()); 28770 } 28771 if (element.hasOnsetElement()) { 28772 composeDateTime("onset", element.getOnsetElement()); 28773 } 28774 if (element.hasSeverityElement()) 28775 composeEnumeration("severity", element.getSeverityElement(), new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory()); 28776 if (element.hasExposureRoute()) { 28777 composeCodeableConcept("exposureRoute", element.getExposureRoute()); 28778 } 28779 if (element.hasNote()) { 28780 for (Annotation e : element.getNote()) 28781 composeAnnotation("note", e); 28782 } 28783 } 28784 28785 protected void composeAppointment(String name, Appointment element) throws IOException { 28786 if (element != null) { 28787 composeResourceAttributes(element); 28788 xml.enter(FHIR_NS, name); 28789 composeAppointmentElements(element); 28790 composeElementClose(element); 28791 xml.exit(FHIR_NS, name); 28792 } 28793 } 28794 28795 protected void composeAppointmentElements(Appointment element) throws IOException { 28796 composeDomainResourceElements(element); 28797 if (element.hasIdentifier()) { 28798 for (Identifier e : element.getIdentifier()) 28799 composeIdentifier("identifier", e); 28800 } 28801 if (element.hasStatusElement()) 28802 composeEnumeration("status", element.getStatusElement(), new Appointment.AppointmentStatusEnumFactory()); 28803 if (element.hasCancelationReason()) { 28804 composeCodeableConcept("cancelationReason", element.getCancelationReason()); 28805 } 28806 if (element.hasServiceCategory()) { 28807 for (CodeableConcept e : element.getServiceCategory()) 28808 composeCodeableConcept("serviceCategory", e); 28809 } 28810 if (element.hasServiceType()) { 28811 for (CodeableConcept e : element.getServiceType()) 28812 composeCodeableConcept("serviceType", e); 28813 } 28814 if (element.hasSpecialty()) { 28815 for (CodeableConcept e : element.getSpecialty()) 28816 composeCodeableConcept("specialty", e); 28817 } 28818 if (element.hasAppointmentType()) { 28819 composeCodeableConcept("appointmentType", element.getAppointmentType()); 28820 } 28821 if (element.hasReasonCode()) { 28822 for (CodeableConcept e : element.getReasonCode()) 28823 composeCodeableConcept("reasonCode", e); 28824 } 28825 if (element.hasReasonReference()) { 28826 for (Reference e : element.getReasonReference()) 28827 composeReference("reasonReference", e); 28828 } 28829 if (element.hasPriorityElement()) { 28830 composeUnsignedInt("priority", element.getPriorityElement()); 28831 } 28832 if (element.hasDescriptionElement()) { 28833 composeString("description", element.getDescriptionElement()); 28834 } 28835 if (element.hasSupportingInformation()) { 28836 for (Reference e : element.getSupportingInformation()) 28837 composeReference("supportingInformation", e); 28838 } 28839 if (element.hasStartElement()) { 28840 composeInstant("start", element.getStartElement()); 28841 } 28842 if (element.hasEndElement()) { 28843 composeInstant("end", element.getEndElement()); 28844 } 28845 if (element.hasMinutesDurationElement()) { 28846 composePositiveInt("minutesDuration", element.getMinutesDurationElement()); 28847 } 28848 if (element.hasSlot()) { 28849 for (Reference e : element.getSlot()) 28850 composeReference("slot", e); 28851 } 28852 if (element.hasCreatedElement()) { 28853 composeDateTime("created", element.getCreatedElement()); 28854 } 28855 if (element.hasCommentElement()) { 28856 composeString("comment", element.getCommentElement()); 28857 } 28858 if (element.hasPatientInstructionElement()) { 28859 composeString("patientInstruction", element.getPatientInstructionElement()); 28860 } 28861 if (element.hasBasedOn()) { 28862 for (Reference e : element.getBasedOn()) 28863 composeReference("basedOn", e); 28864 } 28865 if (element.hasParticipant()) { 28866 for (Appointment.AppointmentParticipantComponent e : element.getParticipant()) 28867 composeAppointmentParticipantComponent("participant", e); 28868 } 28869 if (element.hasRequestedPeriod()) { 28870 for (Period e : element.getRequestedPeriod()) 28871 composePeriod("requestedPeriod", e); 28872 } 28873 } 28874 28875 protected void composeAppointmentParticipantComponent(String name, Appointment.AppointmentParticipantComponent element) throws IOException { 28876 if (element != null) { 28877 composeElementAttributes(element); 28878 xml.enter(FHIR_NS, name); 28879 composeAppointmentParticipantComponentElements(element); 28880 composeElementClose(element); 28881 xml.exit(FHIR_NS, name); 28882 } 28883 } 28884 28885 protected void composeAppointmentParticipantComponentElements(Appointment.AppointmentParticipantComponent element) throws IOException { 28886 composeBackboneElementElements(element); 28887 if (element.hasType()) { 28888 for (CodeableConcept e : element.getType()) 28889 composeCodeableConcept("type", e); 28890 } 28891 if (element.hasActor()) { 28892 composeReference("actor", element.getActor()); 28893 } 28894 if (element.hasRequiredElement()) 28895 composeEnumeration("required", element.getRequiredElement(), new Appointment.ParticipantRequiredEnumFactory()); 28896 if (element.hasStatusElement()) 28897 composeEnumeration("status", element.getStatusElement(), new Enumerations.ParticipationStatusEnumFactory()); 28898 if (element.hasPeriod()) { 28899 composePeriod("period", element.getPeriod()); 28900 } 28901 } 28902 28903 protected void composeAppointmentResponse(String name, AppointmentResponse element) throws IOException { 28904 if (element != null) { 28905 composeResourceAttributes(element); 28906 xml.enter(FHIR_NS, name); 28907 composeAppointmentResponseElements(element); 28908 composeElementClose(element); 28909 xml.exit(FHIR_NS, name); 28910 } 28911 } 28912 28913 protected void composeAppointmentResponseElements(AppointmentResponse element) throws IOException { 28914 composeDomainResourceElements(element); 28915 if (element.hasIdentifier()) { 28916 for (Identifier e : element.getIdentifier()) 28917 composeIdentifier("identifier", e); 28918 } 28919 if (element.hasAppointment()) { 28920 composeReference("appointment", element.getAppointment()); 28921 } 28922 if (element.hasStartElement()) { 28923 composeInstant("start", element.getStartElement()); 28924 } 28925 if (element.hasEndElement()) { 28926 composeInstant("end", element.getEndElement()); 28927 } 28928 if (element.hasParticipantType()) { 28929 for (CodeableConcept e : element.getParticipantType()) 28930 composeCodeableConcept("participantType", e); 28931 } 28932 if (element.hasActor()) { 28933 composeReference("actor", element.getActor()); 28934 } 28935 if (element.hasParticipantStatusElement()) 28936 composeEnumeration("participantStatus", element.getParticipantStatusElement(), new Enumerations.ParticipationStatusEnumFactory()); 28937 if (element.hasCommentElement()) { 28938 composeString("comment", element.getCommentElement()); 28939 } 28940 } 28941 28942 protected void composeAuditEvent(String name, AuditEvent element) throws IOException { 28943 if (element != null) { 28944 composeResourceAttributes(element); 28945 xml.enter(FHIR_NS, name); 28946 composeAuditEventElements(element); 28947 composeElementClose(element); 28948 xml.exit(FHIR_NS, name); 28949 } 28950 } 28951 28952 protected void composeAuditEventElements(AuditEvent element) throws IOException { 28953 composeDomainResourceElements(element); 28954 if (element.hasType()) { 28955 composeCoding("type", element.getType()); 28956 } 28957 if (element.hasSubtype()) { 28958 for (Coding e : element.getSubtype()) 28959 composeCoding("subtype", e); 28960 } 28961 if (element.hasActionElement()) 28962 composeEnumeration("action", element.getActionElement(), new AuditEvent.AuditEventActionEnumFactory()); 28963 if (element.hasPeriod()) { 28964 composePeriod("period", element.getPeriod()); 28965 } 28966 if (element.hasRecordedElement()) { 28967 composeInstant("recorded", element.getRecordedElement()); 28968 } 28969 if (element.hasOutcomeElement()) 28970 composeEnumeration("outcome", element.getOutcomeElement(), new AuditEvent.AuditEventOutcomeEnumFactory()); 28971 if (element.hasOutcomeDescElement()) { 28972 composeString("outcomeDesc", element.getOutcomeDescElement()); 28973 } 28974 if (element.hasPurposeOfEvent()) { 28975 for (CodeableConcept e : element.getPurposeOfEvent()) 28976 composeCodeableConcept("purposeOfEvent", e); 28977 } 28978 if (element.hasAgent()) { 28979 for (AuditEvent.AuditEventAgentComponent e : element.getAgent()) 28980 composeAuditEventAgentComponent("agent", e); 28981 } 28982 if (element.hasSource()) { 28983 composeAuditEventSourceComponent("source", element.getSource()); 28984 } 28985 if (element.hasEntity()) { 28986 for (AuditEvent.AuditEventEntityComponent e : element.getEntity()) 28987 composeAuditEventEntityComponent("entity", e); 28988 } 28989 } 28990 28991 protected void composeAuditEventAgentComponent(String name, AuditEvent.AuditEventAgentComponent element) throws IOException { 28992 if (element != null) { 28993 composeElementAttributes(element); 28994 xml.enter(FHIR_NS, name); 28995 composeAuditEventAgentComponentElements(element); 28996 composeElementClose(element); 28997 xml.exit(FHIR_NS, name); 28998 } 28999 } 29000 29001 protected void composeAuditEventAgentComponentElements(AuditEvent.AuditEventAgentComponent element) throws IOException { 29002 composeBackboneElementElements(element); 29003 if (element.hasType()) { 29004 composeCodeableConcept("type", element.getType()); 29005 } 29006 if (element.hasRole()) { 29007 for (CodeableConcept e : element.getRole()) 29008 composeCodeableConcept("role", e); 29009 } 29010 if (element.hasWho()) { 29011 composeReference("who", element.getWho()); 29012 } 29013 if (element.hasAltIdElement()) { 29014 composeString("altId", element.getAltIdElement()); 29015 } 29016 if (element.hasNameElement()) { 29017 composeString("name", element.getNameElement()); 29018 } 29019 if (element.hasRequestorElement()) { 29020 composeBoolean("requestor", element.getRequestorElement()); 29021 } 29022 if (element.hasLocation()) { 29023 composeReference("location", element.getLocation()); 29024 } 29025 if (element.hasPolicy()) { 29026 for (UriType e : element.getPolicy()) 29027 composeUri("policy", e); 29028 } 29029 if (element.hasMedia()) { 29030 composeCoding("media", element.getMedia()); 29031 } 29032 if (element.hasNetwork()) { 29033 composeAuditEventAgentNetworkComponent("network", element.getNetwork()); 29034 } 29035 if (element.hasPurposeOfUse()) { 29036 for (CodeableConcept e : element.getPurposeOfUse()) 29037 composeCodeableConcept("purposeOfUse", e); 29038 } 29039 } 29040 29041 protected void composeAuditEventAgentNetworkComponent(String name, AuditEvent.AuditEventAgentNetworkComponent element) throws IOException { 29042 if (element != null) { 29043 composeElementAttributes(element); 29044 xml.enter(FHIR_NS, name); 29045 composeAuditEventAgentNetworkComponentElements(element); 29046 composeElementClose(element); 29047 xml.exit(FHIR_NS, name); 29048 } 29049 } 29050 29051 protected void composeAuditEventAgentNetworkComponentElements(AuditEvent.AuditEventAgentNetworkComponent element) throws IOException { 29052 composeBackboneElementElements(element); 29053 if (element.hasAddressElement()) { 29054 composeString("address", element.getAddressElement()); 29055 } 29056 if (element.hasTypeElement()) 29057 composeEnumeration("type", element.getTypeElement(), new AuditEvent.AuditEventAgentNetworkTypeEnumFactory()); 29058 } 29059 29060 protected void composeAuditEventSourceComponent(String name, AuditEvent.AuditEventSourceComponent element) throws IOException { 29061 if (element != null) { 29062 composeElementAttributes(element); 29063 xml.enter(FHIR_NS, name); 29064 composeAuditEventSourceComponentElements(element); 29065 composeElementClose(element); 29066 xml.exit(FHIR_NS, name); 29067 } 29068 } 29069 29070 protected void composeAuditEventSourceComponentElements(AuditEvent.AuditEventSourceComponent element) throws IOException { 29071 composeBackboneElementElements(element); 29072 if (element.hasSiteElement()) { 29073 composeString("site", element.getSiteElement()); 29074 } 29075 if (element.hasObserver()) { 29076 composeReference("observer", element.getObserver()); 29077 } 29078 if (element.hasType()) { 29079 for (Coding e : element.getType()) 29080 composeCoding("type", e); 29081 } 29082 } 29083 29084 protected void composeAuditEventEntityComponent(String name, AuditEvent.AuditEventEntityComponent element) throws IOException { 29085 if (element != null) { 29086 composeElementAttributes(element); 29087 xml.enter(FHIR_NS, name); 29088 composeAuditEventEntityComponentElements(element); 29089 composeElementClose(element); 29090 xml.exit(FHIR_NS, name); 29091 } 29092 } 29093 29094 protected void composeAuditEventEntityComponentElements(AuditEvent.AuditEventEntityComponent element) throws IOException { 29095 composeBackboneElementElements(element); 29096 if (element.hasWhat()) { 29097 composeReference("what", element.getWhat()); 29098 } 29099 if (element.hasType()) { 29100 composeCoding("type", element.getType()); 29101 } 29102 if (element.hasRole()) { 29103 composeCoding("role", element.getRole()); 29104 } 29105 if (element.hasLifecycle()) { 29106 composeCoding("lifecycle", element.getLifecycle()); 29107 } 29108 if (element.hasSecurityLabel()) { 29109 for (Coding e : element.getSecurityLabel()) 29110 composeCoding("securityLabel", e); 29111 } 29112 if (element.hasNameElement()) { 29113 composeString("name", element.getNameElement()); 29114 } 29115 if (element.hasDescriptionElement()) { 29116 composeString("description", element.getDescriptionElement()); 29117 } 29118 if (element.hasQueryElement()) { 29119 composeBase64Binary("query", element.getQueryElement()); 29120 } 29121 if (element.hasDetail()) { 29122 for (AuditEvent.AuditEventEntityDetailComponent e : element.getDetail()) 29123 composeAuditEventEntityDetailComponent("detail", e); 29124 } 29125 } 29126 29127 protected void composeAuditEventEntityDetailComponent(String name, AuditEvent.AuditEventEntityDetailComponent element) throws IOException { 29128 if (element != null) { 29129 composeElementAttributes(element); 29130 xml.enter(FHIR_NS, name); 29131 composeAuditEventEntityDetailComponentElements(element); 29132 composeElementClose(element); 29133 xml.exit(FHIR_NS, name); 29134 } 29135 } 29136 29137 protected void composeAuditEventEntityDetailComponentElements(AuditEvent.AuditEventEntityDetailComponent element) throws IOException { 29138 composeBackboneElementElements(element); 29139 if (element.hasTypeElement()) { 29140 composeString("type", element.getTypeElement()); 29141 } 29142 if (element.hasValue()) { 29143 composeType("value", element.getValue()); 29144 } } 29145 29146 protected void composeBasic(String name, Basic element) throws IOException { 29147 if (element != null) { 29148 composeResourceAttributes(element); 29149 xml.enter(FHIR_NS, name); 29150 composeBasicElements(element); 29151 composeElementClose(element); 29152 xml.exit(FHIR_NS, name); 29153 } 29154 } 29155 29156 protected void composeBasicElements(Basic element) throws IOException { 29157 composeDomainResourceElements(element); 29158 if (element.hasIdentifier()) { 29159 for (Identifier e : element.getIdentifier()) 29160 composeIdentifier("identifier", e); 29161 } 29162 if (element.hasCode()) { 29163 composeCodeableConcept("code", element.getCode()); 29164 } 29165 if (element.hasSubject()) { 29166 composeReference("subject", element.getSubject()); 29167 } 29168 if (element.hasCreatedElement()) { 29169 composeDate("created", element.getCreatedElement()); 29170 } 29171 if (element.hasAuthor()) { 29172 composeReference("author", element.getAuthor()); 29173 } 29174 } 29175 29176 protected void composeBinary(String name, Binary element) throws IOException { 29177 if (element != null) { 29178 composeResourceAttributes(element); 29179 xml.enter(FHIR_NS, name); 29180 composeBinaryElements(element); 29181 composeElementClose(element); 29182 xml.exit(FHIR_NS, name); 29183 } 29184 } 29185 29186 protected void composeBinaryElements(Binary element) throws IOException { 29187 composeResourceElements(element); 29188 if (element.hasContentTypeElement()) { 29189 composeCode("contentType", element.getContentTypeElement()); 29190 } 29191 if (element.hasSecurityContext()) { 29192 composeReference("securityContext", element.getSecurityContext()); 29193 } 29194 if (element.hasDataElement()) { 29195 composeBase64Binary("data", element.getDataElement()); 29196 } 29197 } 29198 29199 protected void composeBiologicallyDerivedProduct(String name, BiologicallyDerivedProduct element) throws IOException { 29200 if (element != null) { 29201 composeResourceAttributes(element); 29202 xml.enter(FHIR_NS, name); 29203 composeBiologicallyDerivedProductElements(element); 29204 composeElementClose(element); 29205 xml.exit(FHIR_NS, name); 29206 } 29207 } 29208 29209 protected void composeBiologicallyDerivedProductElements(BiologicallyDerivedProduct element) throws IOException { 29210 composeDomainResourceElements(element); 29211 if (element.hasIdentifier()) { 29212 for (Identifier e : element.getIdentifier()) 29213 composeIdentifier("identifier", e); 29214 } 29215 if (element.hasProductCategoryElement()) 29216 composeEnumeration("productCategory", element.getProductCategoryElement(), new BiologicallyDerivedProduct.BiologicallyDerivedProductCategoryEnumFactory()); 29217 if (element.hasProductCode()) { 29218 composeCodeableConcept("productCode", element.getProductCode()); 29219 } 29220 if (element.hasStatusElement()) 29221 composeEnumeration("status", element.getStatusElement(), new BiologicallyDerivedProduct.BiologicallyDerivedProductStatusEnumFactory()); 29222 if (element.hasRequest()) { 29223 for (Reference e : element.getRequest()) 29224 composeReference("request", e); 29225 } 29226 if (element.hasQuantityElement()) { 29227 composeInteger("quantity", element.getQuantityElement()); 29228 } 29229 if (element.hasParent()) { 29230 for (Reference e : element.getParent()) 29231 composeReference("parent", e); 29232 } 29233 if (element.hasCollection()) { 29234 composeBiologicallyDerivedProductCollectionComponent("collection", element.getCollection()); 29235 } 29236 if (element.hasProcessing()) { 29237 for (BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent e : element.getProcessing()) 29238 composeBiologicallyDerivedProductProcessingComponent("processing", e); 29239 } 29240 if (element.hasManipulation()) { 29241 composeBiologicallyDerivedProductManipulationComponent("manipulation", element.getManipulation()); 29242 } 29243 if (element.hasStorage()) { 29244 for (BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent e : element.getStorage()) 29245 composeBiologicallyDerivedProductStorageComponent("storage", e); 29246 } 29247 } 29248 29249 protected void composeBiologicallyDerivedProductCollectionComponent(String name, BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent element) throws IOException { 29250 if (element != null) { 29251 composeElementAttributes(element); 29252 xml.enter(FHIR_NS, name); 29253 composeBiologicallyDerivedProductCollectionComponentElements(element); 29254 composeElementClose(element); 29255 xml.exit(FHIR_NS, name); 29256 } 29257 } 29258 29259 protected void composeBiologicallyDerivedProductCollectionComponentElements(BiologicallyDerivedProduct.BiologicallyDerivedProductCollectionComponent element) throws IOException { 29260 composeBackboneElementElements(element); 29261 if (element.hasCollector()) { 29262 composeReference("collector", element.getCollector()); 29263 } 29264 if (element.hasSource()) { 29265 composeReference("source", element.getSource()); 29266 } 29267 if (element.hasCollected()) { 29268 composeType("collected", element.getCollected()); 29269 } } 29270 29271 protected void composeBiologicallyDerivedProductProcessingComponent(String name, BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent element) throws IOException { 29272 if (element != null) { 29273 composeElementAttributes(element); 29274 xml.enter(FHIR_NS, name); 29275 composeBiologicallyDerivedProductProcessingComponentElements(element); 29276 composeElementClose(element); 29277 xml.exit(FHIR_NS, name); 29278 } 29279 } 29280 29281 protected void composeBiologicallyDerivedProductProcessingComponentElements(BiologicallyDerivedProduct.BiologicallyDerivedProductProcessingComponent element) throws IOException { 29282 composeBackboneElementElements(element); 29283 if (element.hasDescriptionElement()) { 29284 composeString("description", element.getDescriptionElement()); 29285 } 29286 if (element.hasProcedure()) { 29287 composeCodeableConcept("procedure", element.getProcedure()); 29288 } 29289 if (element.hasAdditive()) { 29290 composeReference("additive", element.getAdditive()); 29291 } 29292 if (element.hasTime()) { 29293 composeType("time", element.getTime()); 29294 } } 29295 29296 protected void composeBiologicallyDerivedProductManipulationComponent(String name, BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent element) throws IOException { 29297 if (element != null) { 29298 composeElementAttributes(element); 29299 xml.enter(FHIR_NS, name); 29300 composeBiologicallyDerivedProductManipulationComponentElements(element); 29301 composeElementClose(element); 29302 xml.exit(FHIR_NS, name); 29303 } 29304 } 29305 29306 protected void composeBiologicallyDerivedProductManipulationComponentElements(BiologicallyDerivedProduct.BiologicallyDerivedProductManipulationComponent element) throws IOException { 29307 composeBackboneElementElements(element); 29308 if (element.hasDescriptionElement()) { 29309 composeString("description", element.getDescriptionElement()); 29310 } 29311 if (element.hasTime()) { 29312 composeType("time", element.getTime()); 29313 } } 29314 29315 protected void composeBiologicallyDerivedProductStorageComponent(String name, BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent element) throws IOException { 29316 if (element != null) { 29317 composeElementAttributes(element); 29318 xml.enter(FHIR_NS, name); 29319 composeBiologicallyDerivedProductStorageComponentElements(element); 29320 composeElementClose(element); 29321 xml.exit(FHIR_NS, name); 29322 } 29323 } 29324 29325 protected void composeBiologicallyDerivedProductStorageComponentElements(BiologicallyDerivedProduct.BiologicallyDerivedProductStorageComponent element) throws IOException { 29326 composeBackboneElementElements(element); 29327 if (element.hasDescriptionElement()) { 29328 composeString("description", element.getDescriptionElement()); 29329 } 29330 if (element.hasTemperatureElement()) { 29331 composeDecimal("temperature", element.getTemperatureElement()); 29332 } 29333 if (element.hasScaleElement()) 29334 composeEnumeration("scale", element.getScaleElement(), new BiologicallyDerivedProduct.BiologicallyDerivedProductStorageScaleEnumFactory()); 29335 if (element.hasDuration()) { 29336 composePeriod("duration", element.getDuration()); 29337 } 29338 } 29339 29340 protected void composeBodyStructure(String name, BodyStructure element) throws IOException { 29341 if (element != null) { 29342 composeResourceAttributes(element); 29343 xml.enter(FHIR_NS, name); 29344 composeBodyStructureElements(element); 29345 composeElementClose(element); 29346 xml.exit(FHIR_NS, name); 29347 } 29348 } 29349 29350 protected void composeBodyStructureElements(BodyStructure element) throws IOException { 29351 composeDomainResourceElements(element); 29352 if (element.hasIdentifier()) { 29353 for (Identifier e : element.getIdentifier()) 29354 composeIdentifier("identifier", e); 29355 } 29356 if (element.hasActiveElement()) { 29357 composeBoolean("active", element.getActiveElement()); 29358 } 29359 if (element.hasMorphology()) { 29360 composeCodeableConcept("morphology", element.getMorphology()); 29361 } 29362 if (element.hasLocation()) { 29363 composeCodeableConcept("location", element.getLocation()); 29364 } 29365 if (element.hasLocationQualifier()) { 29366 for (CodeableConcept e : element.getLocationQualifier()) 29367 composeCodeableConcept("locationQualifier", e); 29368 } 29369 if (element.hasDescriptionElement()) { 29370 composeString("description", element.getDescriptionElement()); 29371 } 29372 if (element.hasImage()) { 29373 for (Attachment e : element.getImage()) 29374 composeAttachment("image", e); 29375 } 29376 if (element.hasPatient()) { 29377 composeReference("patient", element.getPatient()); 29378 } 29379 } 29380 29381 protected void composeBundle(String name, Bundle element) throws IOException { 29382 if (element != null) { 29383 composeResourceAttributes(element); 29384 xml.enter(FHIR_NS, name); 29385 composeBundleElements(element); 29386 composeElementClose(element); 29387 xml.exit(FHIR_NS, name); 29388 } 29389 } 29390 29391 protected void composeBundleElements(Bundle element) throws IOException { 29392 composeResourceElements(element); 29393 if (element.hasIdentifier()) { 29394 composeIdentifier("identifier", element.getIdentifier()); 29395 } 29396 if (element.hasTypeElement()) 29397 composeEnumeration("type", element.getTypeElement(), new Bundle.BundleTypeEnumFactory()); 29398 if (element.hasTimestampElement()) { 29399 composeInstant("timestamp", element.getTimestampElement()); 29400 } 29401 if (element.hasTotalElement()) { 29402 composeUnsignedInt("total", element.getTotalElement()); 29403 } 29404 if (element.hasLink()) { 29405 for (Bundle.BundleLinkComponent e : element.getLink()) 29406 composeBundleLinkComponent("link", e); 29407 } 29408 if (element.hasEntry()) { 29409 for (Bundle.BundleEntryComponent e : element.getEntry()) 29410 composeBundleEntryComponent("entry", e); 29411 } 29412 if (element.hasSignature()) { 29413 composeSignature("signature", element.getSignature()); 29414 } 29415 } 29416 29417 protected void composeBundleLinkComponent(String name, Bundle.BundleLinkComponent element) throws IOException { 29418 if (element != null) { 29419 composeElementAttributes(element); 29420 xml.enter(FHIR_NS, name); 29421 composeBundleLinkComponentElements(element); 29422 composeElementClose(element); 29423 xml.exit(FHIR_NS, name); 29424 } 29425 } 29426 29427 protected void composeBundleLinkComponentElements(Bundle.BundleLinkComponent element) throws IOException { 29428 composeBackboneElementElements(element); 29429 if (element.hasRelationElement()) { 29430 composeString("relation", element.getRelationElement()); 29431 } 29432 if (element.hasUrlElement()) { 29433 composeUri("url", element.getUrlElement()); 29434 } 29435 } 29436 29437 protected void composeBundleEntryComponent(String name, Bundle.BundleEntryComponent element) throws IOException { 29438 if (element != null) { 29439 composeElementAttributes(element); 29440 xml.enter(FHIR_NS, name); 29441 composeBundleEntryComponentElements(element); 29442 composeElementClose(element); 29443 xml.exit(FHIR_NS, name); 29444 } 29445 } 29446 29447 protected void composeBundleEntryComponentElements(Bundle.BundleEntryComponent element) throws IOException { 29448 composeBackboneElementElements(element); 29449 if (element.hasLink()) { 29450 for (Bundle.BundleLinkComponent e : element.getLink()) 29451 composeBundleLinkComponent("link", e); 29452 } 29453 if (element.hasFullUrlElement()) { 29454 composeUri("fullUrl", element.getFullUrlElement()); 29455 } 29456 if (element.hasResource()) { 29457 xml.enter(FHIR_NS, "resource"); 29458 composeResource(element.getResource()); 29459 xml.exit(FHIR_NS, "resource"); 29460 } 29461 if (element.hasSearch()) { 29462 composeBundleEntrySearchComponent("search", element.getSearch()); 29463 } 29464 if (element.hasRequest()) { 29465 composeBundleEntryRequestComponent("request", element.getRequest()); 29466 } 29467 if (element.hasResponse()) { 29468 composeBundleEntryResponseComponent("response", element.getResponse()); 29469 } 29470 } 29471 29472 protected void composeBundleEntrySearchComponent(String name, Bundle.BundleEntrySearchComponent element) throws IOException { 29473 if (element != null) { 29474 composeElementAttributes(element); 29475 xml.enter(FHIR_NS, name); 29476 composeBundleEntrySearchComponentElements(element); 29477 composeElementClose(element); 29478 xml.exit(FHIR_NS, name); 29479 } 29480 } 29481 29482 protected void composeBundleEntrySearchComponentElements(Bundle.BundleEntrySearchComponent element) throws IOException { 29483 composeBackboneElementElements(element); 29484 if (element.hasModeElement()) 29485 composeEnumeration("mode", element.getModeElement(), new Bundle.SearchEntryModeEnumFactory()); 29486 if (element.hasScoreElement()) { 29487 composeDecimal("score", element.getScoreElement()); 29488 } 29489 } 29490 29491 protected void composeBundleEntryRequestComponent(String name, Bundle.BundleEntryRequestComponent element) throws IOException { 29492 if (element != null) { 29493 composeElementAttributes(element); 29494 xml.enter(FHIR_NS, name); 29495 composeBundleEntryRequestComponentElements(element); 29496 composeElementClose(element); 29497 xml.exit(FHIR_NS, name); 29498 } 29499 } 29500 29501 protected void composeBundleEntryRequestComponentElements(Bundle.BundleEntryRequestComponent element) throws IOException { 29502 composeBackboneElementElements(element); 29503 if (element.hasMethodElement()) 29504 composeEnumeration("method", element.getMethodElement(), new Bundle.HTTPVerbEnumFactory()); 29505 if (element.hasUrlElement()) { 29506 composeUri("url", element.getUrlElement()); 29507 } 29508 if (element.hasIfNoneMatchElement()) { 29509 composeString("ifNoneMatch", element.getIfNoneMatchElement()); 29510 } 29511 if (element.hasIfModifiedSinceElement()) { 29512 composeInstant("ifModifiedSince", element.getIfModifiedSinceElement()); 29513 } 29514 if (element.hasIfMatchElement()) { 29515 composeString("ifMatch", element.getIfMatchElement()); 29516 } 29517 if (element.hasIfNoneExistElement()) { 29518 composeString("ifNoneExist", element.getIfNoneExistElement()); 29519 } 29520 } 29521 29522 protected void composeBundleEntryResponseComponent(String name, Bundle.BundleEntryResponseComponent element) throws IOException { 29523 if (element != null) { 29524 composeElementAttributes(element); 29525 xml.enter(FHIR_NS, name); 29526 composeBundleEntryResponseComponentElements(element); 29527 composeElementClose(element); 29528 xml.exit(FHIR_NS, name); 29529 } 29530 } 29531 29532 protected void composeBundleEntryResponseComponentElements(Bundle.BundleEntryResponseComponent element) throws IOException { 29533 composeBackboneElementElements(element); 29534 if (element.hasStatusElement()) { 29535 composeString("status", element.getStatusElement()); 29536 } 29537 if (element.hasLocationElement()) { 29538 composeUri("location", element.getLocationElement()); 29539 } 29540 if (element.hasEtagElement()) { 29541 composeString("etag", element.getEtagElement()); 29542 } 29543 if (element.hasLastModifiedElement()) { 29544 composeInstant("lastModified", element.getLastModifiedElement()); 29545 } 29546 if (element.hasOutcome()) { 29547 xml.enter(FHIR_NS, "outcome"); 29548 composeResource(element.getOutcome()); 29549 xml.exit(FHIR_NS, "outcome"); 29550 } 29551 } 29552 29553 protected void composeCapabilityStatement(String name, CapabilityStatement element) throws IOException { 29554 if (element != null) { 29555 composeResourceAttributes(element); 29556 xml.enter(FHIR_NS, name); 29557 composeCapabilityStatementElements(element); 29558 composeElementClose(element); 29559 xml.exit(FHIR_NS, name); 29560 } 29561 } 29562 29563 protected void composeCapabilityStatementElements(CapabilityStatement element) throws IOException { 29564 composeDomainResourceElements(element); 29565 if (element.hasUrlElement()) { 29566 composeUri("url", element.getUrlElement()); 29567 } 29568 if (element.hasVersionElement()) { 29569 composeString("version", element.getVersionElement()); 29570 } 29571 if (element.hasNameElement()) { 29572 composeString("name", element.getNameElement()); 29573 } 29574 if (element.hasTitleElement()) { 29575 composeString("title", element.getTitleElement()); 29576 } 29577 if (element.hasStatusElement()) 29578 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 29579 if (element.hasExperimentalElement()) { 29580 composeBoolean("experimental", element.getExperimentalElement()); 29581 } 29582 if (element.hasDateElement()) { 29583 composeDateTime("date", element.getDateElement()); 29584 } 29585 if (element.hasPublisherElement()) { 29586 composeString("publisher", element.getPublisherElement()); 29587 } 29588 if (element.hasContact()) { 29589 for (ContactDetail e : element.getContact()) 29590 composeContactDetail("contact", e); 29591 } 29592 if (element.hasDescriptionElement()) { 29593 composeMarkdown("description", element.getDescriptionElement()); 29594 } 29595 if (element.hasUseContext()) { 29596 for (UsageContext e : element.getUseContext()) 29597 composeUsageContext("useContext", e); 29598 } 29599 if (element.hasJurisdiction()) { 29600 for (CodeableConcept e : element.getJurisdiction()) 29601 composeCodeableConcept("jurisdiction", e); 29602 } 29603 if (element.hasPurposeElement()) { 29604 composeMarkdown("purpose", element.getPurposeElement()); 29605 } 29606 if (element.hasCopyrightElement()) { 29607 composeMarkdown("copyright", element.getCopyrightElement()); 29608 } 29609 if (element.hasKindElement()) 29610 composeEnumeration("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory()); 29611 if (element.hasInstantiates()) { 29612 for (CanonicalType e : element.getInstantiates()) 29613 composeCanonical("instantiates", e); 29614 } 29615 if (element.hasImports()) { 29616 for (CanonicalType e : element.getImports()) 29617 composeCanonical("imports", e); 29618 } 29619 if (element.hasSoftware()) { 29620 composeCapabilityStatementSoftwareComponent("software", element.getSoftware()); 29621 } 29622 if (element.hasImplementation()) { 29623 composeCapabilityStatementImplementationComponent("implementation", element.getImplementation()); 29624 } 29625 if (element.hasFhirVersionElement()) 29626 composeEnumeration("fhirVersion", element.getFhirVersionElement(), new Enumerations.FHIRVersionEnumFactory()); 29627 if (element.hasFormat()) { 29628 for (CodeType e : element.getFormat()) 29629 composeCode("format", e); 29630 } 29631 if (element.hasPatchFormat()) { 29632 for (CodeType e : element.getPatchFormat()) 29633 composeCode("patchFormat", e); 29634 } 29635 if (element.hasImplementationGuide()) { 29636 for (CanonicalType e : element.getImplementationGuide()) 29637 composeCanonical("implementationGuide", e); 29638 } 29639 if (element.hasRest()) { 29640 for (CapabilityStatement.CapabilityStatementRestComponent e : element.getRest()) 29641 composeCapabilityStatementRestComponent("rest", e); 29642 } 29643 if (element.hasMessaging()) { 29644 for (CapabilityStatement.CapabilityStatementMessagingComponent e : element.getMessaging()) 29645 composeCapabilityStatementMessagingComponent("messaging", e); 29646 } 29647 if (element.hasDocument()) { 29648 for (CapabilityStatement.CapabilityStatementDocumentComponent e : element.getDocument()) 29649 composeCapabilityStatementDocumentComponent("document", e); 29650 } 29651 } 29652 29653 protected void composeCapabilityStatementSoftwareComponent(String name, CapabilityStatement.CapabilityStatementSoftwareComponent element) throws IOException { 29654 if (element != null) { 29655 composeElementAttributes(element); 29656 xml.enter(FHIR_NS, name); 29657 composeCapabilityStatementSoftwareComponentElements(element); 29658 composeElementClose(element); 29659 xml.exit(FHIR_NS, name); 29660 } 29661 } 29662 29663 protected void composeCapabilityStatementSoftwareComponentElements(CapabilityStatement.CapabilityStatementSoftwareComponent element) throws IOException { 29664 composeBackboneElementElements(element); 29665 if (element.hasNameElement()) { 29666 composeString("name", element.getNameElement()); 29667 } 29668 if (element.hasVersionElement()) { 29669 composeString("version", element.getVersionElement()); 29670 } 29671 if (element.hasReleaseDateElement()) { 29672 composeDateTime("releaseDate", element.getReleaseDateElement()); 29673 } 29674 } 29675 29676 protected void composeCapabilityStatementImplementationComponent(String name, CapabilityStatement.CapabilityStatementImplementationComponent element) throws IOException { 29677 if (element != null) { 29678 composeElementAttributes(element); 29679 xml.enter(FHIR_NS, name); 29680 composeCapabilityStatementImplementationComponentElements(element); 29681 composeElementClose(element); 29682 xml.exit(FHIR_NS, name); 29683 } 29684 } 29685 29686 protected void composeCapabilityStatementImplementationComponentElements(CapabilityStatement.CapabilityStatementImplementationComponent element) throws IOException { 29687 composeBackboneElementElements(element); 29688 if (element.hasDescriptionElement()) { 29689 composeString("description", element.getDescriptionElement()); 29690 } 29691 if (element.hasUrlElement()) { 29692 composeUrl("url", element.getUrlElement()); 29693 } 29694 if (element.hasCustodian()) { 29695 composeReference("custodian", element.getCustodian()); 29696 } 29697 } 29698 29699 protected void composeCapabilityStatementRestComponent(String name, CapabilityStatement.CapabilityStatementRestComponent element) throws IOException { 29700 if (element != null) { 29701 composeElementAttributes(element); 29702 xml.enter(FHIR_NS, name); 29703 composeCapabilityStatementRestComponentElements(element); 29704 composeElementClose(element); 29705 xml.exit(FHIR_NS, name); 29706 } 29707 } 29708 29709 protected void composeCapabilityStatementRestComponentElements(CapabilityStatement.CapabilityStatementRestComponent element) throws IOException { 29710 composeBackboneElementElements(element); 29711 if (element.hasModeElement()) 29712 composeEnumeration("mode", element.getModeElement(), new CapabilityStatement.RestfulCapabilityModeEnumFactory()); 29713 if (element.hasDocumentationElement()) { 29714 composeMarkdown("documentation", element.getDocumentationElement()); 29715 } 29716 if (element.hasSecurity()) { 29717 composeCapabilityStatementRestSecurityComponent("security", element.getSecurity()); 29718 } 29719 if (element.hasResource()) { 29720 for (CapabilityStatement.CapabilityStatementRestResourceComponent e : element.getResource()) 29721 composeCapabilityStatementRestResourceComponent("resource", e); 29722 } 29723 if (element.hasInteraction()) { 29724 for (CapabilityStatement.SystemInteractionComponent e : element.getInteraction()) 29725 composeCapabilityStatementSystemInteractionComponent("interaction", e); 29726 } 29727 if (element.hasSearchParam()) { 29728 for (CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent e : element.getSearchParam()) 29729 composeCapabilityStatementRestResourceSearchParamComponent("searchParam", e); 29730 } 29731 if (element.hasOperation()) { 29732 for (CapabilityStatement.CapabilityStatementRestResourceOperationComponent e : element.getOperation()) 29733 composeCapabilityStatementRestResourceOperationComponent("operation", e); 29734 } 29735 if (element.hasCompartment()) { 29736 for (CanonicalType e : element.getCompartment()) 29737 composeCanonical("compartment", e); 29738 } 29739 } 29740 29741 protected void composeCapabilityStatementRestSecurityComponent(String name, CapabilityStatement.CapabilityStatementRestSecurityComponent element) throws IOException { 29742 if (element != null) { 29743 composeElementAttributes(element); 29744 xml.enter(FHIR_NS, name); 29745 composeCapabilityStatementRestSecurityComponentElements(element); 29746 composeElementClose(element); 29747 xml.exit(FHIR_NS, name); 29748 } 29749 } 29750 29751 protected void composeCapabilityStatementRestSecurityComponentElements(CapabilityStatement.CapabilityStatementRestSecurityComponent element) throws IOException { 29752 composeBackboneElementElements(element); 29753 if (element.hasCorsElement()) { 29754 composeBoolean("cors", element.getCorsElement()); 29755 } 29756 if (element.hasService()) { 29757 for (CodeableConcept e : element.getService()) 29758 composeCodeableConcept("service", e); 29759 } 29760 if (element.hasDescriptionElement()) { 29761 composeMarkdown("description", element.getDescriptionElement()); 29762 } 29763 } 29764 29765 protected void composeCapabilityStatementRestResourceComponent(String name, CapabilityStatement.CapabilityStatementRestResourceComponent element) throws IOException { 29766 if (element != null) { 29767 composeElementAttributes(element); 29768 xml.enter(FHIR_NS, name); 29769 composeCapabilityStatementRestResourceComponentElements(element); 29770 composeElementClose(element); 29771 xml.exit(FHIR_NS, name); 29772 } 29773 } 29774 29775 protected void composeCapabilityStatementRestResourceComponentElements(CapabilityStatement.CapabilityStatementRestResourceComponent element) throws IOException { 29776 composeBackboneElementElements(element); 29777 if (element.hasTypeElement()) { 29778 composeCode("type", element.getTypeElement()); 29779 } 29780 if (element.hasProfileElement()) { 29781 composeCanonical("profile", element.getProfileElement()); 29782 } 29783 if (element.hasSupportedProfile()) { 29784 for (CanonicalType e : element.getSupportedProfile()) 29785 composeCanonical("supportedProfile", e); 29786 } 29787 if (element.hasDocumentationElement()) { 29788 composeMarkdown("documentation", element.getDocumentationElement()); 29789 } 29790 if (element.hasInteraction()) { 29791 for (CapabilityStatement.ResourceInteractionComponent e : element.getInteraction()) 29792 composeCapabilityStatementResourceInteractionComponent("interaction", e); 29793 } 29794 if (element.hasVersioningElement()) 29795 composeEnumeration("versioning", element.getVersioningElement(), new CapabilityStatement.ResourceVersionPolicyEnumFactory()); 29796 if (element.hasReadHistoryElement()) { 29797 composeBoolean("readHistory", element.getReadHistoryElement()); 29798 } 29799 if (element.hasUpdateCreateElement()) { 29800 composeBoolean("updateCreate", element.getUpdateCreateElement()); 29801 } 29802 if (element.hasConditionalCreateElement()) { 29803 composeBoolean("conditionalCreate", element.getConditionalCreateElement()); 29804 } 29805 if (element.hasConditionalReadElement()) 29806 composeEnumeration("conditionalRead", element.getConditionalReadElement(), new CapabilityStatement.ConditionalReadStatusEnumFactory()); 29807 if (element.hasConditionalUpdateElement()) { 29808 composeBoolean("conditionalUpdate", element.getConditionalUpdateElement()); 29809 } 29810 if (element.hasConditionalDeleteElement()) 29811 composeEnumeration("conditionalDelete", element.getConditionalDeleteElement(), new CapabilityStatement.ConditionalDeleteStatusEnumFactory()); 29812 if (element.hasReferencePolicy()) 29813 for (Enumeration<CapabilityStatement.ReferenceHandlingPolicy> e : element.getReferencePolicy()) 29814 composeEnumeration("referencePolicy", e, new CapabilityStatement.ReferenceHandlingPolicyEnumFactory()); 29815 if (element.hasSearchInclude()) { 29816 for (StringType e : element.getSearchInclude()) 29817 composeString("searchInclude", e); 29818 } 29819 if (element.hasSearchRevInclude()) { 29820 for (StringType e : element.getSearchRevInclude()) 29821 composeString("searchRevInclude", e); 29822 } 29823 if (element.hasSearchParam()) { 29824 for (CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent e : element.getSearchParam()) 29825 composeCapabilityStatementRestResourceSearchParamComponent("searchParam", e); 29826 } 29827 if (element.hasOperation()) { 29828 for (CapabilityStatement.CapabilityStatementRestResourceOperationComponent e : element.getOperation()) 29829 composeCapabilityStatementRestResourceOperationComponent("operation", e); 29830 } 29831 } 29832 29833 protected void composeCapabilityStatementResourceInteractionComponent(String name, CapabilityStatement.ResourceInteractionComponent element) throws IOException { 29834 if (element != null) { 29835 composeElementAttributes(element); 29836 xml.enter(FHIR_NS, name); 29837 composeCapabilityStatementResourceInteractionComponentElements(element); 29838 composeElementClose(element); 29839 xml.exit(FHIR_NS, name); 29840 } 29841 } 29842 29843 protected void composeCapabilityStatementResourceInteractionComponentElements(CapabilityStatement.ResourceInteractionComponent element) throws IOException { 29844 composeBackboneElementElements(element); 29845 if (element.hasCodeElement()) 29846 composeEnumeration("code", element.getCodeElement(), new CapabilityStatement.TypeRestfulInteractionEnumFactory()); 29847 if (element.hasDocumentationElement()) { 29848 composeMarkdown("documentation", element.getDocumentationElement()); 29849 } 29850 } 29851 29852 protected void composeCapabilityStatementRestResourceSearchParamComponent(String name, CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent element) throws IOException { 29853 if (element != null) { 29854 composeElementAttributes(element); 29855 xml.enter(FHIR_NS, name); 29856 composeCapabilityStatementRestResourceSearchParamComponentElements(element); 29857 composeElementClose(element); 29858 xml.exit(FHIR_NS, name); 29859 } 29860 } 29861 29862 protected void composeCapabilityStatementRestResourceSearchParamComponentElements(CapabilityStatement.CapabilityStatementRestResourceSearchParamComponent element) throws IOException { 29863 composeBackboneElementElements(element); 29864 if (element.hasNameElement()) { 29865 composeString("name", element.getNameElement()); 29866 } 29867 if (element.hasDefinitionElement()) { 29868 composeCanonical("definition", element.getDefinitionElement()); 29869 } 29870 if (element.hasTypeElement()) 29871 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 29872 if (element.hasDocumentationElement()) { 29873 composeMarkdown("documentation", element.getDocumentationElement()); 29874 } 29875 } 29876 29877 protected void composeCapabilityStatementRestResourceOperationComponent(String name, CapabilityStatement.CapabilityStatementRestResourceOperationComponent element) throws IOException { 29878 if (element != null) { 29879 composeElementAttributes(element); 29880 xml.enter(FHIR_NS, name); 29881 composeCapabilityStatementRestResourceOperationComponentElements(element); 29882 composeElementClose(element); 29883 xml.exit(FHIR_NS, name); 29884 } 29885 } 29886 29887 protected void composeCapabilityStatementRestResourceOperationComponentElements(CapabilityStatement.CapabilityStatementRestResourceOperationComponent element) throws IOException { 29888 composeBackboneElementElements(element); 29889 if (element.hasNameElement()) { 29890 composeString("name", element.getNameElement()); 29891 } 29892 if (element.hasDefinitionElement()) { 29893 composeCanonical("definition", element.getDefinitionElement()); 29894 } 29895 if (element.hasDocumentationElement()) { 29896 composeMarkdown("documentation", element.getDocumentationElement()); 29897 } 29898 } 29899 29900 protected void composeCapabilityStatementSystemInteractionComponent(String name, CapabilityStatement.SystemInteractionComponent element) throws IOException { 29901 if (element != null) { 29902 composeElementAttributes(element); 29903 xml.enter(FHIR_NS, name); 29904 composeCapabilityStatementSystemInteractionComponentElements(element); 29905 composeElementClose(element); 29906 xml.exit(FHIR_NS, name); 29907 } 29908 } 29909 29910 protected void composeCapabilityStatementSystemInteractionComponentElements(CapabilityStatement.SystemInteractionComponent element) throws IOException { 29911 composeBackboneElementElements(element); 29912 if (element.hasCodeElement()) 29913 composeEnumeration("code", element.getCodeElement(), new CapabilityStatement.SystemRestfulInteractionEnumFactory()); 29914 if (element.hasDocumentationElement()) { 29915 composeMarkdown("documentation", element.getDocumentationElement()); 29916 } 29917 } 29918 29919 protected void composeCapabilityStatementMessagingComponent(String name, CapabilityStatement.CapabilityStatementMessagingComponent element) throws IOException { 29920 if (element != null) { 29921 composeElementAttributes(element); 29922 xml.enter(FHIR_NS, name); 29923 composeCapabilityStatementMessagingComponentElements(element); 29924 composeElementClose(element); 29925 xml.exit(FHIR_NS, name); 29926 } 29927 } 29928 29929 protected void composeCapabilityStatementMessagingComponentElements(CapabilityStatement.CapabilityStatementMessagingComponent element) throws IOException { 29930 composeBackboneElementElements(element); 29931 if (element.hasEndpoint()) { 29932 for (CapabilityStatement.CapabilityStatementMessagingEndpointComponent e : element.getEndpoint()) 29933 composeCapabilityStatementMessagingEndpointComponent("endpoint", e); 29934 } 29935 if (element.hasReliableCacheElement()) { 29936 composeUnsignedInt("reliableCache", element.getReliableCacheElement()); 29937 } 29938 if (element.hasDocumentationElement()) { 29939 composeMarkdown("documentation", element.getDocumentationElement()); 29940 } 29941 if (element.hasSupportedMessage()) { 29942 for (CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent e : element.getSupportedMessage()) 29943 composeCapabilityStatementMessagingSupportedMessageComponent("supportedMessage", e); 29944 } 29945 } 29946 29947 protected void composeCapabilityStatementMessagingEndpointComponent(String name, CapabilityStatement.CapabilityStatementMessagingEndpointComponent element) throws IOException { 29948 if (element != null) { 29949 composeElementAttributes(element); 29950 xml.enter(FHIR_NS, name); 29951 composeCapabilityStatementMessagingEndpointComponentElements(element); 29952 composeElementClose(element); 29953 xml.exit(FHIR_NS, name); 29954 } 29955 } 29956 29957 protected void composeCapabilityStatementMessagingEndpointComponentElements(CapabilityStatement.CapabilityStatementMessagingEndpointComponent element) throws IOException { 29958 composeBackboneElementElements(element); 29959 if (element.hasProtocol()) { 29960 composeCoding("protocol", element.getProtocol()); 29961 } 29962 if (element.hasAddressElement()) { 29963 composeUrl("address", element.getAddressElement()); 29964 } 29965 } 29966 29967 protected void composeCapabilityStatementMessagingSupportedMessageComponent(String name, CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent element) throws IOException { 29968 if (element != null) { 29969 composeElementAttributes(element); 29970 xml.enter(FHIR_NS, name); 29971 composeCapabilityStatementMessagingSupportedMessageComponentElements(element); 29972 composeElementClose(element); 29973 xml.exit(FHIR_NS, name); 29974 } 29975 } 29976 29977 protected void composeCapabilityStatementMessagingSupportedMessageComponentElements(CapabilityStatement.CapabilityStatementMessagingSupportedMessageComponent element) throws IOException { 29978 composeBackboneElementElements(element); 29979 if (element.hasModeElement()) 29980 composeEnumeration("mode", element.getModeElement(), new CapabilityStatement.EventCapabilityModeEnumFactory()); 29981 if (element.hasDefinitionElement()) { 29982 composeCanonical("definition", element.getDefinitionElement()); 29983 } 29984 } 29985 29986 protected void composeCapabilityStatementDocumentComponent(String name, CapabilityStatement.CapabilityStatementDocumentComponent element) throws IOException { 29987 if (element != null) { 29988 composeElementAttributes(element); 29989 xml.enter(FHIR_NS, name); 29990 composeCapabilityStatementDocumentComponentElements(element); 29991 composeElementClose(element); 29992 xml.exit(FHIR_NS, name); 29993 } 29994 } 29995 29996 protected void composeCapabilityStatementDocumentComponentElements(CapabilityStatement.CapabilityStatementDocumentComponent element) throws IOException { 29997 composeBackboneElementElements(element); 29998 if (element.hasModeElement()) 29999 composeEnumeration("mode", element.getModeElement(), new CapabilityStatement.DocumentModeEnumFactory()); 30000 if (element.hasDocumentationElement()) { 30001 composeMarkdown("documentation", element.getDocumentationElement()); 30002 } 30003 if (element.hasProfileElement()) { 30004 composeCanonical("profile", element.getProfileElement()); 30005 } 30006 } 30007 30008 protected void composeCarePlan(String name, CarePlan element) throws IOException { 30009 if (element != null) { 30010 composeResourceAttributes(element); 30011 xml.enter(FHIR_NS, name); 30012 composeCarePlanElements(element); 30013 composeElementClose(element); 30014 xml.exit(FHIR_NS, name); 30015 } 30016 } 30017 30018 protected void composeCarePlanElements(CarePlan element) throws IOException { 30019 composeDomainResourceElements(element); 30020 if (element.hasIdentifier()) { 30021 for (Identifier e : element.getIdentifier()) 30022 composeIdentifier("identifier", e); 30023 } 30024 if (element.hasInstantiatesCanonical()) { 30025 for (CanonicalType e : element.getInstantiatesCanonical()) 30026 composeCanonical("instantiatesCanonical", e); 30027 } 30028 if (element.hasInstantiatesUri()) { 30029 for (UriType e : element.getInstantiatesUri()) 30030 composeUri("instantiatesUri", e); 30031 } 30032 if (element.hasBasedOn()) { 30033 for (Reference e : element.getBasedOn()) 30034 composeReference("basedOn", e); 30035 } 30036 if (element.hasReplaces()) { 30037 for (Reference e : element.getReplaces()) 30038 composeReference("replaces", e); 30039 } 30040 if (element.hasPartOf()) { 30041 for (Reference e : element.getPartOf()) 30042 composeReference("partOf", e); 30043 } 30044 if (element.hasStatusElement()) 30045 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 30046 if (element.hasIntentElement()) 30047 composeEnumeration("intent", element.getIntentElement(), new CarePlan.CarePlanIntentEnumFactory()); 30048 if (element.hasCategory()) { 30049 for (CodeableConcept e : element.getCategory()) 30050 composeCodeableConcept("category", e); 30051 } 30052 if (element.hasTitleElement()) { 30053 composeString("title", element.getTitleElement()); 30054 } 30055 if (element.hasDescriptionElement()) { 30056 composeString("description", element.getDescriptionElement()); 30057 } 30058 if (element.hasSubject()) { 30059 composeReference("subject", element.getSubject()); 30060 } 30061 if (element.hasEncounter()) { 30062 composeReference("encounter", element.getEncounter()); 30063 } 30064 if (element.hasPeriod()) { 30065 composePeriod("period", element.getPeriod()); 30066 } 30067 if (element.hasCreatedElement()) { 30068 composeDateTime("created", element.getCreatedElement()); 30069 } 30070 if (element.hasAuthor()) { 30071 composeReference("author", element.getAuthor()); 30072 } 30073 if (element.hasContributor()) { 30074 for (Reference e : element.getContributor()) 30075 composeReference("contributor", e); 30076 } 30077 if (element.hasCareTeam()) { 30078 for (Reference e : element.getCareTeam()) 30079 composeReference("careTeam", e); 30080 } 30081 if (element.hasAddresses()) { 30082 for (Reference e : element.getAddresses()) 30083 composeReference("addresses", e); 30084 } 30085 if (element.hasSupportingInfo()) { 30086 for (Reference e : element.getSupportingInfo()) 30087 composeReference("supportingInfo", e); 30088 } 30089 if (element.hasGoal()) { 30090 for (Reference e : element.getGoal()) 30091 composeReference("goal", e); 30092 } 30093 if (element.hasActivity()) { 30094 for (CarePlan.CarePlanActivityComponent e : element.getActivity()) 30095 composeCarePlanActivityComponent("activity", e); 30096 } 30097 if (element.hasNote()) { 30098 for (Annotation e : element.getNote()) 30099 composeAnnotation("note", e); 30100 } 30101 } 30102 30103 protected void composeCarePlanActivityComponent(String name, CarePlan.CarePlanActivityComponent element) throws IOException { 30104 if (element != null) { 30105 composeElementAttributes(element); 30106 xml.enter(FHIR_NS, name); 30107 composeCarePlanActivityComponentElements(element); 30108 composeElementClose(element); 30109 xml.exit(FHIR_NS, name); 30110 } 30111 } 30112 30113 protected void composeCarePlanActivityComponentElements(CarePlan.CarePlanActivityComponent element) throws IOException { 30114 composeBackboneElementElements(element); 30115 if (element.hasOutcomeCodeableConcept()) { 30116 for (CodeableConcept e : element.getOutcomeCodeableConcept()) 30117 composeCodeableConcept("outcomeCodeableConcept", e); 30118 } 30119 if (element.hasOutcomeReference()) { 30120 for (Reference e : element.getOutcomeReference()) 30121 composeReference("outcomeReference", e); 30122 } 30123 if (element.hasProgress()) { 30124 for (Annotation e : element.getProgress()) 30125 composeAnnotation("progress", e); 30126 } 30127 if (element.hasReference()) { 30128 composeReference("reference", element.getReference()); 30129 } 30130 if (element.hasDetail()) { 30131 composeCarePlanActivityDetailComponent("detail", element.getDetail()); 30132 } 30133 } 30134 30135 protected void composeCarePlanActivityDetailComponent(String name, CarePlan.CarePlanActivityDetailComponent element) throws IOException { 30136 if (element != null) { 30137 composeElementAttributes(element); 30138 xml.enter(FHIR_NS, name); 30139 composeCarePlanActivityDetailComponentElements(element); 30140 composeElementClose(element); 30141 xml.exit(FHIR_NS, name); 30142 } 30143 } 30144 30145 protected void composeCarePlanActivityDetailComponentElements(CarePlan.CarePlanActivityDetailComponent element) throws IOException { 30146 composeBackboneElementElements(element); 30147 if (element.hasKindElement()) 30148 composeEnumeration("kind", element.getKindElement(), new CarePlan.CarePlanActivityKindEnumFactory()); 30149 if (element.hasInstantiatesCanonical()) { 30150 for (CanonicalType e : element.getInstantiatesCanonical()) 30151 composeCanonical("instantiatesCanonical", e); 30152 } 30153 if (element.hasInstantiatesUri()) { 30154 for (UriType e : element.getInstantiatesUri()) 30155 composeUri("instantiatesUri", e); 30156 } 30157 if (element.hasCode()) { 30158 composeCodeableConcept("code", element.getCode()); 30159 } 30160 if (element.hasReasonCode()) { 30161 for (CodeableConcept e : element.getReasonCode()) 30162 composeCodeableConcept("reasonCode", e); 30163 } 30164 if (element.hasReasonReference()) { 30165 for (Reference e : element.getReasonReference()) 30166 composeReference("reasonReference", e); 30167 } 30168 if (element.hasGoal()) { 30169 for (Reference e : element.getGoal()) 30170 composeReference("goal", e); 30171 } 30172 if (element.hasStatusElement()) 30173 composeEnumeration("status", element.getStatusElement(), new CarePlan.CarePlanActivityStatusEnumFactory()); 30174 if (element.hasStatusReason()) { 30175 composeCodeableConcept("statusReason", element.getStatusReason()); 30176 } 30177 if (element.hasDoNotPerformElement()) { 30178 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 30179 } 30180 if (element.hasScheduled()) { 30181 composeType("scheduled", element.getScheduled()); 30182 } if (element.hasLocation()) { 30183 composeReference("location", element.getLocation()); 30184 } 30185 if (element.hasPerformer()) { 30186 for (Reference e : element.getPerformer()) 30187 composeReference("performer", e); 30188 } 30189 if (element.hasProduct()) { 30190 composeType("product", element.getProduct()); 30191 } if (element.hasDailyAmount()) { 30192 composeQuantity("dailyAmount", element.getDailyAmount()); 30193 } 30194 if (element.hasQuantity()) { 30195 composeQuantity("quantity", element.getQuantity()); 30196 } 30197 if (element.hasDescriptionElement()) { 30198 composeString("description", element.getDescriptionElement()); 30199 } 30200 } 30201 30202 protected void composeCareTeam(String name, CareTeam element) throws IOException { 30203 if (element != null) { 30204 composeResourceAttributes(element); 30205 xml.enter(FHIR_NS, name); 30206 composeCareTeamElements(element); 30207 composeElementClose(element); 30208 xml.exit(FHIR_NS, name); 30209 } 30210 } 30211 30212 protected void composeCareTeamElements(CareTeam element) throws IOException { 30213 composeDomainResourceElements(element); 30214 if (element.hasIdentifier()) { 30215 for (Identifier e : element.getIdentifier()) 30216 composeIdentifier("identifier", e); 30217 } 30218 if (element.hasStatusElement()) 30219 composeEnumeration("status", element.getStatusElement(), new CareTeam.CareTeamStatusEnumFactory()); 30220 if (element.hasCategory()) { 30221 for (CodeableConcept e : element.getCategory()) 30222 composeCodeableConcept("category", e); 30223 } 30224 if (element.hasNameElement()) { 30225 composeString("name", element.getNameElement()); 30226 } 30227 if (element.hasSubject()) { 30228 composeReference("subject", element.getSubject()); 30229 } 30230 if (element.hasEncounter()) { 30231 composeReference("encounter", element.getEncounter()); 30232 } 30233 if (element.hasPeriod()) { 30234 composePeriod("period", element.getPeriod()); 30235 } 30236 if (element.hasParticipant()) { 30237 for (CareTeam.CareTeamParticipantComponent e : element.getParticipant()) 30238 composeCareTeamParticipantComponent("participant", e); 30239 } 30240 if (element.hasReasonCode()) { 30241 for (CodeableConcept e : element.getReasonCode()) 30242 composeCodeableConcept("reasonCode", e); 30243 } 30244 if (element.hasReasonReference()) { 30245 for (Reference e : element.getReasonReference()) 30246 composeReference("reasonReference", e); 30247 } 30248 if (element.hasManagingOrganization()) { 30249 for (Reference e : element.getManagingOrganization()) 30250 composeReference("managingOrganization", e); 30251 } 30252 if (element.hasTelecom()) { 30253 for (ContactPoint e : element.getTelecom()) 30254 composeContactPoint("telecom", e); 30255 } 30256 if (element.hasNote()) { 30257 for (Annotation e : element.getNote()) 30258 composeAnnotation("note", e); 30259 } 30260 } 30261 30262 protected void composeCareTeamParticipantComponent(String name, CareTeam.CareTeamParticipantComponent element) throws IOException { 30263 if (element != null) { 30264 composeElementAttributes(element); 30265 xml.enter(FHIR_NS, name); 30266 composeCareTeamParticipantComponentElements(element); 30267 composeElementClose(element); 30268 xml.exit(FHIR_NS, name); 30269 } 30270 } 30271 30272 protected void composeCareTeamParticipantComponentElements(CareTeam.CareTeamParticipantComponent element) throws IOException { 30273 composeBackboneElementElements(element); 30274 if (element.hasRole()) { 30275 for (CodeableConcept e : element.getRole()) 30276 composeCodeableConcept("role", e); 30277 } 30278 if (element.hasMember()) { 30279 composeReference("member", element.getMember()); 30280 } 30281 if (element.hasOnBehalfOf()) { 30282 composeReference("onBehalfOf", element.getOnBehalfOf()); 30283 } 30284 if (element.hasPeriod()) { 30285 composePeriod("period", element.getPeriod()); 30286 } 30287 } 30288 30289 protected void composeCatalogEntry(String name, CatalogEntry element) throws IOException { 30290 if (element != null) { 30291 composeResourceAttributes(element); 30292 xml.enter(FHIR_NS, name); 30293 composeCatalogEntryElements(element); 30294 composeElementClose(element); 30295 xml.exit(FHIR_NS, name); 30296 } 30297 } 30298 30299 protected void composeCatalogEntryElements(CatalogEntry element) throws IOException { 30300 composeDomainResourceElements(element); 30301 if (element.hasIdentifier()) { 30302 for (Identifier e : element.getIdentifier()) 30303 composeIdentifier("identifier", e); 30304 } 30305 if (element.hasType()) { 30306 composeCodeableConcept("type", element.getType()); 30307 } 30308 if (element.hasOrderableElement()) { 30309 composeBoolean("orderable", element.getOrderableElement()); 30310 } 30311 if (element.hasReferencedItem()) { 30312 composeReference("referencedItem", element.getReferencedItem()); 30313 } 30314 if (element.hasAdditionalIdentifier()) { 30315 for (Identifier e : element.getAdditionalIdentifier()) 30316 composeIdentifier("additionalIdentifier", e); 30317 } 30318 if (element.hasClassification()) { 30319 for (CodeableConcept e : element.getClassification()) 30320 composeCodeableConcept("classification", e); 30321 } 30322 if (element.hasStatusElement()) 30323 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 30324 if (element.hasValidityPeriod()) { 30325 composePeriod("validityPeriod", element.getValidityPeriod()); 30326 } 30327 if (element.hasValidToElement()) { 30328 composeDateTime("validTo", element.getValidToElement()); 30329 } 30330 if (element.hasLastUpdatedElement()) { 30331 composeDateTime("lastUpdated", element.getLastUpdatedElement()); 30332 } 30333 if (element.hasAdditionalCharacteristic()) { 30334 for (CodeableConcept e : element.getAdditionalCharacteristic()) 30335 composeCodeableConcept("additionalCharacteristic", e); 30336 } 30337 if (element.hasAdditionalClassification()) { 30338 for (CodeableConcept e : element.getAdditionalClassification()) 30339 composeCodeableConcept("additionalClassification", e); 30340 } 30341 if (element.hasRelatedEntry()) { 30342 for (CatalogEntry.CatalogEntryRelatedEntryComponent e : element.getRelatedEntry()) 30343 composeCatalogEntryRelatedEntryComponent("relatedEntry", e); 30344 } 30345 } 30346 30347 protected void composeCatalogEntryRelatedEntryComponent(String name, CatalogEntry.CatalogEntryRelatedEntryComponent element) throws IOException { 30348 if (element != null) { 30349 composeElementAttributes(element); 30350 xml.enter(FHIR_NS, name); 30351 composeCatalogEntryRelatedEntryComponentElements(element); 30352 composeElementClose(element); 30353 xml.exit(FHIR_NS, name); 30354 } 30355 } 30356 30357 protected void composeCatalogEntryRelatedEntryComponentElements(CatalogEntry.CatalogEntryRelatedEntryComponent element) throws IOException { 30358 composeBackboneElementElements(element); 30359 if (element.hasRelationtypeElement()) 30360 composeEnumeration("relationtype", element.getRelationtypeElement(), new CatalogEntry.CatalogEntryRelationTypeEnumFactory()); 30361 if (element.hasItem()) { 30362 composeReference("item", element.getItem()); 30363 } 30364 } 30365 30366 protected void composeChargeItem(String name, ChargeItem element) throws IOException { 30367 if (element != null) { 30368 composeResourceAttributes(element); 30369 xml.enter(FHIR_NS, name); 30370 composeChargeItemElements(element); 30371 composeElementClose(element); 30372 xml.exit(FHIR_NS, name); 30373 } 30374 } 30375 30376 protected void composeChargeItemElements(ChargeItem element) throws IOException { 30377 composeDomainResourceElements(element); 30378 if (element.hasIdentifier()) { 30379 for (Identifier e : element.getIdentifier()) 30380 composeIdentifier("identifier", e); 30381 } 30382 if (element.hasDefinitionUri()) { 30383 for (UriType e : element.getDefinitionUri()) 30384 composeUri("definitionUri", e); 30385 } 30386 if (element.hasDefinitionCanonical()) { 30387 for (CanonicalType e : element.getDefinitionCanonical()) 30388 composeCanonical("definitionCanonical", e); 30389 } 30390 if (element.hasStatusElement()) 30391 composeEnumeration("status", element.getStatusElement(), new ChargeItem.ChargeItemStatusEnumFactory()); 30392 if (element.hasPartOf()) { 30393 for (Reference e : element.getPartOf()) 30394 composeReference("partOf", e); 30395 } 30396 if (element.hasCode()) { 30397 composeCodeableConcept("code", element.getCode()); 30398 } 30399 if (element.hasSubject()) { 30400 composeReference("subject", element.getSubject()); 30401 } 30402 if (element.hasContext()) { 30403 composeReference("context", element.getContext()); 30404 } 30405 if (element.hasOccurrence()) { 30406 composeType("occurrence", element.getOccurrence()); 30407 } if (element.hasPerformer()) { 30408 for (ChargeItem.ChargeItemPerformerComponent e : element.getPerformer()) 30409 composeChargeItemPerformerComponent("performer", e); 30410 } 30411 if (element.hasPerformingOrganization()) { 30412 composeReference("performingOrganization", element.getPerformingOrganization()); 30413 } 30414 if (element.hasRequestingOrganization()) { 30415 composeReference("requestingOrganization", element.getRequestingOrganization()); 30416 } 30417 if (element.hasCostCenter()) { 30418 composeReference("costCenter", element.getCostCenter()); 30419 } 30420 if (element.hasQuantity()) { 30421 composeQuantity("quantity", element.getQuantity()); 30422 } 30423 if (element.hasBodysite()) { 30424 for (CodeableConcept e : element.getBodysite()) 30425 composeCodeableConcept("bodysite", e); 30426 } 30427 if (element.hasFactorOverrideElement()) { 30428 composeDecimal("factorOverride", element.getFactorOverrideElement()); 30429 } 30430 if (element.hasPriceOverride()) { 30431 composeMoney("priceOverride", element.getPriceOverride()); 30432 } 30433 if (element.hasOverrideReasonElement()) { 30434 composeString("overrideReason", element.getOverrideReasonElement()); 30435 } 30436 if (element.hasEnterer()) { 30437 composeReference("enterer", element.getEnterer()); 30438 } 30439 if (element.hasEnteredDateElement()) { 30440 composeDateTime("enteredDate", element.getEnteredDateElement()); 30441 } 30442 if (element.hasReason()) { 30443 for (CodeableConcept e : element.getReason()) 30444 composeCodeableConcept("reason", e); 30445 } 30446 if (element.hasService()) { 30447 for (Reference e : element.getService()) 30448 composeReference("service", e); 30449 } 30450 if (element.hasProduct()) { 30451 composeType("product", element.getProduct()); 30452 } if (element.hasAccount()) { 30453 for (Reference e : element.getAccount()) 30454 composeReference("account", e); 30455 } 30456 if (element.hasNote()) { 30457 for (Annotation e : element.getNote()) 30458 composeAnnotation("note", e); 30459 } 30460 if (element.hasSupportingInformation()) { 30461 for (Reference e : element.getSupportingInformation()) 30462 composeReference("supportingInformation", e); 30463 } 30464 } 30465 30466 protected void composeChargeItemPerformerComponent(String name, ChargeItem.ChargeItemPerformerComponent element) throws IOException { 30467 if (element != null) { 30468 composeElementAttributes(element); 30469 xml.enter(FHIR_NS, name); 30470 composeChargeItemPerformerComponentElements(element); 30471 composeElementClose(element); 30472 xml.exit(FHIR_NS, name); 30473 } 30474 } 30475 30476 protected void composeChargeItemPerformerComponentElements(ChargeItem.ChargeItemPerformerComponent element) throws IOException { 30477 composeBackboneElementElements(element); 30478 if (element.hasFunction()) { 30479 composeCodeableConcept("function", element.getFunction()); 30480 } 30481 if (element.hasActor()) { 30482 composeReference("actor", element.getActor()); 30483 } 30484 } 30485 30486 protected void composeChargeItemDefinition(String name, ChargeItemDefinition element) throws IOException { 30487 if (element != null) { 30488 composeResourceAttributes(element); 30489 xml.enter(FHIR_NS, name); 30490 composeChargeItemDefinitionElements(element); 30491 composeElementClose(element); 30492 xml.exit(FHIR_NS, name); 30493 } 30494 } 30495 30496 protected void composeChargeItemDefinitionElements(ChargeItemDefinition element) throws IOException { 30497 composeDomainResourceElements(element); 30498 if (element.hasUrlElement()) { 30499 composeUri("url", element.getUrlElement()); 30500 } 30501 if (element.hasIdentifier()) { 30502 for (Identifier e : element.getIdentifier()) 30503 composeIdentifier("identifier", e); 30504 } 30505 if (element.hasVersionElement()) { 30506 composeString("version", element.getVersionElement()); 30507 } 30508 if (element.hasTitleElement()) { 30509 composeString("title", element.getTitleElement()); 30510 } 30511 if (element.hasDerivedFromUri()) { 30512 for (UriType e : element.getDerivedFromUri()) 30513 composeUri("derivedFromUri", e); 30514 } 30515 if (element.hasPartOf()) { 30516 for (CanonicalType e : element.getPartOf()) 30517 composeCanonical("partOf", e); 30518 } 30519 if (element.hasReplaces()) { 30520 for (CanonicalType e : element.getReplaces()) 30521 composeCanonical("replaces", e); 30522 } 30523 if (element.hasStatusElement()) 30524 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 30525 if (element.hasExperimentalElement()) { 30526 composeBoolean("experimental", element.getExperimentalElement()); 30527 } 30528 if (element.hasDateElement()) { 30529 composeDateTime("date", element.getDateElement()); 30530 } 30531 if (element.hasPublisherElement()) { 30532 composeString("publisher", element.getPublisherElement()); 30533 } 30534 if (element.hasContact()) { 30535 for (ContactDetail e : element.getContact()) 30536 composeContactDetail("contact", e); 30537 } 30538 if (element.hasDescriptionElement()) { 30539 composeMarkdown("description", element.getDescriptionElement()); 30540 } 30541 if (element.hasUseContext()) { 30542 for (UsageContext e : element.getUseContext()) 30543 composeUsageContext("useContext", e); 30544 } 30545 if (element.hasJurisdiction()) { 30546 for (CodeableConcept e : element.getJurisdiction()) 30547 composeCodeableConcept("jurisdiction", e); 30548 } 30549 if (element.hasCopyrightElement()) { 30550 composeMarkdown("copyright", element.getCopyrightElement()); 30551 } 30552 if (element.hasApprovalDateElement()) { 30553 composeDate("approvalDate", element.getApprovalDateElement()); 30554 } 30555 if (element.hasLastReviewDateElement()) { 30556 composeDate("lastReviewDate", element.getLastReviewDateElement()); 30557 } 30558 if (element.hasEffectivePeriod()) { 30559 composePeriod("effectivePeriod", element.getEffectivePeriod()); 30560 } 30561 if (element.hasCode()) { 30562 composeCodeableConcept("code", element.getCode()); 30563 } 30564 if (element.hasInstance()) { 30565 for (Reference e : element.getInstance()) 30566 composeReference("instance", e); 30567 } 30568 if (element.hasApplicability()) { 30569 for (ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent e : element.getApplicability()) 30570 composeChargeItemDefinitionApplicabilityComponent("applicability", e); 30571 } 30572 if (element.hasPropertyGroup()) { 30573 for (ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent e : element.getPropertyGroup()) 30574 composeChargeItemDefinitionPropertyGroupComponent("propertyGroup", e); 30575 } 30576 } 30577 30578 protected void composeChargeItemDefinitionApplicabilityComponent(String name, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element) throws IOException { 30579 if (element != null) { 30580 composeElementAttributes(element); 30581 xml.enter(FHIR_NS, name); 30582 composeChargeItemDefinitionApplicabilityComponentElements(element); 30583 composeElementClose(element); 30584 xml.exit(FHIR_NS, name); 30585 } 30586 } 30587 30588 protected void composeChargeItemDefinitionApplicabilityComponentElements(ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element) throws IOException { 30589 composeBackboneElementElements(element); 30590 if (element.hasDescriptionElement()) { 30591 composeString("description", element.getDescriptionElement()); 30592 } 30593 if (element.hasLanguageElement()) { 30594 composeString("language", element.getLanguageElement()); 30595 } 30596 if (element.hasExpressionElement()) { 30597 composeString("expression", element.getExpressionElement()); 30598 } 30599 } 30600 30601 protected void composeChargeItemDefinitionPropertyGroupComponent(String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent element) throws IOException { 30602 if (element != null) { 30603 composeElementAttributes(element); 30604 xml.enter(FHIR_NS, name); 30605 composeChargeItemDefinitionPropertyGroupComponentElements(element); 30606 composeElementClose(element); 30607 xml.exit(FHIR_NS, name); 30608 } 30609 } 30610 30611 protected void composeChargeItemDefinitionPropertyGroupComponentElements(ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent element) throws IOException { 30612 composeBackboneElementElements(element); 30613 if (element.hasApplicability()) { 30614 for (ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent e : element.getApplicability()) 30615 composeChargeItemDefinitionApplicabilityComponent("applicability", e); 30616 } 30617 if (element.hasPriceComponent()) { 30618 for (ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent e : element.getPriceComponent()) 30619 composeChargeItemDefinitionPropertyGroupPriceComponentComponent("priceComponent", e); 30620 } 30621 } 30622 30623 protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { 30624 if (element != null) { 30625 composeElementAttributes(element); 30626 xml.enter(FHIR_NS, name); 30627 composeChargeItemDefinitionPropertyGroupPriceComponentComponentElements(element); 30628 composeElementClose(element); 30629 xml.exit(FHIR_NS, name); 30630 } 30631 } 30632 30633 protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponentElements(ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { 30634 composeBackboneElementElements(element); 30635 if (element.hasTypeElement()) 30636 composeEnumeration("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory()); 30637 if (element.hasCode()) { 30638 composeCodeableConcept("code", element.getCode()); 30639 } 30640 if (element.hasFactorElement()) { 30641 composeDecimal("factor", element.getFactorElement()); 30642 } 30643 if (element.hasAmount()) { 30644 composeMoney("amount", element.getAmount()); 30645 } 30646 } 30647 30648 protected void composeCitation(String name, Citation element) throws IOException { 30649 if (element != null) { 30650 composeResourceAttributes(element); 30651 xml.enter(FHIR_NS, name); 30652 composeCitationElements(element); 30653 composeElementClose(element); 30654 xml.exit(FHIR_NS, name); 30655 } 30656 } 30657 30658 protected void composeCitationElements(Citation element) throws IOException { 30659 composeDomainResourceElements(element); 30660 if (element.hasUrlElement()) { 30661 composeUri("url", element.getUrlElement()); 30662 } 30663 if (element.hasIdentifier()) { 30664 for (Identifier e : element.getIdentifier()) 30665 composeIdentifier("identifier", e); 30666 } 30667 if (element.hasVersionElement()) { 30668 composeString("version", element.getVersionElement()); 30669 } 30670 if (element.hasNameElement()) { 30671 composeString("name", element.getNameElement()); 30672 } 30673 if (element.hasTitleElement()) { 30674 composeString("title", element.getTitleElement()); 30675 } 30676 if (element.hasStatusElement()) 30677 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 30678 if (element.hasExperimentalElement()) { 30679 composeBoolean("experimental", element.getExperimentalElement()); 30680 } 30681 if (element.hasDateElement()) { 30682 composeDateTime("date", element.getDateElement()); 30683 } 30684 if (element.hasPublisherElement()) { 30685 composeString("publisher", element.getPublisherElement()); 30686 } 30687 if (element.hasContact()) { 30688 for (ContactDetail e : element.getContact()) 30689 composeContactDetail("contact", e); 30690 } 30691 if (element.hasDescriptionElement()) { 30692 composeMarkdown("description", element.getDescriptionElement()); 30693 } 30694 if (element.hasUseContext()) { 30695 for (UsageContext e : element.getUseContext()) 30696 composeUsageContext("useContext", e); 30697 } 30698 if (element.hasJurisdiction()) { 30699 for (CodeableConcept e : element.getJurisdiction()) 30700 composeCodeableConcept("jurisdiction", e); 30701 } 30702 if (element.hasPurposeElement()) { 30703 composeMarkdown("purpose", element.getPurposeElement()); 30704 } 30705 if (element.hasCopyrightElement()) { 30706 composeMarkdown("copyright", element.getCopyrightElement()); 30707 } 30708 if (element.hasApprovalDateElement()) { 30709 composeDate("approvalDate", element.getApprovalDateElement()); 30710 } 30711 if (element.hasLastReviewDateElement()) { 30712 composeDate("lastReviewDate", element.getLastReviewDateElement()); 30713 } 30714 if (element.hasEffectivePeriod()) { 30715 composePeriod("effectivePeriod", element.getEffectivePeriod()); 30716 } 30717 if (element.hasAuthor()) { 30718 for (ContactDetail e : element.getAuthor()) 30719 composeContactDetail("author", e); 30720 } 30721 if (element.hasEditor()) { 30722 for (ContactDetail e : element.getEditor()) 30723 composeContactDetail("editor", e); 30724 } 30725 if (element.hasReviewer()) { 30726 for (ContactDetail e : element.getReviewer()) 30727 composeContactDetail("reviewer", e); 30728 } 30729 if (element.hasEndorser()) { 30730 for (ContactDetail e : element.getEndorser()) 30731 composeContactDetail("endorser", e); 30732 } 30733 if (element.hasSummary()) { 30734 for (ContactDetail e : element.getSummary()) 30735 composeContactDetail("summary", e); 30736 } 30737 if (element.hasClassification()) { 30738 for (Citation.CitationClassificationComponent e : element.getClassification()) 30739 composeCitationClassificationComponent("classification", e); 30740 } 30741 if (element.hasNote()) { 30742 for (Annotation e : element.getNote()) 30743 composeAnnotation("note", e); 30744 } 30745 if (element.hasCurrentState()) { 30746 for (CodeableConcept e : element.getCurrentState()) 30747 composeCodeableConcept("currentState", e); 30748 } 30749 if (element.hasStatusDate()) { 30750 for (Citation.CitationStatusDateComponent e : element.getStatusDate()) 30751 composeCitationStatusDateComponent("statusDate", e); 30752 } 30753 if (element.hasRelatesTo()) { 30754 for (Citation.CitationRelatesToComponent e : element.getRelatesTo()) 30755 composeCitationRelatesToComponent("relatesTo", e); 30756 } 30757 if (element.hasCitedArtifact()) { 30758 composeCitationCitedArtifactComponent("citedArtifact", element.getCitedArtifact()); 30759 } 30760 } 30761 30762 protected void composeCitationClassificationComponent(String name, Citation.CitationClassificationComponent element) throws IOException { 30763 if (element != null) { 30764 composeElementAttributes(element); 30765 xml.enter(FHIR_NS, name); 30766 composeCitationClassificationComponentElements(element); 30767 composeElementClose(element); 30768 xml.exit(FHIR_NS, name); 30769 } 30770 } 30771 30772 protected void composeCitationClassificationComponentElements(Citation.CitationClassificationComponent element) throws IOException { 30773 composeBackboneElementElements(element); 30774 if (element.hasType()) { 30775 composeCodeableConcept("type", element.getType()); 30776 } 30777 if (element.hasClassifier()) { 30778 for (CodeableConcept e : element.getClassifier()) 30779 composeCodeableConcept("classifier", e); 30780 } 30781 } 30782 30783 protected void composeCitationStatusDateComponent(String name, Citation.CitationStatusDateComponent element) throws IOException { 30784 if (element != null) { 30785 composeElementAttributes(element); 30786 xml.enter(FHIR_NS, name); 30787 composeCitationStatusDateComponentElements(element); 30788 composeElementClose(element); 30789 xml.exit(FHIR_NS, name); 30790 } 30791 } 30792 30793 protected void composeCitationStatusDateComponentElements(Citation.CitationStatusDateComponent element) throws IOException { 30794 composeBackboneElementElements(element); 30795 if (element.hasActivity()) { 30796 composeCodeableConcept("activity", element.getActivity()); 30797 } 30798 if (element.hasActualElement()) { 30799 composeBoolean("actual", element.getActualElement()); 30800 } 30801 if (element.hasPeriod()) { 30802 composePeriod("period", element.getPeriod()); 30803 } 30804 } 30805 30806 protected void composeCitationRelatesToComponent(String name, Citation.CitationRelatesToComponent element) throws IOException { 30807 if (element != null) { 30808 composeElementAttributes(element); 30809 xml.enter(FHIR_NS, name); 30810 composeCitationRelatesToComponentElements(element); 30811 composeElementClose(element); 30812 xml.exit(FHIR_NS, name); 30813 } 30814 } 30815 30816 protected void composeCitationRelatesToComponentElements(Citation.CitationRelatesToComponent element) throws IOException { 30817 composeBackboneElementElements(element); 30818 if (element.hasRelationshipType()) { 30819 composeCodeableConcept("relationshipType", element.getRelationshipType()); 30820 } 30821 if (element.hasTargetClassifier()) { 30822 for (CodeableConcept e : element.getTargetClassifier()) 30823 composeCodeableConcept("targetClassifier", e); 30824 } 30825 if (element.hasTarget()) { 30826 composeType("target", element.getTarget()); 30827 } } 30828 30829 protected void composeCitationCitedArtifactComponent(String name, Citation.CitationCitedArtifactComponent element) throws IOException { 30830 if (element != null) { 30831 composeElementAttributes(element); 30832 xml.enter(FHIR_NS, name); 30833 composeCitationCitedArtifactComponentElements(element); 30834 composeElementClose(element); 30835 xml.exit(FHIR_NS, name); 30836 } 30837 } 30838 30839 protected void composeCitationCitedArtifactComponentElements(Citation.CitationCitedArtifactComponent element) throws IOException { 30840 composeBackboneElementElements(element); 30841 if (element.hasIdentifier()) { 30842 for (Identifier e : element.getIdentifier()) 30843 composeIdentifier("identifier", e); 30844 } 30845 if (element.hasRelatedIdentifier()) { 30846 for (Identifier e : element.getRelatedIdentifier()) 30847 composeIdentifier("relatedIdentifier", e); 30848 } 30849 if (element.hasDateAccessedElement()) { 30850 composeDateTime("dateAccessed", element.getDateAccessedElement()); 30851 } 30852 if (element.hasVersion()) { 30853 composeCitationCitedArtifactVersionComponent("version", element.getVersion()); 30854 } 30855 if (element.hasCurrentState()) { 30856 for (CodeableConcept e : element.getCurrentState()) 30857 composeCodeableConcept("currentState", e); 30858 } 30859 if (element.hasStatusDate()) { 30860 for (Citation.CitationCitedArtifactStatusDateComponent e : element.getStatusDate()) 30861 composeCitationCitedArtifactStatusDateComponent("statusDate", e); 30862 } 30863 if (element.hasTitle()) { 30864 for (Citation.CitationCitedArtifactTitleComponent e : element.getTitle()) 30865 composeCitationCitedArtifactTitleComponent("title", e); 30866 } 30867 if (element.hasAbstract()) { 30868 for (Citation.CitationCitedArtifactAbstractComponent e : element.getAbstract()) 30869 composeCitationCitedArtifactAbstractComponent("abstract", e); 30870 } 30871 if (element.hasPart()) { 30872 composeCitationCitedArtifactPartComponent("part", element.getPart()); 30873 } 30874 if (element.hasRelatesTo()) { 30875 for (Citation.CitationCitedArtifactRelatesToComponent e : element.getRelatesTo()) 30876 composeCitationCitedArtifactRelatesToComponent("relatesTo", e); 30877 } 30878 if (element.hasPublicationForm()) { 30879 for (Citation.CitationCitedArtifactPublicationFormComponent e : element.getPublicationForm()) 30880 composeCitationCitedArtifactPublicationFormComponent("publicationForm", e); 30881 } 30882 if (element.hasWebLocation()) { 30883 for (Citation.CitationCitedArtifactWebLocationComponent e : element.getWebLocation()) 30884 composeCitationCitedArtifactWebLocationComponent("webLocation", e); 30885 } 30886 if (element.hasClassification()) { 30887 for (Citation.CitationCitedArtifactClassificationComponent e : element.getClassification()) 30888 composeCitationCitedArtifactClassificationComponent("classification", e); 30889 } 30890 if (element.hasContributorship()) { 30891 composeCitationCitedArtifactContributorshipComponent("contributorship", element.getContributorship()); 30892 } 30893 if (element.hasNote()) { 30894 for (Annotation e : element.getNote()) 30895 composeAnnotation("note", e); 30896 } 30897 } 30898 30899 protected void composeCitationCitedArtifactVersionComponent(String name, Citation.CitationCitedArtifactVersionComponent element) throws IOException { 30900 if (element != null) { 30901 composeElementAttributes(element); 30902 xml.enter(FHIR_NS, name); 30903 composeCitationCitedArtifactVersionComponentElements(element); 30904 composeElementClose(element); 30905 xml.exit(FHIR_NS, name); 30906 } 30907 } 30908 30909 protected void composeCitationCitedArtifactVersionComponentElements(Citation.CitationCitedArtifactVersionComponent element) throws IOException { 30910 composeBackboneElementElements(element); 30911 if (element.hasValueElement()) { 30912 composeString("value", element.getValueElement()); 30913 } 30914 if (element.hasBaseCitation()) { 30915 composeReference("baseCitation", element.getBaseCitation()); 30916 } 30917 } 30918 30919 protected void composeCitationCitedArtifactStatusDateComponent(String name, Citation.CitationCitedArtifactStatusDateComponent element) throws IOException { 30920 if (element != null) { 30921 composeElementAttributes(element); 30922 xml.enter(FHIR_NS, name); 30923 composeCitationCitedArtifactStatusDateComponentElements(element); 30924 composeElementClose(element); 30925 xml.exit(FHIR_NS, name); 30926 } 30927 } 30928 30929 protected void composeCitationCitedArtifactStatusDateComponentElements(Citation.CitationCitedArtifactStatusDateComponent element) throws IOException { 30930 composeBackboneElementElements(element); 30931 if (element.hasActivity()) { 30932 composeCodeableConcept("activity", element.getActivity()); 30933 } 30934 if (element.hasActualElement()) { 30935 composeBoolean("actual", element.getActualElement()); 30936 } 30937 if (element.hasPeriod()) { 30938 composePeriod("period", element.getPeriod()); 30939 } 30940 } 30941 30942 protected void composeCitationCitedArtifactTitleComponent(String name, Citation.CitationCitedArtifactTitleComponent element) throws IOException { 30943 if (element != null) { 30944 composeElementAttributes(element); 30945 xml.enter(FHIR_NS, name); 30946 composeCitationCitedArtifactTitleComponentElements(element); 30947 composeElementClose(element); 30948 xml.exit(FHIR_NS, name); 30949 } 30950 } 30951 30952 protected void composeCitationCitedArtifactTitleComponentElements(Citation.CitationCitedArtifactTitleComponent element) throws IOException { 30953 composeBackboneElementElements(element); 30954 if (element.hasType()) { 30955 for (CodeableConcept e : element.getType()) 30956 composeCodeableConcept("type", e); 30957 } 30958 if (element.hasLanguage()) { 30959 composeCodeableConcept("language", element.getLanguage()); 30960 } 30961 if (element.hasTextElement()) { 30962 composeMarkdown("text", element.getTextElement()); 30963 } 30964 } 30965 30966 protected void composeCitationCitedArtifactAbstractComponent(String name, Citation.CitationCitedArtifactAbstractComponent element) throws IOException { 30967 if (element != null) { 30968 composeElementAttributes(element); 30969 xml.enter(FHIR_NS, name); 30970 composeCitationCitedArtifactAbstractComponentElements(element); 30971 composeElementClose(element); 30972 xml.exit(FHIR_NS, name); 30973 } 30974 } 30975 30976 protected void composeCitationCitedArtifactAbstractComponentElements(Citation.CitationCitedArtifactAbstractComponent element) throws IOException { 30977 composeBackboneElementElements(element); 30978 if (element.hasType()) { 30979 composeCodeableConcept("type", element.getType()); 30980 } 30981 if (element.hasLanguage()) { 30982 composeCodeableConcept("language", element.getLanguage()); 30983 } 30984 if (element.hasTextElement()) { 30985 composeMarkdown("text", element.getTextElement()); 30986 } 30987 if (element.hasCopyrightElement()) { 30988 composeMarkdown("copyright", element.getCopyrightElement()); 30989 } 30990 } 30991 30992 protected void composeCitationCitedArtifactPartComponent(String name, Citation.CitationCitedArtifactPartComponent element) throws IOException { 30993 if (element != null) { 30994 composeElementAttributes(element); 30995 xml.enter(FHIR_NS, name); 30996 composeCitationCitedArtifactPartComponentElements(element); 30997 composeElementClose(element); 30998 xml.exit(FHIR_NS, name); 30999 } 31000 } 31001 31002 protected void composeCitationCitedArtifactPartComponentElements(Citation.CitationCitedArtifactPartComponent element) throws IOException { 31003 composeBackboneElementElements(element); 31004 if (element.hasType()) { 31005 composeCodeableConcept("type", element.getType()); 31006 } 31007 if (element.hasValueElement()) { 31008 composeString("value", element.getValueElement()); 31009 } 31010 if (element.hasBaseCitation()) { 31011 composeReference("baseCitation", element.getBaseCitation()); 31012 } 31013 } 31014 31015 protected void composeCitationCitedArtifactRelatesToComponent(String name, Citation.CitationCitedArtifactRelatesToComponent element) throws IOException { 31016 if (element != null) { 31017 composeElementAttributes(element); 31018 xml.enter(FHIR_NS, name); 31019 composeCitationCitedArtifactRelatesToComponentElements(element); 31020 composeElementClose(element); 31021 xml.exit(FHIR_NS, name); 31022 } 31023 } 31024 31025 protected void composeCitationCitedArtifactRelatesToComponentElements(Citation.CitationCitedArtifactRelatesToComponent element) throws IOException { 31026 composeBackboneElementElements(element); 31027 if (element.hasRelationshipType()) { 31028 composeCodeableConcept("relationshipType", element.getRelationshipType()); 31029 } 31030 if (element.hasTargetClassifier()) { 31031 for (CodeableConcept e : element.getTargetClassifier()) 31032 composeCodeableConcept("targetClassifier", e); 31033 } 31034 if (element.hasTarget()) { 31035 composeType("target", element.getTarget()); 31036 } } 31037 31038 protected void composeCitationCitedArtifactPublicationFormComponent(String name, Citation.CitationCitedArtifactPublicationFormComponent element) throws IOException { 31039 if (element != null) { 31040 composeElementAttributes(element); 31041 xml.enter(FHIR_NS, name); 31042 composeCitationCitedArtifactPublicationFormComponentElements(element); 31043 composeElementClose(element); 31044 xml.exit(FHIR_NS, name); 31045 } 31046 } 31047 31048 protected void composeCitationCitedArtifactPublicationFormComponentElements(Citation.CitationCitedArtifactPublicationFormComponent element) throws IOException { 31049 composeBackboneElementElements(element); 31050 if (element.hasPublishedIn()) { 31051 composeCitationCitedArtifactPublicationFormPublishedInComponent("publishedIn", element.getPublishedIn()); 31052 } 31053 if (element.hasPeriodicRelease()) { 31054 composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent("periodicRelease", element.getPeriodicRelease()); 31055 } 31056 if (element.hasArticleDateElement()) { 31057 composeDateTime("articleDate", element.getArticleDateElement()); 31058 } 31059 if (element.hasLastRevisionDateElement()) { 31060 composeDateTime("lastRevisionDate", element.getLastRevisionDateElement()); 31061 } 31062 if (element.hasLanguage()) { 31063 for (CodeableConcept e : element.getLanguage()) 31064 composeCodeableConcept("language", e); 31065 } 31066 if (element.hasAccessionNumberElement()) { 31067 composeString("accessionNumber", element.getAccessionNumberElement()); 31068 } 31069 if (element.hasPageStringElement()) { 31070 composeString("pageString", element.getPageStringElement()); 31071 } 31072 if (element.hasFirstPageElement()) { 31073 composeString("firstPage", element.getFirstPageElement()); 31074 } 31075 if (element.hasLastPageElement()) { 31076 composeString("lastPage", element.getLastPageElement()); 31077 } 31078 if (element.hasPageCountElement()) { 31079 composeString("pageCount", element.getPageCountElement()); 31080 } 31081 if (element.hasCopyrightElement()) { 31082 composeMarkdown("copyright", element.getCopyrightElement()); 31083 } 31084 } 31085 31086 protected void composeCitationCitedArtifactPublicationFormPublishedInComponent(String name, Citation.CitationCitedArtifactPublicationFormPublishedInComponent element) throws IOException { 31087 if (element != null) { 31088 composeElementAttributes(element); 31089 xml.enter(FHIR_NS, name); 31090 composeCitationCitedArtifactPublicationFormPublishedInComponentElements(element); 31091 composeElementClose(element); 31092 xml.exit(FHIR_NS, name); 31093 } 31094 } 31095 31096 protected void composeCitationCitedArtifactPublicationFormPublishedInComponentElements(Citation.CitationCitedArtifactPublicationFormPublishedInComponent element) throws IOException { 31097 composeBackboneElementElements(element); 31098 if (element.hasType()) { 31099 composeCodeableConcept("type", element.getType()); 31100 } 31101 if (element.hasIdentifier()) { 31102 for (Identifier e : element.getIdentifier()) 31103 composeIdentifier("identifier", e); 31104 } 31105 if (element.hasTitleElement()) { 31106 composeString("title", element.getTitleElement()); 31107 } 31108 if (element.hasPublisher()) { 31109 composeReference("publisher", element.getPublisher()); 31110 } 31111 if (element.hasPublisherLocationElement()) { 31112 composeString("publisherLocation", element.getPublisherLocationElement()); 31113 } 31114 } 31115 31116 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { 31117 if (element != null) { 31118 composeElementAttributes(element); 31119 xml.enter(FHIR_NS, name); 31120 composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentElements(element); 31121 composeElementClose(element); 31122 xml.exit(FHIR_NS, name); 31123 } 31124 } 31125 31126 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentElements(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { 31127 composeBackboneElementElements(element); 31128 if (element.hasCitedMedium()) { 31129 composeCodeableConcept("citedMedium", element.getCitedMedium()); 31130 } 31131 if (element.hasVolumeElement()) { 31132 composeString("volume", element.getVolumeElement()); 31133 } 31134 if (element.hasIssueElement()) { 31135 composeString("issue", element.getIssueElement()); 31136 } 31137 if (element.hasDateOfPublication()) { 31138 composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent("dateOfPublication", element.getDateOfPublication()); 31139 } 31140 } 31141 31142 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { 31143 if (element != null) { 31144 composeElementAttributes(element); 31145 xml.enter(FHIR_NS, name); 31146 composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentElements(element); 31147 composeElementClose(element); 31148 xml.exit(FHIR_NS, name); 31149 } 31150 } 31151 31152 protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentElements(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { 31153 composeBackboneElementElements(element); 31154 if (element.hasDateElement()) { 31155 composeDate("date", element.getDateElement()); 31156 } 31157 if (element.hasYearElement()) { 31158 composeString("year", element.getYearElement()); 31159 } 31160 if (element.hasMonthElement()) { 31161 composeString("month", element.getMonthElement()); 31162 } 31163 if (element.hasDayElement()) { 31164 composeString("day", element.getDayElement()); 31165 } 31166 if (element.hasSeasonElement()) { 31167 composeString("season", element.getSeasonElement()); 31168 } 31169 if (element.hasTextElement()) { 31170 composeString("text", element.getTextElement()); 31171 } 31172 } 31173 31174 protected void composeCitationCitedArtifactWebLocationComponent(String name, Citation.CitationCitedArtifactWebLocationComponent element) throws IOException { 31175 if (element != null) { 31176 composeElementAttributes(element); 31177 xml.enter(FHIR_NS, name); 31178 composeCitationCitedArtifactWebLocationComponentElements(element); 31179 composeElementClose(element); 31180 xml.exit(FHIR_NS, name); 31181 } 31182 } 31183 31184 protected void composeCitationCitedArtifactWebLocationComponentElements(Citation.CitationCitedArtifactWebLocationComponent element) throws IOException { 31185 composeBackboneElementElements(element); 31186 if (element.hasType()) { 31187 composeCodeableConcept("type", element.getType()); 31188 } 31189 if (element.hasUrlElement()) { 31190 composeUri("url", element.getUrlElement()); 31191 } 31192 } 31193 31194 protected void composeCitationCitedArtifactClassificationComponent(String name, Citation.CitationCitedArtifactClassificationComponent element) throws IOException { 31195 if (element != null) { 31196 composeElementAttributes(element); 31197 xml.enter(FHIR_NS, name); 31198 composeCitationCitedArtifactClassificationComponentElements(element); 31199 composeElementClose(element); 31200 xml.exit(FHIR_NS, name); 31201 } 31202 } 31203 31204 protected void composeCitationCitedArtifactClassificationComponentElements(Citation.CitationCitedArtifactClassificationComponent element) throws IOException { 31205 composeBackboneElementElements(element); 31206 if (element.hasType()) { 31207 composeCodeableConcept("type", element.getType()); 31208 } 31209 if (element.hasClassifier()) { 31210 for (CodeableConcept e : element.getClassifier()) 31211 composeCodeableConcept("classifier", e); 31212 } 31213 if (element.hasWhoClassified()) { 31214 composeCitationCitedArtifactClassificationWhoClassifiedComponent("whoClassified", element.getWhoClassified()); 31215 } 31216 } 31217 31218 protected void composeCitationCitedArtifactClassificationWhoClassifiedComponent(String name, Citation.CitationCitedArtifactClassificationWhoClassifiedComponent element) throws IOException { 31219 if (element != null) { 31220 composeElementAttributes(element); 31221 xml.enter(FHIR_NS, name); 31222 composeCitationCitedArtifactClassificationWhoClassifiedComponentElements(element); 31223 composeElementClose(element); 31224 xml.exit(FHIR_NS, name); 31225 } 31226 } 31227 31228 protected void composeCitationCitedArtifactClassificationWhoClassifiedComponentElements(Citation.CitationCitedArtifactClassificationWhoClassifiedComponent element) throws IOException { 31229 composeBackboneElementElements(element); 31230 if (element.hasPerson()) { 31231 composeReference("person", element.getPerson()); 31232 } 31233 if (element.hasOrganization()) { 31234 composeReference("organization", element.getOrganization()); 31235 } 31236 if (element.hasPublisher()) { 31237 composeReference("publisher", element.getPublisher()); 31238 } 31239 if (element.hasClassifierCopyrightElement()) { 31240 composeString("classifierCopyright", element.getClassifierCopyrightElement()); 31241 } 31242 if (element.hasFreeToShareElement()) { 31243 composeBoolean("freeToShare", element.getFreeToShareElement()); 31244 } 31245 } 31246 31247 protected void composeCitationCitedArtifactContributorshipComponent(String name, Citation.CitationCitedArtifactContributorshipComponent element) throws IOException { 31248 if (element != null) { 31249 composeElementAttributes(element); 31250 xml.enter(FHIR_NS, name); 31251 composeCitationCitedArtifactContributorshipComponentElements(element); 31252 composeElementClose(element); 31253 xml.exit(FHIR_NS, name); 31254 } 31255 } 31256 31257 protected void composeCitationCitedArtifactContributorshipComponentElements(Citation.CitationCitedArtifactContributorshipComponent element) throws IOException { 31258 composeBackboneElementElements(element); 31259 if (element.hasCompleteElement()) { 31260 composeBoolean("complete", element.getCompleteElement()); 31261 } 31262 if (element.hasEntry()) { 31263 for (Citation.CitationCitedArtifactContributorshipEntryComponent e : element.getEntry()) 31264 composeCitationCitedArtifactContributorshipEntryComponent("entry", e); 31265 } 31266 if (element.hasSummary()) { 31267 for (Citation.CitationCitedArtifactContributorshipSummaryComponent e : element.getSummary()) 31268 composeCitationCitedArtifactContributorshipSummaryComponent("summary", e); 31269 } 31270 } 31271 31272 protected void composeCitationCitedArtifactContributorshipEntryComponent(String name, Citation.CitationCitedArtifactContributorshipEntryComponent element) throws IOException { 31273 if (element != null) { 31274 composeElementAttributes(element); 31275 xml.enter(FHIR_NS, name); 31276 composeCitationCitedArtifactContributorshipEntryComponentElements(element); 31277 composeElementClose(element); 31278 xml.exit(FHIR_NS, name); 31279 } 31280 } 31281 31282 protected void composeCitationCitedArtifactContributorshipEntryComponentElements(Citation.CitationCitedArtifactContributorshipEntryComponent element) throws IOException { 31283 composeBackboneElementElements(element); 31284 if (element.hasName()) { 31285 composeHumanName("name", element.getName()); 31286 } 31287 if (element.hasInitialsElement()) { 31288 composeString("initials", element.getInitialsElement()); 31289 } 31290 if (element.hasCollectiveNameElement()) { 31291 composeString("collectiveName", element.getCollectiveNameElement()); 31292 } 31293 if (element.hasIdentifier()) { 31294 for (Identifier e : element.getIdentifier()) 31295 composeIdentifier("identifier", e); 31296 } 31297 if (element.hasAffiliationInfo()) { 31298 for (Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent e : element.getAffiliationInfo()) 31299 composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent("affiliationInfo", e); 31300 } 31301 if (element.hasAddress()) { 31302 for (Address e : element.getAddress()) 31303 composeAddress("address", e); 31304 } 31305 if (element.hasTelecom()) { 31306 for (ContactPoint e : element.getTelecom()) 31307 composeContactPoint("telecom", e); 31308 } 31309 if (element.hasContributionType()) { 31310 for (CodeableConcept e : element.getContributionType()) 31311 composeCodeableConcept("contributionType", e); 31312 } 31313 if (element.hasRole()) { 31314 composeCodeableConcept("role", element.getRole()); 31315 } 31316 if (element.hasContributionInstance()) { 31317 for (Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent e : element.getContributionInstance()) 31318 composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent("contributionInstance", e); 31319 } 31320 if (element.hasCorrespondingContactElement()) { 31321 composeBoolean("correspondingContact", element.getCorrespondingContactElement()); 31322 } 31323 if (element.hasListOrderElement()) { 31324 composePositiveInt("listOrder", element.getListOrderElement()); 31325 } 31326 } 31327 31328 protected void composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponent(String name, Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent element) throws IOException { 31329 if (element != null) { 31330 composeElementAttributes(element); 31331 xml.enter(FHIR_NS, name); 31332 composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponentElements(element); 31333 composeElementClose(element); 31334 xml.exit(FHIR_NS, name); 31335 } 31336 } 31337 31338 protected void composeCitationCitedArtifactContributorshipEntryAffiliationInfoComponentElements(Citation.CitationCitedArtifactContributorshipEntryAffiliationInfoComponent element) throws IOException { 31339 composeBackboneElementElements(element); 31340 if (element.hasAffiliationElement()) { 31341 composeString("affiliation", element.getAffiliationElement()); 31342 } 31343 if (element.hasRoleElement()) { 31344 composeString("role", element.getRoleElement()); 31345 } 31346 if (element.hasIdentifier()) { 31347 for (Identifier e : element.getIdentifier()) 31348 composeIdentifier("identifier", e); 31349 } 31350 } 31351 31352 protected void composeCitationCitedArtifactContributorshipEntryContributionInstanceComponent(String name, Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent element) throws IOException { 31353 if (element != null) { 31354 composeElementAttributes(element); 31355 xml.enter(FHIR_NS, name); 31356 composeCitationCitedArtifactContributorshipEntryContributionInstanceComponentElements(element); 31357 composeElementClose(element); 31358 xml.exit(FHIR_NS, name); 31359 } 31360 } 31361 31362 protected void composeCitationCitedArtifactContributorshipEntryContributionInstanceComponentElements(Citation.CitationCitedArtifactContributorshipEntryContributionInstanceComponent element) throws IOException { 31363 composeBackboneElementElements(element); 31364 if (element.hasType()) { 31365 composeCodeableConcept("type", element.getType()); 31366 } 31367 if (element.hasTimeElement()) { 31368 composeDateTime("time", element.getTimeElement()); 31369 } 31370 } 31371 31372 protected void composeCitationCitedArtifactContributorshipSummaryComponent(String name, Citation.CitationCitedArtifactContributorshipSummaryComponent element) throws IOException { 31373 if (element != null) { 31374 composeElementAttributes(element); 31375 xml.enter(FHIR_NS, name); 31376 composeCitationCitedArtifactContributorshipSummaryComponentElements(element); 31377 composeElementClose(element); 31378 xml.exit(FHIR_NS, name); 31379 } 31380 } 31381 31382 protected void composeCitationCitedArtifactContributorshipSummaryComponentElements(Citation.CitationCitedArtifactContributorshipSummaryComponent element) throws IOException { 31383 composeBackboneElementElements(element); 31384 if (element.hasType()) { 31385 composeCodeableConcept("type", element.getType()); 31386 } 31387 if (element.hasStyle()) { 31388 composeCodeableConcept("style", element.getStyle()); 31389 } 31390 if (element.hasSource()) { 31391 composeCodeableConcept("source", element.getSource()); 31392 } 31393 if (element.hasValueElement()) { 31394 composeMarkdown("value", element.getValueElement()); 31395 } 31396 } 31397 31398 protected void composeClaim(String name, Claim element) throws IOException { 31399 if (element != null) { 31400 composeResourceAttributes(element); 31401 xml.enter(FHIR_NS, name); 31402 composeClaimElements(element); 31403 composeElementClose(element); 31404 xml.exit(FHIR_NS, name); 31405 } 31406 } 31407 31408 protected void composeClaimElements(Claim element) throws IOException { 31409 composeDomainResourceElements(element); 31410 if (element.hasIdentifier()) { 31411 for (Identifier e : element.getIdentifier()) 31412 composeIdentifier("identifier", e); 31413 } 31414 if (element.hasStatusElement()) 31415 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 31416 if (element.hasType()) { 31417 composeCodeableConcept("type", element.getType()); 31418 } 31419 if (element.hasSubType()) { 31420 composeCodeableConcept("subType", element.getSubType()); 31421 } 31422 if (element.hasUseElement()) 31423 composeEnumeration("use", element.getUseElement(), new Enumerations.UseEnumFactory()); 31424 if (element.hasPatient()) { 31425 composeReference("patient", element.getPatient()); 31426 } 31427 if (element.hasBillablePeriod()) { 31428 composePeriod("billablePeriod", element.getBillablePeriod()); 31429 } 31430 if (element.hasCreatedElement()) { 31431 composeDateTime("created", element.getCreatedElement()); 31432 } 31433 if (element.hasEnterer()) { 31434 composeReference("enterer", element.getEnterer()); 31435 } 31436 if (element.hasInsurer()) { 31437 composeReference("insurer", element.getInsurer()); 31438 } 31439 if (element.hasProvider()) { 31440 composeReference("provider", element.getProvider()); 31441 } 31442 if (element.hasPriority()) { 31443 composeCodeableConcept("priority", element.getPriority()); 31444 } 31445 if (element.hasFundsReserve()) { 31446 composeCodeableConcept("fundsReserve", element.getFundsReserve()); 31447 } 31448 if (element.hasRelated()) { 31449 for (Claim.RelatedClaimComponent e : element.getRelated()) 31450 composeClaimRelatedClaimComponent("related", e); 31451 } 31452 if (element.hasPrescription()) { 31453 composeReference("prescription", element.getPrescription()); 31454 } 31455 if (element.hasOriginalPrescription()) { 31456 composeReference("originalPrescription", element.getOriginalPrescription()); 31457 } 31458 if (element.hasPayee()) { 31459 composeClaimPayeeComponent("payee", element.getPayee()); 31460 } 31461 if (element.hasReferral()) { 31462 composeReference("referral", element.getReferral()); 31463 } 31464 if (element.hasFacility()) { 31465 composeReference("facility", element.getFacility()); 31466 } 31467 if (element.hasCareTeam()) { 31468 for (Claim.CareTeamComponent e : element.getCareTeam()) 31469 composeClaimCareTeamComponent("careTeam", e); 31470 } 31471 if (element.hasSupportingInfo()) { 31472 for (Claim.SupportingInformationComponent e : element.getSupportingInfo()) 31473 composeClaimSupportingInformationComponent("supportingInfo", e); 31474 } 31475 if (element.hasDiagnosis()) { 31476 for (Claim.DiagnosisComponent e : element.getDiagnosis()) 31477 composeClaimDiagnosisComponent("diagnosis", e); 31478 } 31479 if (element.hasProcedure()) { 31480 for (Claim.ProcedureComponent e : element.getProcedure()) 31481 composeClaimProcedureComponent("procedure", e); 31482 } 31483 if (element.hasInsurance()) { 31484 for (Claim.InsuranceComponent e : element.getInsurance()) 31485 composeClaimInsuranceComponent("insurance", e); 31486 } 31487 if (element.hasAccident()) { 31488 composeClaimAccidentComponent("accident", element.getAccident()); 31489 } 31490 if (element.hasItem()) { 31491 for (Claim.ItemComponent e : element.getItem()) 31492 composeClaimItemComponent("item", e); 31493 } 31494 if (element.hasTotal()) { 31495 composeMoney("total", element.getTotal()); 31496 } 31497 } 31498 31499 protected void composeClaimRelatedClaimComponent(String name, Claim.RelatedClaimComponent element) throws IOException { 31500 if (element != null) { 31501 composeElementAttributes(element); 31502 xml.enter(FHIR_NS, name); 31503 composeClaimRelatedClaimComponentElements(element); 31504 composeElementClose(element); 31505 xml.exit(FHIR_NS, name); 31506 } 31507 } 31508 31509 protected void composeClaimRelatedClaimComponentElements(Claim.RelatedClaimComponent element) throws IOException { 31510 composeBackboneElementElements(element); 31511 if (element.hasClaim()) { 31512 composeReference("claim", element.getClaim()); 31513 } 31514 if (element.hasRelationship()) { 31515 composeCodeableConcept("relationship", element.getRelationship()); 31516 } 31517 if (element.hasReference()) { 31518 composeIdentifier("reference", element.getReference()); 31519 } 31520 } 31521 31522 protected void composeClaimPayeeComponent(String name, Claim.PayeeComponent element) throws IOException { 31523 if (element != null) { 31524 composeElementAttributes(element); 31525 xml.enter(FHIR_NS, name); 31526 composeClaimPayeeComponentElements(element); 31527 composeElementClose(element); 31528 xml.exit(FHIR_NS, name); 31529 } 31530 } 31531 31532 protected void composeClaimPayeeComponentElements(Claim.PayeeComponent element) throws IOException { 31533 composeBackboneElementElements(element); 31534 if (element.hasType()) { 31535 composeCodeableConcept("type", element.getType()); 31536 } 31537 if (element.hasParty()) { 31538 composeReference("party", element.getParty()); 31539 } 31540 } 31541 31542 protected void composeClaimCareTeamComponent(String name, Claim.CareTeamComponent element) throws IOException { 31543 if (element != null) { 31544 composeElementAttributes(element); 31545 xml.enter(FHIR_NS, name); 31546 composeClaimCareTeamComponentElements(element); 31547 composeElementClose(element); 31548 xml.exit(FHIR_NS, name); 31549 } 31550 } 31551 31552 protected void composeClaimCareTeamComponentElements(Claim.CareTeamComponent element) throws IOException { 31553 composeBackboneElementElements(element); 31554 if (element.hasSequenceElement()) { 31555 composePositiveInt("sequence", element.getSequenceElement()); 31556 } 31557 if (element.hasProvider()) { 31558 composeReference("provider", element.getProvider()); 31559 } 31560 if (element.hasResponsibleElement()) { 31561 composeBoolean("responsible", element.getResponsibleElement()); 31562 } 31563 if (element.hasRole()) { 31564 composeCodeableConcept("role", element.getRole()); 31565 } 31566 if (element.hasQualification()) { 31567 composeCodeableConcept("qualification", element.getQualification()); 31568 } 31569 } 31570 31571 protected void composeClaimSupportingInformationComponent(String name, Claim.SupportingInformationComponent element) throws IOException { 31572 if (element != null) { 31573 composeElementAttributes(element); 31574 xml.enter(FHIR_NS, name); 31575 composeClaimSupportingInformationComponentElements(element); 31576 composeElementClose(element); 31577 xml.exit(FHIR_NS, name); 31578 } 31579 } 31580 31581 protected void composeClaimSupportingInformationComponentElements(Claim.SupportingInformationComponent element) throws IOException { 31582 composeBackboneElementElements(element); 31583 if (element.hasSequenceElement()) { 31584 composePositiveInt("sequence", element.getSequenceElement()); 31585 } 31586 if (element.hasCategory()) { 31587 composeCodeableConcept("category", element.getCategory()); 31588 } 31589 if (element.hasCode()) { 31590 composeCodeableConcept("code", element.getCode()); 31591 } 31592 if (element.hasTiming()) { 31593 composeType("timing", element.getTiming()); 31594 } if (element.hasValue()) { 31595 composeType("value", element.getValue()); 31596 } if (element.hasReason()) { 31597 composeCodeableConcept("reason", element.getReason()); 31598 } 31599 } 31600 31601 protected void composeClaimDiagnosisComponent(String name, Claim.DiagnosisComponent element) throws IOException { 31602 if (element != null) { 31603 composeElementAttributes(element); 31604 xml.enter(FHIR_NS, name); 31605 composeClaimDiagnosisComponentElements(element); 31606 composeElementClose(element); 31607 xml.exit(FHIR_NS, name); 31608 } 31609 } 31610 31611 protected void composeClaimDiagnosisComponentElements(Claim.DiagnosisComponent element) throws IOException { 31612 composeBackboneElementElements(element); 31613 if (element.hasSequenceElement()) { 31614 composePositiveInt("sequence", element.getSequenceElement()); 31615 } 31616 if (element.hasDiagnosis()) { 31617 composeType("diagnosis", element.getDiagnosis()); 31618 } if (element.hasType()) { 31619 for (CodeableConcept e : element.getType()) 31620 composeCodeableConcept("type", e); 31621 } 31622 if (element.hasOnAdmission()) { 31623 composeCodeableConcept("onAdmission", element.getOnAdmission()); 31624 } 31625 if (element.hasPackageCode()) { 31626 composeCodeableConcept("packageCode", element.getPackageCode()); 31627 } 31628 } 31629 31630 protected void composeClaimProcedureComponent(String name, Claim.ProcedureComponent element) throws IOException { 31631 if (element != null) { 31632 composeElementAttributes(element); 31633 xml.enter(FHIR_NS, name); 31634 composeClaimProcedureComponentElements(element); 31635 composeElementClose(element); 31636 xml.exit(FHIR_NS, name); 31637 } 31638 } 31639 31640 protected void composeClaimProcedureComponentElements(Claim.ProcedureComponent element) throws IOException { 31641 composeBackboneElementElements(element); 31642 if (element.hasSequenceElement()) { 31643 composePositiveInt("sequence", element.getSequenceElement()); 31644 } 31645 if (element.hasType()) { 31646 for (CodeableConcept e : element.getType()) 31647 composeCodeableConcept("type", e); 31648 } 31649 if (element.hasDateElement()) { 31650 composeDateTime("date", element.getDateElement()); 31651 } 31652 if (element.hasProcedure()) { 31653 composeType("procedure", element.getProcedure()); 31654 } if (element.hasUdi()) { 31655 for (Reference e : element.getUdi()) 31656 composeReference("udi", e); 31657 } 31658 } 31659 31660 protected void composeClaimInsuranceComponent(String name, Claim.InsuranceComponent element) throws IOException { 31661 if (element != null) { 31662 composeElementAttributes(element); 31663 xml.enter(FHIR_NS, name); 31664 composeClaimInsuranceComponentElements(element); 31665 composeElementClose(element); 31666 xml.exit(FHIR_NS, name); 31667 } 31668 } 31669 31670 protected void composeClaimInsuranceComponentElements(Claim.InsuranceComponent element) throws IOException { 31671 composeBackboneElementElements(element); 31672 if (element.hasSequenceElement()) { 31673 composePositiveInt("sequence", element.getSequenceElement()); 31674 } 31675 if (element.hasFocalElement()) { 31676 composeBoolean("focal", element.getFocalElement()); 31677 } 31678 if (element.hasIdentifier()) { 31679 composeIdentifier("identifier", element.getIdentifier()); 31680 } 31681 if (element.hasCoverage()) { 31682 composeReference("coverage", element.getCoverage()); 31683 } 31684 if (element.hasBusinessArrangementElement()) { 31685 composeString("businessArrangement", element.getBusinessArrangementElement()); 31686 } 31687 if (element.hasPreAuthRef()) { 31688 for (StringType e : element.getPreAuthRef()) 31689 composeString("preAuthRef", e); 31690 } 31691 if (element.hasClaimResponse()) { 31692 composeReference("claimResponse", element.getClaimResponse()); 31693 } 31694 } 31695 31696 protected void composeClaimAccidentComponent(String name, Claim.AccidentComponent element) throws IOException { 31697 if (element != null) { 31698 composeElementAttributes(element); 31699 xml.enter(FHIR_NS, name); 31700 composeClaimAccidentComponentElements(element); 31701 composeElementClose(element); 31702 xml.exit(FHIR_NS, name); 31703 } 31704 } 31705 31706 protected void composeClaimAccidentComponentElements(Claim.AccidentComponent element) throws IOException { 31707 composeBackboneElementElements(element); 31708 if (element.hasDateElement()) { 31709 composeDate("date", element.getDateElement()); 31710 } 31711 if (element.hasType()) { 31712 composeCodeableConcept("type", element.getType()); 31713 } 31714 if (element.hasLocation()) { 31715 composeType("location", element.getLocation()); 31716 } } 31717 31718 protected void composeClaimItemComponent(String name, Claim.ItemComponent element) throws IOException { 31719 if (element != null) { 31720 composeElementAttributes(element); 31721 xml.enter(FHIR_NS, name); 31722 composeClaimItemComponentElements(element); 31723 composeElementClose(element); 31724 xml.exit(FHIR_NS, name); 31725 } 31726 } 31727 31728 protected void composeClaimItemComponentElements(Claim.ItemComponent element) throws IOException { 31729 composeBackboneElementElements(element); 31730 if (element.hasSequenceElement()) { 31731 composePositiveInt("sequence", element.getSequenceElement()); 31732 } 31733 if (element.hasCareTeamSequence()) { 31734 for (PositiveIntType e : element.getCareTeamSequence()) 31735 composePositiveInt("careTeamSequence", e); 31736 } 31737 if (element.hasDiagnosisSequence()) { 31738 for (PositiveIntType e : element.getDiagnosisSequence()) 31739 composePositiveInt("diagnosisSequence", e); 31740 } 31741 if (element.hasProcedureSequence()) { 31742 for (PositiveIntType e : element.getProcedureSequence()) 31743 composePositiveInt("procedureSequence", e); 31744 } 31745 if (element.hasInformationSequence()) { 31746 for (PositiveIntType e : element.getInformationSequence()) 31747 composePositiveInt("informationSequence", e); 31748 } 31749 if (element.hasRevenue()) { 31750 composeCodeableConcept("revenue", element.getRevenue()); 31751 } 31752 if (element.hasCategory()) { 31753 composeCodeableConcept("category", element.getCategory()); 31754 } 31755 if (element.hasProductOrService()) { 31756 composeCodeableConcept("productOrService", element.getProductOrService()); 31757 } 31758 if (element.hasModifier()) { 31759 for (CodeableConcept e : element.getModifier()) 31760 composeCodeableConcept("modifier", e); 31761 } 31762 if (element.hasProgramCode()) { 31763 for (CodeableConcept e : element.getProgramCode()) 31764 composeCodeableConcept("programCode", e); 31765 } 31766 if (element.hasServiced()) { 31767 composeType("serviced", element.getServiced()); 31768 } if (element.hasLocation()) { 31769 composeType("location", element.getLocation()); 31770 } if (element.hasQuantity()) { 31771 composeQuantity("quantity", element.getQuantity()); 31772 } 31773 if (element.hasUnitPrice()) { 31774 composeMoney("unitPrice", element.getUnitPrice()); 31775 } 31776 if (element.hasFactorElement()) { 31777 composeDecimal("factor", element.getFactorElement()); 31778 } 31779 if (element.hasNet()) { 31780 composeMoney("net", element.getNet()); 31781 } 31782 if (element.hasUdi()) { 31783 for (Reference e : element.getUdi()) 31784 composeReference("udi", e); 31785 } 31786 if (element.hasBodySite()) { 31787 composeCodeableConcept("bodySite", element.getBodySite()); 31788 } 31789 if (element.hasSubSite()) { 31790 for (CodeableConcept e : element.getSubSite()) 31791 composeCodeableConcept("subSite", e); 31792 } 31793 if (element.hasEncounter()) { 31794 for (Reference e : element.getEncounter()) 31795 composeReference("encounter", e); 31796 } 31797 if (element.hasDetail()) { 31798 for (Claim.DetailComponent e : element.getDetail()) 31799 composeClaimDetailComponent("detail", e); 31800 } 31801 } 31802 31803 protected void composeClaimDetailComponent(String name, Claim.DetailComponent element) throws IOException { 31804 if (element != null) { 31805 composeElementAttributes(element); 31806 xml.enter(FHIR_NS, name); 31807 composeClaimDetailComponentElements(element); 31808 composeElementClose(element); 31809 xml.exit(FHIR_NS, name); 31810 } 31811 } 31812 31813 protected void composeClaimDetailComponentElements(Claim.DetailComponent element) throws IOException { 31814 composeBackboneElementElements(element); 31815 if (element.hasSequenceElement()) { 31816 composePositiveInt("sequence", element.getSequenceElement()); 31817 } 31818 if (element.hasRevenue()) { 31819 composeCodeableConcept("revenue", element.getRevenue()); 31820 } 31821 if (element.hasCategory()) { 31822 composeCodeableConcept("category", element.getCategory()); 31823 } 31824 if (element.hasProductOrService()) { 31825 composeCodeableConcept("productOrService", element.getProductOrService()); 31826 } 31827 if (element.hasModifier()) { 31828 for (CodeableConcept e : element.getModifier()) 31829 composeCodeableConcept("modifier", e); 31830 } 31831 if (element.hasProgramCode()) { 31832 for (CodeableConcept e : element.getProgramCode()) 31833 composeCodeableConcept("programCode", e); 31834 } 31835 if (element.hasQuantity()) { 31836 composeQuantity("quantity", element.getQuantity()); 31837 } 31838 if (element.hasUnitPrice()) { 31839 composeMoney("unitPrice", element.getUnitPrice()); 31840 } 31841 if (element.hasFactorElement()) { 31842 composeDecimal("factor", element.getFactorElement()); 31843 } 31844 if (element.hasNet()) { 31845 composeMoney("net", element.getNet()); 31846 } 31847 if (element.hasUdi()) { 31848 for (Reference e : element.getUdi()) 31849 composeReference("udi", e); 31850 } 31851 if (element.hasSubDetail()) { 31852 for (Claim.SubDetailComponent e : element.getSubDetail()) 31853 composeClaimSubDetailComponent("subDetail", e); 31854 } 31855 } 31856 31857 protected void composeClaimSubDetailComponent(String name, Claim.SubDetailComponent element) throws IOException { 31858 if (element != null) { 31859 composeElementAttributes(element); 31860 xml.enter(FHIR_NS, name); 31861 composeClaimSubDetailComponentElements(element); 31862 composeElementClose(element); 31863 xml.exit(FHIR_NS, name); 31864 } 31865 } 31866 31867 protected void composeClaimSubDetailComponentElements(Claim.SubDetailComponent element) throws IOException { 31868 composeBackboneElementElements(element); 31869 if (element.hasSequenceElement()) { 31870 composePositiveInt("sequence", element.getSequenceElement()); 31871 } 31872 if (element.hasRevenue()) { 31873 composeCodeableConcept("revenue", element.getRevenue()); 31874 } 31875 if (element.hasCategory()) { 31876 composeCodeableConcept("category", element.getCategory()); 31877 } 31878 if (element.hasProductOrService()) { 31879 composeCodeableConcept("productOrService", element.getProductOrService()); 31880 } 31881 if (element.hasModifier()) { 31882 for (CodeableConcept e : element.getModifier()) 31883 composeCodeableConcept("modifier", e); 31884 } 31885 if (element.hasProgramCode()) { 31886 for (CodeableConcept e : element.getProgramCode()) 31887 composeCodeableConcept("programCode", e); 31888 } 31889 if (element.hasQuantity()) { 31890 composeQuantity("quantity", element.getQuantity()); 31891 } 31892 if (element.hasUnitPrice()) { 31893 composeMoney("unitPrice", element.getUnitPrice()); 31894 } 31895 if (element.hasFactorElement()) { 31896 composeDecimal("factor", element.getFactorElement()); 31897 } 31898 if (element.hasNet()) { 31899 composeMoney("net", element.getNet()); 31900 } 31901 if (element.hasUdi()) { 31902 for (Reference e : element.getUdi()) 31903 composeReference("udi", e); 31904 } 31905 } 31906 31907 protected void composeClaimResponse(String name, ClaimResponse element) throws IOException { 31908 if (element != null) { 31909 composeResourceAttributes(element); 31910 xml.enter(FHIR_NS, name); 31911 composeClaimResponseElements(element); 31912 composeElementClose(element); 31913 xml.exit(FHIR_NS, name); 31914 } 31915 } 31916 31917 protected void composeClaimResponseElements(ClaimResponse element) throws IOException { 31918 composeDomainResourceElements(element); 31919 if (element.hasIdentifier()) { 31920 for (Identifier e : element.getIdentifier()) 31921 composeIdentifier("identifier", e); 31922 } 31923 if (element.hasStatusElement()) 31924 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 31925 if (element.hasType()) { 31926 composeCodeableConcept("type", element.getType()); 31927 } 31928 if (element.hasSubType()) { 31929 composeCodeableConcept("subType", element.getSubType()); 31930 } 31931 if (element.hasUseElement()) 31932 composeEnumeration("use", element.getUseElement(), new Enumerations.UseEnumFactory()); 31933 if (element.hasPatient()) { 31934 composeReference("patient", element.getPatient()); 31935 } 31936 if (element.hasCreatedElement()) { 31937 composeDateTime("created", element.getCreatedElement()); 31938 } 31939 if (element.hasInsurer()) { 31940 composeReference("insurer", element.getInsurer()); 31941 } 31942 if (element.hasRequestor()) { 31943 composeReference("requestor", element.getRequestor()); 31944 } 31945 if (element.hasRequest()) { 31946 composeReference("request", element.getRequest()); 31947 } 31948 if (element.hasOutcomeElement()) 31949 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 31950 if (element.hasDispositionElement()) { 31951 composeString("disposition", element.getDispositionElement()); 31952 } 31953 if (element.hasPreAuthRefElement()) { 31954 composeString("preAuthRef", element.getPreAuthRefElement()); 31955 } 31956 if (element.hasPreAuthPeriod()) { 31957 composePeriod("preAuthPeriod", element.getPreAuthPeriod()); 31958 } 31959 if (element.hasPayeeType()) { 31960 composeCodeableConcept("payeeType", element.getPayeeType()); 31961 } 31962 if (element.hasItem()) { 31963 for (ClaimResponse.ItemComponent e : element.getItem()) 31964 composeClaimResponseItemComponent("item", e); 31965 } 31966 if (element.hasAddItem()) { 31967 for (ClaimResponse.AddedItemComponent e : element.getAddItem()) 31968 composeClaimResponseAddedItemComponent("addItem", e); 31969 } 31970 if (element.hasAdjudication()) { 31971 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 31972 composeClaimResponseAdjudicationComponent("adjudication", e); 31973 } 31974 if (element.hasTotal()) { 31975 for (ClaimResponse.TotalComponent e : element.getTotal()) 31976 composeClaimResponseTotalComponent("total", e); 31977 } 31978 if (element.hasPayment()) { 31979 composeClaimResponsePaymentComponent("payment", element.getPayment()); 31980 } 31981 if (element.hasFundsReserve()) { 31982 composeCodeableConcept("fundsReserve", element.getFundsReserve()); 31983 } 31984 if (element.hasFormCode()) { 31985 composeCodeableConcept("formCode", element.getFormCode()); 31986 } 31987 if (element.hasForm()) { 31988 composeAttachment("form", element.getForm()); 31989 } 31990 if (element.hasProcessNote()) { 31991 for (ClaimResponse.NoteComponent e : element.getProcessNote()) 31992 composeClaimResponseNoteComponent("processNote", e); 31993 } 31994 if (element.hasCommunicationRequest()) { 31995 for (Reference e : element.getCommunicationRequest()) 31996 composeReference("communicationRequest", e); 31997 } 31998 if (element.hasInsurance()) { 31999 for (ClaimResponse.InsuranceComponent e : element.getInsurance()) 32000 composeClaimResponseInsuranceComponent("insurance", e); 32001 } 32002 if (element.hasError()) { 32003 for (ClaimResponse.ErrorComponent e : element.getError()) 32004 composeClaimResponseErrorComponent("error", e); 32005 } 32006 } 32007 32008 protected void composeClaimResponseItemComponent(String name, ClaimResponse.ItemComponent element) throws IOException { 32009 if (element != null) { 32010 composeElementAttributes(element); 32011 xml.enter(FHIR_NS, name); 32012 composeClaimResponseItemComponentElements(element); 32013 composeElementClose(element); 32014 xml.exit(FHIR_NS, name); 32015 } 32016 } 32017 32018 protected void composeClaimResponseItemComponentElements(ClaimResponse.ItemComponent element) throws IOException { 32019 composeBackboneElementElements(element); 32020 if (element.hasItemSequenceElement()) { 32021 composePositiveInt("itemSequence", element.getItemSequenceElement()); 32022 } 32023 if (element.hasNoteNumber()) { 32024 for (PositiveIntType e : element.getNoteNumber()) 32025 composePositiveInt("noteNumber", e); 32026 } 32027 if (element.hasAdjudication()) { 32028 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32029 composeClaimResponseAdjudicationComponent("adjudication", e); 32030 } 32031 if (element.hasDetail()) { 32032 for (ClaimResponse.ItemDetailComponent e : element.getDetail()) 32033 composeClaimResponseItemDetailComponent("detail", e); 32034 } 32035 } 32036 32037 protected void composeClaimResponseAdjudicationComponent(String name, ClaimResponse.AdjudicationComponent element) throws IOException { 32038 if (element != null) { 32039 composeElementAttributes(element); 32040 xml.enter(FHIR_NS, name); 32041 composeClaimResponseAdjudicationComponentElements(element); 32042 composeElementClose(element); 32043 xml.exit(FHIR_NS, name); 32044 } 32045 } 32046 32047 protected void composeClaimResponseAdjudicationComponentElements(ClaimResponse.AdjudicationComponent element) throws IOException { 32048 composeBackboneElementElements(element); 32049 if (element.hasCategory()) { 32050 composeCodeableConcept("category", element.getCategory()); 32051 } 32052 if (element.hasReason()) { 32053 composeCodeableConcept("reason", element.getReason()); 32054 } 32055 if (element.hasAmount()) { 32056 composeMoney("amount", element.getAmount()); 32057 } 32058 if (element.hasValueElement()) { 32059 composeDecimal("value", element.getValueElement()); 32060 } 32061 } 32062 32063 protected void composeClaimResponseItemDetailComponent(String name, ClaimResponse.ItemDetailComponent element) throws IOException { 32064 if (element != null) { 32065 composeElementAttributes(element); 32066 xml.enter(FHIR_NS, name); 32067 composeClaimResponseItemDetailComponentElements(element); 32068 composeElementClose(element); 32069 xml.exit(FHIR_NS, name); 32070 } 32071 } 32072 32073 protected void composeClaimResponseItemDetailComponentElements(ClaimResponse.ItemDetailComponent element) throws IOException { 32074 composeBackboneElementElements(element); 32075 if (element.hasDetailSequenceElement()) { 32076 composePositiveInt("detailSequence", element.getDetailSequenceElement()); 32077 } 32078 if (element.hasNoteNumber()) { 32079 for (PositiveIntType e : element.getNoteNumber()) 32080 composePositiveInt("noteNumber", e); 32081 } 32082 if (element.hasAdjudication()) { 32083 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32084 composeClaimResponseAdjudicationComponent("adjudication", e); 32085 } 32086 if (element.hasSubDetail()) { 32087 for (ClaimResponse.SubDetailComponent e : element.getSubDetail()) 32088 composeClaimResponseSubDetailComponent("subDetail", e); 32089 } 32090 } 32091 32092 protected void composeClaimResponseSubDetailComponent(String name, ClaimResponse.SubDetailComponent element) throws IOException { 32093 if (element != null) { 32094 composeElementAttributes(element); 32095 xml.enter(FHIR_NS, name); 32096 composeClaimResponseSubDetailComponentElements(element); 32097 composeElementClose(element); 32098 xml.exit(FHIR_NS, name); 32099 } 32100 } 32101 32102 protected void composeClaimResponseSubDetailComponentElements(ClaimResponse.SubDetailComponent element) throws IOException { 32103 composeBackboneElementElements(element); 32104 if (element.hasSubDetailSequenceElement()) { 32105 composePositiveInt("subDetailSequence", element.getSubDetailSequenceElement()); 32106 } 32107 if (element.hasNoteNumber()) { 32108 for (PositiveIntType e : element.getNoteNumber()) 32109 composePositiveInt("noteNumber", e); 32110 } 32111 if (element.hasAdjudication()) { 32112 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32113 composeClaimResponseAdjudicationComponent("adjudication", e); 32114 } 32115 } 32116 32117 protected void composeClaimResponseAddedItemComponent(String name, ClaimResponse.AddedItemComponent element) throws IOException { 32118 if (element != null) { 32119 composeElementAttributes(element); 32120 xml.enter(FHIR_NS, name); 32121 composeClaimResponseAddedItemComponentElements(element); 32122 composeElementClose(element); 32123 xml.exit(FHIR_NS, name); 32124 } 32125 } 32126 32127 protected void composeClaimResponseAddedItemComponentElements(ClaimResponse.AddedItemComponent element) throws IOException { 32128 composeBackboneElementElements(element); 32129 if (element.hasItemSequence()) { 32130 for (PositiveIntType e : element.getItemSequence()) 32131 composePositiveInt("itemSequence", e); 32132 } 32133 if (element.hasDetailSequence()) { 32134 for (PositiveIntType e : element.getDetailSequence()) 32135 composePositiveInt("detailSequence", e); 32136 } 32137 if (element.hasSubdetailSequence()) { 32138 for (PositiveIntType e : element.getSubdetailSequence()) 32139 composePositiveInt("subdetailSequence", e); 32140 } 32141 if (element.hasProvider()) { 32142 for (Reference e : element.getProvider()) 32143 composeReference("provider", e); 32144 } 32145 if (element.hasProductOrService()) { 32146 composeCodeableConcept("productOrService", element.getProductOrService()); 32147 } 32148 if (element.hasModifier()) { 32149 for (CodeableConcept e : element.getModifier()) 32150 composeCodeableConcept("modifier", e); 32151 } 32152 if (element.hasProgramCode()) { 32153 for (CodeableConcept e : element.getProgramCode()) 32154 composeCodeableConcept("programCode", e); 32155 } 32156 if (element.hasServiced()) { 32157 composeType("serviced", element.getServiced()); 32158 } if (element.hasLocation()) { 32159 composeType("location", element.getLocation()); 32160 } if (element.hasQuantity()) { 32161 composeQuantity("quantity", element.getQuantity()); 32162 } 32163 if (element.hasUnitPrice()) { 32164 composeMoney("unitPrice", element.getUnitPrice()); 32165 } 32166 if (element.hasFactorElement()) { 32167 composeDecimal("factor", element.getFactorElement()); 32168 } 32169 if (element.hasNet()) { 32170 composeMoney("net", element.getNet()); 32171 } 32172 if (element.hasBodySite()) { 32173 composeCodeableConcept("bodySite", element.getBodySite()); 32174 } 32175 if (element.hasSubSite()) { 32176 for (CodeableConcept e : element.getSubSite()) 32177 composeCodeableConcept("subSite", e); 32178 } 32179 if (element.hasNoteNumber()) { 32180 for (PositiveIntType e : element.getNoteNumber()) 32181 composePositiveInt("noteNumber", e); 32182 } 32183 if (element.hasAdjudication()) { 32184 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32185 composeClaimResponseAdjudicationComponent("adjudication", e); 32186 } 32187 if (element.hasDetail()) { 32188 for (ClaimResponse.AddedItemDetailComponent e : element.getDetail()) 32189 composeClaimResponseAddedItemDetailComponent("detail", e); 32190 } 32191 } 32192 32193 protected void composeClaimResponseAddedItemDetailComponent(String name, ClaimResponse.AddedItemDetailComponent element) throws IOException { 32194 if (element != null) { 32195 composeElementAttributes(element); 32196 xml.enter(FHIR_NS, name); 32197 composeClaimResponseAddedItemDetailComponentElements(element); 32198 composeElementClose(element); 32199 xml.exit(FHIR_NS, name); 32200 } 32201 } 32202 32203 protected void composeClaimResponseAddedItemDetailComponentElements(ClaimResponse.AddedItemDetailComponent element) throws IOException { 32204 composeBackboneElementElements(element); 32205 if (element.hasProductOrService()) { 32206 composeCodeableConcept("productOrService", element.getProductOrService()); 32207 } 32208 if (element.hasModifier()) { 32209 for (CodeableConcept e : element.getModifier()) 32210 composeCodeableConcept("modifier", e); 32211 } 32212 if (element.hasQuantity()) { 32213 composeQuantity("quantity", element.getQuantity()); 32214 } 32215 if (element.hasUnitPrice()) { 32216 composeMoney("unitPrice", element.getUnitPrice()); 32217 } 32218 if (element.hasFactorElement()) { 32219 composeDecimal("factor", element.getFactorElement()); 32220 } 32221 if (element.hasNet()) { 32222 composeMoney("net", element.getNet()); 32223 } 32224 if (element.hasNoteNumber()) { 32225 for (PositiveIntType e : element.getNoteNumber()) 32226 composePositiveInt("noteNumber", e); 32227 } 32228 if (element.hasAdjudication()) { 32229 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32230 composeClaimResponseAdjudicationComponent("adjudication", e); 32231 } 32232 if (element.hasSubDetail()) { 32233 for (ClaimResponse.AddedItemSubDetailComponent e : element.getSubDetail()) 32234 composeClaimResponseAddedItemSubDetailComponent("subDetail", e); 32235 } 32236 } 32237 32238 protected void composeClaimResponseAddedItemSubDetailComponent(String name, ClaimResponse.AddedItemSubDetailComponent element) throws IOException { 32239 if (element != null) { 32240 composeElementAttributes(element); 32241 xml.enter(FHIR_NS, name); 32242 composeClaimResponseAddedItemSubDetailComponentElements(element); 32243 composeElementClose(element); 32244 xml.exit(FHIR_NS, name); 32245 } 32246 } 32247 32248 protected void composeClaimResponseAddedItemSubDetailComponentElements(ClaimResponse.AddedItemSubDetailComponent element) throws IOException { 32249 composeBackboneElementElements(element); 32250 if (element.hasProductOrService()) { 32251 composeCodeableConcept("productOrService", element.getProductOrService()); 32252 } 32253 if (element.hasModifier()) { 32254 for (CodeableConcept e : element.getModifier()) 32255 composeCodeableConcept("modifier", e); 32256 } 32257 if (element.hasQuantity()) { 32258 composeQuantity("quantity", element.getQuantity()); 32259 } 32260 if (element.hasUnitPrice()) { 32261 composeMoney("unitPrice", element.getUnitPrice()); 32262 } 32263 if (element.hasFactorElement()) { 32264 composeDecimal("factor", element.getFactorElement()); 32265 } 32266 if (element.hasNet()) { 32267 composeMoney("net", element.getNet()); 32268 } 32269 if (element.hasNoteNumber()) { 32270 for (PositiveIntType e : element.getNoteNumber()) 32271 composePositiveInt("noteNumber", e); 32272 } 32273 if (element.hasAdjudication()) { 32274 for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) 32275 composeClaimResponseAdjudicationComponent("adjudication", e); 32276 } 32277 } 32278 32279 protected void composeClaimResponseTotalComponent(String name, ClaimResponse.TotalComponent element) throws IOException { 32280 if (element != null) { 32281 composeElementAttributes(element); 32282 xml.enter(FHIR_NS, name); 32283 composeClaimResponseTotalComponentElements(element); 32284 composeElementClose(element); 32285 xml.exit(FHIR_NS, name); 32286 } 32287 } 32288 32289 protected void composeClaimResponseTotalComponentElements(ClaimResponse.TotalComponent element) throws IOException { 32290 composeBackboneElementElements(element); 32291 if (element.hasCategory()) { 32292 composeCodeableConcept("category", element.getCategory()); 32293 } 32294 if (element.hasAmount()) { 32295 composeMoney("amount", element.getAmount()); 32296 } 32297 } 32298 32299 protected void composeClaimResponsePaymentComponent(String name, ClaimResponse.PaymentComponent element) throws IOException { 32300 if (element != null) { 32301 composeElementAttributes(element); 32302 xml.enter(FHIR_NS, name); 32303 composeClaimResponsePaymentComponentElements(element); 32304 composeElementClose(element); 32305 xml.exit(FHIR_NS, name); 32306 } 32307 } 32308 32309 protected void composeClaimResponsePaymentComponentElements(ClaimResponse.PaymentComponent element) throws IOException { 32310 composeBackboneElementElements(element); 32311 if (element.hasType()) { 32312 composeCodeableConcept("type", element.getType()); 32313 } 32314 if (element.hasAdjustment()) { 32315 composeMoney("adjustment", element.getAdjustment()); 32316 } 32317 if (element.hasAdjustmentReason()) { 32318 composeCodeableConcept("adjustmentReason", element.getAdjustmentReason()); 32319 } 32320 if (element.hasDateElement()) { 32321 composeDate("date", element.getDateElement()); 32322 } 32323 if (element.hasAmount()) { 32324 composeMoney("amount", element.getAmount()); 32325 } 32326 if (element.hasIdentifier()) { 32327 composeIdentifier("identifier", element.getIdentifier()); 32328 } 32329 } 32330 32331 protected void composeClaimResponseNoteComponent(String name, ClaimResponse.NoteComponent element) throws IOException { 32332 if (element != null) { 32333 composeElementAttributes(element); 32334 xml.enter(FHIR_NS, name); 32335 composeClaimResponseNoteComponentElements(element); 32336 composeElementClose(element); 32337 xml.exit(FHIR_NS, name); 32338 } 32339 } 32340 32341 protected void composeClaimResponseNoteComponentElements(ClaimResponse.NoteComponent element) throws IOException { 32342 composeBackboneElementElements(element); 32343 if (element.hasNumberElement()) { 32344 composePositiveInt("number", element.getNumberElement()); 32345 } 32346 if (element.hasTypeElement()) 32347 composeEnumeration("type", element.getTypeElement(), new Enumerations.NoteTypeEnumFactory()); 32348 if (element.hasTextElement()) { 32349 composeString("text", element.getTextElement()); 32350 } 32351 if (element.hasLanguage()) { 32352 composeCodeableConcept("language", element.getLanguage()); 32353 } 32354 } 32355 32356 protected void composeClaimResponseInsuranceComponent(String name, ClaimResponse.InsuranceComponent element) throws IOException { 32357 if (element != null) { 32358 composeElementAttributes(element); 32359 xml.enter(FHIR_NS, name); 32360 composeClaimResponseInsuranceComponentElements(element); 32361 composeElementClose(element); 32362 xml.exit(FHIR_NS, name); 32363 } 32364 } 32365 32366 protected void composeClaimResponseInsuranceComponentElements(ClaimResponse.InsuranceComponent element) throws IOException { 32367 composeBackboneElementElements(element); 32368 if (element.hasSequenceElement()) { 32369 composePositiveInt("sequence", element.getSequenceElement()); 32370 } 32371 if (element.hasFocalElement()) { 32372 composeBoolean("focal", element.getFocalElement()); 32373 } 32374 if (element.hasCoverage()) { 32375 composeReference("coverage", element.getCoverage()); 32376 } 32377 if (element.hasBusinessArrangementElement()) { 32378 composeString("businessArrangement", element.getBusinessArrangementElement()); 32379 } 32380 if (element.hasClaimResponse()) { 32381 composeReference("claimResponse", element.getClaimResponse()); 32382 } 32383 } 32384 32385 protected void composeClaimResponseErrorComponent(String name, ClaimResponse.ErrorComponent element) throws IOException { 32386 if (element != null) { 32387 composeElementAttributes(element); 32388 xml.enter(FHIR_NS, name); 32389 composeClaimResponseErrorComponentElements(element); 32390 composeElementClose(element); 32391 xml.exit(FHIR_NS, name); 32392 } 32393 } 32394 32395 protected void composeClaimResponseErrorComponentElements(ClaimResponse.ErrorComponent element) throws IOException { 32396 composeBackboneElementElements(element); 32397 if (element.hasItemSequenceElement()) { 32398 composePositiveInt("itemSequence", element.getItemSequenceElement()); 32399 } 32400 if (element.hasDetailSequenceElement()) { 32401 composePositiveInt("detailSequence", element.getDetailSequenceElement()); 32402 } 32403 if (element.hasSubDetailSequenceElement()) { 32404 composePositiveInt("subDetailSequence", element.getSubDetailSequenceElement()); 32405 } 32406 if (element.hasCode()) { 32407 composeCodeableConcept("code", element.getCode()); 32408 } 32409 } 32410 32411 protected void composeClinicalImpression(String name, ClinicalImpression element) throws IOException { 32412 if (element != null) { 32413 composeResourceAttributes(element); 32414 xml.enter(FHIR_NS, name); 32415 composeClinicalImpressionElements(element); 32416 composeElementClose(element); 32417 xml.exit(FHIR_NS, name); 32418 } 32419 } 32420 32421 protected void composeClinicalImpressionElements(ClinicalImpression element) throws IOException { 32422 composeDomainResourceElements(element); 32423 if (element.hasIdentifier()) { 32424 for (Identifier e : element.getIdentifier()) 32425 composeIdentifier("identifier", e); 32426 } 32427 if (element.hasStatusElement()) 32428 composeEnumeration("status", element.getStatusElement(), new ClinicalImpression.ClinicalImpressionStatusEnumFactory()); 32429 if (element.hasStatusReason()) { 32430 composeCodeableConcept("statusReason", element.getStatusReason()); 32431 } 32432 if (element.hasCode()) { 32433 composeCodeableConcept("code", element.getCode()); 32434 } 32435 if (element.hasDescriptionElement()) { 32436 composeString("description", element.getDescriptionElement()); 32437 } 32438 if (element.hasSubject()) { 32439 composeReference("subject", element.getSubject()); 32440 } 32441 if (element.hasEncounter()) { 32442 composeReference("encounter", element.getEncounter()); 32443 } 32444 if (element.hasEffective()) { 32445 composeType("effective", element.getEffective()); 32446 } if (element.hasDateElement()) { 32447 composeDateTime("date", element.getDateElement()); 32448 } 32449 if (element.hasAssessor()) { 32450 composeReference("assessor", element.getAssessor()); 32451 } 32452 if (element.hasPrevious()) { 32453 composeReference("previous", element.getPrevious()); 32454 } 32455 if (element.hasProblem()) { 32456 for (Reference e : element.getProblem()) 32457 composeReference("problem", e); 32458 } 32459 if (element.hasInvestigation()) { 32460 for (ClinicalImpression.ClinicalImpressionInvestigationComponent e : element.getInvestigation()) 32461 composeClinicalImpressionInvestigationComponent("investigation", e); 32462 } 32463 if (element.hasProtocol()) { 32464 for (UriType e : element.getProtocol()) 32465 composeUri("protocol", e); 32466 } 32467 if (element.hasSummaryElement()) { 32468 composeString("summary", element.getSummaryElement()); 32469 } 32470 if (element.hasFinding()) { 32471 for (ClinicalImpression.ClinicalImpressionFindingComponent e : element.getFinding()) 32472 composeClinicalImpressionFindingComponent("finding", e); 32473 } 32474 if (element.hasPrognosisCodeableConcept()) { 32475 for (CodeableConcept e : element.getPrognosisCodeableConcept()) 32476 composeCodeableConcept("prognosisCodeableConcept", e); 32477 } 32478 if (element.hasPrognosisReference()) { 32479 for (Reference e : element.getPrognosisReference()) 32480 composeReference("prognosisReference", e); 32481 } 32482 if (element.hasSupportingInfo()) { 32483 for (Reference e : element.getSupportingInfo()) 32484 composeReference("supportingInfo", e); 32485 } 32486 if (element.hasNote()) { 32487 for (Annotation e : element.getNote()) 32488 composeAnnotation("note", e); 32489 } 32490 } 32491 32492 protected void composeClinicalImpressionInvestigationComponent(String name, ClinicalImpression.ClinicalImpressionInvestigationComponent element) throws IOException { 32493 if (element != null) { 32494 composeElementAttributes(element); 32495 xml.enter(FHIR_NS, name); 32496 composeClinicalImpressionInvestigationComponentElements(element); 32497 composeElementClose(element); 32498 xml.exit(FHIR_NS, name); 32499 } 32500 } 32501 32502 protected void composeClinicalImpressionInvestigationComponentElements(ClinicalImpression.ClinicalImpressionInvestigationComponent element) throws IOException { 32503 composeBackboneElementElements(element); 32504 if (element.hasCode()) { 32505 composeCodeableConcept("code", element.getCode()); 32506 } 32507 if (element.hasItem()) { 32508 for (Reference e : element.getItem()) 32509 composeReference("item", e); 32510 } 32511 } 32512 32513 protected void composeClinicalImpressionFindingComponent(String name, ClinicalImpression.ClinicalImpressionFindingComponent element) throws IOException { 32514 if (element != null) { 32515 composeElementAttributes(element); 32516 xml.enter(FHIR_NS, name); 32517 composeClinicalImpressionFindingComponentElements(element); 32518 composeElementClose(element); 32519 xml.exit(FHIR_NS, name); 32520 } 32521 } 32522 32523 protected void composeClinicalImpressionFindingComponentElements(ClinicalImpression.ClinicalImpressionFindingComponent element) throws IOException { 32524 composeBackboneElementElements(element); 32525 if (element.hasItemCodeableConcept()) { 32526 composeCodeableConcept("itemCodeableConcept", element.getItemCodeableConcept()); 32527 } 32528 if (element.hasItemReference()) { 32529 composeReference("itemReference", element.getItemReference()); 32530 } 32531 if (element.hasBasisElement()) { 32532 composeString("basis", element.getBasisElement()); 32533 } 32534 } 32535 32536 protected void composeClinicalUseDefinition(String name, ClinicalUseDefinition element) throws IOException { 32537 if (element != null) { 32538 composeResourceAttributes(element); 32539 xml.enter(FHIR_NS, name); 32540 composeClinicalUseDefinitionElements(element); 32541 composeElementClose(element); 32542 xml.exit(FHIR_NS, name); 32543 } 32544 } 32545 32546 protected void composeClinicalUseDefinitionElements(ClinicalUseDefinition element) throws IOException { 32547 composeDomainResourceElements(element); 32548 if (element.hasIdentifier()) { 32549 for (Identifier e : element.getIdentifier()) 32550 composeIdentifier("identifier", e); 32551 } 32552 if (element.hasTypeElement()) 32553 composeEnumeration("type", element.getTypeElement(), new ClinicalUseDefinition.ClinicalUseIssueTypeEnumFactory()); 32554 if (element.hasCategory()) { 32555 for (CodeableConcept e : element.getCategory()) 32556 composeCodeableConcept("category", e); 32557 } 32558 if (element.hasSubject()) { 32559 for (Reference e : element.getSubject()) 32560 composeReference("subject", e); 32561 } 32562 if (element.hasStatus()) { 32563 composeCodeableConcept("status", element.getStatus()); 32564 } 32565 if (element.hasContraindication()) { 32566 composeClinicalUseDefinitionContraindicationComponent("contraindication", element.getContraindication()); 32567 } 32568 if (element.hasIndication()) { 32569 composeClinicalUseDefinitionIndicationComponent("indication", element.getIndication()); 32570 } 32571 if (element.hasInteraction()) { 32572 composeClinicalUseDefinitionInteractionComponent("interaction", element.getInteraction()); 32573 } 32574 if (element.hasPopulation()) { 32575 for (Reference e : element.getPopulation()) 32576 composeReference("population", e); 32577 } 32578 if (element.hasUndesirableEffect()) { 32579 composeClinicalUseDefinitionUndesirableEffectComponent("undesirableEffect", element.getUndesirableEffect()); 32580 } 32581 if (element.hasWarning()) { 32582 composeClinicalUseDefinitionWarningComponent("warning", element.getWarning()); 32583 } 32584 } 32585 32586 protected void composeClinicalUseDefinitionContraindicationComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent element) throws IOException { 32587 if (element != null) { 32588 composeElementAttributes(element); 32589 xml.enter(FHIR_NS, name); 32590 composeClinicalUseDefinitionContraindicationComponentElements(element); 32591 composeElementClose(element); 32592 xml.exit(FHIR_NS, name); 32593 } 32594 } 32595 32596 protected void composeClinicalUseDefinitionContraindicationComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionContraindicationComponent element) throws IOException { 32597 composeBackboneElementElements(element); 32598 if (element.hasDiseaseSymptomProcedure()) { 32599 composeCodeableReference("diseaseSymptomProcedure", element.getDiseaseSymptomProcedure()); 32600 } 32601 if (element.hasDiseaseStatus()) { 32602 composeCodeableReference("diseaseStatus", element.getDiseaseStatus()); 32603 } 32604 if (element.hasComorbidity()) { 32605 for (CodeableReference e : element.getComorbidity()) 32606 composeCodeableReference("comorbidity", e); 32607 } 32608 if (element.hasIndication()) { 32609 for (Reference e : element.getIndication()) 32610 composeReference("indication", e); 32611 } 32612 if (element.hasOtherTherapy()) { 32613 for (ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent e : element.getOtherTherapy()) 32614 composeClinicalUseDefinitionContraindicationOtherTherapyComponent("otherTherapy", e); 32615 } 32616 } 32617 32618 protected void composeClinicalUseDefinitionContraindicationOtherTherapyComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent element) throws IOException { 32619 if (element != null) { 32620 composeElementAttributes(element); 32621 xml.enter(FHIR_NS, name); 32622 composeClinicalUseDefinitionContraindicationOtherTherapyComponentElements(element); 32623 composeElementClose(element); 32624 xml.exit(FHIR_NS, name); 32625 } 32626 } 32627 32628 protected void composeClinicalUseDefinitionContraindicationOtherTherapyComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent element) throws IOException { 32629 composeBackboneElementElements(element); 32630 if (element.hasRelationshipType()) { 32631 composeCodeableConcept("relationshipType", element.getRelationshipType()); 32632 } 32633 if (element.hasTherapy()) { 32634 composeCodeableReference("therapy", element.getTherapy()); 32635 } 32636 } 32637 32638 protected void composeClinicalUseDefinitionIndicationComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent element) throws IOException { 32639 if (element != null) { 32640 composeElementAttributes(element); 32641 xml.enter(FHIR_NS, name); 32642 composeClinicalUseDefinitionIndicationComponentElements(element); 32643 composeElementClose(element); 32644 xml.exit(FHIR_NS, name); 32645 } 32646 } 32647 32648 protected void composeClinicalUseDefinitionIndicationComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent element) throws IOException { 32649 composeBackboneElementElements(element); 32650 if (element.hasDiseaseSymptomProcedure()) { 32651 composeCodeableReference("diseaseSymptomProcedure", element.getDiseaseSymptomProcedure()); 32652 } 32653 if (element.hasDiseaseStatus()) { 32654 composeCodeableReference("diseaseStatus", element.getDiseaseStatus()); 32655 } 32656 if (element.hasComorbidity()) { 32657 for (CodeableReference e : element.getComorbidity()) 32658 composeCodeableReference("comorbidity", e); 32659 } 32660 if (element.hasIntendedEffect()) { 32661 composeCodeableReference("intendedEffect", element.getIntendedEffect()); 32662 } 32663 if (element.hasDuration()) { 32664 composeQuantity("duration", element.getDuration()); 32665 } 32666 if (element.hasUndesirableEffect()) { 32667 for (Reference e : element.getUndesirableEffect()) 32668 composeReference("undesirableEffect", e); 32669 } 32670 if (element.hasOtherTherapy()) { 32671 for (ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent e : element.getOtherTherapy()) 32672 composeClinicalUseDefinitionContraindicationOtherTherapyComponent("otherTherapy", e); 32673 } 32674 } 32675 32676 protected void composeClinicalUseDefinitionInteractionComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent element) throws IOException { 32677 if (element != null) { 32678 composeElementAttributes(element); 32679 xml.enter(FHIR_NS, name); 32680 composeClinicalUseDefinitionInteractionComponentElements(element); 32681 composeElementClose(element); 32682 xml.exit(FHIR_NS, name); 32683 } 32684 } 32685 32686 protected void composeClinicalUseDefinitionInteractionComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionInteractionComponent element) throws IOException { 32687 composeBackboneElementElements(element); 32688 if (element.hasInteractant()) { 32689 for (ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent e : element.getInteractant()) 32690 composeClinicalUseDefinitionInteractionInteractantComponent("interactant", e); 32691 } 32692 if (element.hasType()) { 32693 composeCodeableConcept("type", element.getType()); 32694 } 32695 if (element.hasEffect()) { 32696 composeCodeableReference("effect", element.getEffect()); 32697 } 32698 if (element.hasIncidence()) { 32699 composeCodeableConcept("incidence", element.getIncidence()); 32700 } 32701 if (element.hasManagement()) { 32702 for (CodeableConcept e : element.getManagement()) 32703 composeCodeableConcept("management", e); 32704 } 32705 } 32706 32707 protected void composeClinicalUseDefinitionInteractionInteractantComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent element) throws IOException { 32708 if (element != null) { 32709 composeElementAttributes(element); 32710 xml.enter(FHIR_NS, name); 32711 composeClinicalUseDefinitionInteractionInteractantComponentElements(element); 32712 composeElementClose(element); 32713 xml.exit(FHIR_NS, name); 32714 } 32715 } 32716 32717 protected void composeClinicalUseDefinitionInteractionInteractantComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionInteractionInteractantComponent element) throws IOException { 32718 composeBackboneElementElements(element); 32719 if (element.hasItem()) { 32720 composeType("item", element.getItem()); 32721 } } 32722 32723 protected void composeClinicalUseDefinitionUndesirableEffectComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent element) throws IOException { 32724 if (element != null) { 32725 composeElementAttributes(element); 32726 xml.enter(FHIR_NS, name); 32727 composeClinicalUseDefinitionUndesirableEffectComponentElements(element); 32728 composeElementClose(element); 32729 xml.exit(FHIR_NS, name); 32730 } 32731 } 32732 32733 protected void composeClinicalUseDefinitionUndesirableEffectComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionUndesirableEffectComponent element) throws IOException { 32734 composeBackboneElementElements(element); 32735 if (element.hasSymptomConditionEffect()) { 32736 composeCodeableReference("symptomConditionEffect", element.getSymptomConditionEffect()); 32737 } 32738 if (element.hasClassification()) { 32739 composeCodeableConcept("classification", element.getClassification()); 32740 } 32741 if (element.hasFrequencyOfOccurrence()) { 32742 composeCodeableConcept("frequencyOfOccurrence", element.getFrequencyOfOccurrence()); 32743 } 32744 } 32745 32746 protected void composeClinicalUseDefinitionWarningComponent(String name, ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent element) throws IOException { 32747 if (element != null) { 32748 composeElementAttributes(element); 32749 xml.enter(FHIR_NS, name); 32750 composeClinicalUseDefinitionWarningComponentElements(element); 32751 composeElementClose(element); 32752 xml.exit(FHIR_NS, name); 32753 } 32754 } 32755 32756 protected void composeClinicalUseDefinitionWarningComponentElements(ClinicalUseDefinition.ClinicalUseDefinitionWarningComponent element) throws IOException { 32757 composeBackboneElementElements(element); 32758 if (element.hasDescriptionElement()) { 32759 composeMarkdown("description", element.getDescriptionElement()); 32760 } 32761 if (element.hasCode()) { 32762 composeCodeableConcept("code", element.getCode()); 32763 } 32764 } 32765 32766 protected void composeCodeSystem(String name, CodeSystem element) throws IOException { 32767 if (element != null) { 32768 composeResourceAttributes(element); 32769 xml.enter(FHIR_NS, name); 32770 composeCodeSystemElements(element); 32771 composeElementClose(element); 32772 xml.exit(FHIR_NS, name); 32773 } 32774 } 32775 32776 protected void composeCodeSystemElements(CodeSystem element) throws IOException { 32777 composeDomainResourceElements(element); 32778 if (element.hasUrlElement()) { 32779 composeUri("url", element.getUrlElement()); 32780 } 32781 if (element.hasIdentifier()) { 32782 for (Identifier e : element.getIdentifier()) 32783 composeIdentifier("identifier", e); 32784 } 32785 if (element.hasVersionElement()) { 32786 composeString("version", element.getVersionElement()); 32787 } 32788 if (element.hasNameElement()) { 32789 composeString("name", element.getNameElement()); 32790 } 32791 if (element.hasTitleElement()) { 32792 composeString("title", element.getTitleElement()); 32793 } 32794 if (element.hasStatusElement()) 32795 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 32796 if (element.hasExperimentalElement()) { 32797 composeBoolean("experimental", element.getExperimentalElement()); 32798 } 32799 if (element.hasDateElement()) { 32800 composeDateTime("date", element.getDateElement()); 32801 } 32802 if (element.hasPublisherElement()) { 32803 composeString("publisher", element.getPublisherElement()); 32804 } 32805 if (element.hasContact()) { 32806 for (ContactDetail e : element.getContact()) 32807 composeContactDetail("contact", e); 32808 } 32809 if (element.hasDescriptionElement()) { 32810 composeMarkdown("description", element.getDescriptionElement()); 32811 } 32812 if (element.hasUseContext()) { 32813 for (UsageContext e : element.getUseContext()) 32814 composeUsageContext("useContext", e); 32815 } 32816 if (element.hasJurisdiction()) { 32817 for (CodeableConcept e : element.getJurisdiction()) 32818 composeCodeableConcept("jurisdiction", e); 32819 } 32820 if (element.hasPurposeElement()) { 32821 composeMarkdown("purpose", element.getPurposeElement()); 32822 } 32823 if (element.hasCopyrightElement()) { 32824 composeMarkdown("copyright", element.getCopyrightElement()); 32825 } 32826 if (element.hasCaseSensitiveElement()) { 32827 composeBoolean("caseSensitive", element.getCaseSensitiveElement()); 32828 } 32829 if (element.hasValueSetElement()) { 32830 composeCanonical("valueSet", element.getValueSetElement()); 32831 } 32832 if (element.hasHierarchyMeaningElement()) 32833 composeEnumeration("hierarchyMeaning", element.getHierarchyMeaningElement(), new CodeSystem.CodeSystemHierarchyMeaningEnumFactory()); 32834 if (element.hasCompositionalElement()) { 32835 composeBoolean("compositional", element.getCompositionalElement()); 32836 } 32837 if (element.hasVersionNeededElement()) { 32838 composeBoolean("versionNeeded", element.getVersionNeededElement()); 32839 } 32840 if (element.hasContentElement()) 32841 composeEnumeration("content", element.getContentElement(), new CodeSystem.CodeSystemContentModeEnumFactory()); 32842 if (element.hasSupplementsElement()) { 32843 composeCanonical("supplements", element.getSupplementsElement()); 32844 } 32845 if (element.hasCountElement()) { 32846 composeUnsignedInt("count", element.getCountElement()); 32847 } 32848 if (element.hasFilter()) { 32849 for (CodeSystem.CodeSystemFilterComponent e : element.getFilter()) 32850 composeCodeSystemFilterComponent("filter", e); 32851 } 32852 if (element.hasProperty()) { 32853 for (CodeSystem.PropertyComponent e : element.getProperty()) 32854 composeCodeSystemPropertyComponent("property", e); 32855 } 32856 if (element.hasConcept()) { 32857 for (CodeSystem.ConceptDefinitionComponent e : element.getConcept()) 32858 composeCodeSystemConceptDefinitionComponent("concept", e); 32859 } 32860 } 32861 32862 protected void composeCodeSystemFilterComponent(String name, CodeSystem.CodeSystemFilterComponent element) throws IOException { 32863 if (element != null) { 32864 composeElementAttributes(element); 32865 xml.enter(FHIR_NS, name); 32866 composeCodeSystemFilterComponentElements(element); 32867 composeElementClose(element); 32868 xml.exit(FHIR_NS, name); 32869 } 32870 } 32871 32872 protected void composeCodeSystemFilterComponentElements(CodeSystem.CodeSystemFilterComponent element) throws IOException { 32873 composeBackboneElementElements(element); 32874 if (element.hasCodeElement()) { 32875 composeCode("code", element.getCodeElement()); 32876 } 32877 if (element.hasDescriptionElement()) { 32878 composeString("description", element.getDescriptionElement()); 32879 } 32880 if (element.hasOperator()) 32881 for (Enumeration<Enumerations.FilterOperator> e : element.getOperator()) 32882 composeEnumeration("operator", e, new Enumerations.FilterOperatorEnumFactory()); 32883 if (element.hasValueElement()) { 32884 composeString("value", element.getValueElement()); 32885 } 32886 } 32887 32888 protected void composeCodeSystemPropertyComponent(String name, CodeSystem.PropertyComponent element) throws IOException { 32889 if (element != null) { 32890 composeElementAttributes(element); 32891 xml.enter(FHIR_NS, name); 32892 composeCodeSystemPropertyComponentElements(element); 32893 composeElementClose(element); 32894 xml.exit(FHIR_NS, name); 32895 } 32896 } 32897 32898 protected void composeCodeSystemPropertyComponentElements(CodeSystem.PropertyComponent element) throws IOException { 32899 composeBackboneElementElements(element); 32900 if (element.hasCodeElement()) { 32901 composeCode("code", element.getCodeElement()); 32902 } 32903 if (element.hasUriElement()) { 32904 composeUri("uri", element.getUriElement()); 32905 } 32906 if (element.hasDescriptionElement()) { 32907 composeString("description", element.getDescriptionElement()); 32908 } 32909 if (element.hasTypeElement()) 32910 composeEnumeration("type", element.getTypeElement(), new CodeSystem.PropertyTypeEnumFactory()); 32911 } 32912 32913 protected void composeCodeSystemConceptDefinitionComponent(String name, CodeSystem.ConceptDefinitionComponent element) throws IOException { 32914 if (element != null) { 32915 composeElementAttributes(element); 32916 xml.enter(FHIR_NS, name); 32917 composeCodeSystemConceptDefinitionComponentElements(element); 32918 composeElementClose(element); 32919 xml.exit(FHIR_NS, name); 32920 } 32921 } 32922 32923 protected void composeCodeSystemConceptDefinitionComponentElements(CodeSystem.ConceptDefinitionComponent element) throws IOException { 32924 composeBackboneElementElements(element); 32925 if (element.hasCodeElement()) { 32926 composeCode("code", element.getCodeElement()); 32927 } 32928 if (element.hasDisplayElement()) { 32929 composeString("display", element.getDisplayElement()); 32930 } 32931 if (element.hasDefinitionElement()) { 32932 composeString("definition", element.getDefinitionElement()); 32933 } 32934 if (element.hasDesignation()) { 32935 for (CodeSystem.ConceptDefinitionDesignationComponent e : element.getDesignation()) 32936 composeCodeSystemConceptDefinitionDesignationComponent("designation", e); 32937 } 32938 if (element.hasProperty()) { 32939 for (CodeSystem.ConceptPropertyComponent e : element.getProperty()) 32940 composeCodeSystemConceptPropertyComponent("property", e); 32941 } 32942 if (element.hasConcept()) { 32943 for (CodeSystem.ConceptDefinitionComponent e : element.getConcept()) 32944 composeCodeSystemConceptDefinitionComponent("concept", e); 32945 } 32946 } 32947 32948 protected void composeCodeSystemConceptDefinitionDesignationComponent(String name, CodeSystem.ConceptDefinitionDesignationComponent element) throws IOException { 32949 if (element != null) { 32950 composeElementAttributes(element); 32951 xml.enter(FHIR_NS, name); 32952 composeCodeSystemConceptDefinitionDesignationComponentElements(element); 32953 composeElementClose(element); 32954 xml.exit(FHIR_NS, name); 32955 } 32956 } 32957 32958 protected void composeCodeSystemConceptDefinitionDesignationComponentElements(CodeSystem.ConceptDefinitionDesignationComponent element) throws IOException { 32959 composeBackboneElementElements(element); 32960 if (element.hasLanguageElement()) { 32961 composeCode("language", element.getLanguageElement()); 32962 } 32963 if (element.hasUse()) { 32964 composeCoding("use", element.getUse()); 32965 } 32966 if (element.hasValueElement()) { 32967 composeString("value", element.getValueElement()); 32968 } 32969 } 32970 32971 protected void composeCodeSystemConceptPropertyComponent(String name, CodeSystem.ConceptPropertyComponent element) throws IOException { 32972 if (element != null) { 32973 composeElementAttributes(element); 32974 xml.enter(FHIR_NS, name); 32975 composeCodeSystemConceptPropertyComponentElements(element); 32976 composeElementClose(element); 32977 xml.exit(FHIR_NS, name); 32978 } 32979 } 32980 32981 protected void composeCodeSystemConceptPropertyComponentElements(CodeSystem.ConceptPropertyComponent element) throws IOException { 32982 composeBackboneElementElements(element); 32983 if (element.hasCodeElement()) { 32984 composeCode("code", element.getCodeElement()); 32985 } 32986 if (element.hasValue()) { 32987 composeType("value", element.getValue()); 32988 } } 32989 32990 protected void composeCommunication(String name, Communication element) throws IOException { 32991 if (element != null) { 32992 composeResourceAttributes(element); 32993 xml.enter(FHIR_NS, name); 32994 composeCommunicationElements(element); 32995 composeElementClose(element); 32996 xml.exit(FHIR_NS, name); 32997 } 32998 } 32999 33000 protected void composeCommunicationElements(Communication element) throws IOException { 33001 composeDomainResourceElements(element); 33002 if (element.hasIdentifier()) { 33003 for (Identifier e : element.getIdentifier()) 33004 composeIdentifier("identifier", e); 33005 } 33006 if (element.hasInstantiatesCanonical()) { 33007 for (CanonicalType e : element.getInstantiatesCanonical()) 33008 composeCanonical("instantiatesCanonical", e); 33009 } 33010 if (element.hasInstantiatesUri()) { 33011 for (UriType e : element.getInstantiatesUri()) 33012 composeUri("instantiatesUri", e); 33013 } 33014 if (element.hasBasedOn()) { 33015 for (Reference e : element.getBasedOn()) 33016 composeReference("basedOn", e); 33017 } 33018 if (element.hasPartOf()) { 33019 for (Reference e : element.getPartOf()) 33020 composeReference("partOf", e); 33021 } 33022 if (element.hasInResponseTo()) { 33023 for (Reference e : element.getInResponseTo()) 33024 composeReference("inResponseTo", e); 33025 } 33026 if (element.hasStatusElement()) 33027 composeEnumeration("status", element.getStatusElement(), new Enumerations.EventStatusEnumFactory()); 33028 if (element.hasStatusReason()) { 33029 composeCodeableConcept("statusReason", element.getStatusReason()); 33030 } 33031 if (element.hasCategory()) { 33032 for (CodeableConcept e : element.getCategory()) 33033 composeCodeableConcept("category", e); 33034 } 33035 if (element.hasPriorityElement()) 33036 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 33037 if (element.hasMedium()) { 33038 for (CodeableConcept e : element.getMedium()) 33039 composeCodeableConcept("medium", e); 33040 } 33041 if (element.hasSubject()) { 33042 composeReference("subject", element.getSubject()); 33043 } 33044 if (element.hasTopic()) { 33045 composeCodeableConcept("topic", element.getTopic()); 33046 } 33047 if (element.hasAbout()) { 33048 for (Reference e : element.getAbout()) 33049 composeReference("about", e); 33050 } 33051 if (element.hasEncounter()) { 33052 composeReference("encounter", element.getEncounter()); 33053 } 33054 if (element.hasSentElement()) { 33055 composeDateTime("sent", element.getSentElement()); 33056 } 33057 if (element.hasReceivedElement()) { 33058 composeDateTime("received", element.getReceivedElement()); 33059 } 33060 if (element.hasRecipient()) { 33061 for (Reference e : element.getRecipient()) 33062 composeReference("recipient", e); 33063 } 33064 if (element.hasSender()) { 33065 composeReference("sender", element.getSender()); 33066 } 33067 if (element.hasReasonCode()) { 33068 for (CodeableConcept e : element.getReasonCode()) 33069 composeCodeableConcept("reasonCode", e); 33070 } 33071 if (element.hasReasonReference()) { 33072 for (Reference e : element.getReasonReference()) 33073 composeReference("reasonReference", e); 33074 } 33075 if (element.hasPayload()) { 33076 for (Communication.CommunicationPayloadComponent e : element.getPayload()) 33077 composeCommunicationPayloadComponent("payload", e); 33078 } 33079 if (element.hasNote()) { 33080 for (Annotation e : element.getNote()) 33081 composeAnnotation("note", e); 33082 } 33083 } 33084 33085 protected void composeCommunicationPayloadComponent(String name, Communication.CommunicationPayloadComponent element) throws IOException { 33086 if (element != null) { 33087 composeElementAttributes(element); 33088 xml.enter(FHIR_NS, name); 33089 composeCommunicationPayloadComponentElements(element); 33090 composeElementClose(element); 33091 xml.exit(FHIR_NS, name); 33092 } 33093 } 33094 33095 protected void composeCommunicationPayloadComponentElements(Communication.CommunicationPayloadComponent element) throws IOException { 33096 composeBackboneElementElements(element); 33097 if (element.hasContent()) { 33098 composeType("content", element.getContent()); 33099 } } 33100 33101 protected void composeCommunicationRequest(String name, CommunicationRequest element) throws IOException { 33102 if (element != null) { 33103 composeResourceAttributes(element); 33104 xml.enter(FHIR_NS, name); 33105 composeCommunicationRequestElements(element); 33106 composeElementClose(element); 33107 xml.exit(FHIR_NS, name); 33108 } 33109 } 33110 33111 protected void composeCommunicationRequestElements(CommunicationRequest element) throws IOException { 33112 composeDomainResourceElements(element); 33113 if (element.hasIdentifier()) { 33114 for (Identifier e : element.getIdentifier()) 33115 composeIdentifier("identifier", e); 33116 } 33117 if (element.hasBasedOn()) { 33118 for (Reference e : element.getBasedOn()) 33119 composeReference("basedOn", e); 33120 } 33121 if (element.hasReplaces()) { 33122 for (Reference e : element.getReplaces()) 33123 composeReference("replaces", e); 33124 } 33125 if (element.hasGroupIdentifier()) { 33126 composeIdentifier("groupIdentifier", element.getGroupIdentifier()); 33127 } 33128 if (element.hasStatusElement()) 33129 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 33130 if (element.hasStatusReason()) { 33131 composeCodeableConcept("statusReason", element.getStatusReason()); 33132 } 33133 if (element.hasCategory()) { 33134 for (CodeableConcept e : element.getCategory()) 33135 composeCodeableConcept("category", e); 33136 } 33137 if (element.hasPriorityElement()) 33138 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 33139 if (element.hasDoNotPerformElement()) { 33140 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 33141 } 33142 if (element.hasMedium()) { 33143 for (CodeableConcept e : element.getMedium()) 33144 composeCodeableConcept("medium", e); 33145 } 33146 if (element.hasSubject()) { 33147 composeReference("subject", element.getSubject()); 33148 } 33149 if (element.hasAbout()) { 33150 for (Reference e : element.getAbout()) 33151 composeReference("about", e); 33152 } 33153 if (element.hasEncounter()) { 33154 composeReference("encounter", element.getEncounter()); 33155 } 33156 if (element.hasPayload()) { 33157 for (CommunicationRequest.CommunicationRequestPayloadComponent e : element.getPayload()) 33158 composeCommunicationRequestPayloadComponent("payload", e); 33159 } 33160 if (element.hasOccurrence()) { 33161 composeType("occurrence", element.getOccurrence()); 33162 } if (element.hasAuthoredOnElement()) { 33163 composeDateTime("authoredOn", element.getAuthoredOnElement()); 33164 } 33165 if (element.hasRequester()) { 33166 composeReference("requester", element.getRequester()); 33167 } 33168 if (element.hasRecipient()) { 33169 for (Reference e : element.getRecipient()) 33170 composeReference("recipient", e); 33171 } 33172 if (element.hasSender()) { 33173 composeReference("sender", element.getSender()); 33174 } 33175 if (element.hasReasonCode()) { 33176 for (CodeableConcept e : element.getReasonCode()) 33177 composeCodeableConcept("reasonCode", e); 33178 } 33179 if (element.hasReasonReference()) { 33180 for (Reference e : element.getReasonReference()) 33181 composeReference("reasonReference", e); 33182 } 33183 if (element.hasNote()) { 33184 for (Annotation e : element.getNote()) 33185 composeAnnotation("note", e); 33186 } 33187 } 33188 33189 protected void composeCommunicationRequestPayloadComponent(String name, CommunicationRequest.CommunicationRequestPayloadComponent element) throws IOException { 33190 if (element != null) { 33191 composeElementAttributes(element); 33192 xml.enter(FHIR_NS, name); 33193 composeCommunicationRequestPayloadComponentElements(element); 33194 composeElementClose(element); 33195 xml.exit(FHIR_NS, name); 33196 } 33197 } 33198 33199 protected void composeCommunicationRequestPayloadComponentElements(CommunicationRequest.CommunicationRequestPayloadComponent element) throws IOException { 33200 composeBackboneElementElements(element); 33201 if (element.hasContent()) { 33202 composeType("content", element.getContent()); 33203 } } 33204 33205 protected void composeCompartmentDefinition(String name, CompartmentDefinition element) throws IOException { 33206 if (element != null) { 33207 composeResourceAttributes(element); 33208 xml.enter(FHIR_NS, name); 33209 composeCompartmentDefinitionElements(element); 33210 composeElementClose(element); 33211 xml.exit(FHIR_NS, name); 33212 } 33213 } 33214 33215 protected void composeCompartmentDefinitionElements(CompartmentDefinition element) throws IOException { 33216 composeDomainResourceElements(element); 33217 if (element.hasUrlElement()) { 33218 composeUri("url", element.getUrlElement()); 33219 } 33220 if (element.hasVersionElement()) { 33221 composeString("version", element.getVersionElement()); 33222 } 33223 if (element.hasNameElement()) { 33224 composeString("name", element.getNameElement()); 33225 } 33226 if (element.hasStatusElement()) 33227 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 33228 if (element.hasExperimentalElement()) { 33229 composeBoolean("experimental", element.getExperimentalElement()); 33230 } 33231 if (element.hasDateElement()) { 33232 composeDateTime("date", element.getDateElement()); 33233 } 33234 if (element.hasPublisherElement()) { 33235 composeString("publisher", element.getPublisherElement()); 33236 } 33237 if (element.hasContact()) { 33238 for (ContactDetail e : element.getContact()) 33239 composeContactDetail("contact", e); 33240 } 33241 if (element.hasDescriptionElement()) { 33242 composeMarkdown("description", element.getDescriptionElement()); 33243 } 33244 if (element.hasUseContext()) { 33245 for (UsageContext e : element.getUseContext()) 33246 composeUsageContext("useContext", e); 33247 } 33248 if (element.hasPurposeElement()) { 33249 composeMarkdown("purpose", element.getPurposeElement()); 33250 } 33251 if (element.hasCodeElement()) 33252 composeEnumeration("code", element.getCodeElement(), new Enumerations.CompartmentTypeEnumFactory()); 33253 if (element.hasSearchElement()) { 33254 composeBoolean("search", element.getSearchElement()); 33255 } 33256 if (element.hasResource()) { 33257 for (CompartmentDefinition.CompartmentDefinitionResourceComponent e : element.getResource()) 33258 composeCompartmentDefinitionResourceComponent("resource", e); 33259 } 33260 } 33261 33262 protected void composeCompartmentDefinitionResourceComponent(String name, CompartmentDefinition.CompartmentDefinitionResourceComponent element) throws IOException { 33263 if (element != null) { 33264 composeElementAttributes(element); 33265 xml.enter(FHIR_NS, name); 33266 composeCompartmentDefinitionResourceComponentElements(element); 33267 composeElementClose(element); 33268 xml.exit(FHIR_NS, name); 33269 } 33270 } 33271 33272 protected void composeCompartmentDefinitionResourceComponentElements(CompartmentDefinition.CompartmentDefinitionResourceComponent element) throws IOException { 33273 composeBackboneElementElements(element); 33274 if (element.hasCodeElement()) { 33275 composeCode("code", element.getCodeElement()); 33276 } 33277 if (element.hasParam()) { 33278 for (StringType e : element.getParam()) 33279 composeString("param", e); 33280 } 33281 if (element.hasDocumentationElement()) { 33282 composeString("documentation", element.getDocumentationElement()); 33283 } 33284 } 33285 33286 protected void composeComposition(String name, Composition element) throws IOException { 33287 if (element != null) { 33288 composeResourceAttributes(element); 33289 xml.enter(FHIR_NS, name); 33290 composeCompositionElements(element); 33291 composeElementClose(element); 33292 xml.exit(FHIR_NS, name); 33293 } 33294 } 33295 33296 protected void composeCompositionElements(Composition element) throws IOException { 33297 composeDomainResourceElements(element); 33298 if (element.hasIdentifier()) { 33299 composeIdentifier("identifier", element.getIdentifier()); 33300 } 33301 if (element.hasStatusElement()) 33302 composeEnumeration("status", element.getStatusElement(), new Enumerations.CompositionStatusEnumFactory()); 33303 if (element.hasType()) { 33304 composeCodeableConcept("type", element.getType()); 33305 } 33306 if (element.hasCategory()) { 33307 for (CodeableConcept e : element.getCategory()) 33308 composeCodeableConcept("category", e); 33309 } 33310 if (element.hasSubject()) { 33311 composeReference("subject", element.getSubject()); 33312 } 33313 if (element.hasEncounter()) { 33314 composeReference("encounter", element.getEncounter()); 33315 } 33316 if (element.hasDateElement()) { 33317 composeDateTime("date", element.getDateElement()); 33318 } 33319 if (element.hasAuthor()) { 33320 for (Reference e : element.getAuthor()) 33321 composeReference("author", e); 33322 } 33323 if (element.hasTitleElement()) { 33324 composeString("title", element.getTitleElement()); 33325 } 33326 if (element.hasConfidentialityElement()) { 33327 composeCode("confidentiality", element.getConfidentialityElement()); 33328 } 33329 if (element.hasAttester()) { 33330 for (Composition.CompositionAttesterComponent e : element.getAttester()) 33331 composeCompositionAttesterComponent("attester", e); 33332 } 33333 if (element.hasCustodian()) { 33334 composeReference("custodian", element.getCustodian()); 33335 } 33336 if (element.hasRelatesTo()) { 33337 for (Composition.CompositionRelatesToComponent e : element.getRelatesTo()) 33338 composeCompositionRelatesToComponent("relatesTo", e); 33339 } 33340 if (element.hasEvent()) { 33341 for (Composition.CompositionEventComponent e : element.getEvent()) 33342 composeCompositionEventComponent("event", e); 33343 } 33344 if (element.hasSection()) { 33345 for (Composition.SectionComponent e : element.getSection()) 33346 composeCompositionSectionComponent("section", e); 33347 } 33348 } 33349 33350 protected void composeCompositionAttesterComponent(String name, Composition.CompositionAttesterComponent element) throws IOException { 33351 if (element != null) { 33352 composeElementAttributes(element); 33353 xml.enter(FHIR_NS, name); 33354 composeCompositionAttesterComponentElements(element); 33355 composeElementClose(element); 33356 xml.exit(FHIR_NS, name); 33357 } 33358 } 33359 33360 protected void composeCompositionAttesterComponentElements(Composition.CompositionAttesterComponent element) throws IOException { 33361 composeBackboneElementElements(element); 33362 if (element.hasModeElement()) 33363 composeEnumeration("mode", element.getModeElement(), new Composition.CompositionAttestationModeEnumFactory()); 33364 if (element.hasTimeElement()) { 33365 composeDateTime("time", element.getTimeElement()); 33366 } 33367 if (element.hasParty()) { 33368 composeReference("party", element.getParty()); 33369 } 33370 } 33371 33372 protected void composeCompositionRelatesToComponent(String name, Composition.CompositionRelatesToComponent element) throws IOException { 33373 if (element != null) { 33374 composeElementAttributes(element); 33375 xml.enter(FHIR_NS, name); 33376 composeCompositionRelatesToComponentElements(element); 33377 composeElementClose(element); 33378 xml.exit(FHIR_NS, name); 33379 } 33380 } 33381 33382 protected void composeCompositionRelatesToComponentElements(Composition.CompositionRelatesToComponent element) throws IOException { 33383 composeBackboneElementElements(element); 33384 if (element.hasCodeElement()) 33385 composeEnumeration("code", element.getCodeElement(), new Enumerations.DocumentRelationshipTypeEnumFactory()); 33386 if (element.hasTarget()) { 33387 composeType("target", element.getTarget()); 33388 } } 33389 33390 protected void composeCompositionEventComponent(String name, Composition.CompositionEventComponent element) throws IOException { 33391 if (element != null) { 33392 composeElementAttributes(element); 33393 xml.enter(FHIR_NS, name); 33394 composeCompositionEventComponentElements(element); 33395 composeElementClose(element); 33396 xml.exit(FHIR_NS, name); 33397 } 33398 } 33399 33400 protected void composeCompositionEventComponentElements(Composition.CompositionEventComponent element) throws IOException { 33401 composeBackboneElementElements(element); 33402 if (element.hasCode()) { 33403 for (CodeableConcept e : element.getCode()) 33404 composeCodeableConcept("code", e); 33405 } 33406 if (element.hasPeriod()) { 33407 composePeriod("period", element.getPeriod()); 33408 } 33409 if (element.hasDetail()) { 33410 for (Reference e : element.getDetail()) 33411 composeReference("detail", e); 33412 } 33413 } 33414 33415 protected void composeCompositionSectionComponent(String name, Composition.SectionComponent element) throws IOException { 33416 if (element != null) { 33417 composeElementAttributes(element); 33418 xml.enter(FHIR_NS, name); 33419 composeCompositionSectionComponentElements(element); 33420 composeElementClose(element); 33421 xml.exit(FHIR_NS, name); 33422 } 33423 } 33424 33425 protected void composeCompositionSectionComponentElements(Composition.SectionComponent element) throws IOException { 33426 composeBackboneElementElements(element); 33427 if (element.hasTitleElement()) { 33428 composeString("title", element.getTitleElement()); 33429 } 33430 if (element.hasCode()) { 33431 composeCodeableConcept("code", element.getCode()); 33432 } 33433 if (element.hasAuthor()) { 33434 for (Reference e : element.getAuthor()) 33435 composeReference("author", e); 33436 } 33437 if (element.hasFocus()) { 33438 composeReference("focus", element.getFocus()); 33439 } 33440 if (element.hasText()) { 33441 composeNarrative("text", element.getText()); 33442 } 33443 if (element.hasModeElement()) 33444 composeEnumeration("mode", element.getModeElement(), new Enumerations.ListModeEnumFactory()); 33445 if (element.hasOrderedBy()) { 33446 composeCodeableConcept("orderedBy", element.getOrderedBy()); 33447 } 33448 if (element.hasEntry()) { 33449 for (Reference e : element.getEntry()) 33450 composeReference("entry", e); 33451 } 33452 if (element.hasEmptyReason()) { 33453 composeCodeableConcept("emptyReason", element.getEmptyReason()); 33454 } 33455 if (element.hasSection()) { 33456 for (Composition.SectionComponent e : element.getSection()) 33457 composeCompositionSectionComponent("section", e); 33458 } 33459 } 33460 33461 protected void composeConceptMap(String name, ConceptMap element) throws IOException { 33462 if (element != null) { 33463 composeResourceAttributes(element); 33464 xml.enter(FHIR_NS, name); 33465 composeConceptMapElements(element); 33466 composeElementClose(element); 33467 xml.exit(FHIR_NS, name); 33468 } 33469 } 33470 33471 protected void composeConceptMapElements(ConceptMap element) throws IOException { 33472 composeDomainResourceElements(element); 33473 if (element.hasUrlElement()) { 33474 composeUri("url", element.getUrlElement()); 33475 } 33476 if (element.hasIdentifier()) { 33477 composeIdentifier("identifier", element.getIdentifierFirstRep()); 33478 } 33479 if (element.hasVersionElement()) { 33480 composeString("version", element.getVersionElement()); 33481 } 33482 if (element.hasNameElement()) { 33483 composeString("name", element.getNameElement()); 33484 } 33485 if (element.hasTitleElement()) { 33486 composeString("title", element.getTitleElement()); 33487 } 33488 if (element.hasStatusElement()) 33489 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 33490 if (element.hasExperimentalElement()) { 33491 composeBoolean("experimental", element.getExperimentalElement()); 33492 } 33493 if (element.hasDateElement()) { 33494 composeDateTime("date", element.getDateElement()); 33495 } 33496 if (element.hasPublisherElement()) { 33497 composeString("publisher", element.getPublisherElement()); 33498 } 33499 if (element.hasContact()) { 33500 for (ContactDetail e : element.getContact()) 33501 composeContactDetail("contact", e); 33502 } 33503 if (element.hasDescriptionElement()) { 33504 composeMarkdown("description", element.getDescriptionElement()); 33505 } 33506 if (element.hasUseContext()) { 33507 for (UsageContext e : element.getUseContext()) 33508 composeUsageContext("useContext", e); 33509 } 33510 if (element.hasJurisdiction()) { 33511 for (CodeableConcept e : element.getJurisdiction()) 33512 composeCodeableConcept("jurisdiction", e); 33513 } 33514 if (element.hasPurposeElement()) { 33515 composeMarkdown("purpose", element.getPurposeElement()); 33516 } 33517 if (element.hasCopyrightElement()) { 33518 composeMarkdown("copyright", element.getCopyrightElement()); 33519 } 33520 if (element.hasSource()) { 33521 composeType("source", element.getSource()); 33522 } if (element.hasTarget()) { 33523 composeType("target", element.getTarget()); 33524 } if (element.hasGroup()) { 33525 for (ConceptMap.ConceptMapGroupComponent e : element.getGroup()) 33526 composeConceptMapGroupComponent("group", e); 33527 } 33528 } 33529 33530 protected void composeConceptMapGroupComponent(String name, ConceptMap.ConceptMapGroupComponent element) throws IOException { 33531 if (element != null) { 33532 composeElementAttributes(element); 33533 xml.enter(FHIR_NS, name); 33534 composeConceptMapGroupComponentElements(element); 33535 composeElementClose(element); 33536 xml.exit(FHIR_NS, name); 33537 } 33538 } 33539 33540 protected void composeConceptMapGroupComponentElements(ConceptMap.ConceptMapGroupComponent element) throws IOException { 33541 composeBackboneElementElements(element); 33542 if (element.hasSourceElement()) { 33543 composeUri("source", element.getSourceElement()); 33544 } 33545 if (element.hasSourceVersionElement()) { 33546 composeString("sourceVersion", element.getSourceVersionElement()); 33547 } 33548 if (element.hasTargetElement()) { 33549 composeUri("target", element.getTargetElement()); 33550 } 33551 if (element.hasTargetVersionElement()) { 33552 composeString("targetVersion", element.getTargetVersionElement()); 33553 } 33554 if (element.hasElement()) { 33555 for (ConceptMap.SourceElementComponent e : element.getElement()) 33556 composeConceptMapSourceElementComponent("element", e); 33557 } 33558 if (element.hasUnmapped()) { 33559 composeConceptMapGroupUnmappedComponent("unmapped", element.getUnmapped()); 33560 } 33561 } 33562 33563 protected void composeConceptMapSourceElementComponent(String name, ConceptMap.SourceElementComponent element) throws IOException { 33564 if (element != null) { 33565 composeElementAttributes(element); 33566 xml.enter(FHIR_NS, name); 33567 composeConceptMapSourceElementComponentElements(element); 33568 composeElementClose(element); 33569 xml.exit(FHIR_NS, name); 33570 } 33571 } 33572 33573 protected void composeConceptMapSourceElementComponentElements(ConceptMap.SourceElementComponent element) throws IOException { 33574 composeBackboneElementElements(element); 33575 if (element.hasCodeElement()) { 33576 composeCode("code", element.getCodeElement()); 33577 } 33578 if (element.hasDisplayElement()) { 33579 composeString("display", element.getDisplayElement()); 33580 } 33581 if (element.hasTarget()) { 33582 for (ConceptMap.TargetElementComponent e : element.getTarget()) 33583 composeConceptMapTargetElementComponent("target", e); 33584 } 33585 } 33586 33587 protected void composeConceptMapTargetElementComponent(String name, ConceptMap.TargetElementComponent element) throws IOException { 33588 if (element != null) { 33589 composeElementAttributes(element); 33590 xml.enter(FHIR_NS, name); 33591 composeConceptMapTargetElementComponentElements(element); 33592 composeElementClose(element); 33593 xml.exit(FHIR_NS, name); 33594 } 33595 } 33596 33597 protected void composeConceptMapTargetElementComponentElements(ConceptMap.TargetElementComponent element) throws IOException { 33598 composeBackboneElementElements(element); 33599 if (element.hasCodeElement()) { 33600 composeCode("code", element.getCodeElement()); 33601 } 33602 if (element.hasDisplayElement()) { 33603 composeString("display", element.getDisplayElement()); 33604 } 33605 if (element.hasEquivalenceElement()) 33606 composeEnumeration("equivalence", element.getEquivalenceElement(), new ConceptMap.ConceptMapEquivalenceEnumFactory()); 33607 if (element.hasCommentElement()) { 33608 composeString("comment", element.getCommentElement()); 33609 } 33610 if (element.hasDependsOn()) { 33611 for (ConceptMap.OtherElementComponent e : element.getDependsOn()) 33612 composeConceptMapOtherElementComponent("dependsOn", e); 33613 } 33614 if (element.hasProduct()) { 33615 for (ConceptMap.OtherElementComponent e : element.getProduct()) 33616 composeConceptMapOtherElementComponent("product", e); 33617 } 33618 } 33619 33620 protected void composeConceptMapOtherElementComponent(String name, ConceptMap.OtherElementComponent element) throws IOException { 33621 if (element != null) { 33622 composeElementAttributes(element); 33623 xml.enter(FHIR_NS, name); 33624 composeConceptMapOtherElementComponentElements(element); 33625 composeElementClose(element); 33626 xml.exit(FHIR_NS, name); 33627 } 33628 } 33629 33630 protected void composeConceptMapOtherElementComponentElements(ConceptMap.OtherElementComponent element) throws IOException { 33631 composeBackboneElementElements(element); 33632 if (element.hasPropertyElement()) { 33633 composeUri("property", element.getPropertyElement()); 33634 } 33635 if (element.hasSystemElement()) { 33636 composeCanonical("system", element.getSystemElement()); 33637 } 33638 if (element.hasValueElement()) { 33639 composeString("value", element.getValueElement()); 33640 } 33641 if (element.hasDisplayElement()) { 33642 composeString("display", element.getDisplayElement()); 33643 } 33644 } 33645 33646 protected void composeConceptMapGroupUnmappedComponent(String name, ConceptMap.ConceptMapGroupUnmappedComponent element) throws IOException { 33647 if (element != null) { 33648 composeElementAttributes(element); 33649 xml.enter(FHIR_NS, name); 33650 composeConceptMapGroupUnmappedComponentElements(element); 33651 composeElementClose(element); 33652 xml.exit(FHIR_NS, name); 33653 } 33654 } 33655 33656 protected void composeConceptMapGroupUnmappedComponentElements(ConceptMap.ConceptMapGroupUnmappedComponent element) throws IOException { 33657 composeBackboneElementElements(element); 33658 if (element.hasModeElement()) 33659 composeEnumeration("mode", element.getModeElement(), new ConceptMap.ConceptMapGroupUnmappedModeEnumFactory()); 33660 if (element.hasCodeElement()) { 33661 composeCode("code", element.getCodeElement()); 33662 } 33663 if (element.hasDisplayElement()) { 33664 composeString("display", element.getDisplayElement()); 33665 } 33666 if (element.hasUrlElement()) { 33667 composeCanonical("url", element.getUrlElement()); 33668 } 33669 } 33670 33671 protected void composeCondition(String name, Condition element) throws IOException { 33672 if (element != null) { 33673 composeResourceAttributes(element); 33674 xml.enter(FHIR_NS, name); 33675 composeConditionElements(element); 33676 composeElementClose(element); 33677 xml.exit(FHIR_NS, name); 33678 } 33679 } 33680 33681 protected void composeConditionElements(Condition element) throws IOException { 33682 composeDomainResourceElements(element); 33683 if (element.hasIdentifier()) { 33684 for (Identifier e : element.getIdentifier()) 33685 composeIdentifier("identifier", e); 33686 } 33687 if (element.hasClinicalStatus()) { 33688 composeCodeableConcept("clinicalStatus", element.getClinicalStatus()); 33689 } 33690 if (element.hasVerificationStatus()) { 33691 composeCodeableConcept("verificationStatus", element.getVerificationStatus()); 33692 } 33693 if (element.hasCategory()) { 33694 for (CodeableConcept e : element.getCategory()) 33695 composeCodeableConcept("category", e); 33696 } 33697 if (element.hasSeverity()) { 33698 composeCodeableConcept("severity", element.getSeverity()); 33699 } 33700 if (element.hasCode()) { 33701 composeCodeableConcept("code", element.getCode()); 33702 } 33703 if (element.hasBodySite()) { 33704 for (CodeableConcept e : element.getBodySite()) 33705 composeCodeableConcept("bodySite", e); 33706 } 33707 if (element.hasSubject()) { 33708 composeReference("subject", element.getSubject()); 33709 } 33710 if (element.hasEncounter()) { 33711 composeReference("encounter", element.getEncounter()); 33712 } 33713 if (element.hasOnset()) { 33714 composeType("onset", element.getOnset()); 33715 } if (element.hasAbatement()) { 33716 composeType("abatement", element.getAbatement()); 33717 } if (element.hasRecordedDateElement()) { 33718 composeDateTime("recordedDate", element.getRecordedDateElement()); 33719 } 33720 if (element.hasRecorder()) { 33721 composeReference("recorder", element.getRecorder()); 33722 } 33723 if (element.hasAsserter()) { 33724 composeReference("asserter", element.getAsserter()); 33725 } 33726 if (element.hasStage()) { 33727 for (Condition.ConditionStageComponent e : element.getStage()) 33728 composeConditionStageComponent("stage", e); 33729 } 33730 if (element.hasEvidence()) { 33731 for (Condition.ConditionEvidenceComponent e : element.getEvidence()) 33732 composeConditionEvidenceComponent("evidence", e); 33733 } 33734 if (element.hasNote()) { 33735 for (Annotation e : element.getNote()) 33736 composeAnnotation("note", e); 33737 } 33738 } 33739 33740 protected void composeConditionStageComponent(String name, Condition.ConditionStageComponent element) throws IOException { 33741 if (element != null) { 33742 composeElementAttributes(element); 33743 xml.enter(FHIR_NS, name); 33744 composeConditionStageComponentElements(element); 33745 composeElementClose(element); 33746 xml.exit(FHIR_NS, name); 33747 } 33748 } 33749 33750 protected void composeConditionStageComponentElements(Condition.ConditionStageComponent element) throws IOException { 33751 composeBackboneElementElements(element); 33752 if (element.hasSummary()) { 33753 composeCodeableConcept("summary", element.getSummary()); 33754 } 33755 if (element.hasAssessment()) { 33756 for (Reference e : element.getAssessment()) 33757 composeReference("assessment", e); 33758 } 33759 if (element.hasType()) { 33760 composeCodeableConcept("type", element.getType()); 33761 } 33762 } 33763 33764 protected void composeConditionEvidenceComponent(String name, Condition.ConditionEvidenceComponent element) throws IOException { 33765 if (element != null) { 33766 composeElementAttributes(element); 33767 xml.enter(FHIR_NS, name); 33768 composeConditionEvidenceComponentElements(element); 33769 composeElementClose(element); 33770 xml.exit(FHIR_NS, name); 33771 } 33772 } 33773 33774 protected void composeConditionEvidenceComponentElements(Condition.ConditionEvidenceComponent element) throws IOException { 33775 composeBackboneElementElements(element); 33776 if (element.hasCode()) { 33777 for (CodeableConcept e : element.getCode()) 33778 composeCodeableConcept("code", e); 33779 } 33780 if (element.hasDetail()) { 33781 for (Reference e : element.getDetail()) 33782 composeReference("detail", e); 33783 } 33784 } 33785 33786 protected void composeConsent(String name, Consent element) throws IOException { 33787 if (element != null) { 33788 composeResourceAttributes(element); 33789 xml.enter(FHIR_NS, name); 33790 composeConsentElements(element); 33791 composeElementClose(element); 33792 xml.exit(FHIR_NS, name); 33793 } 33794 } 33795 33796 protected void composeConsentElements(Consent element) throws IOException { 33797 composeDomainResourceElements(element); 33798 if (element.hasIdentifier()) { 33799 for (Identifier e : element.getIdentifier()) 33800 composeIdentifier("identifier", e); 33801 } 33802 if (element.hasStatusElement()) 33803 composeEnumeration("status", element.getStatusElement(), new Consent.ConsentStateEnumFactory()); 33804 if (element.hasScope()) { 33805 composeCodeableConcept("scope", element.getScope()); 33806 } 33807 if (element.hasCategory()) { 33808 for (CodeableConcept e : element.getCategory()) 33809 composeCodeableConcept("category", e); 33810 } 33811 if (element.hasPatient()) { 33812 composeReference("patient", element.getPatient()); 33813 } 33814 if (element.hasDateTimeElement()) { 33815 composeDateTime("dateTime", element.getDateTimeElement()); 33816 } 33817 if (element.hasPerformer()) { 33818 for (Reference e : element.getPerformer()) 33819 composeReference("performer", e); 33820 } 33821 if (element.hasOrganization()) { 33822 for (Reference e : element.getOrganization()) 33823 composeReference("organization", e); 33824 } 33825 if (element.hasSource()) { 33826 composeType("source", element.getSource()); 33827 } if (element.hasPolicy()) { 33828 for (Consent.ConsentPolicyComponent e : element.getPolicy()) 33829 composeConsentPolicyComponent("policy", e); 33830 } 33831 if (element.hasPolicyRule()) { 33832 composeCodeableConcept("policyRule", element.getPolicyRule()); 33833 } 33834 if (element.hasVerification()) { 33835 for (Consent.ConsentVerificationComponent e : element.getVerification()) 33836 composeConsentVerificationComponent("verification", e); 33837 } 33838 if (element.hasProvision()) { 33839 composeConsentProvisionComponent("provision", element.getProvision()); 33840 } 33841 } 33842 33843 protected void composeConsentPolicyComponent(String name, Consent.ConsentPolicyComponent element) throws IOException { 33844 if (element != null) { 33845 composeElementAttributes(element); 33846 xml.enter(FHIR_NS, name); 33847 composeConsentPolicyComponentElements(element); 33848 composeElementClose(element); 33849 xml.exit(FHIR_NS, name); 33850 } 33851 } 33852 33853 protected void composeConsentPolicyComponentElements(Consent.ConsentPolicyComponent element) throws IOException { 33854 composeBackboneElementElements(element); 33855 if (element.hasAuthorityElement()) { 33856 composeUri("authority", element.getAuthorityElement()); 33857 } 33858 if (element.hasUriElement()) { 33859 composeUri("uri", element.getUriElement()); 33860 } 33861 } 33862 33863 protected void composeConsentVerificationComponent(String name, Consent.ConsentVerificationComponent element) throws IOException { 33864 if (element != null) { 33865 composeElementAttributes(element); 33866 xml.enter(FHIR_NS, name); 33867 composeConsentVerificationComponentElements(element); 33868 composeElementClose(element); 33869 xml.exit(FHIR_NS, name); 33870 } 33871 } 33872 33873 protected void composeConsentVerificationComponentElements(Consent.ConsentVerificationComponent element) throws IOException { 33874 composeBackboneElementElements(element); 33875 if (element.hasVerifiedElement()) { 33876 composeBoolean("verified", element.getVerifiedElement()); 33877 } 33878 if (element.hasVerifiedWith()) { 33879 composeReference("verifiedWith", element.getVerifiedWith()); 33880 } 33881 if (element.hasVerificationDateElement()) { 33882 composeDateTime("verificationDate", element.getVerificationDateElement()); 33883 } 33884 } 33885 33886 protected void composeConsentProvisionComponent(String name, Consent.ProvisionComponent element) throws IOException { 33887 if (element != null) { 33888 composeElementAttributes(element); 33889 xml.enter(FHIR_NS, name); 33890 composeConsentProvisionComponentElements(element); 33891 composeElementClose(element); 33892 xml.exit(FHIR_NS, name); 33893 } 33894 } 33895 33896 protected void composeConsentProvisionComponentElements(Consent.ProvisionComponent element) throws IOException { 33897 composeBackboneElementElements(element); 33898 if (element.hasTypeElement()) 33899 composeEnumeration("type", element.getTypeElement(), new Consent.ConsentProvisionTypeEnumFactory()); 33900 if (element.hasPeriod()) { 33901 composePeriod("period", element.getPeriod()); 33902 } 33903 if (element.hasActor()) { 33904 for (Consent.ProvisionActorComponent e : element.getActor()) 33905 composeConsentProvisionActorComponent("actor", e); 33906 } 33907 if (element.hasAction()) { 33908 for (CodeableConcept e : element.getAction()) 33909 composeCodeableConcept("action", e); 33910 } 33911 if (element.hasSecurityLabel()) { 33912 for (Coding e : element.getSecurityLabel()) 33913 composeCoding("securityLabel", e); 33914 } 33915 if (element.hasPurpose()) { 33916 for (Coding e : element.getPurpose()) 33917 composeCoding("purpose", e); 33918 } 33919 if (element.hasClass_()) { 33920 for (Coding e : element.getClass_()) 33921 composeCoding("class", e); 33922 } 33923 if (element.hasCode()) { 33924 for (CodeableConcept e : element.getCode()) 33925 composeCodeableConcept("code", e); 33926 } 33927 if (element.hasDataPeriod()) { 33928 composePeriod("dataPeriod", element.getDataPeriod()); 33929 } 33930 if (element.hasData()) { 33931 for (Consent.ProvisionDataComponent e : element.getData()) 33932 composeConsentProvisionDataComponent("data", e); 33933 } 33934 if (element.hasProvision()) { 33935 for (Consent.ProvisionComponent e : element.getProvision()) 33936 composeConsentProvisionComponent("provision", e); 33937 } 33938 } 33939 33940 protected void composeConsentProvisionActorComponent(String name, Consent.ProvisionActorComponent element) throws IOException { 33941 if (element != null) { 33942 composeElementAttributes(element); 33943 xml.enter(FHIR_NS, name); 33944 composeConsentProvisionActorComponentElements(element); 33945 composeElementClose(element); 33946 xml.exit(FHIR_NS, name); 33947 } 33948 } 33949 33950 protected void composeConsentProvisionActorComponentElements(Consent.ProvisionActorComponent element) throws IOException { 33951 composeBackboneElementElements(element); 33952 if (element.hasRole()) { 33953 composeCodeableConcept("role", element.getRole()); 33954 } 33955 if (element.hasReference()) { 33956 composeReference("reference", element.getReference()); 33957 } 33958 } 33959 33960 protected void composeConsentProvisionDataComponent(String name, Consent.ProvisionDataComponent element) throws IOException { 33961 if (element != null) { 33962 composeElementAttributes(element); 33963 xml.enter(FHIR_NS, name); 33964 composeConsentProvisionDataComponentElements(element); 33965 composeElementClose(element); 33966 xml.exit(FHIR_NS, name); 33967 } 33968 } 33969 33970 protected void composeConsentProvisionDataComponentElements(Consent.ProvisionDataComponent element) throws IOException { 33971 composeBackboneElementElements(element); 33972 if (element.hasMeaningElement()) 33973 composeEnumeration("meaning", element.getMeaningElement(), new Consent.ConsentDataMeaningEnumFactory()); 33974 if (element.hasReference()) { 33975 composeReference("reference", element.getReference()); 33976 } 33977 } 33978 33979 protected void composeContract(String name, Contract element) throws IOException { 33980 if (element != null) { 33981 composeResourceAttributes(element); 33982 xml.enter(FHIR_NS, name); 33983 composeContractElements(element); 33984 composeElementClose(element); 33985 xml.exit(FHIR_NS, name); 33986 } 33987 } 33988 33989 protected void composeContractElements(Contract element) throws IOException { 33990 composeDomainResourceElements(element); 33991 if (element.hasIdentifier()) { 33992 for (Identifier e : element.getIdentifier()) 33993 composeIdentifier("identifier", e); 33994 } 33995 if (element.hasUrlElement()) { 33996 composeUri("url", element.getUrlElement()); 33997 } 33998 if (element.hasVersionElement()) { 33999 composeString("version", element.getVersionElement()); 34000 } 34001 if (element.hasStatusElement()) 34002 composeEnumeration("status", element.getStatusElement(), new Contract.ContractResourceStatusCodesEnumFactory()); 34003 if (element.hasLegalState()) { 34004 composeCodeableConcept("legalState", element.getLegalState()); 34005 } 34006 if (element.hasInstantiatesCanonical()) { 34007 composeReference("instantiatesCanonical", element.getInstantiatesCanonical()); 34008 } 34009 if (element.hasInstantiatesUriElement()) { 34010 composeUri("instantiatesUri", element.getInstantiatesUriElement()); 34011 } 34012 if (element.hasContentDerivative()) { 34013 composeCodeableConcept("contentDerivative", element.getContentDerivative()); 34014 } 34015 if (element.hasIssuedElement()) { 34016 composeDateTime("issued", element.getIssuedElement()); 34017 } 34018 if (element.hasApplies()) { 34019 composePeriod("applies", element.getApplies()); 34020 } 34021 if (element.hasExpirationType()) { 34022 composeCodeableConcept("expirationType", element.getExpirationType()); 34023 } 34024 if (element.hasSubject()) { 34025 for (Reference e : element.getSubject()) 34026 composeReference("subject", e); 34027 } 34028 if (element.hasAuthority()) { 34029 for (Reference e : element.getAuthority()) 34030 composeReference("authority", e); 34031 } 34032 if (element.hasDomain()) { 34033 for (Reference e : element.getDomain()) 34034 composeReference("domain", e); 34035 } 34036 if (element.hasSite()) { 34037 for (Reference e : element.getSite()) 34038 composeReference("site", e); 34039 } 34040 if (element.hasNameElement()) { 34041 composeString("name", element.getNameElement()); 34042 } 34043 if (element.hasTitleElement()) { 34044 composeString("title", element.getTitleElement()); 34045 } 34046 if (element.hasSubtitleElement()) { 34047 composeString("subtitle", element.getSubtitleElement()); 34048 } 34049 if (element.hasAlias()) { 34050 for (StringType e : element.getAlias()) 34051 composeString("alias", e); 34052 } 34053 if (element.hasAuthor()) { 34054 composeReference("author", element.getAuthor()); 34055 } 34056 if (element.hasScope()) { 34057 composeCodeableConcept("scope", element.getScope()); 34058 } 34059 if (element.hasTopic()) { 34060 composeType("topic", element.getTopic()); 34061 } if (element.hasType()) { 34062 composeCodeableConcept("type", element.getType()); 34063 } 34064 if (element.hasSubType()) { 34065 for (CodeableConcept e : element.getSubType()) 34066 composeCodeableConcept("subType", e); 34067 } 34068 if (element.hasContentDefinition()) { 34069 composeContractContentDefinitionComponent("contentDefinition", element.getContentDefinition()); 34070 } 34071 if (element.hasTerm()) { 34072 for (Contract.TermComponent e : element.getTerm()) 34073 composeContractTermComponent("term", e); 34074 } 34075 if (element.hasSupportingInfo()) { 34076 for (Reference e : element.getSupportingInfo()) 34077 composeReference("supportingInfo", e); 34078 } 34079 if (element.hasRelevantHistory()) { 34080 for (Reference e : element.getRelevantHistory()) 34081 composeReference("relevantHistory", e); 34082 } 34083 if (element.hasSigner()) { 34084 for (Contract.SignatoryComponent e : element.getSigner()) 34085 composeContractSignatoryComponent("signer", e); 34086 } 34087 if (element.hasFriendly()) { 34088 for (Contract.FriendlyLanguageComponent e : element.getFriendly()) 34089 composeContractFriendlyLanguageComponent("friendly", e); 34090 } 34091 if (element.hasLegal()) { 34092 for (Contract.LegalLanguageComponent e : element.getLegal()) 34093 composeContractLegalLanguageComponent("legal", e); 34094 } 34095 if (element.hasRule()) { 34096 for (Contract.ComputableLanguageComponent e : element.getRule()) 34097 composeContractComputableLanguageComponent("rule", e); 34098 } 34099 if (element.hasLegallyBinding()) { 34100 composeType("legallyBinding", element.getLegallyBinding()); 34101 } } 34102 34103 protected void composeContractContentDefinitionComponent(String name, Contract.ContentDefinitionComponent element) throws IOException { 34104 if (element != null) { 34105 composeElementAttributes(element); 34106 xml.enter(FHIR_NS, name); 34107 composeContractContentDefinitionComponentElements(element); 34108 composeElementClose(element); 34109 xml.exit(FHIR_NS, name); 34110 } 34111 } 34112 34113 protected void composeContractContentDefinitionComponentElements(Contract.ContentDefinitionComponent element) throws IOException { 34114 composeBackboneElementElements(element); 34115 if (element.hasType()) { 34116 composeCodeableConcept("type", element.getType()); 34117 } 34118 if (element.hasSubType()) { 34119 composeCodeableConcept("subType", element.getSubType()); 34120 } 34121 if (element.hasPublisher()) { 34122 composeReference("publisher", element.getPublisher()); 34123 } 34124 if (element.hasPublicationDateElement()) { 34125 composeDateTime("publicationDate", element.getPublicationDateElement()); 34126 } 34127 if (element.hasPublicationStatusElement()) 34128 composeEnumeration("publicationStatus", element.getPublicationStatusElement(), new Contract.ContractResourcePublicationStatusCodesEnumFactory()); 34129 if (element.hasCopyrightElement()) { 34130 composeMarkdown("copyright", element.getCopyrightElement()); 34131 } 34132 } 34133 34134 protected void composeContractTermComponent(String name, Contract.TermComponent element) throws IOException { 34135 if (element != null) { 34136 composeElementAttributes(element); 34137 xml.enter(FHIR_NS, name); 34138 composeContractTermComponentElements(element); 34139 composeElementClose(element); 34140 xml.exit(FHIR_NS, name); 34141 } 34142 } 34143 34144 protected void composeContractTermComponentElements(Contract.TermComponent element) throws IOException { 34145 composeBackboneElementElements(element); 34146 if (element.hasIdentifier()) { 34147 composeIdentifier("identifier", element.getIdentifier()); 34148 } 34149 if (element.hasIssuedElement()) { 34150 composeDateTime("issued", element.getIssuedElement()); 34151 } 34152 if (element.hasApplies()) { 34153 composePeriod("applies", element.getApplies()); 34154 } 34155 if (element.hasTopic()) { 34156 composeType("topic", element.getTopic()); 34157 } if (element.hasType()) { 34158 composeCodeableConcept("type", element.getType()); 34159 } 34160 if (element.hasSubType()) { 34161 composeCodeableConcept("subType", element.getSubType()); 34162 } 34163 if (element.hasTextElement()) { 34164 composeString("text", element.getTextElement()); 34165 } 34166 if (element.hasSecurityLabel()) { 34167 for (Contract.SecurityLabelComponent e : element.getSecurityLabel()) 34168 composeContractSecurityLabelComponent("securityLabel", e); 34169 } 34170 if (element.hasOffer()) { 34171 composeContractOfferComponent("offer", element.getOffer()); 34172 } 34173 if (element.hasAsset()) { 34174 for (Contract.ContractAssetComponent e : element.getAsset()) 34175 composeContractAssetComponent("asset", e); 34176 } 34177 if (element.hasAction()) { 34178 for (Contract.ActionComponent e : element.getAction()) 34179 composeContractActionComponent("action", e); 34180 } 34181 if (element.hasGroup()) { 34182 for (Contract.TermComponent e : element.getGroup()) 34183 composeContractTermComponent("group", e); 34184 } 34185 } 34186 34187 protected void composeContractSecurityLabelComponent(String name, Contract.SecurityLabelComponent element) throws IOException { 34188 if (element != null) { 34189 composeElementAttributes(element); 34190 xml.enter(FHIR_NS, name); 34191 composeContractSecurityLabelComponentElements(element); 34192 composeElementClose(element); 34193 xml.exit(FHIR_NS, name); 34194 } 34195 } 34196 34197 protected void composeContractSecurityLabelComponentElements(Contract.SecurityLabelComponent element) throws IOException { 34198 composeBackboneElementElements(element); 34199 if (element.hasNumber()) { 34200 for (UnsignedIntType e : element.getNumber()) 34201 composeUnsignedInt("number", e); 34202 } 34203 if (element.hasClassification()) { 34204 composeCoding("classification", element.getClassification()); 34205 } 34206 if (element.hasCategory()) { 34207 for (Coding e : element.getCategory()) 34208 composeCoding("category", e); 34209 } 34210 if (element.hasControl()) { 34211 for (Coding e : element.getControl()) 34212 composeCoding("control", e); 34213 } 34214 } 34215 34216 protected void composeContractOfferComponent(String name, Contract.ContractOfferComponent element) throws IOException { 34217 if (element != null) { 34218 composeElementAttributes(element); 34219 xml.enter(FHIR_NS, name); 34220 composeContractOfferComponentElements(element); 34221 composeElementClose(element); 34222 xml.exit(FHIR_NS, name); 34223 } 34224 } 34225 34226 protected void composeContractOfferComponentElements(Contract.ContractOfferComponent element) throws IOException { 34227 composeBackboneElementElements(element); 34228 if (element.hasIdentifier()) { 34229 for (Identifier e : element.getIdentifier()) 34230 composeIdentifier("identifier", e); 34231 } 34232 if (element.hasParty()) { 34233 for (Contract.ContractPartyComponent e : element.getParty()) 34234 composeContractPartyComponent("party", e); 34235 } 34236 if (element.hasTopic()) { 34237 composeReference("topic", element.getTopic()); 34238 } 34239 if (element.hasType()) { 34240 composeCodeableConcept("type", element.getType()); 34241 } 34242 if (element.hasDecision()) { 34243 composeCodeableConcept("decision", element.getDecision()); 34244 } 34245 if (element.hasDecisionMode()) { 34246 for (CodeableConcept e : element.getDecisionMode()) 34247 composeCodeableConcept("decisionMode", e); 34248 } 34249 if (element.hasAnswer()) { 34250 for (Contract.AnswerComponent e : element.getAnswer()) 34251 composeContractAnswerComponent("answer", e); 34252 } 34253 if (element.hasTextElement()) { 34254 composeString("text", element.getTextElement()); 34255 } 34256 if (element.hasLinkId()) { 34257 for (StringType e : element.getLinkId()) 34258 composeString("linkId", e); 34259 } 34260 if (element.hasSecurityLabelNumber()) { 34261 for (UnsignedIntType e : element.getSecurityLabelNumber()) 34262 composeUnsignedInt("securityLabelNumber", e); 34263 } 34264 } 34265 34266 protected void composeContractPartyComponent(String name, Contract.ContractPartyComponent element) throws IOException { 34267 if (element != null) { 34268 composeElementAttributes(element); 34269 xml.enter(FHIR_NS, name); 34270 composeContractPartyComponentElements(element); 34271 composeElementClose(element); 34272 xml.exit(FHIR_NS, name); 34273 } 34274 } 34275 34276 protected void composeContractPartyComponentElements(Contract.ContractPartyComponent element) throws IOException { 34277 composeBackboneElementElements(element); 34278 if (element.hasReference()) { 34279 for (Reference e : element.getReference()) 34280 composeReference("reference", e); 34281 } 34282 if (element.hasRole()) { 34283 composeCodeableConcept("role", element.getRole()); 34284 } 34285 } 34286 34287 protected void composeContractAnswerComponent(String name, Contract.AnswerComponent element) throws IOException { 34288 if (element != null) { 34289 composeElementAttributes(element); 34290 xml.enter(FHIR_NS, name); 34291 composeContractAnswerComponentElements(element); 34292 composeElementClose(element); 34293 xml.exit(FHIR_NS, name); 34294 } 34295 } 34296 34297 protected void composeContractAnswerComponentElements(Contract.AnswerComponent element) throws IOException { 34298 composeBackboneElementElements(element); 34299 if (element.hasValue()) { 34300 composeType("value", element.getValue()); 34301 } } 34302 34303 protected void composeContractAssetComponent(String name, Contract.ContractAssetComponent element) throws IOException { 34304 if (element != null) { 34305 composeElementAttributes(element); 34306 xml.enter(FHIR_NS, name); 34307 composeContractAssetComponentElements(element); 34308 composeElementClose(element); 34309 xml.exit(FHIR_NS, name); 34310 } 34311 } 34312 34313 protected void composeContractAssetComponentElements(Contract.ContractAssetComponent element) throws IOException { 34314 composeBackboneElementElements(element); 34315 if (element.hasScope()) { 34316 composeCodeableConcept("scope", element.getScope()); 34317 } 34318 if (element.hasType()) { 34319 for (CodeableConcept e : element.getType()) 34320 composeCodeableConcept("type", e); 34321 } 34322 if (element.hasTypeReference()) { 34323 for (Reference e : element.getTypeReference()) 34324 composeReference("typeReference", e); 34325 } 34326 if (element.hasSubtype()) { 34327 for (CodeableConcept e : element.getSubtype()) 34328 composeCodeableConcept("subtype", e); 34329 } 34330 if (element.hasRelationship()) { 34331 composeCoding("relationship", element.getRelationship()); 34332 } 34333 if (element.hasContext()) { 34334 for (Contract.AssetContextComponent e : element.getContext()) 34335 composeContractAssetContextComponent("context", e); 34336 } 34337 if (element.hasConditionElement()) { 34338 composeString("condition", element.getConditionElement()); 34339 } 34340 if (element.hasPeriodType()) { 34341 for (CodeableConcept e : element.getPeriodType()) 34342 composeCodeableConcept("periodType", e); 34343 } 34344 if (element.hasPeriod()) { 34345 for (Period e : element.getPeriod()) 34346 composePeriod("period", e); 34347 } 34348 if (element.hasUsePeriod()) { 34349 for (Period e : element.getUsePeriod()) 34350 composePeriod("usePeriod", e); 34351 } 34352 if (element.hasTextElement()) { 34353 composeString("text", element.getTextElement()); 34354 } 34355 if (element.hasLinkId()) { 34356 for (StringType e : element.getLinkId()) 34357 composeString("linkId", e); 34358 } 34359 if (element.hasAnswer()) { 34360 for (Contract.AnswerComponent e : element.getAnswer()) 34361 composeContractAnswerComponent("answer", e); 34362 } 34363 if (element.hasSecurityLabelNumber()) { 34364 for (UnsignedIntType e : element.getSecurityLabelNumber()) 34365 composeUnsignedInt("securityLabelNumber", e); 34366 } 34367 if (element.hasValuedItem()) { 34368 for (Contract.ValuedItemComponent e : element.getValuedItem()) 34369 composeContractValuedItemComponent("valuedItem", e); 34370 } 34371 } 34372 34373 protected void composeContractAssetContextComponent(String name, Contract.AssetContextComponent element) throws IOException { 34374 if (element != null) { 34375 composeElementAttributes(element); 34376 xml.enter(FHIR_NS, name); 34377 composeContractAssetContextComponentElements(element); 34378 composeElementClose(element); 34379 xml.exit(FHIR_NS, name); 34380 } 34381 } 34382 34383 protected void composeContractAssetContextComponentElements(Contract.AssetContextComponent element) throws IOException { 34384 composeBackboneElementElements(element); 34385 if (element.hasReference()) { 34386 composeReference("reference", element.getReference()); 34387 } 34388 if (element.hasCode()) { 34389 for (CodeableConcept e : element.getCode()) 34390 composeCodeableConcept("code", e); 34391 } 34392 if (element.hasTextElement()) { 34393 composeString("text", element.getTextElement()); 34394 } 34395 } 34396 34397 protected void composeContractValuedItemComponent(String name, Contract.ValuedItemComponent element) throws IOException { 34398 if (element != null) { 34399 composeElementAttributes(element); 34400 xml.enter(FHIR_NS, name); 34401 composeContractValuedItemComponentElements(element); 34402 composeElementClose(element); 34403 xml.exit(FHIR_NS, name); 34404 } 34405 } 34406 34407 protected void composeContractValuedItemComponentElements(Contract.ValuedItemComponent element) throws IOException { 34408 composeBackboneElementElements(element); 34409 if (element.hasEntity()) { 34410 composeType("entity", element.getEntity()); 34411 } if (element.hasIdentifier()) { 34412 composeIdentifier("identifier", element.getIdentifier()); 34413 } 34414 if (element.hasEffectiveTimeElement()) { 34415 composeDateTime("effectiveTime", element.getEffectiveTimeElement()); 34416 } 34417 if (element.hasQuantity()) { 34418 composeQuantity("quantity", element.getQuantity()); 34419 } 34420 if (element.hasUnitPrice()) { 34421 composeMoney("unitPrice", element.getUnitPrice()); 34422 } 34423 if (element.hasFactorElement()) { 34424 composeDecimal("factor", element.getFactorElement()); 34425 } 34426 if (element.hasPointsElement()) { 34427 composeDecimal("points", element.getPointsElement()); 34428 } 34429 if (element.hasNet()) { 34430 composeMoney("net", element.getNet()); 34431 } 34432 if (element.hasPaymentElement()) { 34433 composeString("payment", element.getPaymentElement()); 34434 } 34435 if (element.hasPaymentDateElement()) { 34436 composeDateTime("paymentDate", element.getPaymentDateElement()); 34437 } 34438 if (element.hasResponsible()) { 34439 composeReference("responsible", element.getResponsible()); 34440 } 34441 if (element.hasRecipient()) { 34442 composeReference("recipient", element.getRecipient()); 34443 } 34444 if (element.hasLinkId()) { 34445 for (StringType e : element.getLinkId()) 34446 composeString("linkId", e); 34447 } 34448 if (element.hasSecurityLabelNumber()) { 34449 for (UnsignedIntType e : element.getSecurityLabelNumber()) 34450 composeUnsignedInt("securityLabelNumber", e); 34451 } 34452 } 34453 34454 protected void composeContractActionComponent(String name, Contract.ActionComponent element) throws IOException { 34455 if (element != null) { 34456 composeElementAttributes(element); 34457 xml.enter(FHIR_NS, name); 34458 composeContractActionComponentElements(element); 34459 composeElementClose(element); 34460 xml.exit(FHIR_NS, name); 34461 } 34462 } 34463 34464 protected void composeContractActionComponentElements(Contract.ActionComponent element) throws IOException { 34465 composeBackboneElementElements(element); 34466 if (element.hasDoNotPerformElement()) { 34467 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 34468 } 34469 if (element.hasType()) { 34470 composeCodeableConcept("type", element.getType()); 34471 } 34472 if (element.hasSubject()) { 34473 for (Contract.ActionSubjectComponent e : element.getSubject()) 34474 composeContractActionSubjectComponent("subject", e); 34475 } 34476 if (element.hasIntent()) { 34477 composeCodeableConcept("intent", element.getIntent()); 34478 } 34479 if (element.hasLinkId()) { 34480 for (StringType e : element.getLinkId()) 34481 composeString("linkId", e); 34482 } 34483 if (element.hasStatus()) { 34484 composeCodeableConcept("status", element.getStatus()); 34485 } 34486 if (element.hasContext()) { 34487 composeReference("context", element.getContext()); 34488 } 34489 if (element.hasContextLinkId()) { 34490 for (StringType e : element.getContextLinkId()) 34491 composeString("contextLinkId", e); 34492 } 34493 if (element.hasOccurrence()) { 34494 composeType("occurrence", element.getOccurrence()); 34495 } if (element.hasRequester()) { 34496 for (Reference e : element.getRequester()) 34497 composeReference("requester", e); 34498 } 34499 if (element.hasRequesterLinkId()) { 34500 for (StringType e : element.getRequesterLinkId()) 34501 composeString("requesterLinkId", e); 34502 } 34503 if (element.hasPerformerType()) { 34504 for (CodeableConcept e : element.getPerformerType()) 34505 composeCodeableConcept("performerType", e); 34506 } 34507 if (element.hasPerformerRole()) { 34508 composeCodeableConcept("performerRole", element.getPerformerRole()); 34509 } 34510 if (element.hasPerformer()) { 34511 composeReference("performer", element.getPerformer()); 34512 } 34513 if (element.hasPerformerLinkId()) { 34514 for (StringType e : element.getPerformerLinkId()) 34515 composeString("performerLinkId", e); 34516 } 34517 if (element.hasReasonCode()) { 34518 for (CodeableConcept e : element.getReasonCode()) 34519 composeCodeableConcept("reasonCode", e); 34520 } 34521 if (element.hasReasonReference()) { 34522 for (Reference e : element.getReasonReference()) 34523 composeReference("reasonReference", e); 34524 } 34525 if (element.hasReason()) { 34526 for (StringType e : element.getReason()) 34527 composeString("reason", e); 34528 } 34529 if (element.hasReasonLinkId()) { 34530 for (StringType e : element.getReasonLinkId()) 34531 composeString("reasonLinkId", e); 34532 } 34533 if (element.hasNote()) { 34534 for (Annotation e : element.getNote()) 34535 composeAnnotation("note", e); 34536 } 34537 if (element.hasSecurityLabelNumber()) { 34538 for (UnsignedIntType e : element.getSecurityLabelNumber()) 34539 composeUnsignedInt("securityLabelNumber", e); 34540 } 34541 } 34542 34543 protected void composeContractActionSubjectComponent(String name, Contract.ActionSubjectComponent element) throws IOException { 34544 if (element != null) { 34545 composeElementAttributes(element); 34546 xml.enter(FHIR_NS, name); 34547 composeContractActionSubjectComponentElements(element); 34548 composeElementClose(element); 34549 xml.exit(FHIR_NS, name); 34550 } 34551 } 34552 34553 protected void composeContractActionSubjectComponentElements(Contract.ActionSubjectComponent element) throws IOException { 34554 composeBackboneElementElements(element); 34555 if (element.hasReference()) { 34556 for (Reference e : element.getReference()) 34557 composeReference("reference", e); 34558 } 34559 if (element.hasRole()) { 34560 composeCodeableConcept("role", element.getRole()); 34561 } 34562 } 34563 34564 protected void composeContractSignatoryComponent(String name, Contract.SignatoryComponent element) throws IOException { 34565 if (element != null) { 34566 composeElementAttributes(element); 34567 xml.enter(FHIR_NS, name); 34568 composeContractSignatoryComponentElements(element); 34569 composeElementClose(element); 34570 xml.exit(FHIR_NS, name); 34571 } 34572 } 34573 34574 protected void composeContractSignatoryComponentElements(Contract.SignatoryComponent element) throws IOException { 34575 composeBackboneElementElements(element); 34576 if (element.hasType()) { 34577 composeCoding("type", element.getType()); 34578 } 34579 if (element.hasParty()) { 34580 composeReference("party", element.getParty()); 34581 } 34582 if (element.hasSignature()) { 34583 for (Signature e : element.getSignature()) 34584 composeSignature("signature", e); 34585 } 34586 } 34587 34588 protected void composeContractFriendlyLanguageComponent(String name, Contract.FriendlyLanguageComponent element) throws IOException { 34589 if (element != null) { 34590 composeElementAttributes(element); 34591 xml.enter(FHIR_NS, name); 34592 composeContractFriendlyLanguageComponentElements(element); 34593 composeElementClose(element); 34594 xml.exit(FHIR_NS, name); 34595 } 34596 } 34597 34598 protected void composeContractFriendlyLanguageComponentElements(Contract.FriendlyLanguageComponent element) throws IOException { 34599 composeBackboneElementElements(element); 34600 if (element.hasContent()) { 34601 composeType("content", element.getContent()); 34602 } } 34603 34604 protected void composeContractLegalLanguageComponent(String name, Contract.LegalLanguageComponent element) throws IOException { 34605 if (element != null) { 34606 composeElementAttributes(element); 34607 xml.enter(FHIR_NS, name); 34608 composeContractLegalLanguageComponentElements(element); 34609 composeElementClose(element); 34610 xml.exit(FHIR_NS, name); 34611 } 34612 } 34613 34614 protected void composeContractLegalLanguageComponentElements(Contract.LegalLanguageComponent element) throws IOException { 34615 composeBackboneElementElements(element); 34616 if (element.hasContent()) { 34617 composeType("content", element.getContent()); 34618 } } 34619 34620 protected void composeContractComputableLanguageComponent(String name, Contract.ComputableLanguageComponent element) throws IOException { 34621 if (element != null) { 34622 composeElementAttributes(element); 34623 xml.enter(FHIR_NS, name); 34624 composeContractComputableLanguageComponentElements(element); 34625 composeElementClose(element); 34626 xml.exit(FHIR_NS, name); 34627 } 34628 } 34629 34630 protected void composeContractComputableLanguageComponentElements(Contract.ComputableLanguageComponent element) throws IOException { 34631 composeBackboneElementElements(element); 34632 if (element.hasContent()) { 34633 composeType("content", element.getContent()); 34634 } } 34635 34636 protected void composeCoverage(String name, Coverage element) throws IOException { 34637 if (element != null) { 34638 composeResourceAttributes(element); 34639 xml.enter(FHIR_NS, name); 34640 composeCoverageElements(element); 34641 composeElementClose(element); 34642 xml.exit(FHIR_NS, name); 34643 } 34644 } 34645 34646 protected void composeCoverageElements(Coverage element) throws IOException { 34647 composeDomainResourceElements(element); 34648 if (element.hasIdentifier()) { 34649 for (Identifier e : element.getIdentifier()) 34650 composeIdentifier("identifier", e); 34651 } 34652 if (element.hasStatusElement()) 34653 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 34654 if (element.hasType()) { 34655 composeCodeableConcept("type", element.getType()); 34656 } 34657 if (element.hasPolicyHolder()) { 34658 composeReference("policyHolder", element.getPolicyHolder()); 34659 } 34660 if (element.hasSubscriber()) { 34661 composeReference("subscriber", element.getSubscriber()); 34662 } 34663 if (element.hasSubscriberIdElement()) { 34664 composeString("subscriberId", element.getSubscriberIdElement()); 34665 } 34666 if (element.hasBeneficiary()) { 34667 composeReference("beneficiary", element.getBeneficiary()); 34668 } 34669 if (element.hasDependentElement()) { 34670 composeString("dependent", element.getDependentElement()); 34671 } 34672 if (element.hasRelationship()) { 34673 composeCodeableConcept("relationship", element.getRelationship()); 34674 } 34675 if (element.hasPeriod()) { 34676 composePeriod("period", element.getPeriod()); 34677 } 34678 if (element.hasPayor()) { 34679 for (Reference e : element.getPayor()) 34680 composeReference("payor", e); 34681 } 34682 if (element.hasClass_()) { 34683 for (Coverage.ClassComponent e : element.getClass_()) 34684 composeCoverageClassComponent("class", e); 34685 } 34686 if (element.hasOrderElement()) { 34687 composePositiveInt("order", element.getOrderElement()); 34688 } 34689 if (element.hasNetworkElement()) { 34690 composeString("network", element.getNetworkElement()); 34691 } 34692 if (element.hasCostToBeneficiary()) { 34693 for (Coverage.CostToBeneficiaryComponent e : element.getCostToBeneficiary()) 34694 composeCoverageCostToBeneficiaryComponent("costToBeneficiary", e); 34695 } 34696 if (element.hasSubrogationElement()) { 34697 composeBoolean("subrogation", element.getSubrogationElement()); 34698 } 34699 if (element.hasContract()) { 34700 for (Reference e : element.getContract()) 34701 composeReference("contract", e); 34702 } 34703 } 34704 34705 protected void composeCoverageClassComponent(String name, Coverage.ClassComponent element) throws IOException { 34706 if (element != null) { 34707 composeElementAttributes(element); 34708 xml.enter(FHIR_NS, name); 34709 composeCoverageClassComponentElements(element); 34710 composeElementClose(element); 34711 xml.exit(FHIR_NS, name); 34712 } 34713 } 34714 34715 protected void composeCoverageClassComponentElements(Coverage.ClassComponent element) throws IOException { 34716 composeBackboneElementElements(element); 34717 if (element.hasType()) { 34718 composeCodeableConcept("type", element.getType()); 34719 } 34720 if (element.hasValueElement()) { 34721 composeString("value", element.getValueElement()); 34722 } 34723 if (element.hasNameElement()) { 34724 composeString("name", element.getNameElement()); 34725 } 34726 } 34727 34728 protected void composeCoverageCostToBeneficiaryComponent(String name, Coverage.CostToBeneficiaryComponent element) throws IOException { 34729 if (element != null) { 34730 composeElementAttributes(element); 34731 xml.enter(FHIR_NS, name); 34732 composeCoverageCostToBeneficiaryComponentElements(element); 34733 composeElementClose(element); 34734 xml.exit(FHIR_NS, name); 34735 } 34736 } 34737 34738 protected void composeCoverageCostToBeneficiaryComponentElements(Coverage.CostToBeneficiaryComponent element) throws IOException { 34739 composeBackboneElementElements(element); 34740 if (element.hasType()) { 34741 composeCodeableConcept("type", element.getType()); 34742 } 34743 if (element.hasValue()) { 34744 composeType("value", element.getValue()); 34745 } if (element.hasException()) { 34746 for (Coverage.ExemptionComponent e : element.getException()) 34747 composeCoverageExemptionComponent("exception", e); 34748 } 34749 } 34750 34751 protected void composeCoverageExemptionComponent(String name, Coverage.ExemptionComponent element) throws IOException { 34752 if (element != null) { 34753 composeElementAttributes(element); 34754 xml.enter(FHIR_NS, name); 34755 composeCoverageExemptionComponentElements(element); 34756 composeElementClose(element); 34757 xml.exit(FHIR_NS, name); 34758 } 34759 } 34760 34761 protected void composeCoverageExemptionComponentElements(Coverage.ExemptionComponent element) throws IOException { 34762 composeBackboneElementElements(element); 34763 if (element.hasType()) { 34764 composeCodeableConcept("type", element.getType()); 34765 } 34766 if (element.hasPeriod()) { 34767 composePeriod("period", element.getPeriod()); 34768 } 34769 } 34770 34771 protected void composeCoverageEligibilityRequest(String name, CoverageEligibilityRequest element) throws IOException { 34772 if (element != null) { 34773 composeResourceAttributes(element); 34774 xml.enter(FHIR_NS, name); 34775 composeCoverageEligibilityRequestElements(element); 34776 composeElementClose(element); 34777 xml.exit(FHIR_NS, name); 34778 } 34779 } 34780 34781 protected void composeCoverageEligibilityRequestElements(CoverageEligibilityRequest element) throws IOException { 34782 composeDomainResourceElements(element); 34783 if (element.hasIdentifier()) { 34784 for (Identifier e : element.getIdentifier()) 34785 composeIdentifier("identifier", e); 34786 } 34787 if (element.hasStatusElement()) 34788 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 34789 if (element.hasPriority()) { 34790 composeCodeableConcept("priority", element.getPriority()); 34791 } 34792 if (element.hasPurpose()) 34793 for (Enumeration<CoverageEligibilityRequest.EligibilityRequestPurpose> e : element.getPurpose()) 34794 composeEnumeration("purpose", e, new CoverageEligibilityRequest.EligibilityRequestPurposeEnumFactory()); 34795 if (element.hasPatient()) { 34796 composeReference("patient", element.getPatient()); 34797 } 34798 if (element.hasServiced()) { 34799 composeType("serviced", element.getServiced()); 34800 } if (element.hasCreatedElement()) { 34801 composeDateTime("created", element.getCreatedElement()); 34802 } 34803 if (element.hasEnterer()) { 34804 composeReference("enterer", element.getEnterer()); 34805 } 34806 if (element.hasProvider()) { 34807 composeReference("provider", element.getProvider()); 34808 } 34809 if (element.hasInsurer()) { 34810 composeReference("insurer", element.getInsurer()); 34811 } 34812 if (element.hasFacility()) { 34813 composeReference("facility", element.getFacility()); 34814 } 34815 if (element.hasSupportingInfo()) { 34816 for (CoverageEligibilityRequest.SupportingInformationComponent e : element.getSupportingInfo()) 34817 composeCoverageEligibilityRequestSupportingInformationComponent("supportingInfo", e); 34818 } 34819 if (element.hasInsurance()) { 34820 for (CoverageEligibilityRequest.InsuranceComponent e : element.getInsurance()) 34821 composeCoverageEligibilityRequestInsuranceComponent("insurance", e); 34822 } 34823 if (element.hasItem()) { 34824 for (CoverageEligibilityRequest.DetailsComponent e : element.getItem()) 34825 composeCoverageEligibilityRequestDetailsComponent("item", e); 34826 } 34827 } 34828 34829 protected void composeCoverageEligibilityRequestSupportingInformationComponent(String name, CoverageEligibilityRequest.SupportingInformationComponent element) throws IOException { 34830 if (element != null) { 34831 composeElementAttributes(element); 34832 xml.enter(FHIR_NS, name); 34833 composeCoverageEligibilityRequestSupportingInformationComponentElements(element); 34834 composeElementClose(element); 34835 xml.exit(FHIR_NS, name); 34836 } 34837 } 34838 34839 protected void composeCoverageEligibilityRequestSupportingInformationComponentElements(CoverageEligibilityRequest.SupportingInformationComponent element) throws IOException { 34840 composeBackboneElementElements(element); 34841 if (element.hasSequenceElement()) { 34842 composePositiveInt("sequence", element.getSequenceElement()); 34843 } 34844 if (element.hasInformation()) { 34845 composeReference("information", element.getInformation()); 34846 } 34847 if (element.hasAppliesToAllElement()) { 34848 composeBoolean("appliesToAll", element.getAppliesToAllElement()); 34849 } 34850 } 34851 34852 protected void composeCoverageEligibilityRequestInsuranceComponent(String name, CoverageEligibilityRequest.InsuranceComponent element) throws IOException { 34853 if (element != null) { 34854 composeElementAttributes(element); 34855 xml.enter(FHIR_NS, name); 34856 composeCoverageEligibilityRequestInsuranceComponentElements(element); 34857 composeElementClose(element); 34858 xml.exit(FHIR_NS, name); 34859 } 34860 } 34861 34862 protected void composeCoverageEligibilityRequestInsuranceComponentElements(CoverageEligibilityRequest.InsuranceComponent element) throws IOException { 34863 composeBackboneElementElements(element); 34864 if (element.hasFocalElement()) { 34865 composeBoolean("focal", element.getFocalElement()); 34866 } 34867 if (element.hasCoverage()) { 34868 composeReference("coverage", element.getCoverage()); 34869 } 34870 if (element.hasBusinessArrangementElement()) { 34871 composeString("businessArrangement", element.getBusinessArrangementElement()); 34872 } 34873 } 34874 34875 protected void composeCoverageEligibilityRequestDetailsComponent(String name, CoverageEligibilityRequest.DetailsComponent element) throws IOException { 34876 if (element != null) { 34877 composeElementAttributes(element); 34878 xml.enter(FHIR_NS, name); 34879 composeCoverageEligibilityRequestDetailsComponentElements(element); 34880 composeElementClose(element); 34881 xml.exit(FHIR_NS, name); 34882 } 34883 } 34884 34885 protected void composeCoverageEligibilityRequestDetailsComponentElements(CoverageEligibilityRequest.DetailsComponent element) throws IOException { 34886 composeBackboneElementElements(element); 34887 if (element.hasSupportingInfoSequence()) { 34888 for (PositiveIntType e : element.getSupportingInfoSequence()) 34889 composePositiveInt("supportingInfoSequence", e); 34890 } 34891 if (element.hasCategory()) { 34892 composeCodeableConcept("category", element.getCategory()); 34893 } 34894 if (element.hasProductOrService()) { 34895 composeCodeableConcept("productOrService", element.getProductOrService()); 34896 } 34897 if (element.hasModifier()) { 34898 for (CodeableConcept e : element.getModifier()) 34899 composeCodeableConcept("modifier", e); 34900 } 34901 if (element.hasProvider()) { 34902 composeReference("provider", element.getProvider()); 34903 } 34904 if (element.hasQuantity()) { 34905 composeQuantity("quantity", element.getQuantity()); 34906 } 34907 if (element.hasUnitPrice()) { 34908 composeMoney("unitPrice", element.getUnitPrice()); 34909 } 34910 if (element.hasFacility()) { 34911 composeReference("facility", element.getFacility()); 34912 } 34913 if (element.hasDiagnosis()) { 34914 for (CoverageEligibilityRequest.DiagnosisComponent e : element.getDiagnosis()) 34915 composeCoverageEligibilityRequestDiagnosisComponent("diagnosis", e); 34916 } 34917 if (element.hasDetail()) { 34918 for (Reference e : element.getDetail()) 34919 composeReference("detail", e); 34920 } 34921 } 34922 34923 protected void composeCoverageEligibilityRequestDiagnosisComponent(String name, CoverageEligibilityRequest.DiagnosisComponent element) throws IOException { 34924 if (element != null) { 34925 composeElementAttributes(element); 34926 xml.enter(FHIR_NS, name); 34927 composeCoverageEligibilityRequestDiagnosisComponentElements(element); 34928 composeElementClose(element); 34929 xml.exit(FHIR_NS, name); 34930 } 34931 } 34932 34933 protected void composeCoverageEligibilityRequestDiagnosisComponentElements(CoverageEligibilityRequest.DiagnosisComponent element) throws IOException { 34934 composeBackboneElementElements(element); 34935 if (element.hasDiagnosis()) { 34936 composeType("diagnosis", element.getDiagnosis()); 34937 } } 34938 34939 protected void composeCoverageEligibilityResponse(String name, CoverageEligibilityResponse element) throws IOException { 34940 if (element != null) { 34941 composeResourceAttributes(element); 34942 xml.enter(FHIR_NS, name); 34943 composeCoverageEligibilityResponseElements(element); 34944 composeElementClose(element); 34945 xml.exit(FHIR_NS, name); 34946 } 34947 } 34948 34949 protected void composeCoverageEligibilityResponseElements(CoverageEligibilityResponse element) throws IOException { 34950 composeDomainResourceElements(element); 34951 if (element.hasIdentifier()) { 34952 for (Identifier e : element.getIdentifier()) 34953 composeIdentifier("identifier", e); 34954 } 34955 if (element.hasStatusElement()) 34956 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 34957 if (element.hasPurpose()) 34958 for (Enumeration<CoverageEligibilityResponse.EligibilityResponsePurpose> e : element.getPurpose()) 34959 composeEnumeration("purpose", e, new CoverageEligibilityResponse.EligibilityResponsePurposeEnumFactory()); 34960 if (element.hasPatient()) { 34961 composeReference("patient", element.getPatient()); 34962 } 34963 if (element.hasServiced()) { 34964 composeType("serviced", element.getServiced()); 34965 } if (element.hasCreatedElement()) { 34966 composeDateTime("created", element.getCreatedElement()); 34967 } 34968 if (element.hasRequestor()) { 34969 composeReference("requestor", element.getRequestor()); 34970 } 34971 if (element.hasRequest()) { 34972 composeReference("request", element.getRequest()); 34973 } 34974 if (element.hasOutcomeElement()) 34975 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 34976 if (element.hasDispositionElement()) { 34977 composeString("disposition", element.getDispositionElement()); 34978 } 34979 if (element.hasInsurer()) { 34980 composeReference("insurer", element.getInsurer()); 34981 } 34982 if (element.hasInsurance()) { 34983 for (CoverageEligibilityResponse.InsuranceComponent e : element.getInsurance()) 34984 composeCoverageEligibilityResponseInsuranceComponent("insurance", e); 34985 } 34986 if (element.hasPreAuthRefElement()) { 34987 composeString("preAuthRef", element.getPreAuthRefElement()); 34988 } 34989 if (element.hasForm()) { 34990 composeCodeableConcept("form", element.getForm()); 34991 } 34992 if (element.hasError()) { 34993 for (CoverageEligibilityResponse.ErrorsComponent e : element.getError()) 34994 composeCoverageEligibilityResponseErrorsComponent("error", e); 34995 } 34996 } 34997 34998 protected void composeCoverageEligibilityResponseInsuranceComponent(String name, CoverageEligibilityResponse.InsuranceComponent element) throws IOException { 34999 if (element != null) { 35000 composeElementAttributes(element); 35001 xml.enter(FHIR_NS, name); 35002 composeCoverageEligibilityResponseInsuranceComponentElements(element); 35003 composeElementClose(element); 35004 xml.exit(FHIR_NS, name); 35005 } 35006 } 35007 35008 protected void composeCoverageEligibilityResponseInsuranceComponentElements(CoverageEligibilityResponse.InsuranceComponent element) throws IOException { 35009 composeBackboneElementElements(element); 35010 if (element.hasCoverage()) { 35011 composeReference("coverage", element.getCoverage()); 35012 } 35013 if (element.hasInforceElement()) { 35014 composeBoolean("inforce", element.getInforceElement()); 35015 } 35016 if (element.hasBenefitPeriod()) { 35017 composePeriod("benefitPeriod", element.getBenefitPeriod()); 35018 } 35019 if (element.hasItem()) { 35020 for (CoverageEligibilityResponse.ItemsComponent e : element.getItem()) 35021 composeCoverageEligibilityResponseItemsComponent("item", e); 35022 } 35023 } 35024 35025 protected void composeCoverageEligibilityResponseItemsComponent(String name, CoverageEligibilityResponse.ItemsComponent element) throws IOException { 35026 if (element != null) { 35027 composeElementAttributes(element); 35028 xml.enter(FHIR_NS, name); 35029 composeCoverageEligibilityResponseItemsComponentElements(element); 35030 composeElementClose(element); 35031 xml.exit(FHIR_NS, name); 35032 } 35033 } 35034 35035 protected void composeCoverageEligibilityResponseItemsComponentElements(CoverageEligibilityResponse.ItemsComponent element) throws IOException { 35036 composeBackboneElementElements(element); 35037 if (element.hasCategory()) { 35038 composeCodeableConcept("category", element.getCategory()); 35039 } 35040 if (element.hasProductOrService()) { 35041 composeCodeableConcept("productOrService", element.getProductOrService()); 35042 } 35043 if (element.hasModifier()) { 35044 for (CodeableConcept e : element.getModifier()) 35045 composeCodeableConcept("modifier", e); 35046 } 35047 if (element.hasProvider()) { 35048 composeReference("provider", element.getProvider()); 35049 } 35050 if (element.hasExcludedElement()) { 35051 composeBoolean("excluded", element.getExcludedElement()); 35052 } 35053 if (element.hasNameElement()) { 35054 composeString("name", element.getNameElement()); 35055 } 35056 if (element.hasDescriptionElement()) { 35057 composeString("description", element.getDescriptionElement()); 35058 } 35059 if (element.hasNetwork()) { 35060 composeCodeableConcept("network", element.getNetwork()); 35061 } 35062 if (element.hasUnit()) { 35063 composeCodeableConcept("unit", element.getUnit()); 35064 } 35065 if (element.hasTerm()) { 35066 composeCodeableConcept("term", element.getTerm()); 35067 } 35068 if (element.hasBenefit()) { 35069 for (CoverageEligibilityResponse.BenefitComponent e : element.getBenefit()) 35070 composeCoverageEligibilityResponseBenefitComponent("benefit", e); 35071 } 35072 if (element.hasAuthorizationRequiredElement()) { 35073 composeBoolean("authorizationRequired", element.getAuthorizationRequiredElement()); 35074 } 35075 if (element.hasAuthorizationSupporting()) { 35076 for (CodeableConcept e : element.getAuthorizationSupporting()) 35077 composeCodeableConcept("authorizationSupporting", e); 35078 } 35079 if (element.hasAuthorizationUrlElement()) { 35080 composeUri("authorizationUrl", element.getAuthorizationUrlElement()); 35081 } 35082 } 35083 35084 protected void composeCoverageEligibilityResponseBenefitComponent(String name, CoverageEligibilityResponse.BenefitComponent element) throws IOException { 35085 if (element != null) { 35086 composeElementAttributes(element); 35087 xml.enter(FHIR_NS, name); 35088 composeCoverageEligibilityResponseBenefitComponentElements(element); 35089 composeElementClose(element); 35090 xml.exit(FHIR_NS, name); 35091 } 35092 } 35093 35094 protected void composeCoverageEligibilityResponseBenefitComponentElements(CoverageEligibilityResponse.BenefitComponent element) throws IOException { 35095 composeBackboneElementElements(element); 35096 if (element.hasType()) { 35097 composeCodeableConcept("type", element.getType()); 35098 } 35099 if (element.hasAllowed()) { 35100 composeType("allowed", element.getAllowed()); 35101 } if (element.hasUsed()) { 35102 composeType("used", element.getUsed()); 35103 } } 35104 35105 protected void composeCoverageEligibilityResponseErrorsComponent(String name, CoverageEligibilityResponse.ErrorsComponent element) throws IOException { 35106 if (element != null) { 35107 composeElementAttributes(element); 35108 xml.enter(FHIR_NS, name); 35109 composeCoverageEligibilityResponseErrorsComponentElements(element); 35110 composeElementClose(element); 35111 xml.exit(FHIR_NS, name); 35112 } 35113 } 35114 35115 protected void composeCoverageEligibilityResponseErrorsComponentElements(CoverageEligibilityResponse.ErrorsComponent element) throws IOException { 35116 composeBackboneElementElements(element); 35117 if (element.hasCode()) { 35118 composeCodeableConcept("code", element.getCode()); 35119 } 35120 } 35121 35122 protected void composeDetectedIssue(String name, DetectedIssue element) throws IOException { 35123 if (element != null) { 35124 composeResourceAttributes(element); 35125 xml.enter(FHIR_NS, name); 35126 composeDetectedIssueElements(element); 35127 composeElementClose(element); 35128 xml.exit(FHIR_NS, name); 35129 } 35130 } 35131 35132 protected void composeDetectedIssueElements(DetectedIssue element) throws IOException { 35133 composeDomainResourceElements(element); 35134 if (element.hasIdentifier()) { 35135 for (Identifier e : element.getIdentifier()) 35136 composeIdentifier("identifier", e); 35137 } 35138 if (element.hasStatusElement()) 35139 composeEnumeration("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory()); 35140 if (element.hasCode()) { 35141 composeCodeableConcept("code", element.getCode()); 35142 } 35143 if (element.hasSeverityElement()) 35144 composeEnumeration("severity", element.getSeverityElement(), new DetectedIssue.DetectedIssueSeverityEnumFactory()); 35145 if (element.hasPatient()) { 35146 composeReference("patient", element.getPatient()); 35147 } 35148 if (element.hasIdentified()) { 35149 composeType("identified", element.getIdentified()); 35150 } if (element.hasAuthor()) { 35151 composeReference("author", element.getAuthor()); 35152 } 35153 if (element.hasImplicated()) { 35154 for (Reference e : element.getImplicated()) 35155 composeReference("implicated", e); 35156 } 35157 if (element.hasEvidence()) { 35158 for (DetectedIssue.DetectedIssueEvidenceComponent e : element.getEvidence()) 35159 composeDetectedIssueEvidenceComponent("evidence", e); 35160 } 35161 if (element.hasDetailElement()) { 35162 composeString("detail", element.getDetailElement()); 35163 } 35164 if (element.hasReferenceElement()) { 35165 composeUri("reference", element.getReferenceElement()); 35166 } 35167 if (element.hasMitigation()) { 35168 for (DetectedIssue.DetectedIssueMitigationComponent e : element.getMitigation()) 35169 composeDetectedIssueMitigationComponent("mitigation", e); 35170 } 35171 } 35172 35173 protected void composeDetectedIssueEvidenceComponent(String name, DetectedIssue.DetectedIssueEvidenceComponent element) throws IOException { 35174 if (element != null) { 35175 composeElementAttributes(element); 35176 xml.enter(FHIR_NS, name); 35177 composeDetectedIssueEvidenceComponentElements(element); 35178 composeElementClose(element); 35179 xml.exit(FHIR_NS, name); 35180 } 35181 } 35182 35183 protected void composeDetectedIssueEvidenceComponentElements(DetectedIssue.DetectedIssueEvidenceComponent element) throws IOException { 35184 composeBackboneElementElements(element); 35185 if (element.hasCode()) { 35186 for (CodeableConcept e : element.getCode()) 35187 composeCodeableConcept("code", e); 35188 } 35189 if (element.hasDetail()) { 35190 for (Reference e : element.getDetail()) 35191 composeReference("detail", e); 35192 } 35193 } 35194 35195 protected void composeDetectedIssueMitigationComponent(String name, DetectedIssue.DetectedIssueMitigationComponent element) throws IOException { 35196 if (element != null) { 35197 composeElementAttributes(element); 35198 xml.enter(FHIR_NS, name); 35199 composeDetectedIssueMitigationComponentElements(element); 35200 composeElementClose(element); 35201 xml.exit(FHIR_NS, name); 35202 } 35203 } 35204 35205 protected void composeDetectedIssueMitigationComponentElements(DetectedIssue.DetectedIssueMitigationComponent element) throws IOException { 35206 composeBackboneElementElements(element); 35207 if (element.hasAction()) { 35208 composeCodeableConcept("action", element.getAction()); 35209 } 35210 if (element.hasDateElement()) { 35211 composeDateTime("date", element.getDateElement()); 35212 } 35213 if (element.hasAuthor()) { 35214 composeReference("author", element.getAuthor()); 35215 } 35216 } 35217 35218 protected void composeDevice(String name, Device element) throws IOException { 35219 if (element != null) { 35220 composeResourceAttributes(element); 35221 xml.enter(FHIR_NS, name); 35222 composeDeviceElements(element); 35223 composeElementClose(element); 35224 xml.exit(FHIR_NS, name); 35225 } 35226 } 35227 35228 protected void composeDeviceElements(Device element) throws IOException { 35229 composeDomainResourceElements(element); 35230 if (element.hasIdentifier()) { 35231 for (Identifier e : element.getIdentifier()) 35232 composeIdentifier("identifier", e); 35233 } 35234 if (element.hasDefinition()) { 35235 composeReference("definition", element.getDefinition()); 35236 } 35237 if (element.hasUdiCarrier()) { 35238 for (Device.DeviceUdiCarrierComponent e : element.getUdiCarrier()) 35239 composeDeviceUdiCarrierComponent("udiCarrier", e); 35240 } 35241 if (element.hasStatusElement()) 35242 composeEnumeration("status", element.getStatusElement(), new Device.FHIRDeviceStatusEnumFactory()); 35243 if (element.hasStatusReason()) { 35244 for (CodeableConcept e : element.getStatusReason()) 35245 composeCodeableConcept("statusReason", e); 35246 } 35247 if (element.hasDistinctIdentifierElement()) { 35248 composeString("distinctIdentifier", element.getDistinctIdentifierElement()); 35249 } 35250 if (element.hasManufacturerElement()) { 35251 composeString("manufacturer", element.getManufacturerElement()); 35252 } 35253 if (element.hasManufactureDateElement()) { 35254 composeDateTime("manufactureDate", element.getManufactureDateElement()); 35255 } 35256 if (element.hasExpirationDateElement()) { 35257 composeDateTime("expirationDate", element.getExpirationDateElement()); 35258 } 35259 if (element.hasLotNumberElement()) { 35260 composeString("lotNumber", element.getLotNumberElement()); 35261 } 35262 if (element.hasSerialNumberElement()) { 35263 composeString("serialNumber", element.getSerialNumberElement()); 35264 } 35265 if (element.hasDeviceName()) { 35266 for (Device.DeviceDeviceNameComponent e : element.getDeviceName()) 35267 composeDeviceDeviceNameComponent("deviceName", e); 35268 } 35269 if (element.hasModelNumberElement()) { 35270 composeString("modelNumber", element.getModelNumberElement()); 35271 } 35272 if (element.hasPartNumberElement()) { 35273 composeString("partNumber", element.getPartNumberElement()); 35274 } 35275 if (element.hasType()) { 35276 composeCodeableConcept("type", element.getType()); 35277 } 35278 if (element.hasSpecialization()) { 35279 for (Device.DeviceSpecializationComponent e : element.getSpecialization()) 35280 composeDeviceSpecializationComponent("specialization", e); 35281 } 35282 if (element.hasVersion()) { 35283 for (Device.DeviceVersionComponent e : element.getVersion()) 35284 composeDeviceVersionComponent("version", e); 35285 } 35286 if (element.hasProperty()) { 35287 for (Device.DevicePropertyComponent e : element.getProperty()) 35288 composeDevicePropertyComponent("property", e); 35289 } 35290 if (element.hasPatient()) { 35291 composeReference("patient", element.getPatient()); 35292 } 35293 if (element.hasOwner()) { 35294 composeReference("owner", element.getOwner()); 35295 } 35296 if (element.hasContact()) { 35297 for (ContactPoint e : element.getContact()) 35298 composeContactPoint("contact", e); 35299 } 35300 if (element.hasLocation()) { 35301 composeReference("location", element.getLocation()); 35302 } 35303 if (element.hasUrlElement()) { 35304 composeUri("url", element.getUrlElement()); 35305 } 35306 if (element.hasNote()) { 35307 for (Annotation e : element.getNote()) 35308 composeAnnotation("note", e); 35309 } 35310 if (element.hasSafety()) { 35311 for (CodeableConcept e : element.getSafety()) 35312 composeCodeableConcept("safety", e); 35313 } 35314 if (element.hasParent()) { 35315 composeReference("parent", element.getParent()); 35316 } 35317 } 35318 35319 protected void composeDeviceUdiCarrierComponent(String name, Device.DeviceUdiCarrierComponent element) throws IOException { 35320 if (element != null) { 35321 composeElementAttributes(element); 35322 xml.enter(FHIR_NS, name); 35323 composeDeviceUdiCarrierComponentElements(element); 35324 composeElementClose(element); 35325 xml.exit(FHIR_NS, name); 35326 } 35327 } 35328 35329 protected void composeDeviceUdiCarrierComponentElements(Device.DeviceUdiCarrierComponent element) throws IOException { 35330 composeBackboneElementElements(element); 35331 if (element.hasDeviceIdentifierElement()) { 35332 composeString("deviceIdentifier", element.getDeviceIdentifierElement()); 35333 } 35334 if (element.hasIssuerElement()) { 35335 composeUri("issuer", element.getIssuerElement()); 35336 } 35337 if (element.hasJurisdictionElement()) { 35338 composeUri("jurisdiction", element.getJurisdictionElement()); 35339 } 35340 if (element.hasCarrierAIDCElement()) { 35341 composeBase64Binary("carrierAIDC", element.getCarrierAIDCElement()); 35342 } 35343 if (element.hasCarrierHRFElement()) { 35344 composeString("carrierHRF", element.getCarrierHRFElement()); 35345 } 35346 if (element.hasEntryTypeElement()) 35347 composeEnumeration("entryType", element.getEntryTypeElement(), new Device.UDIEntryTypeEnumFactory()); 35348 } 35349 35350 protected void composeDeviceDeviceNameComponent(String name, Device.DeviceDeviceNameComponent element) throws IOException { 35351 if (element != null) { 35352 composeElementAttributes(element); 35353 xml.enter(FHIR_NS, name); 35354 composeDeviceDeviceNameComponentElements(element); 35355 composeElementClose(element); 35356 xml.exit(FHIR_NS, name); 35357 } 35358 } 35359 35360 protected void composeDeviceDeviceNameComponentElements(Device.DeviceDeviceNameComponent element) throws IOException { 35361 composeBackboneElementElements(element); 35362 if (element.hasNameElement()) { 35363 composeString("name", element.getNameElement()); 35364 } 35365 if (element.hasTypeElement()) 35366 composeEnumeration("type", element.getTypeElement(), new Enumerations.DeviceNameTypeEnumFactory()); 35367 } 35368 35369 protected void composeDeviceSpecializationComponent(String name, Device.DeviceSpecializationComponent element) throws IOException { 35370 if (element != null) { 35371 composeElementAttributes(element); 35372 xml.enter(FHIR_NS, name); 35373 composeDeviceSpecializationComponentElements(element); 35374 composeElementClose(element); 35375 xml.exit(FHIR_NS, name); 35376 } 35377 } 35378 35379 protected void composeDeviceSpecializationComponentElements(Device.DeviceSpecializationComponent element) throws IOException { 35380 composeBackboneElementElements(element); 35381 if (element.hasSystemType()) { 35382 composeCodeableConcept("systemType", element.getSystemType()); 35383 } 35384 if (element.hasVersionElement()) { 35385 composeString("version", element.getVersionElement()); 35386 } 35387 } 35388 35389 protected void composeDeviceVersionComponent(String name, Device.DeviceVersionComponent element) throws IOException { 35390 if (element != null) { 35391 composeElementAttributes(element); 35392 xml.enter(FHIR_NS, name); 35393 composeDeviceVersionComponentElements(element); 35394 composeElementClose(element); 35395 xml.exit(FHIR_NS, name); 35396 } 35397 } 35398 35399 protected void composeDeviceVersionComponentElements(Device.DeviceVersionComponent element) throws IOException { 35400 composeBackboneElementElements(element); 35401 if (element.hasType()) { 35402 composeCodeableConcept("type", element.getType()); 35403 } 35404 if (element.hasComponent()) { 35405 composeIdentifier("component", element.getComponent()); 35406 } 35407 if (element.hasValueElement()) { 35408 composeString("value", element.getValueElement()); 35409 } 35410 } 35411 35412 protected void composeDevicePropertyComponent(String name, Device.DevicePropertyComponent element) throws IOException { 35413 if (element != null) { 35414 composeElementAttributes(element); 35415 xml.enter(FHIR_NS, name); 35416 composeDevicePropertyComponentElements(element); 35417 composeElementClose(element); 35418 xml.exit(FHIR_NS, name); 35419 } 35420 } 35421 35422 protected void composeDevicePropertyComponentElements(Device.DevicePropertyComponent element) throws IOException { 35423 composeBackboneElementElements(element); 35424 if (element.hasType()) { 35425 composeCodeableConcept("type", element.getType()); 35426 } 35427 if (element.hasValueQuantity()) { 35428 for (Quantity e : element.getValueQuantity()) 35429 composeQuantity("valueQuantity", e); 35430 } 35431 if (element.hasValueCode()) { 35432 for (CodeableConcept e : element.getValueCode()) 35433 composeCodeableConcept("valueCode", e); 35434 } 35435 } 35436 35437 protected void composeDeviceDefinition(String name, DeviceDefinition element) throws IOException { 35438 if (element != null) { 35439 composeResourceAttributes(element); 35440 xml.enter(FHIR_NS, name); 35441 composeDeviceDefinitionElements(element); 35442 composeElementClose(element); 35443 xml.exit(FHIR_NS, name); 35444 } 35445 } 35446 35447 protected void composeDeviceDefinitionElements(DeviceDefinition element) throws IOException { 35448 composeDomainResourceElements(element); 35449 if (element.hasIdentifier()) { 35450 for (Identifier e : element.getIdentifier()) 35451 composeIdentifier("identifier", e); 35452 } 35453 if (element.hasUdiDeviceIdentifier()) { 35454 for (DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) 35455 composeDeviceDefinitionUdiDeviceIdentifierComponent("udiDeviceIdentifier", e); 35456 } 35457 if (element.hasManufacturer()) { 35458 composeType("manufacturer", element.getManufacturer()); 35459 } if (element.hasDeviceName()) { 35460 for (DeviceDefinition.DeviceDefinitionDeviceNameComponent e : element.getDeviceName()) 35461 composeDeviceDefinitionDeviceNameComponent("deviceName", e); 35462 } 35463 if (element.hasModelNumberElement()) { 35464 composeString("modelNumber", element.getModelNumberElement()); 35465 } 35466 if (element.hasType()) { 35467 composeCodeableConcept("type", element.getType()); 35468 } 35469 if (element.hasSpecialization()) { 35470 for (DeviceDefinition.DeviceDefinitionSpecializationComponent e : element.getSpecialization()) 35471 composeDeviceDefinitionSpecializationComponent("specialization", e); 35472 } 35473 if (element.hasVersion()) { 35474 for (StringType e : element.getVersion()) 35475 composeString("version", e); 35476 } 35477 if (element.hasSafety()) { 35478 for (CodeableConcept e : element.getSafety()) 35479 composeCodeableConcept("safety", e); 35480 } 35481 if (element.hasShelfLifeStorage()) { 35482 for (ProductShelfLife e : element.getShelfLifeStorage()) 35483 composeProductShelfLife("shelfLifeStorage", e); 35484 } 35485 if (element.hasPhysicalCharacteristics()) { 35486 composeProdCharacteristic("physicalCharacteristics", element.getPhysicalCharacteristics()); 35487 } 35488 if (element.hasLanguageCode()) { 35489 for (CodeableConcept e : element.getLanguageCode()) 35490 composeCodeableConcept("languageCode", e); 35491 } 35492 if (element.hasCapability()) { 35493 for (DeviceDefinition.DeviceDefinitionCapabilityComponent e : element.getCapability()) 35494 composeDeviceDefinitionCapabilityComponent("capability", e); 35495 } 35496 if (element.hasProperty()) { 35497 for (DeviceDefinition.DeviceDefinitionPropertyComponent e : element.getProperty()) 35498 composeDeviceDefinitionPropertyComponent("property", e); 35499 } 35500 if (element.hasOwner()) { 35501 composeReference("owner", element.getOwner()); 35502 } 35503 if (element.hasContact()) { 35504 for (ContactPoint e : element.getContact()) 35505 composeContactPoint("contact", e); 35506 } 35507 if (element.hasUrlElement()) { 35508 composeUri("url", element.getUrlElement()); 35509 } 35510 if (element.hasOnlineInformationElement()) { 35511 composeUri("onlineInformation", element.getOnlineInformationElement()); 35512 } 35513 if (element.hasNote()) { 35514 for (Annotation e : element.getNote()) 35515 composeAnnotation("note", e); 35516 } 35517 if (element.hasQuantity()) { 35518 composeQuantity("quantity", element.getQuantity()); 35519 } 35520 if (element.hasParentDevice()) { 35521 composeReference("parentDevice", element.getParentDevice()); 35522 } 35523 if (element.hasMaterial()) { 35524 for (DeviceDefinition.DeviceDefinitionMaterialComponent e : element.getMaterial()) 35525 composeDeviceDefinitionMaterialComponent("material", e); 35526 } 35527 } 35528 35529 protected void composeDeviceDefinitionUdiDeviceIdentifierComponent(String name, DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent element) throws IOException { 35530 if (element != null) { 35531 composeElementAttributes(element); 35532 xml.enter(FHIR_NS, name); 35533 composeDeviceDefinitionUdiDeviceIdentifierComponentElements(element); 35534 composeElementClose(element); 35535 xml.exit(FHIR_NS, name); 35536 } 35537 } 35538 35539 protected void composeDeviceDefinitionUdiDeviceIdentifierComponentElements(DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent element) throws IOException { 35540 composeBackboneElementElements(element); 35541 if (element.hasDeviceIdentifierElement()) { 35542 composeString("deviceIdentifier", element.getDeviceIdentifierElement()); 35543 } 35544 if (element.hasIssuerElement()) { 35545 composeUri("issuer", element.getIssuerElement()); 35546 } 35547 if (element.hasJurisdictionElement()) { 35548 composeUri("jurisdiction", element.getJurisdictionElement()); 35549 } 35550 } 35551 35552 protected void composeDeviceDefinitionDeviceNameComponent(String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element) throws IOException { 35553 if (element != null) { 35554 composeElementAttributes(element); 35555 xml.enter(FHIR_NS, name); 35556 composeDeviceDefinitionDeviceNameComponentElements(element); 35557 composeElementClose(element); 35558 xml.exit(FHIR_NS, name); 35559 } 35560 } 35561 35562 protected void composeDeviceDefinitionDeviceNameComponentElements(DeviceDefinition.DeviceDefinitionDeviceNameComponent element) throws IOException { 35563 composeBackboneElementElements(element); 35564 if (element.hasNameElement()) { 35565 composeString("name", element.getNameElement()); 35566 } 35567 if (element.hasTypeElement()) 35568 composeEnumeration("type", element.getTypeElement(), new Enumerations.DeviceNameTypeEnumFactory()); 35569 } 35570 35571 protected void composeDeviceDefinitionSpecializationComponent(String name, DeviceDefinition.DeviceDefinitionSpecializationComponent element) throws IOException { 35572 if (element != null) { 35573 composeElementAttributes(element); 35574 xml.enter(FHIR_NS, name); 35575 composeDeviceDefinitionSpecializationComponentElements(element); 35576 composeElementClose(element); 35577 xml.exit(FHIR_NS, name); 35578 } 35579 } 35580 35581 protected void composeDeviceDefinitionSpecializationComponentElements(DeviceDefinition.DeviceDefinitionSpecializationComponent element) throws IOException { 35582 composeBackboneElementElements(element); 35583 if (element.hasSystemTypeElement()) { 35584 composeString("systemType", element.getSystemTypeElement()); 35585 } 35586 if (element.hasVersionElement()) { 35587 composeString("version", element.getVersionElement()); 35588 } 35589 } 35590 35591 protected void composeDeviceDefinitionCapabilityComponent(String name, DeviceDefinition.DeviceDefinitionCapabilityComponent element) throws IOException { 35592 if (element != null) { 35593 composeElementAttributes(element); 35594 xml.enter(FHIR_NS, name); 35595 composeDeviceDefinitionCapabilityComponentElements(element); 35596 composeElementClose(element); 35597 xml.exit(FHIR_NS, name); 35598 } 35599 } 35600 35601 protected void composeDeviceDefinitionCapabilityComponentElements(DeviceDefinition.DeviceDefinitionCapabilityComponent element) throws IOException { 35602 composeBackboneElementElements(element); 35603 if (element.hasType()) { 35604 composeCodeableConcept("type", element.getType()); 35605 } 35606 if (element.hasDescription()) { 35607 for (CodeableConcept e : element.getDescription()) 35608 composeCodeableConcept("description", e); 35609 } 35610 } 35611 35612 protected void composeDeviceDefinitionPropertyComponent(String name, DeviceDefinition.DeviceDefinitionPropertyComponent element) throws IOException { 35613 if (element != null) { 35614 composeElementAttributes(element); 35615 xml.enter(FHIR_NS, name); 35616 composeDeviceDefinitionPropertyComponentElements(element); 35617 composeElementClose(element); 35618 xml.exit(FHIR_NS, name); 35619 } 35620 } 35621 35622 protected void composeDeviceDefinitionPropertyComponentElements(DeviceDefinition.DeviceDefinitionPropertyComponent element) throws IOException { 35623 composeBackboneElementElements(element); 35624 if (element.hasType()) { 35625 composeCodeableConcept("type", element.getType()); 35626 } 35627 if (element.hasValueQuantity()) { 35628 for (Quantity e : element.getValueQuantity()) 35629 composeQuantity("valueQuantity", e); 35630 } 35631 if (element.hasValueCode()) { 35632 for (CodeableConcept e : element.getValueCode()) 35633 composeCodeableConcept("valueCode", e); 35634 } 35635 } 35636 35637 protected void composeDeviceDefinitionMaterialComponent(String name, DeviceDefinition.DeviceDefinitionMaterialComponent element) throws IOException { 35638 if (element != null) { 35639 composeElementAttributes(element); 35640 xml.enter(FHIR_NS, name); 35641 composeDeviceDefinitionMaterialComponentElements(element); 35642 composeElementClose(element); 35643 xml.exit(FHIR_NS, name); 35644 } 35645 } 35646 35647 protected void composeDeviceDefinitionMaterialComponentElements(DeviceDefinition.DeviceDefinitionMaterialComponent element) throws IOException { 35648 composeBackboneElementElements(element); 35649 if (element.hasSubstance()) { 35650 composeCodeableConcept("substance", element.getSubstance()); 35651 } 35652 if (element.hasAlternateElement()) { 35653 composeBoolean("alternate", element.getAlternateElement()); 35654 } 35655 if (element.hasAllergenicIndicatorElement()) { 35656 composeBoolean("allergenicIndicator", element.getAllergenicIndicatorElement()); 35657 } 35658 } 35659 35660 protected void composeDeviceMetric(String name, DeviceMetric element) throws IOException { 35661 if (element != null) { 35662 composeResourceAttributes(element); 35663 xml.enter(FHIR_NS, name); 35664 composeDeviceMetricElements(element); 35665 composeElementClose(element); 35666 xml.exit(FHIR_NS, name); 35667 } 35668 } 35669 35670 protected void composeDeviceMetricElements(DeviceMetric element) throws IOException { 35671 composeDomainResourceElements(element); 35672 if (element.hasIdentifier()) { 35673 for (Identifier e : element.getIdentifier()) 35674 composeIdentifier("identifier", e); 35675 } 35676 if (element.hasType()) { 35677 composeCodeableConcept("type", element.getType()); 35678 } 35679 if (element.hasUnit()) { 35680 composeCodeableConcept("unit", element.getUnit()); 35681 } 35682 if (element.hasSource()) { 35683 composeReference("source", element.getSource()); 35684 } 35685 if (element.hasParent()) { 35686 composeReference("parent", element.getParent()); 35687 } 35688 if (element.hasOperationalStatusElement()) 35689 composeEnumeration("operationalStatus", element.getOperationalStatusElement(), new DeviceMetric.DeviceMetricOperationalStatusEnumFactory()); 35690 if (element.hasColorElement()) 35691 composeEnumeration("color", element.getColorElement(), new DeviceMetric.DeviceMetricColorEnumFactory()); 35692 if (element.hasCategoryElement()) 35693 composeEnumeration("category", element.getCategoryElement(), new DeviceMetric.DeviceMetricCategoryEnumFactory()); 35694 if (element.hasMeasurementPeriod()) { 35695 composeTiming("measurementPeriod", element.getMeasurementPeriod()); 35696 } 35697 if (element.hasCalibration()) { 35698 for (DeviceMetric.DeviceMetricCalibrationComponent e : element.getCalibration()) 35699 composeDeviceMetricCalibrationComponent("calibration", e); 35700 } 35701 } 35702 35703 protected void composeDeviceMetricCalibrationComponent(String name, DeviceMetric.DeviceMetricCalibrationComponent element) throws IOException { 35704 if (element != null) { 35705 composeElementAttributes(element); 35706 xml.enter(FHIR_NS, name); 35707 composeDeviceMetricCalibrationComponentElements(element); 35708 composeElementClose(element); 35709 xml.exit(FHIR_NS, name); 35710 } 35711 } 35712 35713 protected void composeDeviceMetricCalibrationComponentElements(DeviceMetric.DeviceMetricCalibrationComponent element) throws IOException { 35714 composeBackboneElementElements(element); 35715 if (element.hasTypeElement()) 35716 composeEnumeration("type", element.getTypeElement(), new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory()); 35717 if (element.hasStateElement()) 35718 composeEnumeration("state", element.getStateElement(), new DeviceMetric.DeviceMetricCalibrationStateEnumFactory()); 35719 if (element.hasTimeElement()) { 35720 composeInstant("time", element.getTimeElement()); 35721 } 35722 } 35723 35724 protected void composeDeviceRequest(String name, DeviceRequest element) throws IOException { 35725 if (element != null) { 35726 composeResourceAttributes(element); 35727 xml.enter(FHIR_NS, name); 35728 composeDeviceRequestElements(element); 35729 composeElementClose(element); 35730 xml.exit(FHIR_NS, name); 35731 } 35732 } 35733 35734 protected void composeDeviceRequestElements(DeviceRequest element) throws IOException { 35735 composeDomainResourceElements(element); 35736 if (element.hasIdentifier()) { 35737 for (Identifier e : element.getIdentifier()) 35738 composeIdentifier("identifier", e); 35739 } 35740 if (element.hasInstantiatesCanonical()) { 35741 for (CanonicalType e : element.getInstantiatesCanonical()) 35742 composeCanonical("instantiatesCanonical", e); 35743 } 35744 if (element.hasInstantiatesUri()) { 35745 for (UriType e : element.getInstantiatesUri()) 35746 composeUri("instantiatesUri", e); 35747 } 35748 if (element.hasBasedOn()) { 35749 for (Reference e : element.getBasedOn()) 35750 composeReference("basedOn", e); 35751 } 35752 if (element.hasPriorRequest()) { 35753 for (Reference e : element.getPriorRequest()) 35754 composeReference("priorRequest", e); 35755 } 35756 if (element.hasGroupIdentifier()) { 35757 composeIdentifier("groupIdentifier", element.getGroupIdentifier()); 35758 } 35759 if (element.hasStatusElement()) 35760 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 35761 if (element.hasIntentElement()) 35762 composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); 35763 if (element.hasPriorityElement()) 35764 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 35765 if (element.hasCode()) { 35766 composeType("code", element.getCode()); 35767 } if (element.hasParameter()) { 35768 for (DeviceRequest.DeviceRequestParameterComponent e : element.getParameter()) 35769 composeDeviceRequestParameterComponent("parameter", e); 35770 } 35771 if (element.hasSubject()) { 35772 composeReference("subject", element.getSubject()); 35773 } 35774 if (element.hasEncounter()) { 35775 composeReference("encounter", element.getEncounter()); 35776 } 35777 if (element.hasOccurrence()) { 35778 composeType("occurrence", element.getOccurrence()); 35779 } if (element.hasAuthoredOnElement()) { 35780 composeDateTime("authoredOn", element.getAuthoredOnElement()); 35781 } 35782 if (element.hasRequester()) { 35783 composeReference("requester", element.getRequester()); 35784 } 35785 if (element.hasPerformerType()) { 35786 composeCodeableConcept("performerType", element.getPerformerType()); 35787 } 35788 if (element.hasPerformer()) { 35789 composeReference("performer", element.getPerformer()); 35790 } 35791 if (element.hasReasonCode()) { 35792 for (CodeableConcept e : element.getReasonCode()) 35793 composeCodeableConcept("reasonCode", e); 35794 } 35795 if (element.hasReasonReference()) { 35796 for (Reference e : element.getReasonReference()) 35797 composeReference("reasonReference", e); 35798 } 35799 if (element.hasInsurance()) { 35800 for (Reference e : element.getInsurance()) 35801 composeReference("insurance", e); 35802 } 35803 if (element.hasSupportingInfo()) { 35804 for (Reference e : element.getSupportingInfo()) 35805 composeReference("supportingInfo", e); 35806 } 35807 if (element.hasNote()) { 35808 for (Annotation e : element.getNote()) 35809 composeAnnotation("note", e); 35810 } 35811 if (element.hasRelevantHistory()) { 35812 for (Reference e : element.getRelevantHistory()) 35813 composeReference("relevantHistory", e); 35814 } 35815 } 35816 35817 protected void composeDeviceRequestParameterComponent(String name, DeviceRequest.DeviceRequestParameterComponent element) throws IOException { 35818 if (element != null) { 35819 composeElementAttributes(element); 35820 xml.enter(FHIR_NS, name); 35821 composeDeviceRequestParameterComponentElements(element); 35822 composeElementClose(element); 35823 xml.exit(FHIR_NS, name); 35824 } 35825 } 35826 35827 protected void composeDeviceRequestParameterComponentElements(DeviceRequest.DeviceRequestParameterComponent element) throws IOException { 35828 composeBackboneElementElements(element); 35829 if (element.hasCode()) { 35830 composeCodeableConcept("code", element.getCode()); 35831 } 35832 if (element.hasValue()) { 35833 composeType("value", element.getValue()); 35834 } } 35835 35836 protected void composeDeviceUseStatement(String name, DeviceUseStatement element) throws IOException { 35837 if (element != null) { 35838 composeResourceAttributes(element); 35839 xml.enter(FHIR_NS, name); 35840 composeDeviceUseStatementElements(element); 35841 composeElementClose(element); 35842 xml.exit(FHIR_NS, name); 35843 } 35844 } 35845 35846 protected void composeDeviceUseStatementElements(DeviceUseStatement element) throws IOException { 35847 composeDomainResourceElements(element); 35848 if (element.hasIdentifier()) { 35849 for (Identifier e : element.getIdentifier()) 35850 composeIdentifier("identifier", e); 35851 } 35852 if (element.hasBasedOn()) { 35853 for (Reference e : element.getBasedOn()) 35854 composeReference("basedOn", e); 35855 } 35856 if (element.hasStatusElement()) 35857 composeEnumeration("status", element.getStatusElement(), new DeviceUseStatement.DeviceUseStatementStatusEnumFactory()); 35858 if (element.hasSubject()) { 35859 composeReference("subject", element.getSubject()); 35860 } 35861 if (element.hasDerivedFrom()) { 35862 for (Reference e : element.getDerivedFrom()) 35863 composeReference("derivedFrom", e); 35864 } 35865 if (element.hasTiming()) { 35866 composeType("timing", element.getTiming()); 35867 } if (element.hasRecordedOnElement()) { 35868 composeDateTime("recordedOn", element.getRecordedOnElement()); 35869 } 35870 if (element.hasSource()) { 35871 composeReference("source", element.getSource()); 35872 } 35873 if (element.hasDevice()) { 35874 composeReference("device", element.getDevice()); 35875 } 35876 if (element.hasReasonCode()) { 35877 for (CodeableConcept e : element.getReasonCode()) 35878 composeCodeableConcept("reasonCode", e); 35879 } 35880 if (element.hasReasonReference()) { 35881 for (Reference e : element.getReasonReference()) 35882 composeReference("reasonReference", e); 35883 } 35884 if (element.hasBodySite()) { 35885 composeCodeableConcept("bodySite", element.getBodySite()); 35886 } 35887 if (element.hasNote()) { 35888 for (Annotation e : element.getNote()) 35889 composeAnnotation("note", e); 35890 } 35891 } 35892 35893 protected void composeDiagnosticReport(String name, DiagnosticReport element) throws IOException { 35894 if (element != null) { 35895 composeResourceAttributes(element); 35896 xml.enter(FHIR_NS, name); 35897 composeDiagnosticReportElements(element); 35898 composeElementClose(element); 35899 xml.exit(FHIR_NS, name); 35900 } 35901 } 35902 35903 protected void composeDiagnosticReportElements(DiagnosticReport element) throws IOException { 35904 composeDomainResourceElements(element); 35905 if (element.hasIdentifier()) { 35906 for (Identifier e : element.getIdentifier()) 35907 composeIdentifier("identifier", e); 35908 } 35909 if (element.hasBasedOn()) { 35910 for (Reference e : element.getBasedOn()) 35911 composeReference("basedOn", e); 35912 } 35913 if (element.hasStatusElement()) 35914 composeEnumeration("status", element.getStatusElement(), new DiagnosticReport.DiagnosticReportStatusEnumFactory()); 35915 if (element.hasCategory()) { 35916 for (CodeableConcept e : element.getCategory()) 35917 composeCodeableConcept("category", e); 35918 } 35919 if (element.hasCode()) { 35920 composeCodeableConcept("code", element.getCode()); 35921 } 35922 if (element.hasSubject()) { 35923 composeReference("subject", element.getSubject()); 35924 } 35925 if (element.hasEncounter()) { 35926 composeReference("encounter", element.getEncounter()); 35927 } 35928 if (element.hasEffective()) { 35929 composeType("effective", element.getEffective()); 35930 } if (element.hasIssuedElement()) { 35931 composeInstant("issued", element.getIssuedElement()); 35932 } 35933 if (element.hasPerformer()) { 35934 for (Reference e : element.getPerformer()) 35935 composeReference("performer", e); 35936 } 35937 if (element.hasResultsInterpreter()) { 35938 for (Reference e : element.getResultsInterpreter()) 35939 composeReference("resultsInterpreter", e); 35940 } 35941 if (element.hasSpecimen()) { 35942 for (Reference e : element.getSpecimen()) 35943 composeReference("specimen", e); 35944 } 35945 if (element.hasResult()) { 35946 for (Reference e : element.getResult()) 35947 composeReference("result", e); 35948 } 35949 if (element.hasImagingStudy()) { 35950 for (Reference e : element.getImagingStudy()) 35951 composeReference("imagingStudy", e); 35952 } 35953 if (element.hasMedia()) { 35954 for (DiagnosticReport.DiagnosticReportMediaComponent e : element.getMedia()) 35955 composeDiagnosticReportMediaComponent("media", e); 35956 } 35957 if (element.hasConclusionElement()) { 35958 composeString("conclusion", element.getConclusionElement()); 35959 } 35960 if (element.hasConclusionCode()) { 35961 for (CodeableConcept e : element.getConclusionCode()) 35962 composeCodeableConcept("conclusionCode", e); 35963 } 35964 if (element.hasPresentedForm()) { 35965 for (Attachment e : element.getPresentedForm()) 35966 composeAttachment("presentedForm", e); 35967 } 35968 } 35969 35970 protected void composeDiagnosticReportMediaComponent(String name, DiagnosticReport.DiagnosticReportMediaComponent element) throws IOException { 35971 if (element != null) { 35972 composeElementAttributes(element); 35973 xml.enter(FHIR_NS, name); 35974 composeDiagnosticReportMediaComponentElements(element); 35975 composeElementClose(element); 35976 xml.exit(FHIR_NS, name); 35977 } 35978 } 35979 35980 protected void composeDiagnosticReportMediaComponentElements(DiagnosticReport.DiagnosticReportMediaComponent element) throws IOException { 35981 composeBackboneElementElements(element); 35982 if (element.hasCommentElement()) { 35983 composeString("comment", element.getCommentElement()); 35984 } 35985 if (element.hasLink()) { 35986 composeReference("link", element.getLink()); 35987 } 35988 } 35989 35990 protected void composeDocumentManifest(String name, DocumentManifest element) throws IOException { 35991 if (element != null) { 35992 composeResourceAttributes(element); 35993 xml.enter(FHIR_NS, name); 35994 composeDocumentManifestElements(element); 35995 composeElementClose(element); 35996 xml.exit(FHIR_NS, name); 35997 } 35998 } 35999 36000 protected void composeDocumentManifestElements(DocumentManifest element) throws IOException { 36001 composeDomainResourceElements(element); 36002 if (element.hasMasterIdentifier()) { 36003 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 36004 } 36005 if (element.hasIdentifier()) { 36006 for (Identifier e : element.getIdentifier()) 36007 composeIdentifier("identifier", e); 36008 } 36009 if (element.hasStatusElement()) 36010 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 36011 if (element.hasType()) { 36012 composeCodeableConcept("type", element.getType()); 36013 } 36014 if (element.hasSubject()) { 36015 composeReference("subject", element.getSubject()); 36016 } 36017 if (element.hasCreatedElement()) { 36018 composeDateTime("created", element.getCreatedElement()); 36019 } 36020 if (element.hasAuthor()) { 36021 for (Reference e : element.getAuthor()) 36022 composeReference("author", e); 36023 } 36024 if (element.hasRecipient()) { 36025 for (Reference e : element.getRecipient()) 36026 composeReference("recipient", e); 36027 } 36028 if (element.hasSourceElement()) { 36029 composeUri("source", element.getSourceElement()); 36030 } 36031 if (element.hasDescriptionElement()) { 36032 composeString("description", element.getDescriptionElement()); 36033 } 36034 if (element.hasContent()) { 36035 for (Reference e : element.getContent()) 36036 composeReference("content", e); 36037 } 36038 if (element.hasRelated()) { 36039 for (DocumentManifest.DocumentManifestRelatedComponent e : element.getRelated()) 36040 composeDocumentManifestRelatedComponent("related", e); 36041 } 36042 } 36043 36044 protected void composeDocumentManifestRelatedComponent(String name, DocumentManifest.DocumentManifestRelatedComponent element) throws IOException { 36045 if (element != null) { 36046 composeElementAttributes(element); 36047 xml.enter(FHIR_NS, name); 36048 composeDocumentManifestRelatedComponentElements(element); 36049 composeElementClose(element); 36050 xml.exit(FHIR_NS, name); 36051 } 36052 } 36053 36054 protected void composeDocumentManifestRelatedComponentElements(DocumentManifest.DocumentManifestRelatedComponent element) throws IOException { 36055 composeBackboneElementElements(element); 36056 if (element.hasIdentifier()) { 36057 composeIdentifier("identifier", element.getIdentifier()); 36058 } 36059 if (element.hasRef()) { 36060 composeReference("ref", element.getRef()); 36061 } 36062 } 36063 36064 protected void composeDocumentReference(String name, DocumentReference element) throws IOException { 36065 if (element != null) { 36066 composeResourceAttributes(element); 36067 xml.enter(FHIR_NS, name); 36068 composeDocumentReferenceElements(element); 36069 composeElementClose(element); 36070 xml.exit(FHIR_NS, name); 36071 } 36072 } 36073 36074 protected void composeDocumentReferenceElements(DocumentReference element) throws IOException { 36075 composeDomainResourceElements(element); 36076 if (element.hasMasterIdentifier()) { 36077 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 36078 } 36079 if (element.hasIdentifier()) { 36080 for (Identifier e : element.getIdentifier()) 36081 composeIdentifier("identifier", e); 36082 } 36083 if (element.hasStatusElement()) 36084 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 36085 if (element.hasDocStatusElement()) 36086 composeEnumeration("docStatus", element.getDocStatusElement(), new Enumerations.CompositionStatusEnumFactory()); 36087 if (element.hasType()) { 36088 composeCodeableConcept("type", element.getType()); 36089 } 36090 if (element.hasCategory()) { 36091 for (CodeableConcept e : element.getCategory()) 36092 composeCodeableConcept("category", e); 36093 } 36094 if (element.hasSubject()) { 36095 composeReference("subject", element.getSubject()); 36096 } 36097 if (element.hasDateElement()) { 36098 composeInstant("date", element.getDateElement()); 36099 } 36100 if (element.hasAuthor()) { 36101 for (Reference e : element.getAuthor()) 36102 composeReference("author", e); 36103 } 36104 if (element.hasAuthenticator()) { 36105 composeReference("authenticator", element.getAuthenticator()); 36106 } 36107 if (element.hasCustodian()) { 36108 composeReference("custodian", element.getCustodian()); 36109 } 36110 if (element.hasRelatesTo()) { 36111 for (DocumentReference.DocumentReferenceRelatesToComponent e : element.getRelatesTo()) 36112 composeDocumentReferenceRelatesToComponent("relatesTo", e); 36113 } 36114 if (element.hasDescriptionElement()) { 36115 composeString("description", element.getDescriptionElement()); 36116 } 36117 if (element.hasSecurityLabel()) { 36118 for (CodeableConcept e : element.getSecurityLabel()) 36119 composeCodeableConcept("securityLabel", e); 36120 } 36121 if (element.hasContent()) { 36122 for (DocumentReference.DocumentReferenceContentComponent e : element.getContent()) 36123 composeDocumentReferenceContentComponent("content", e); 36124 } 36125 if (element.hasContext()) { 36126 composeDocumentReferenceContextComponent("context", element.getContext()); 36127 } 36128 } 36129 36130 protected void composeDocumentReferenceRelatesToComponent(String name, DocumentReference.DocumentReferenceRelatesToComponent element) throws IOException { 36131 if (element != null) { 36132 composeElementAttributes(element); 36133 xml.enter(FHIR_NS, name); 36134 composeDocumentReferenceRelatesToComponentElements(element); 36135 composeElementClose(element); 36136 xml.exit(FHIR_NS, name); 36137 } 36138 } 36139 36140 protected void composeDocumentReferenceRelatesToComponentElements(DocumentReference.DocumentReferenceRelatesToComponent element) throws IOException { 36141 composeBackboneElementElements(element); 36142 if (element.hasCodeElement()) 36143 composeEnumeration("code", element.getCodeElement(), new Enumerations.DocumentRelationshipTypeEnumFactory()); 36144 if (element.hasTarget()) { 36145 composeReference("target", element.getTarget()); 36146 } 36147 } 36148 36149 protected void composeDocumentReferenceContentComponent(String name, DocumentReference.DocumentReferenceContentComponent element) throws IOException { 36150 if (element != null) { 36151 composeElementAttributes(element); 36152 xml.enter(FHIR_NS, name); 36153 composeDocumentReferenceContentComponentElements(element); 36154 composeElementClose(element); 36155 xml.exit(FHIR_NS, name); 36156 } 36157 } 36158 36159 protected void composeDocumentReferenceContentComponentElements(DocumentReference.DocumentReferenceContentComponent element) throws IOException { 36160 composeBackboneElementElements(element); 36161 if (element.hasAttachment()) { 36162 composeAttachment("attachment", element.getAttachment()); 36163 } 36164 if (element.hasFormat()) { 36165 composeCoding("format", element.getFormat()); 36166 } 36167 } 36168 36169 protected void composeDocumentReferenceContextComponent(String name, DocumentReference.DocumentReferenceContextComponent element) throws IOException { 36170 if (element != null) { 36171 composeElementAttributes(element); 36172 xml.enter(FHIR_NS, name); 36173 composeDocumentReferenceContextComponentElements(element); 36174 composeElementClose(element); 36175 xml.exit(FHIR_NS, name); 36176 } 36177 } 36178 36179 protected void composeDocumentReferenceContextComponentElements(DocumentReference.DocumentReferenceContextComponent element) throws IOException { 36180 composeBackboneElementElements(element); 36181 if (element.hasEncounter()) { 36182 for (Reference e : element.getEncounter()) 36183 composeReference("encounter", e); 36184 } 36185 if (element.hasEvent()) { 36186 for (CodeableConcept e : element.getEvent()) 36187 composeCodeableConcept("event", e); 36188 } 36189 if (element.hasPeriod()) { 36190 composePeriod("period", element.getPeriod()); 36191 } 36192 if (element.hasFacilityType()) { 36193 composeCodeableConcept("facilityType", element.getFacilityType()); 36194 } 36195 if (element.hasPracticeSetting()) { 36196 composeCodeableConcept("practiceSetting", element.getPracticeSetting()); 36197 } 36198 if (element.hasSourcePatientInfo()) { 36199 composeReference("sourcePatientInfo", element.getSourcePatientInfo()); 36200 } 36201 if (element.hasRelated()) { 36202 for (Reference e : element.getRelated()) 36203 composeReference("related", e); 36204 } 36205 } 36206 36207 protected void composeEncounter(String name, Encounter element) throws IOException { 36208 if (element != null) { 36209 composeResourceAttributes(element); 36210 xml.enter(FHIR_NS, name); 36211 composeEncounterElements(element); 36212 composeElementClose(element); 36213 xml.exit(FHIR_NS, name); 36214 } 36215 } 36216 36217 protected void composeEncounterElements(Encounter element) throws IOException { 36218 composeDomainResourceElements(element); 36219 if (element.hasIdentifier()) { 36220 for (Identifier e : element.getIdentifier()) 36221 composeIdentifier("identifier", e); 36222 } 36223 if (element.hasStatusElement()) 36224 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStatusEnumFactory()); 36225 if (element.hasStatusHistory()) { 36226 for (Encounter.StatusHistoryComponent e : element.getStatusHistory()) 36227 composeEncounterStatusHistoryComponent("statusHistory", e); 36228 } 36229 if (element.hasClass_()) { 36230 composeCoding("class", element.getClass_()); 36231 } 36232 if (element.hasClassHistory()) { 36233 for (Encounter.ClassHistoryComponent e : element.getClassHistory()) 36234 composeEncounterClassHistoryComponent("classHistory", e); 36235 } 36236 if (element.hasType()) { 36237 for (CodeableConcept e : element.getType()) 36238 composeCodeableConcept("type", e); 36239 } 36240 if (element.hasServiceType()) { 36241 composeCodeableConcept("serviceType", element.getServiceType()); 36242 } 36243 if (element.hasPriority()) { 36244 composeCodeableConcept("priority", element.getPriority()); 36245 } 36246 if (element.hasSubject()) { 36247 composeReference("subject", element.getSubject()); 36248 } 36249 if (element.hasEpisodeOfCare()) { 36250 for (Reference e : element.getEpisodeOfCare()) 36251 composeReference("episodeOfCare", e); 36252 } 36253 if (element.hasBasedOn()) { 36254 for (Reference e : element.getBasedOn()) 36255 composeReference("basedOn", e); 36256 } 36257 if (element.hasParticipant()) { 36258 for (Encounter.EncounterParticipantComponent e : element.getParticipant()) 36259 composeEncounterParticipantComponent("participant", e); 36260 } 36261 if (element.hasAppointment()) { 36262 for (Reference e : element.getAppointment()) 36263 composeReference("appointment", e); 36264 } 36265 if (element.hasPeriod()) { 36266 composePeriod("period", element.getPeriod()); 36267 } 36268 if (element.hasLength()) { 36269 composeDuration("length", element.getLength()); 36270 } 36271 if (element.hasReasonCode()) { 36272 for (CodeableConcept e : element.getReasonCode()) 36273 composeCodeableConcept("reasonCode", e); 36274 } 36275 if (element.hasReasonReference()) { 36276 for (Reference e : element.getReasonReference()) 36277 composeReference("reasonReference", e); 36278 } 36279 if (element.hasDiagnosis()) { 36280 for (Encounter.DiagnosisComponent e : element.getDiagnosis()) 36281 composeEncounterDiagnosisComponent("diagnosis", e); 36282 } 36283 if (element.hasAccount()) { 36284 for (Reference e : element.getAccount()) 36285 composeReference("account", e); 36286 } 36287 if (element.hasHospitalization()) { 36288 composeEncounterHospitalizationComponent("hospitalization", element.getHospitalization()); 36289 } 36290 if (element.hasLocation()) { 36291 for (Encounter.EncounterLocationComponent e : element.getLocation()) 36292 composeEncounterLocationComponent("location", e); 36293 } 36294 if (element.hasServiceProvider()) { 36295 composeReference("serviceProvider", element.getServiceProvider()); 36296 } 36297 if (element.hasPartOf()) { 36298 composeReference("partOf", element.getPartOf()); 36299 } 36300 } 36301 36302 protected void composeEncounterStatusHistoryComponent(String name, Encounter.StatusHistoryComponent element) throws IOException { 36303 if (element != null) { 36304 composeElementAttributes(element); 36305 xml.enter(FHIR_NS, name); 36306 composeEncounterStatusHistoryComponentElements(element); 36307 composeElementClose(element); 36308 xml.exit(FHIR_NS, name); 36309 } 36310 } 36311 36312 protected void composeEncounterStatusHistoryComponentElements(Encounter.StatusHistoryComponent element) throws IOException { 36313 composeBackboneElementElements(element); 36314 if (element.hasStatusElement()) 36315 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStatusEnumFactory()); 36316 if (element.hasPeriod()) { 36317 composePeriod("period", element.getPeriod()); 36318 } 36319 } 36320 36321 protected void composeEncounterClassHistoryComponent(String name, Encounter.ClassHistoryComponent element) throws IOException { 36322 if (element != null) { 36323 composeElementAttributes(element); 36324 xml.enter(FHIR_NS, name); 36325 composeEncounterClassHistoryComponentElements(element); 36326 composeElementClose(element); 36327 xml.exit(FHIR_NS, name); 36328 } 36329 } 36330 36331 protected void composeEncounterClassHistoryComponentElements(Encounter.ClassHistoryComponent element) throws IOException { 36332 composeBackboneElementElements(element); 36333 if (element.hasClass_()) { 36334 composeCoding("class", element.getClass_()); 36335 } 36336 if (element.hasPeriod()) { 36337 composePeriod("period", element.getPeriod()); 36338 } 36339 } 36340 36341 protected void composeEncounterParticipantComponent(String name, Encounter.EncounterParticipantComponent element) throws IOException { 36342 if (element != null) { 36343 composeElementAttributes(element); 36344 xml.enter(FHIR_NS, name); 36345 composeEncounterParticipantComponentElements(element); 36346 composeElementClose(element); 36347 xml.exit(FHIR_NS, name); 36348 } 36349 } 36350 36351 protected void composeEncounterParticipantComponentElements(Encounter.EncounterParticipantComponent element) throws IOException { 36352 composeBackboneElementElements(element); 36353 if (element.hasType()) { 36354 for (CodeableConcept e : element.getType()) 36355 composeCodeableConcept("type", e); 36356 } 36357 if (element.hasPeriod()) { 36358 composePeriod("period", element.getPeriod()); 36359 } 36360 if (element.hasIndividual()) { 36361 composeReference("individual", element.getIndividual()); 36362 } 36363 } 36364 36365 protected void composeEncounterDiagnosisComponent(String name, Encounter.DiagnosisComponent element) throws IOException { 36366 if (element != null) { 36367 composeElementAttributes(element); 36368 xml.enter(FHIR_NS, name); 36369 composeEncounterDiagnosisComponentElements(element); 36370 composeElementClose(element); 36371 xml.exit(FHIR_NS, name); 36372 } 36373 } 36374 36375 protected void composeEncounterDiagnosisComponentElements(Encounter.DiagnosisComponent element) throws IOException { 36376 composeBackboneElementElements(element); 36377 if (element.hasCondition()) { 36378 composeReference("condition", element.getCondition()); 36379 } 36380 if (element.hasUse()) { 36381 composeCodeableConcept("use", element.getUse()); 36382 } 36383 if (element.hasRankElement()) { 36384 composePositiveInt("rank", element.getRankElement()); 36385 } 36386 } 36387 36388 protected void composeEncounterHospitalizationComponent(String name, Encounter.EncounterHospitalizationComponent element) throws IOException { 36389 if (element != null) { 36390 composeElementAttributes(element); 36391 xml.enter(FHIR_NS, name); 36392 composeEncounterHospitalizationComponentElements(element); 36393 composeElementClose(element); 36394 xml.exit(FHIR_NS, name); 36395 } 36396 } 36397 36398 protected void composeEncounterHospitalizationComponentElements(Encounter.EncounterHospitalizationComponent element) throws IOException { 36399 composeBackboneElementElements(element); 36400 if (element.hasPreAdmissionIdentifier()) { 36401 composeIdentifier("preAdmissionIdentifier", element.getPreAdmissionIdentifier()); 36402 } 36403 if (element.hasOrigin()) { 36404 composeReference("origin", element.getOrigin()); 36405 } 36406 if (element.hasAdmitSource()) { 36407 composeCodeableConcept("admitSource", element.getAdmitSource()); 36408 } 36409 if (element.hasReAdmission()) { 36410 composeCodeableConcept("reAdmission", element.getReAdmission()); 36411 } 36412 if (element.hasDietPreference()) { 36413 for (CodeableConcept e : element.getDietPreference()) 36414 composeCodeableConcept("dietPreference", e); 36415 } 36416 if (element.hasSpecialCourtesy()) { 36417 for (CodeableConcept e : element.getSpecialCourtesy()) 36418 composeCodeableConcept("specialCourtesy", e); 36419 } 36420 if (element.hasSpecialArrangement()) { 36421 for (CodeableConcept e : element.getSpecialArrangement()) 36422 composeCodeableConcept("specialArrangement", e); 36423 } 36424 if (element.hasDestination()) { 36425 composeReference("destination", element.getDestination()); 36426 } 36427 if (element.hasDischargeDisposition()) { 36428 composeCodeableConcept("dischargeDisposition", element.getDischargeDisposition()); 36429 } 36430 } 36431 36432 protected void composeEncounterLocationComponent(String name, Encounter.EncounterLocationComponent element) throws IOException { 36433 if (element != null) { 36434 composeElementAttributes(element); 36435 xml.enter(FHIR_NS, name); 36436 composeEncounterLocationComponentElements(element); 36437 composeElementClose(element); 36438 xml.exit(FHIR_NS, name); 36439 } 36440 } 36441 36442 protected void composeEncounterLocationComponentElements(Encounter.EncounterLocationComponent element) throws IOException { 36443 composeBackboneElementElements(element); 36444 if (element.hasLocation()) { 36445 composeReference("location", element.getLocation()); 36446 } 36447 if (element.hasStatusElement()) 36448 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory()); 36449 if (element.hasPhysicalType()) { 36450 composeCodeableConcept("physicalType", element.getPhysicalType()); 36451 } 36452 if (element.hasPeriod()) { 36453 composePeriod("period", element.getPeriod()); 36454 } 36455 } 36456 36457 protected void composeEndpoint(String name, Endpoint element) throws IOException { 36458 if (element != null) { 36459 composeResourceAttributes(element); 36460 xml.enter(FHIR_NS, name); 36461 composeEndpointElements(element); 36462 composeElementClose(element); 36463 xml.exit(FHIR_NS, name); 36464 } 36465 } 36466 36467 protected void composeEndpointElements(Endpoint element) throws IOException { 36468 composeDomainResourceElements(element); 36469 if (element.hasIdentifier()) { 36470 for (Identifier e : element.getIdentifier()) 36471 composeIdentifier("identifier", e); 36472 } 36473 if (element.hasStatusElement()) 36474 composeEnumeration("status", element.getStatusElement(), new Endpoint.EndpointStatusEnumFactory()); 36475 if (element.hasConnectionType()) { 36476 composeCoding("connectionType", element.getConnectionType()); 36477 } 36478 if (element.hasNameElement()) { 36479 composeString("name", element.getNameElement()); 36480 } 36481 if (element.hasManagingOrganization()) { 36482 composeReference("managingOrganization", element.getManagingOrganization()); 36483 } 36484 if (element.hasContact()) { 36485 for (ContactPoint e : element.getContact()) 36486 composeContactPoint("contact", e); 36487 } 36488 if (element.hasPeriod()) { 36489 composePeriod("period", element.getPeriod()); 36490 } 36491 if (element.hasPayloadType()) { 36492 for (CodeableConcept e : element.getPayloadType()) 36493 composeCodeableConcept("payloadType", e); 36494 } 36495 if (element.hasPayloadMimeType()) { 36496 for (CodeType e : element.getPayloadMimeType()) 36497 composeCode("payloadMimeType", e); 36498 } 36499 if (element.hasAddressElement()) { 36500 composeUrl("address", element.getAddressElement()); 36501 } 36502 if (element.hasHeader()) { 36503 for (StringType e : element.getHeader()) 36504 composeString("header", e); 36505 } 36506 } 36507 36508 protected void composeEnrollmentRequest(String name, EnrollmentRequest element) throws IOException { 36509 if (element != null) { 36510 composeResourceAttributes(element); 36511 xml.enter(FHIR_NS, name); 36512 composeEnrollmentRequestElements(element); 36513 composeElementClose(element); 36514 xml.exit(FHIR_NS, name); 36515 } 36516 } 36517 36518 protected void composeEnrollmentRequestElements(EnrollmentRequest element) throws IOException { 36519 composeDomainResourceElements(element); 36520 if (element.hasIdentifier()) { 36521 for (Identifier e : element.getIdentifier()) 36522 composeIdentifier("identifier", e); 36523 } 36524 if (element.hasStatusElement()) 36525 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 36526 if (element.hasCreatedElement()) { 36527 composeDateTime("created", element.getCreatedElement()); 36528 } 36529 if (element.hasInsurer()) { 36530 composeReference("insurer", element.getInsurer()); 36531 } 36532 if (element.hasProvider()) { 36533 composeReference("provider", element.getProvider()); 36534 } 36535 if (element.hasCandidate()) { 36536 composeReference("candidate", element.getCandidate()); 36537 } 36538 if (element.hasCoverage()) { 36539 composeReference("coverage", element.getCoverage()); 36540 } 36541 } 36542 36543 protected void composeEnrollmentResponse(String name, EnrollmentResponse element) throws IOException { 36544 if (element != null) { 36545 composeResourceAttributes(element); 36546 xml.enter(FHIR_NS, name); 36547 composeEnrollmentResponseElements(element); 36548 composeElementClose(element); 36549 xml.exit(FHIR_NS, name); 36550 } 36551 } 36552 36553 protected void composeEnrollmentResponseElements(EnrollmentResponse element) throws IOException { 36554 composeDomainResourceElements(element); 36555 if (element.hasIdentifier()) { 36556 for (Identifier e : element.getIdentifier()) 36557 composeIdentifier("identifier", e); 36558 } 36559 if (element.hasStatusElement()) 36560 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 36561 if (element.hasRequest()) { 36562 composeReference("request", element.getRequest()); 36563 } 36564 if (element.hasOutcomeElement()) 36565 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 36566 if (element.hasDispositionElement()) { 36567 composeString("disposition", element.getDispositionElement()); 36568 } 36569 if (element.hasCreatedElement()) { 36570 composeDateTime("created", element.getCreatedElement()); 36571 } 36572 if (element.hasOrganization()) { 36573 composeReference("organization", element.getOrganization()); 36574 } 36575 if (element.hasRequestProvider()) { 36576 composeReference("requestProvider", element.getRequestProvider()); 36577 } 36578 } 36579 36580 protected void composeEpisodeOfCare(String name, EpisodeOfCare element) throws IOException { 36581 if (element != null) { 36582 composeResourceAttributes(element); 36583 xml.enter(FHIR_NS, name); 36584 composeEpisodeOfCareElements(element); 36585 composeElementClose(element); 36586 xml.exit(FHIR_NS, name); 36587 } 36588 } 36589 36590 protected void composeEpisodeOfCareElements(EpisodeOfCare element) throws IOException { 36591 composeDomainResourceElements(element); 36592 if (element.hasIdentifier()) { 36593 for (Identifier e : element.getIdentifier()) 36594 composeIdentifier("identifier", e); 36595 } 36596 if (element.hasStatusElement()) 36597 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 36598 if (element.hasStatusHistory()) { 36599 for (EpisodeOfCare.EpisodeOfCareStatusHistoryComponent e : element.getStatusHistory()) 36600 composeEpisodeOfCareStatusHistoryComponent("statusHistory", e); 36601 } 36602 if (element.hasType()) { 36603 for (CodeableConcept e : element.getType()) 36604 composeCodeableConcept("type", e); 36605 } 36606 if (element.hasDiagnosis()) { 36607 for (EpisodeOfCare.DiagnosisComponent e : element.getDiagnosis()) 36608 composeEpisodeOfCareDiagnosisComponent("diagnosis", e); 36609 } 36610 if (element.hasPatient()) { 36611 composeReference("patient", element.getPatient()); 36612 } 36613 if (element.hasManagingOrganization()) { 36614 composeReference("managingOrganization", element.getManagingOrganization()); 36615 } 36616 if (element.hasPeriod()) { 36617 composePeriod("period", element.getPeriod()); 36618 } 36619 if (element.hasReferralRequest()) { 36620 for (Reference e : element.getReferralRequest()) 36621 composeReference("referralRequest", e); 36622 } 36623 if (element.hasCareManager()) { 36624 composeReference("careManager", element.getCareManager()); 36625 } 36626 if (element.hasTeam()) { 36627 for (Reference e : element.getTeam()) 36628 composeReference("team", e); 36629 } 36630 if (element.hasAccount()) { 36631 for (Reference e : element.getAccount()) 36632 composeReference("account", e); 36633 } 36634 } 36635 36636 protected void composeEpisodeOfCareStatusHistoryComponent(String name, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element) throws IOException { 36637 if (element != null) { 36638 composeElementAttributes(element); 36639 xml.enter(FHIR_NS, name); 36640 composeEpisodeOfCareStatusHistoryComponentElements(element); 36641 composeElementClose(element); 36642 xml.exit(FHIR_NS, name); 36643 } 36644 } 36645 36646 protected void composeEpisodeOfCareStatusHistoryComponentElements(EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element) throws IOException { 36647 composeBackboneElementElements(element); 36648 if (element.hasStatusElement()) 36649 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 36650 if (element.hasPeriod()) { 36651 composePeriod("period", element.getPeriod()); 36652 } 36653 } 36654 36655 protected void composeEpisodeOfCareDiagnosisComponent(String name, EpisodeOfCare.DiagnosisComponent element) throws IOException { 36656 if (element != null) { 36657 composeElementAttributes(element); 36658 xml.enter(FHIR_NS, name); 36659 composeEpisodeOfCareDiagnosisComponentElements(element); 36660 composeElementClose(element); 36661 xml.exit(FHIR_NS, name); 36662 } 36663 } 36664 36665 protected void composeEpisodeOfCareDiagnosisComponentElements(EpisodeOfCare.DiagnosisComponent element) throws IOException { 36666 composeBackboneElementElements(element); 36667 if (element.hasCondition()) { 36668 composeReference("condition", element.getCondition()); 36669 } 36670 if (element.hasRole()) { 36671 composeCodeableConcept("role", element.getRole()); 36672 } 36673 if (element.hasRankElement()) { 36674 composePositiveInt("rank", element.getRankElement()); 36675 } 36676 } 36677 36678 protected void composeEventDefinition(String name, EventDefinition element) throws IOException { 36679 if (element != null) { 36680 composeResourceAttributes(element); 36681 xml.enter(FHIR_NS, name); 36682 composeEventDefinitionElements(element); 36683 composeElementClose(element); 36684 xml.exit(FHIR_NS, name); 36685 } 36686 } 36687 36688 protected void composeEventDefinitionElements(EventDefinition element) throws IOException { 36689 composeDomainResourceElements(element); 36690 if (element.hasUrlElement()) { 36691 composeUri("url", element.getUrlElement()); 36692 } 36693 if (element.hasIdentifier()) { 36694 for (Identifier e : element.getIdentifier()) 36695 composeIdentifier("identifier", e); 36696 } 36697 if (element.hasVersionElement()) { 36698 composeString("version", element.getVersionElement()); 36699 } 36700 if (element.hasNameElement()) { 36701 composeString("name", element.getNameElement()); 36702 } 36703 if (element.hasTitleElement()) { 36704 composeString("title", element.getTitleElement()); 36705 } 36706 if (element.hasSubtitleElement()) { 36707 composeString("subtitle", element.getSubtitleElement()); 36708 } 36709 if (element.hasStatusElement()) 36710 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 36711 if (element.hasExperimentalElement()) { 36712 composeBoolean("experimental", element.getExperimentalElement()); 36713 } 36714 if (element.hasSubject()) { 36715 composeType("subject", element.getSubject()); 36716 } if (element.hasDateElement()) { 36717 composeDateTime("date", element.getDateElement()); 36718 } 36719 if (element.hasPublisherElement()) { 36720 composeString("publisher", element.getPublisherElement()); 36721 } 36722 if (element.hasContact()) { 36723 for (ContactDetail e : element.getContact()) 36724 composeContactDetail("contact", e); 36725 } 36726 if (element.hasDescriptionElement()) { 36727 composeMarkdown("description", element.getDescriptionElement()); 36728 } 36729 if (element.hasUseContext()) { 36730 for (UsageContext e : element.getUseContext()) 36731 composeUsageContext("useContext", e); 36732 } 36733 if (element.hasJurisdiction()) { 36734 for (CodeableConcept e : element.getJurisdiction()) 36735 composeCodeableConcept("jurisdiction", e); 36736 } 36737 if (element.hasPurposeElement()) { 36738 composeMarkdown("purpose", element.getPurposeElement()); 36739 } 36740 if (element.hasUsageElement()) { 36741 composeString("usage", element.getUsageElement()); 36742 } 36743 if (element.hasCopyrightElement()) { 36744 composeMarkdown("copyright", element.getCopyrightElement()); 36745 } 36746 if (element.hasApprovalDateElement()) { 36747 composeDate("approvalDate", element.getApprovalDateElement()); 36748 } 36749 if (element.hasLastReviewDateElement()) { 36750 composeDate("lastReviewDate", element.getLastReviewDateElement()); 36751 } 36752 if (element.hasEffectivePeriod()) { 36753 composePeriod("effectivePeriod", element.getEffectivePeriod()); 36754 } 36755 if (element.hasTopic()) { 36756 for (CodeableConcept e : element.getTopic()) 36757 composeCodeableConcept("topic", e); 36758 } 36759 if (element.hasAuthor()) { 36760 for (ContactDetail e : element.getAuthor()) 36761 composeContactDetail("author", e); 36762 } 36763 if (element.hasEditor()) { 36764 for (ContactDetail e : element.getEditor()) 36765 composeContactDetail("editor", e); 36766 } 36767 if (element.hasReviewer()) { 36768 for (ContactDetail e : element.getReviewer()) 36769 composeContactDetail("reviewer", e); 36770 } 36771 if (element.hasEndorser()) { 36772 for (ContactDetail e : element.getEndorser()) 36773 composeContactDetail("endorser", e); 36774 } 36775 if (element.hasRelatedArtifact()) { 36776 for (RelatedArtifact e : element.getRelatedArtifact()) 36777 composeRelatedArtifact("relatedArtifact", e); 36778 } 36779 if (element.hasTrigger()) { 36780 for (TriggerDefinition e : element.getTrigger()) 36781 composeTriggerDefinition("trigger", e); 36782 } 36783 } 36784 36785 protected void composeEvidence(String name, Evidence element) throws IOException { 36786 if (element != null) { 36787 composeResourceAttributes(element); 36788 xml.enter(FHIR_NS, name); 36789 composeEvidenceElements(element); 36790 composeElementClose(element); 36791 xml.exit(FHIR_NS, name); 36792 } 36793 } 36794 36795 protected void composeEvidenceElements(Evidence element) throws IOException { 36796 composeDomainResourceElements(element); 36797 if (element.hasUrlElement()) { 36798 composeUri("url", element.getUrlElement()); 36799 } 36800 if (element.hasIdentifier()) { 36801 for (Identifier e : element.getIdentifier()) 36802 composeIdentifier("identifier", e); 36803 } 36804 if (element.hasVersionElement()) { 36805 composeString("version", element.getVersionElement()); 36806 } 36807 if (element.hasTitleElement()) { 36808 composeString("title", element.getTitleElement()); 36809 } 36810 if (element.hasCiteAs()) { 36811 composeType("citeAs", element.getCiteAs()); 36812 } if (element.hasStatusElement()) 36813 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 36814 if (element.hasDateElement()) { 36815 composeDateTime("date", element.getDateElement()); 36816 } 36817 if (element.hasUseContext()) { 36818 for (UsageContext e : element.getUseContext()) 36819 composeUsageContext("useContext", e); 36820 } 36821 if (element.hasApprovalDateElement()) { 36822 composeDate("approvalDate", element.getApprovalDateElement()); 36823 } 36824 if (element.hasLastReviewDateElement()) { 36825 composeDate("lastReviewDate", element.getLastReviewDateElement()); 36826 } 36827 if (element.hasPublisherElement()) { 36828 composeString("publisher", element.getPublisherElement()); 36829 } 36830 if (element.hasContact()) { 36831 for (ContactDetail e : element.getContact()) 36832 composeContactDetail("contact", e); 36833 } 36834 if (element.hasAuthor()) { 36835 for (ContactDetail e : element.getAuthor()) 36836 composeContactDetail("author", e); 36837 } 36838 if (element.hasEditor()) { 36839 for (ContactDetail e : element.getEditor()) 36840 composeContactDetail("editor", e); 36841 } 36842 if (element.hasReviewer()) { 36843 for (ContactDetail e : element.getReviewer()) 36844 composeContactDetail("reviewer", e); 36845 } 36846 if (element.hasEndorser()) { 36847 for (ContactDetail e : element.getEndorser()) 36848 composeContactDetail("endorser", e); 36849 } 36850 if (element.hasRelatedArtifact()) { 36851 for (RelatedArtifact e : element.getRelatedArtifact()) 36852 composeRelatedArtifact("relatedArtifact", e); 36853 } 36854 if (element.hasDescriptionElement()) { 36855 composeMarkdown("description", element.getDescriptionElement()); 36856 } 36857 if (element.hasAssertionElement()) { 36858 composeMarkdown("assertion", element.getAssertionElement()); 36859 } 36860 if (element.hasNote()) { 36861 for (Annotation e : element.getNote()) 36862 composeAnnotation("note", e); 36863 } 36864 if (element.hasVariableDefinition()) { 36865 for (Evidence.EvidenceVariableDefinitionComponent e : element.getVariableDefinition()) 36866 composeEvidenceVariableDefinitionComponent("variableDefinition", e); 36867 } 36868 if (element.hasSynthesisType()) { 36869 composeCodeableConcept("synthesisType", element.getSynthesisType()); 36870 } 36871 if (element.hasStudyType()) { 36872 composeCodeableConcept("studyType", element.getStudyType()); 36873 } 36874 if (element.hasStatistic()) { 36875 for (Evidence.EvidenceStatisticComponent e : element.getStatistic()) 36876 composeEvidenceStatisticComponent("statistic", e); 36877 } 36878 if (element.hasCertainty()) { 36879 for (Evidence.EvidenceCertaintyComponent e : element.getCertainty()) 36880 composeEvidenceCertaintyComponent("certainty", e); 36881 } 36882 } 36883 36884 protected void composeEvidenceVariableDefinitionComponent(String name, Evidence.EvidenceVariableDefinitionComponent element) throws IOException { 36885 if (element != null) { 36886 composeElementAttributes(element); 36887 xml.enter(FHIR_NS, name); 36888 composeEvidenceVariableDefinitionComponentElements(element); 36889 composeElementClose(element); 36890 xml.exit(FHIR_NS, name); 36891 } 36892 } 36893 36894 protected void composeEvidenceVariableDefinitionComponentElements(Evidence.EvidenceVariableDefinitionComponent element) throws IOException { 36895 composeBackboneElementElements(element); 36896 if (element.hasDescriptionElement()) { 36897 composeMarkdown("description", element.getDescriptionElement()); 36898 } 36899 if (element.hasNote()) { 36900 for (Annotation e : element.getNote()) 36901 composeAnnotation("note", e); 36902 } 36903 if (element.hasVariableRole()) { 36904 composeCodeableConcept("variableRole", element.getVariableRole()); 36905 } 36906 if (element.hasObserved()) { 36907 composeReference("observed", element.getObserved()); 36908 } 36909 if (element.hasIntended()) { 36910 composeReference("intended", element.getIntended()); 36911 } 36912 if (element.hasDirectnessMatch()) { 36913 composeCodeableConcept("directnessMatch", element.getDirectnessMatch()); 36914 } 36915 } 36916 36917 protected void composeEvidenceStatisticComponent(String name, Evidence.EvidenceStatisticComponent element) throws IOException { 36918 if (element != null) { 36919 composeElementAttributes(element); 36920 xml.enter(FHIR_NS, name); 36921 composeEvidenceStatisticComponentElements(element); 36922 composeElementClose(element); 36923 xml.exit(FHIR_NS, name); 36924 } 36925 } 36926 36927 protected void composeEvidenceStatisticComponentElements(Evidence.EvidenceStatisticComponent element) throws IOException { 36928 composeBackboneElementElements(element); 36929 if (element.hasDescriptionElement()) { 36930 composeString("description", element.getDescriptionElement()); 36931 } 36932 if (element.hasNote()) { 36933 for (Annotation e : element.getNote()) 36934 composeAnnotation("note", e); 36935 } 36936 if (element.hasStatisticType()) { 36937 composeCodeableConcept("statisticType", element.getStatisticType()); 36938 } 36939 if (element.hasCategory()) { 36940 composeCodeableConcept("category", element.getCategory()); 36941 } 36942 if (element.hasQuantity()) { 36943 composeQuantity("quantity", element.getQuantity()); 36944 } 36945 if (element.hasNumberOfEventsElement()) { 36946 composeUnsignedInt("numberOfEvents", element.getNumberOfEventsElement()); 36947 } 36948 if (element.hasNumberAffectedElement()) { 36949 composeUnsignedInt("numberAffected", element.getNumberAffectedElement()); 36950 } 36951 if (element.hasSampleSize()) { 36952 composeEvidenceStatisticSampleSizeComponent("sampleSize", element.getSampleSize()); 36953 } 36954 if (element.hasAttributeEstimate()) { 36955 for (Evidence.EvidenceStatisticAttributeEstimateComponent e : element.getAttributeEstimate()) 36956 composeEvidenceStatisticAttributeEstimateComponent("attributeEstimate", e); 36957 } 36958 if (element.hasModelCharacteristic()) { 36959 for (Evidence.EvidenceStatisticModelCharacteristicComponent e : element.getModelCharacteristic()) 36960 composeEvidenceStatisticModelCharacteristicComponent("modelCharacteristic", e); 36961 } 36962 } 36963 36964 protected void composeEvidenceStatisticSampleSizeComponent(String name, Evidence.EvidenceStatisticSampleSizeComponent element) throws IOException { 36965 if (element != null) { 36966 composeElementAttributes(element); 36967 xml.enter(FHIR_NS, name); 36968 composeEvidenceStatisticSampleSizeComponentElements(element); 36969 composeElementClose(element); 36970 xml.exit(FHIR_NS, name); 36971 } 36972 } 36973 36974 protected void composeEvidenceStatisticSampleSizeComponentElements(Evidence.EvidenceStatisticSampleSizeComponent element) throws IOException { 36975 composeBackboneElementElements(element); 36976 if (element.hasDescriptionElement()) { 36977 composeString("description", element.getDescriptionElement()); 36978 } 36979 if (element.hasNote()) { 36980 for (Annotation e : element.getNote()) 36981 composeAnnotation("note", e); 36982 } 36983 if (element.hasNumberOfStudiesElement()) { 36984 composeUnsignedInt("numberOfStudies", element.getNumberOfStudiesElement()); 36985 } 36986 if (element.hasNumberOfParticipantsElement()) { 36987 composeUnsignedInt("numberOfParticipants", element.getNumberOfParticipantsElement()); 36988 } 36989 if (element.hasKnownDataCountElement()) { 36990 composeUnsignedInt("knownDataCount", element.getKnownDataCountElement()); 36991 } 36992 } 36993 36994 protected void composeEvidenceStatisticAttributeEstimateComponent(String name, Evidence.EvidenceStatisticAttributeEstimateComponent element) throws IOException { 36995 if (element != null) { 36996 composeElementAttributes(element); 36997 xml.enter(FHIR_NS, name); 36998 composeEvidenceStatisticAttributeEstimateComponentElements(element); 36999 composeElementClose(element); 37000 xml.exit(FHIR_NS, name); 37001 } 37002 } 37003 37004 protected void composeEvidenceStatisticAttributeEstimateComponentElements(Evidence.EvidenceStatisticAttributeEstimateComponent element) throws IOException { 37005 composeBackboneElementElements(element); 37006 if (element.hasDescriptionElement()) { 37007 composeString("description", element.getDescriptionElement()); 37008 } 37009 if (element.hasNote()) { 37010 for (Annotation e : element.getNote()) 37011 composeAnnotation("note", e); 37012 } 37013 if (element.hasType()) { 37014 composeCodeableConcept("type", element.getType()); 37015 } 37016 if (element.hasQuantity()) { 37017 composeQuantity("quantity", element.getQuantity()); 37018 } 37019 if (element.hasLevelElement()) { 37020 composeDecimal("level", element.getLevelElement()); 37021 } 37022 if (element.hasRange()) { 37023 composeRange("range", element.getRange()); 37024 } 37025 if (element.hasAttributeEstimate()) { 37026 for (Evidence.EvidenceStatisticAttributeEstimateComponent e : element.getAttributeEstimate()) 37027 composeEvidenceStatisticAttributeEstimateComponent("attributeEstimate", e); 37028 } 37029 } 37030 37031 protected void composeEvidenceStatisticModelCharacteristicComponent(String name, Evidence.EvidenceStatisticModelCharacteristicComponent element) throws IOException { 37032 if (element != null) { 37033 composeElementAttributes(element); 37034 xml.enter(FHIR_NS, name); 37035 composeEvidenceStatisticModelCharacteristicComponentElements(element); 37036 composeElementClose(element); 37037 xml.exit(FHIR_NS, name); 37038 } 37039 } 37040 37041 protected void composeEvidenceStatisticModelCharacteristicComponentElements(Evidence.EvidenceStatisticModelCharacteristicComponent element) throws IOException { 37042 composeBackboneElementElements(element); 37043 if (element.hasCode()) { 37044 composeCodeableConcept("code", element.getCode()); 37045 } 37046 if (element.hasValue()) { 37047 composeQuantity("value", element.getValue()); 37048 } 37049 if (element.hasVariable()) { 37050 for (Evidence.EvidenceStatisticModelCharacteristicVariableComponent e : element.getVariable()) 37051 composeEvidenceStatisticModelCharacteristicVariableComponent("variable", e); 37052 } 37053 if (element.hasAttributeEstimate()) { 37054 for (Evidence.EvidenceStatisticAttributeEstimateComponent e : element.getAttributeEstimate()) 37055 composeEvidenceStatisticAttributeEstimateComponent("attributeEstimate", e); 37056 } 37057 } 37058 37059 protected void composeEvidenceStatisticModelCharacteristicVariableComponent(String name, Evidence.EvidenceStatisticModelCharacteristicVariableComponent element) throws IOException { 37060 if (element != null) { 37061 composeElementAttributes(element); 37062 xml.enter(FHIR_NS, name); 37063 composeEvidenceStatisticModelCharacteristicVariableComponentElements(element); 37064 composeElementClose(element); 37065 xml.exit(FHIR_NS, name); 37066 } 37067 } 37068 37069 protected void composeEvidenceStatisticModelCharacteristicVariableComponentElements(Evidence.EvidenceStatisticModelCharacteristicVariableComponent element) throws IOException { 37070 composeBackboneElementElements(element); 37071 if (element.hasVariableDefinition()) { 37072 composeReference("variableDefinition", element.getVariableDefinition()); 37073 } 37074 if (element.hasHandlingElement()) 37075 composeEnumeration("handling", element.getHandlingElement(), new Enumerations.EvidenceVariableHandlingEnumFactory()); 37076 if (element.hasValueCategory()) { 37077 for (CodeableConcept e : element.getValueCategory()) 37078 composeCodeableConcept("valueCategory", e); 37079 } 37080 if (element.hasValueQuantity()) { 37081 for (Quantity e : element.getValueQuantity()) 37082 composeQuantity("valueQuantity", e); 37083 } 37084 if (element.hasValueRange()) { 37085 for (Range e : element.getValueRange()) 37086 composeRange("valueRange", e); 37087 } 37088 } 37089 37090 protected void composeEvidenceCertaintyComponent(String name, Evidence.EvidenceCertaintyComponent element) throws IOException { 37091 if (element != null) { 37092 composeElementAttributes(element); 37093 xml.enter(FHIR_NS, name); 37094 composeEvidenceCertaintyComponentElements(element); 37095 composeElementClose(element); 37096 xml.exit(FHIR_NS, name); 37097 } 37098 } 37099 37100 protected void composeEvidenceCertaintyComponentElements(Evidence.EvidenceCertaintyComponent element) throws IOException { 37101 composeBackboneElementElements(element); 37102 if (element.hasDescriptionElement()) { 37103 composeString("description", element.getDescriptionElement()); 37104 } 37105 if (element.hasNote()) { 37106 for (Annotation e : element.getNote()) 37107 composeAnnotation("note", e); 37108 } 37109 if (element.hasType()) { 37110 composeCodeableConcept("type", element.getType()); 37111 } 37112 if (element.hasRating()) { 37113 composeCodeableConcept("rating", element.getRating()); 37114 } 37115 if (element.hasRaterElement()) { 37116 composeString("rater", element.getRaterElement()); 37117 } 37118 if (element.hasSubcomponent()) { 37119 for (Evidence.EvidenceCertaintyComponent e : element.getSubcomponent()) 37120 composeEvidenceCertaintyComponent("subcomponent", e); 37121 } 37122 } 37123 37124 protected void composeEvidenceReport(String name, EvidenceReport element) throws IOException { 37125 if (element != null) { 37126 composeResourceAttributes(element); 37127 xml.enter(FHIR_NS, name); 37128 composeEvidenceReportElements(element); 37129 composeElementClose(element); 37130 xml.exit(FHIR_NS, name); 37131 } 37132 } 37133 37134 protected void composeEvidenceReportElements(EvidenceReport element) throws IOException { 37135 composeDomainResourceElements(element); 37136 if (element.hasUrlElement()) { 37137 composeUri("url", element.getUrlElement()); 37138 } 37139 if (element.hasStatusElement()) 37140 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 37141 if (element.hasUseContext()) { 37142 for (UsageContext e : element.getUseContext()) 37143 composeUsageContext("useContext", e); 37144 } 37145 if (element.hasIdentifier()) { 37146 for (Identifier e : element.getIdentifier()) 37147 composeIdentifier("identifier", e); 37148 } 37149 if (element.hasRelatedIdentifier()) { 37150 for (Identifier e : element.getRelatedIdentifier()) 37151 composeIdentifier("relatedIdentifier", e); 37152 } 37153 if (element.hasCiteAs()) { 37154 composeType("citeAs", element.getCiteAs()); 37155 } if (element.hasType()) { 37156 composeCodeableConcept("type", element.getType()); 37157 } 37158 if (element.hasNote()) { 37159 for (Annotation e : element.getNote()) 37160 composeAnnotation("note", e); 37161 } 37162 if (element.hasRelatedArtifact()) { 37163 for (RelatedArtifact e : element.getRelatedArtifact()) 37164 composeRelatedArtifact("relatedArtifact", e); 37165 } 37166 if (element.hasSubject()) { 37167 composeEvidenceReportSubjectComponent("subject", element.getSubject()); 37168 } 37169 if (element.hasPublisherElement()) { 37170 composeString("publisher", element.getPublisherElement()); 37171 } 37172 if (element.hasContact()) { 37173 for (ContactDetail e : element.getContact()) 37174 composeContactDetail("contact", e); 37175 } 37176 if (element.hasAuthor()) { 37177 for (ContactDetail e : element.getAuthor()) 37178 composeContactDetail("author", e); 37179 } 37180 if (element.hasEditor()) { 37181 for (ContactDetail e : element.getEditor()) 37182 composeContactDetail("editor", e); 37183 } 37184 if (element.hasReviewer()) { 37185 for (ContactDetail e : element.getReviewer()) 37186 composeContactDetail("reviewer", e); 37187 } 37188 if (element.hasEndorser()) { 37189 for (ContactDetail e : element.getEndorser()) 37190 composeContactDetail("endorser", e); 37191 } 37192 if (element.hasRelatesTo()) { 37193 for (EvidenceReport.EvidenceReportRelatesToComponent e : element.getRelatesTo()) 37194 composeEvidenceReportRelatesToComponent("relatesTo", e); 37195 } 37196 if (element.hasSection()) { 37197 for (EvidenceReport.SectionComponent e : element.getSection()) 37198 composeEvidenceReportSectionComponent("section", e); 37199 } 37200 } 37201 37202 protected void composeEvidenceReportSubjectComponent(String name, EvidenceReport.EvidenceReportSubjectComponent element) throws IOException { 37203 if (element != null) { 37204 composeElementAttributes(element); 37205 xml.enter(FHIR_NS, name); 37206 composeEvidenceReportSubjectComponentElements(element); 37207 composeElementClose(element); 37208 xml.exit(FHIR_NS, name); 37209 } 37210 } 37211 37212 protected void composeEvidenceReportSubjectComponentElements(EvidenceReport.EvidenceReportSubjectComponent element) throws IOException { 37213 composeBackboneElementElements(element); 37214 if (element.hasCharacteristic()) { 37215 for (EvidenceReport.EvidenceReportSubjectCharacteristicComponent e : element.getCharacteristic()) 37216 composeEvidenceReportSubjectCharacteristicComponent("characteristic", e); 37217 } 37218 if (element.hasNote()) { 37219 for (Annotation e : element.getNote()) 37220 composeAnnotation("note", e); 37221 } 37222 } 37223 37224 protected void composeEvidenceReportSubjectCharacteristicComponent(String name, EvidenceReport.EvidenceReportSubjectCharacteristicComponent element) throws IOException { 37225 if (element != null) { 37226 composeElementAttributes(element); 37227 xml.enter(FHIR_NS, name); 37228 composeEvidenceReportSubjectCharacteristicComponentElements(element); 37229 composeElementClose(element); 37230 xml.exit(FHIR_NS, name); 37231 } 37232 } 37233 37234 protected void composeEvidenceReportSubjectCharacteristicComponentElements(EvidenceReport.EvidenceReportSubjectCharacteristicComponent element) throws IOException { 37235 composeBackboneElementElements(element); 37236 if (element.hasCode()) { 37237 composeCodeableConcept("code", element.getCode()); 37238 } 37239 if (element.hasValue()) { 37240 composeType("value", element.getValue()); 37241 } if (element.hasExcludeElement()) { 37242 composeBoolean("exclude", element.getExcludeElement()); 37243 } 37244 if (element.hasPeriod()) { 37245 composePeriod("period", element.getPeriod()); 37246 } 37247 } 37248 37249 protected void composeEvidenceReportRelatesToComponent(String name, EvidenceReport.EvidenceReportRelatesToComponent element) throws IOException { 37250 if (element != null) { 37251 composeElementAttributes(element); 37252 xml.enter(FHIR_NS, name); 37253 composeEvidenceReportRelatesToComponentElements(element); 37254 composeElementClose(element); 37255 xml.exit(FHIR_NS, name); 37256 } 37257 } 37258 37259 protected void composeEvidenceReportRelatesToComponentElements(EvidenceReport.EvidenceReportRelatesToComponent element) throws IOException { 37260 composeBackboneElementElements(element); 37261 if (element.hasCodeElement()) 37262 composeEnumeration("code", element.getCodeElement(), new EvidenceReport.ReportRelationshipTypeEnumFactory()); 37263 if (element.hasTarget()) { 37264 composeType("target", element.getTarget()); 37265 } } 37266 37267 protected void composeEvidenceReportSectionComponent(String name, EvidenceReport.SectionComponent element) throws IOException { 37268 if (element != null) { 37269 composeElementAttributes(element); 37270 xml.enter(FHIR_NS, name); 37271 composeEvidenceReportSectionComponentElements(element); 37272 composeElementClose(element); 37273 xml.exit(FHIR_NS, name); 37274 } 37275 } 37276 37277 protected void composeEvidenceReportSectionComponentElements(EvidenceReport.SectionComponent element) throws IOException { 37278 composeBackboneElementElements(element); 37279 if (element.hasTitleElement()) { 37280 composeString("title", element.getTitleElement()); 37281 } 37282 if (element.hasFocus()) { 37283 composeCodeableConcept("focus", element.getFocus()); 37284 } 37285 if (element.hasFocusReference()) { 37286 composeReference("focusReference", element.getFocusReference()); 37287 } 37288 if (element.hasAuthor()) { 37289 for (Reference e : element.getAuthor()) 37290 composeReference("author", e); 37291 } 37292 if (element.hasText()) { 37293 composeNarrative("text", element.getText()); 37294 } 37295 if (element.hasModeElement()) 37296 composeEnumeration("mode", element.getModeElement(), new Enumerations.ListModeEnumFactory()); 37297 if (element.hasOrderedBy()) { 37298 composeCodeableConcept("orderedBy", element.getOrderedBy()); 37299 } 37300 if (element.hasEntryClassifier()) { 37301 for (CodeableConcept e : element.getEntryClassifier()) 37302 composeCodeableConcept("entryClassifier", e); 37303 } 37304 if (element.hasEntryReference()) { 37305 for (Reference e : element.getEntryReference()) 37306 composeReference("entryReference", e); 37307 } 37308 if (element.hasEntryQuantity()) { 37309 for (Quantity e : element.getEntryQuantity()) 37310 composeQuantity("entryQuantity", e); 37311 } 37312 if (element.hasEmptyReason()) { 37313 composeCodeableConcept("emptyReason", element.getEmptyReason()); 37314 } 37315 if (element.hasSection()) { 37316 for (EvidenceReport.SectionComponent e : element.getSection()) 37317 composeEvidenceReportSectionComponent("section", e); 37318 } 37319 } 37320 37321 protected void composeEvidenceVariable(String name, EvidenceVariable element) throws IOException { 37322 if (element != null) { 37323 composeResourceAttributes(element); 37324 xml.enter(FHIR_NS, name); 37325 composeEvidenceVariableElements(element); 37326 composeElementClose(element); 37327 xml.exit(FHIR_NS, name); 37328 } 37329 } 37330 37331 protected void composeEvidenceVariableElements(EvidenceVariable element) throws IOException { 37332 composeDomainResourceElements(element); 37333 if (element.hasUrlElement()) { 37334 composeUri("url", element.getUrlElement()); 37335 } 37336 if (element.hasIdentifier()) { 37337 for (Identifier e : element.getIdentifier()) 37338 composeIdentifier("identifier", e); 37339 } 37340 if (element.hasVersionElement()) { 37341 composeString("version", element.getVersionElement()); 37342 } 37343 if (element.hasNameElement()) { 37344 composeString("name", element.getNameElement()); 37345 } 37346 if (element.hasTitleElement()) { 37347 composeString("title", element.getTitleElement()); 37348 } 37349 if (element.hasShortTitleElement()) { 37350 composeString("shortTitle", element.getShortTitleElement()); 37351 } 37352 if (element.hasSubtitleElement()) { 37353 composeString("subtitle", element.getSubtitleElement()); 37354 } 37355 if (element.hasStatusElement()) 37356 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 37357 if (element.hasDateElement()) { 37358 composeDateTime("date", element.getDateElement()); 37359 } 37360 if (element.hasDescriptionElement()) { 37361 composeMarkdown("description", element.getDescriptionElement()); 37362 } 37363 if (element.hasNote()) { 37364 for (Annotation e : element.getNote()) 37365 composeAnnotation("note", e); 37366 } 37367 if (element.hasUseContext()) { 37368 for (UsageContext e : element.getUseContext()) 37369 composeUsageContext("useContext", e); 37370 } 37371 if (element.hasPublisherElement()) { 37372 composeString("publisher", element.getPublisherElement()); 37373 } 37374 if (element.hasContact()) { 37375 for (ContactDetail e : element.getContact()) 37376 composeContactDetail("contact", e); 37377 } 37378 if (element.hasAuthor()) { 37379 for (ContactDetail e : element.getAuthor()) 37380 composeContactDetail("author", e); 37381 } 37382 if (element.hasEditor()) { 37383 for (ContactDetail e : element.getEditor()) 37384 composeContactDetail("editor", e); 37385 } 37386 if (element.hasReviewer()) { 37387 for (ContactDetail e : element.getReviewer()) 37388 composeContactDetail("reviewer", e); 37389 } 37390 if (element.hasEndorser()) { 37391 for (ContactDetail e : element.getEndorser()) 37392 composeContactDetail("endorser", e); 37393 } 37394 if (element.hasRelatedArtifact()) { 37395 for (RelatedArtifact e : element.getRelatedArtifact()) 37396 composeRelatedArtifact("relatedArtifact", e); 37397 } 37398 if (element.hasActualElement()) { 37399 composeBoolean("actual", element.getActualElement()); 37400 } 37401 if (element.hasCharacteristicCombinationElement()) 37402 composeEnumeration("characteristicCombination", element.getCharacteristicCombinationElement(), new EvidenceVariable.CharacteristicCombinationEnumFactory()); 37403 if (element.hasCharacteristic()) { 37404 for (EvidenceVariable.EvidenceVariableCharacteristicComponent e : element.getCharacteristic()) 37405 composeEvidenceVariableCharacteristicComponent("characteristic", e); 37406 } 37407 if (element.hasHandlingElement()) 37408 composeEnumeration("handling", element.getHandlingElement(), new Enumerations.EvidenceVariableHandlingEnumFactory()); 37409 if (element.hasCategory()) { 37410 for (EvidenceVariable.EvidenceVariableCategoryComponent e : element.getCategory()) 37411 composeEvidenceVariableCategoryComponent("category", e); 37412 } 37413 } 37414 37415 protected void composeEvidenceVariableCharacteristicComponent(String name, EvidenceVariable.EvidenceVariableCharacteristicComponent element) throws IOException { 37416 if (element != null) { 37417 composeElementAttributes(element); 37418 xml.enter(FHIR_NS, name); 37419 composeEvidenceVariableCharacteristicComponentElements(element); 37420 composeElementClose(element); 37421 xml.exit(FHIR_NS, name); 37422 } 37423 } 37424 37425 protected void composeEvidenceVariableCharacteristicComponentElements(EvidenceVariable.EvidenceVariableCharacteristicComponent element) throws IOException { 37426 composeBackboneElementElements(element); 37427 if (element.hasDescriptionElement()) { 37428 composeString("description", element.getDescriptionElement()); 37429 } 37430 if (element.hasDefinition()) { 37431 composeType("definition", element.getDefinition()); 37432 } if (element.hasMethod()) { 37433 composeCodeableConcept("method", element.getMethod()); 37434 } 37435 if (element.hasDevice()) { 37436 composeReference("device", element.getDevice()); 37437 } 37438 if (element.hasExcludeElement()) { 37439 composeBoolean("exclude", element.getExcludeElement()); 37440 } 37441 if (element.hasTimeFromStart()) { 37442 composeEvidenceVariableCharacteristicTimeFromStartComponent("timeFromStart", element.getTimeFromStart()); 37443 } 37444 if (element.hasGroupMeasureElement()) 37445 composeEnumeration("groupMeasure", element.getGroupMeasureElement(), new Enumerations.GroupMeasureEnumFactory()); 37446 } 37447 37448 protected void composeEvidenceVariableCharacteristicTimeFromStartComponent(String name, EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent element) throws IOException { 37449 if (element != null) { 37450 composeElementAttributes(element); 37451 xml.enter(FHIR_NS, name); 37452 composeEvidenceVariableCharacteristicTimeFromStartComponentElements(element); 37453 composeElementClose(element); 37454 xml.exit(FHIR_NS, name); 37455 } 37456 } 37457 37458 protected void composeEvidenceVariableCharacteristicTimeFromStartComponentElements(EvidenceVariable.EvidenceVariableCharacteristicTimeFromStartComponent element) throws IOException { 37459 composeBackboneElementElements(element); 37460 if (element.hasDescriptionElement()) { 37461 composeString("description", element.getDescriptionElement()); 37462 } 37463 if (element.hasQuantity()) { 37464 composeQuantity("quantity", element.getQuantity()); 37465 } 37466 if (element.hasRange()) { 37467 composeRange("range", element.getRange()); 37468 } 37469 if (element.hasNote()) { 37470 for (Annotation e : element.getNote()) 37471 composeAnnotation("note", e); 37472 } 37473 } 37474 37475 protected void composeEvidenceVariableCategoryComponent(String name, EvidenceVariable.EvidenceVariableCategoryComponent element) throws IOException { 37476 if (element != null) { 37477 composeElementAttributes(element); 37478 xml.enter(FHIR_NS, name); 37479 composeEvidenceVariableCategoryComponentElements(element); 37480 composeElementClose(element); 37481 xml.exit(FHIR_NS, name); 37482 } 37483 } 37484 37485 protected void composeEvidenceVariableCategoryComponentElements(EvidenceVariable.EvidenceVariableCategoryComponent element) throws IOException { 37486 composeBackboneElementElements(element); 37487 if (element.hasNameElement()) { 37488 composeString("name", element.getNameElement()); 37489 } 37490 if (element.hasValue()) { 37491 composeType("value", element.getValue()); 37492 } } 37493 37494 protected void composeExampleScenario(String name, ExampleScenario element) throws IOException { 37495 if (element != null) { 37496 composeResourceAttributes(element); 37497 xml.enter(FHIR_NS, name); 37498 composeExampleScenarioElements(element); 37499 composeElementClose(element); 37500 xml.exit(FHIR_NS, name); 37501 } 37502 } 37503 37504 protected void composeExampleScenarioElements(ExampleScenario element) throws IOException { 37505 composeDomainResourceElements(element); 37506 if (element.hasUrlElement()) { 37507 composeUri("url", element.getUrlElement()); 37508 } 37509 if (element.hasIdentifier()) { 37510 for (Identifier e : element.getIdentifier()) 37511 composeIdentifier("identifier", e); 37512 } 37513 if (element.hasVersionElement()) { 37514 composeString("version", element.getVersionElement()); 37515 } 37516 if (element.hasNameElement()) { 37517 composeString("name", element.getNameElement()); 37518 } 37519 if (element.hasStatusElement()) 37520 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 37521 if (element.hasExperimentalElement()) { 37522 composeBoolean("experimental", element.getExperimentalElement()); 37523 } 37524 if (element.hasDateElement()) { 37525 composeDateTime("date", element.getDateElement()); 37526 } 37527 if (element.hasPublisherElement()) { 37528 composeString("publisher", element.getPublisherElement()); 37529 } 37530 if (element.hasContact()) { 37531 for (ContactDetail e : element.getContact()) 37532 composeContactDetail("contact", e); 37533 } 37534 if (element.hasUseContext()) { 37535 for (UsageContext e : element.getUseContext()) 37536 composeUsageContext("useContext", e); 37537 } 37538 if (element.hasJurisdiction()) { 37539 for (CodeableConcept e : element.getJurisdiction()) 37540 composeCodeableConcept("jurisdiction", e); 37541 } 37542 if (element.hasCopyrightElement()) { 37543 composeMarkdown("copyright", element.getCopyrightElement()); 37544 } 37545 if (element.hasPurposeElement()) { 37546 composeMarkdown("purpose", element.getPurposeElement()); 37547 } 37548 if (element.hasActor()) { 37549 for (ExampleScenario.ExampleScenarioActorComponent e : element.getActor()) 37550 composeExampleScenarioActorComponent("actor", e); 37551 } 37552 if (element.hasInstance()) { 37553 for (ExampleScenario.ExampleScenarioInstanceComponent e : element.getInstance()) 37554 composeExampleScenarioInstanceComponent("instance", e); 37555 } 37556 if (element.hasProcess()) { 37557 for (ExampleScenario.ExampleScenarioProcessComponent e : element.getProcess()) 37558 composeExampleScenarioProcessComponent("process", e); 37559 } 37560 if (element.hasWorkflow()) { 37561 for (CanonicalType e : element.getWorkflow()) 37562 composeCanonical("workflow", e); 37563 } 37564 } 37565 37566 protected void composeExampleScenarioActorComponent(String name, ExampleScenario.ExampleScenarioActorComponent element) throws IOException { 37567 if (element != null) { 37568 composeElementAttributes(element); 37569 xml.enter(FHIR_NS, name); 37570 composeExampleScenarioActorComponentElements(element); 37571 composeElementClose(element); 37572 xml.exit(FHIR_NS, name); 37573 } 37574 } 37575 37576 protected void composeExampleScenarioActorComponentElements(ExampleScenario.ExampleScenarioActorComponent element) throws IOException { 37577 composeBackboneElementElements(element); 37578 if (element.hasActorIdElement()) { 37579 composeString("actorId", element.getActorIdElement()); 37580 } 37581 if (element.hasTypeElement()) 37582 composeEnumeration("type", element.getTypeElement(), new ExampleScenario.ExampleScenarioActorTypeEnumFactory()); 37583 if (element.hasNameElement()) { 37584 composeString("name", element.getNameElement()); 37585 } 37586 if (element.hasDescriptionElement()) { 37587 composeMarkdown("description", element.getDescriptionElement()); 37588 } 37589 } 37590 37591 protected void composeExampleScenarioInstanceComponent(String name, ExampleScenario.ExampleScenarioInstanceComponent element) throws IOException { 37592 if (element != null) { 37593 composeElementAttributes(element); 37594 xml.enter(FHIR_NS, name); 37595 composeExampleScenarioInstanceComponentElements(element); 37596 composeElementClose(element); 37597 xml.exit(FHIR_NS, name); 37598 } 37599 } 37600 37601 protected void composeExampleScenarioInstanceComponentElements(ExampleScenario.ExampleScenarioInstanceComponent element) throws IOException { 37602 composeBackboneElementElements(element); 37603 if (element.hasResourceIdElement()) { 37604 composeString("resourceId", element.getResourceIdElement()); 37605 } 37606 if (element.hasResourceTypeElement()) { 37607 composeCode("resourceType", element.getResourceTypeElement()); 37608 } 37609 if (element.hasNameElement()) { 37610 composeString("name", element.getNameElement()); 37611 } 37612 if (element.hasDescriptionElement()) { 37613 composeMarkdown("description", element.getDescriptionElement()); 37614 } 37615 if (element.hasVersion()) { 37616 for (ExampleScenario.ExampleScenarioInstanceVersionComponent e : element.getVersion()) 37617 composeExampleScenarioInstanceVersionComponent("version", e); 37618 } 37619 if (element.hasContainedInstance()) { 37620 for (ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent e : element.getContainedInstance()) 37621 composeExampleScenarioInstanceContainedInstanceComponent("containedInstance", e); 37622 } 37623 } 37624 37625 protected void composeExampleScenarioInstanceVersionComponent(String name, ExampleScenario.ExampleScenarioInstanceVersionComponent element) throws IOException { 37626 if (element != null) { 37627 composeElementAttributes(element); 37628 xml.enter(FHIR_NS, name); 37629 composeExampleScenarioInstanceVersionComponentElements(element); 37630 composeElementClose(element); 37631 xml.exit(FHIR_NS, name); 37632 } 37633 } 37634 37635 protected void composeExampleScenarioInstanceVersionComponentElements(ExampleScenario.ExampleScenarioInstanceVersionComponent element) throws IOException { 37636 composeBackboneElementElements(element); 37637 if (element.hasVersionIdElement()) { 37638 composeString("versionId", element.getVersionIdElement()); 37639 } 37640 if (element.hasDescriptionElement()) { 37641 composeMarkdown("description", element.getDescriptionElement()); 37642 } 37643 } 37644 37645 protected void composeExampleScenarioInstanceContainedInstanceComponent(String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { 37646 if (element != null) { 37647 composeElementAttributes(element); 37648 xml.enter(FHIR_NS, name); 37649 composeExampleScenarioInstanceContainedInstanceComponentElements(element); 37650 composeElementClose(element); 37651 xml.exit(FHIR_NS, name); 37652 } 37653 } 37654 37655 protected void composeExampleScenarioInstanceContainedInstanceComponentElements(ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { 37656 composeBackboneElementElements(element); 37657 if (element.hasResourceIdElement()) { 37658 composeString("resourceId", element.getResourceIdElement()); 37659 } 37660 if (element.hasVersionIdElement()) { 37661 composeString("versionId", element.getVersionIdElement()); 37662 } 37663 } 37664 37665 protected void composeExampleScenarioProcessComponent(String name, ExampleScenario.ExampleScenarioProcessComponent element) throws IOException { 37666 if (element != null) { 37667 composeElementAttributes(element); 37668 xml.enter(FHIR_NS, name); 37669 composeExampleScenarioProcessComponentElements(element); 37670 composeElementClose(element); 37671 xml.exit(FHIR_NS, name); 37672 } 37673 } 37674 37675 protected void composeExampleScenarioProcessComponentElements(ExampleScenario.ExampleScenarioProcessComponent element) throws IOException { 37676 composeBackboneElementElements(element); 37677 if (element.hasTitleElement()) { 37678 composeString("title", element.getTitleElement()); 37679 } 37680 if (element.hasDescriptionElement()) { 37681 composeMarkdown("description", element.getDescriptionElement()); 37682 } 37683 if (element.hasPreConditionsElement()) { 37684 composeMarkdown("preConditions", element.getPreConditionsElement()); 37685 } 37686 if (element.hasPostConditionsElement()) { 37687 composeMarkdown("postConditions", element.getPostConditionsElement()); 37688 } 37689 if (element.hasStep()) { 37690 for (ExampleScenario.ExampleScenarioProcessStepComponent e : element.getStep()) 37691 composeExampleScenarioProcessStepComponent("step", e); 37692 } 37693 } 37694 37695 protected void composeExampleScenarioProcessStepComponent(String name, ExampleScenario.ExampleScenarioProcessStepComponent element) throws IOException { 37696 if (element != null) { 37697 composeElementAttributes(element); 37698 xml.enter(FHIR_NS, name); 37699 composeExampleScenarioProcessStepComponentElements(element); 37700 composeElementClose(element); 37701 xml.exit(FHIR_NS, name); 37702 } 37703 } 37704 37705 protected void composeExampleScenarioProcessStepComponentElements(ExampleScenario.ExampleScenarioProcessStepComponent element) throws IOException { 37706 composeBackboneElementElements(element); 37707 if (element.hasProcess()) { 37708 for (ExampleScenario.ExampleScenarioProcessComponent e : element.getProcess()) 37709 composeExampleScenarioProcessComponent("process", e); 37710 } 37711 if (element.hasPauseElement()) { 37712 composeBoolean("pause", element.getPauseElement()); 37713 } 37714 if (element.hasOperation()) { 37715 composeExampleScenarioProcessStepOperationComponent("operation", element.getOperation()); 37716 } 37717 if (element.hasAlternative()) { 37718 for (ExampleScenario.ExampleScenarioProcessStepAlternativeComponent e : element.getAlternative()) 37719 composeExampleScenarioProcessStepAlternativeComponent("alternative", e); 37720 } 37721 } 37722 37723 protected void composeExampleScenarioProcessStepOperationComponent(String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { 37724 if (element != null) { 37725 composeElementAttributes(element); 37726 xml.enter(FHIR_NS, name); 37727 composeExampleScenarioProcessStepOperationComponentElements(element); 37728 composeElementClose(element); 37729 xml.exit(FHIR_NS, name); 37730 } 37731 } 37732 37733 protected void composeExampleScenarioProcessStepOperationComponentElements(ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { 37734 composeBackboneElementElements(element); 37735 if (element.hasNumberElement()) { 37736 composeString("number", element.getNumberElement()); 37737 } 37738 if (element.hasTypeElement()) { 37739 composeString("type", element.getTypeElement()); 37740 } 37741 if (element.hasNameElement()) { 37742 composeString("name", element.getNameElement()); 37743 } 37744 if (element.hasInitiatorElement()) { 37745 composeString("initiator", element.getInitiatorElement()); 37746 } 37747 if (element.hasReceiverElement()) { 37748 composeString("receiver", element.getReceiverElement()); 37749 } 37750 if (element.hasDescriptionElement()) { 37751 composeMarkdown("description", element.getDescriptionElement()); 37752 } 37753 if (element.hasInitiatorActiveElement()) { 37754 composeBoolean("initiatorActive", element.getInitiatorActiveElement()); 37755 } 37756 if (element.hasReceiverActiveElement()) { 37757 composeBoolean("receiverActive", element.getReceiverActiveElement()); 37758 } 37759 if (element.hasRequest()) { 37760 composeExampleScenarioInstanceContainedInstanceComponent("request", element.getRequest()); 37761 } 37762 if (element.hasResponse()) { 37763 composeExampleScenarioInstanceContainedInstanceComponent("response", element.getResponse()); 37764 } 37765 } 37766 37767 protected void composeExampleScenarioProcessStepAlternativeComponent(String name, ExampleScenario.ExampleScenarioProcessStepAlternativeComponent element) throws IOException { 37768 if (element != null) { 37769 composeElementAttributes(element); 37770 xml.enter(FHIR_NS, name); 37771 composeExampleScenarioProcessStepAlternativeComponentElements(element); 37772 composeElementClose(element); 37773 xml.exit(FHIR_NS, name); 37774 } 37775 } 37776 37777 protected void composeExampleScenarioProcessStepAlternativeComponentElements(ExampleScenario.ExampleScenarioProcessStepAlternativeComponent element) throws IOException { 37778 composeBackboneElementElements(element); 37779 if (element.hasTitleElement()) { 37780 composeString("title", element.getTitleElement()); 37781 } 37782 if (element.hasDescriptionElement()) { 37783 composeMarkdown("description", element.getDescriptionElement()); 37784 } 37785 if (element.hasStep()) { 37786 for (ExampleScenario.ExampleScenarioProcessStepComponent e : element.getStep()) 37787 composeExampleScenarioProcessStepComponent("step", e); 37788 } 37789 } 37790 37791 protected void composeExplanationOfBenefit(String name, ExplanationOfBenefit element) throws IOException { 37792 if (element != null) { 37793 composeResourceAttributes(element); 37794 xml.enter(FHIR_NS, name); 37795 composeExplanationOfBenefitElements(element); 37796 composeElementClose(element); 37797 xml.exit(FHIR_NS, name); 37798 } 37799 } 37800 37801 protected void composeExplanationOfBenefitElements(ExplanationOfBenefit element) throws IOException { 37802 composeDomainResourceElements(element); 37803 if (element.hasIdentifier()) { 37804 for (Identifier e : element.getIdentifier()) 37805 composeIdentifier("identifier", e); 37806 } 37807 if (element.hasStatusElement()) 37808 composeEnumeration("status", element.getStatusElement(), new ExplanationOfBenefit.ExplanationOfBenefitStatusEnumFactory()); 37809 if (element.hasType()) { 37810 composeCodeableConcept("type", element.getType()); 37811 } 37812 if (element.hasSubType()) { 37813 composeCodeableConcept("subType", element.getSubType()); 37814 } 37815 if (element.hasUseElement()) 37816 composeEnumeration("use", element.getUseElement(), new Enumerations.UseEnumFactory()); 37817 if (element.hasPatient()) { 37818 composeReference("patient", element.getPatient()); 37819 } 37820 if (element.hasBillablePeriod()) { 37821 composePeriod("billablePeriod", element.getBillablePeriod()); 37822 } 37823 if (element.hasCreatedElement()) { 37824 composeDateTime("created", element.getCreatedElement()); 37825 } 37826 if (element.hasEnterer()) { 37827 composeReference("enterer", element.getEnterer()); 37828 } 37829 if (element.hasInsurer()) { 37830 composeReference("insurer", element.getInsurer()); 37831 } 37832 if (element.hasProvider()) { 37833 composeReference("provider", element.getProvider()); 37834 } 37835 if (element.hasPriority()) { 37836 composeCodeableConcept("priority", element.getPriority()); 37837 } 37838 if (element.hasFundsReserveRequested()) { 37839 composeCodeableConcept("fundsReserveRequested", element.getFundsReserveRequested()); 37840 } 37841 if (element.hasFundsReserve()) { 37842 composeCodeableConcept("fundsReserve", element.getFundsReserve()); 37843 } 37844 if (element.hasRelated()) { 37845 for (ExplanationOfBenefit.RelatedClaimComponent e : element.getRelated()) 37846 composeExplanationOfBenefitRelatedClaimComponent("related", e); 37847 } 37848 if (element.hasPrescription()) { 37849 composeReference("prescription", element.getPrescription()); 37850 } 37851 if (element.hasOriginalPrescription()) { 37852 composeReference("originalPrescription", element.getOriginalPrescription()); 37853 } 37854 if (element.hasPayee()) { 37855 composeExplanationOfBenefitPayeeComponent("payee", element.getPayee()); 37856 } 37857 if (element.hasReferral()) { 37858 composeReference("referral", element.getReferral()); 37859 } 37860 if (element.hasFacility()) { 37861 composeReference("facility", element.getFacility()); 37862 } 37863 if (element.hasClaim()) { 37864 composeReference("claim", element.getClaim()); 37865 } 37866 if (element.hasClaimResponse()) { 37867 composeReference("claimResponse", element.getClaimResponse()); 37868 } 37869 if (element.hasOutcomeElement()) 37870 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 37871 if (element.hasDispositionElement()) { 37872 composeString("disposition", element.getDispositionElement()); 37873 } 37874 if (element.hasPreAuthRef()) { 37875 for (StringType e : element.getPreAuthRef()) 37876 composeString("preAuthRef", e); 37877 } 37878 if (element.hasPreAuthRefPeriod()) { 37879 for (Period e : element.getPreAuthRefPeriod()) 37880 composePeriod("preAuthRefPeriod", e); 37881 } 37882 if (element.hasCareTeam()) { 37883 for (ExplanationOfBenefit.CareTeamComponent e : element.getCareTeam()) 37884 composeExplanationOfBenefitCareTeamComponent("careTeam", e); 37885 } 37886 if (element.hasSupportingInfo()) { 37887 for (ExplanationOfBenefit.SupportingInformationComponent e : element.getSupportingInfo()) 37888 composeExplanationOfBenefitSupportingInformationComponent("supportingInfo", e); 37889 } 37890 if (element.hasDiagnosis()) { 37891 for (ExplanationOfBenefit.DiagnosisComponent e : element.getDiagnosis()) 37892 composeExplanationOfBenefitDiagnosisComponent("diagnosis", e); 37893 } 37894 if (element.hasProcedure()) { 37895 for (ExplanationOfBenefit.ProcedureComponent e : element.getProcedure()) 37896 composeExplanationOfBenefitProcedureComponent("procedure", e); 37897 } 37898 if (element.hasPrecedenceElement()) { 37899 composePositiveInt("precedence", element.getPrecedenceElement()); 37900 } 37901 if (element.hasInsurance()) { 37902 for (ExplanationOfBenefit.InsuranceComponent e : element.getInsurance()) 37903 composeExplanationOfBenefitInsuranceComponent("insurance", e); 37904 } 37905 if (element.hasAccident()) { 37906 composeExplanationOfBenefitAccidentComponent("accident", element.getAccident()); 37907 } 37908 if (element.hasItem()) { 37909 for (ExplanationOfBenefit.ItemComponent e : element.getItem()) 37910 composeExplanationOfBenefitItemComponent("item", e); 37911 } 37912 if (element.hasAddItem()) { 37913 for (ExplanationOfBenefit.AddedItemComponent e : element.getAddItem()) 37914 composeExplanationOfBenefitAddedItemComponent("addItem", e); 37915 } 37916 if (element.hasAdjudication()) { 37917 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 37918 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 37919 } 37920 if (element.hasTotal()) { 37921 for (ExplanationOfBenefit.TotalComponent e : element.getTotal()) 37922 composeExplanationOfBenefitTotalComponent("total", e); 37923 } 37924 if (element.hasPayment()) { 37925 composeExplanationOfBenefitPaymentComponent("payment", element.getPayment()); 37926 } 37927 if (element.hasFormCode()) { 37928 composeCodeableConcept("formCode", element.getFormCode()); 37929 } 37930 if (element.hasForm()) { 37931 composeAttachment("form", element.getForm()); 37932 } 37933 if (element.hasProcessNote()) { 37934 for (ExplanationOfBenefit.NoteComponent e : element.getProcessNote()) 37935 composeExplanationOfBenefitNoteComponent("processNote", e); 37936 } 37937 if (element.hasBenefitPeriod()) { 37938 composePeriod("benefitPeriod", element.getBenefitPeriod()); 37939 } 37940 if (element.hasBenefitBalance()) { 37941 for (ExplanationOfBenefit.BenefitBalanceComponent e : element.getBenefitBalance()) 37942 composeExplanationOfBenefitBenefitBalanceComponent("benefitBalance", e); 37943 } 37944 } 37945 37946 protected void composeExplanationOfBenefitRelatedClaimComponent(String name, ExplanationOfBenefit.RelatedClaimComponent element) throws IOException { 37947 if (element != null) { 37948 composeElementAttributes(element); 37949 xml.enter(FHIR_NS, name); 37950 composeExplanationOfBenefitRelatedClaimComponentElements(element); 37951 composeElementClose(element); 37952 xml.exit(FHIR_NS, name); 37953 } 37954 } 37955 37956 protected void composeExplanationOfBenefitRelatedClaimComponentElements(ExplanationOfBenefit.RelatedClaimComponent element) throws IOException { 37957 composeBackboneElementElements(element); 37958 if (element.hasClaim()) { 37959 composeReference("claim", element.getClaim()); 37960 } 37961 if (element.hasRelationship()) { 37962 composeCodeableConcept("relationship", element.getRelationship()); 37963 } 37964 if (element.hasReference()) { 37965 composeIdentifier("reference", element.getReference()); 37966 } 37967 } 37968 37969 protected void composeExplanationOfBenefitPayeeComponent(String name, ExplanationOfBenefit.PayeeComponent element) throws IOException { 37970 if (element != null) { 37971 composeElementAttributes(element); 37972 xml.enter(FHIR_NS, name); 37973 composeExplanationOfBenefitPayeeComponentElements(element); 37974 composeElementClose(element); 37975 xml.exit(FHIR_NS, name); 37976 } 37977 } 37978 37979 protected void composeExplanationOfBenefitPayeeComponentElements(ExplanationOfBenefit.PayeeComponent element) throws IOException { 37980 composeBackboneElementElements(element); 37981 if (element.hasType()) { 37982 composeCodeableConcept("type", element.getType()); 37983 } 37984 if (element.hasParty()) { 37985 composeReference("party", element.getParty()); 37986 } 37987 } 37988 37989 protected void composeExplanationOfBenefitCareTeamComponent(String name, ExplanationOfBenefit.CareTeamComponent element) throws IOException { 37990 if (element != null) { 37991 composeElementAttributes(element); 37992 xml.enter(FHIR_NS, name); 37993 composeExplanationOfBenefitCareTeamComponentElements(element); 37994 composeElementClose(element); 37995 xml.exit(FHIR_NS, name); 37996 } 37997 } 37998 37999 protected void composeExplanationOfBenefitCareTeamComponentElements(ExplanationOfBenefit.CareTeamComponent element) throws IOException { 38000 composeBackboneElementElements(element); 38001 if (element.hasSequenceElement()) { 38002 composePositiveInt("sequence", element.getSequenceElement()); 38003 } 38004 if (element.hasProvider()) { 38005 composeReference("provider", element.getProvider()); 38006 } 38007 if (element.hasResponsibleElement()) { 38008 composeBoolean("responsible", element.getResponsibleElement()); 38009 } 38010 if (element.hasRole()) { 38011 composeCodeableConcept("role", element.getRole()); 38012 } 38013 if (element.hasQualification()) { 38014 composeCodeableConcept("qualification", element.getQualification()); 38015 } 38016 } 38017 38018 protected void composeExplanationOfBenefitSupportingInformationComponent(String name, ExplanationOfBenefit.SupportingInformationComponent element) throws IOException { 38019 if (element != null) { 38020 composeElementAttributes(element); 38021 xml.enter(FHIR_NS, name); 38022 composeExplanationOfBenefitSupportingInformationComponentElements(element); 38023 composeElementClose(element); 38024 xml.exit(FHIR_NS, name); 38025 } 38026 } 38027 38028 protected void composeExplanationOfBenefitSupportingInformationComponentElements(ExplanationOfBenefit.SupportingInformationComponent element) throws IOException { 38029 composeBackboneElementElements(element); 38030 if (element.hasSequenceElement()) { 38031 composePositiveInt("sequence", element.getSequenceElement()); 38032 } 38033 if (element.hasCategory()) { 38034 composeCodeableConcept("category", element.getCategory()); 38035 } 38036 if (element.hasCode()) { 38037 composeCodeableConcept("code", element.getCode()); 38038 } 38039 if (element.hasTiming()) { 38040 composeType("timing", element.getTiming()); 38041 } if (element.hasValue()) { 38042 composeType("value", element.getValue()); 38043 } if (element.hasReason()) { 38044 composeCoding("reason", element.getReason()); 38045 } 38046 } 38047 38048 protected void composeExplanationOfBenefitDiagnosisComponent(String name, ExplanationOfBenefit.DiagnosisComponent element) throws IOException { 38049 if (element != null) { 38050 composeElementAttributes(element); 38051 xml.enter(FHIR_NS, name); 38052 composeExplanationOfBenefitDiagnosisComponentElements(element); 38053 composeElementClose(element); 38054 xml.exit(FHIR_NS, name); 38055 } 38056 } 38057 38058 protected void composeExplanationOfBenefitDiagnosisComponentElements(ExplanationOfBenefit.DiagnosisComponent element) throws IOException { 38059 composeBackboneElementElements(element); 38060 if (element.hasSequenceElement()) { 38061 composePositiveInt("sequence", element.getSequenceElement()); 38062 } 38063 if (element.hasDiagnosis()) { 38064 composeType("diagnosis", element.getDiagnosis()); 38065 } if (element.hasType()) { 38066 for (CodeableConcept e : element.getType()) 38067 composeCodeableConcept("type", e); 38068 } 38069 if (element.hasOnAdmission()) { 38070 composeCodeableConcept("onAdmission", element.getOnAdmission()); 38071 } 38072 if (element.hasPackageCode()) { 38073 composeCodeableConcept("packageCode", element.getPackageCode()); 38074 } 38075 } 38076 38077 protected void composeExplanationOfBenefitProcedureComponent(String name, ExplanationOfBenefit.ProcedureComponent element) throws IOException { 38078 if (element != null) { 38079 composeElementAttributes(element); 38080 xml.enter(FHIR_NS, name); 38081 composeExplanationOfBenefitProcedureComponentElements(element); 38082 composeElementClose(element); 38083 xml.exit(FHIR_NS, name); 38084 } 38085 } 38086 38087 protected void composeExplanationOfBenefitProcedureComponentElements(ExplanationOfBenefit.ProcedureComponent element) throws IOException { 38088 composeBackboneElementElements(element); 38089 if (element.hasSequenceElement()) { 38090 composePositiveInt("sequence", element.getSequenceElement()); 38091 } 38092 if (element.hasType()) { 38093 for (CodeableConcept e : element.getType()) 38094 composeCodeableConcept("type", e); 38095 } 38096 if (element.hasDateElement()) { 38097 composeDateTime("date", element.getDateElement()); 38098 } 38099 if (element.hasProcedure()) { 38100 composeType("procedure", element.getProcedure()); 38101 } if (element.hasUdi()) { 38102 for (Reference e : element.getUdi()) 38103 composeReference("udi", e); 38104 } 38105 } 38106 38107 protected void composeExplanationOfBenefitInsuranceComponent(String name, ExplanationOfBenefit.InsuranceComponent element) throws IOException { 38108 if (element != null) { 38109 composeElementAttributes(element); 38110 xml.enter(FHIR_NS, name); 38111 composeExplanationOfBenefitInsuranceComponentElements(element); 38112 composeElementClose(element); 38113 xml.exit(FHIR_NS, name); 38114 } 38115 } 38116 38117 protected void composeExplanationOfBenefitInsuranceComponentElements(ExplanationOfBenefit.InsuranceComponent element) throws IOException { 38118 composeBackboneElementElements(element); 38119 if (element.hasFocalElement()) { 38120 composeBoolean("focal", element.getFocalElement()); 38121 } 38122 if (element.hasCoverage()) { 38123 composeReference("coverage", element.getCoverage()); 38124 } 38125 if (element.hasPreAuthRef()) { 38126 for (StringType e : element.getPreAuthRef()) 38127 composeString("preAuthRef", e); 38128 } 38129 } 38130 38131 protected void composeExplanationOfBenefitAccidentComponent(String name, ExplanationOfBenefit.AccidentComponent element) throws IOException { 38132 if (element != null) { 38133 composeElementAttributes(element); 38134 xml.enter(FHIR_NS, name); 38135 composeExplanationOfBenefitAccidentComponentElements(element); 38136 composeElementClose(element); 38137 xml.exit(FHIR_NS, name); 38138 } 38139 } 38140 38141 protected void composeExplanationOfBenefitAccidentComponentElements(ExplanationOfBenefit.AccidentComponent element) throws IOException { 38142 composeBackboneElementElements(element); 38143 if (element.hasDateElement()) { 38144 composeDate("date", element.getDateElement()); 38145 } 38146 if (element.hasType()) { 38147 composeCodeableConcept("type", element.getType()); 38148 } 38149 if (element.hasLocation()) { 38150 composeType("location", element.getLocation()); 38151 } } 38152 38153 protected void composeExplanationOfBenefitItemComponent(String name, ExplanationOfBenefit.ItemComponent element) throws IOException { 38154 if (element != null) { 38155 composeElementAttributes(element); 38156 xml.enter(FHIR_NS, name); 38157 composeExplanationOfBenefitItemComponentElements(element); 38158 composeElementClose(element); 38159 xml.exit(FHIR_NS, name); 38160 } 38161 } 38162 38163 protected void composeExplanationOfBenefitItemComponentElements(ExplanationOfBenefit.ItemComponent element) throws IOException { 38164 composeBackboneElementElements(element); 38165 if (element.hasSequenceElement()) { 38166 composePositiveInt("sequence", element.getSequenceElement()); 38167 } 38168 if (element.hasCareTeamSequence()) { 38169 for (PositiveIntType e : element.getCareTeamSequence()) 38170 composePositiveInt("careTeamSequence", e); 38171 } 38172 if (element.hasDiagnosisSequence()) { 38173 for (PositiveIntType e : element.getDiagnosisSequence()) 38174 composePositiveInt("diagnosisSequence", e); 38175 } 38176 if (element.hasProcedureSequence()) { 38177 for (PositiveIntType e : element.getProcedureSequence()) 38178 composePositiveInt("procedureSequence", e); 38179 } 38180 if (element.hasInformationSequence()) { 38181 for (PositiveIntType e : element.getInformationSequence()) 38182 composePositiveInt("informationSequence", e); 38183 } 38184 if (element.hasRevenue()) { 38185 composeCodeableConcept("revenue", element.getRevenue()); 38186 } 38187 if (element.hasCategory()) { 38188 composeCodeableConcept("category", element.getCategory()); 38189 } 38190 if (element.hasProductOrService()) { 38191 composeCodeableConcept("productOrService", element.getProductOrService()); 38192 } 38193 if (element.hasModifier()) { 38194 for (CodeableConcept e : element.getModifier()) 38195 composeCodeableConcept("modifier", e); 38196 } 38197 if (element.hasProgramCode()) { 38198 for (CodeableConcept e : element.getProgramCode()) 38199 composeCodeableConcept("programCode", e); 38200 } 38201 if (element.hasServiced()) { 38202 composeType("serviced", element.getServiced()); 38203 } if (element.hasLocation()) { 38204 composeType("location", element.getLocation()); 38205 } if (element.hasQuantity()) { 38206 composeQuantity("quantity", element.getQuantity()); 38207 } 38208 if (element.hasUnitPrice()) { 38209 composeMoney("unitPrice", element.getUnitPrice()); 38210 } 38211 if (element.hasFactorElement()) { 38212 composeDecimal("factor", element.getFactorElement()); 38213 } 38214 if (element.hasNet()) { 38215 composeMoney("net", element.getNet()); 38216 } 38217 if (element.hasUdi()) { 38218 for (Reference e : element.getUdi()) 38219 composeReference("udi", e); 38220 } 38221 if (element.hasBodySite()) { 38222 composeCodeableConcept("bodySite", element.getBodySite()); 38223 } 38224 if (element.hasSubSite()) { 38225 for (CodeableConcept e : element.getSubSite()) 38226 composeCodeableConcept("subSite", e); 38227 } 38228 if (element.hasEncounter()) { 38229 for (Reference e : element.getEncounter()) 38230 composeReference("encounter", e); 38231 } 38232 if (element.hasNoteNumber()) { 38233 for (PositiveIntType e : element.getNoteNumber()) 38234 composePositiveInt("noteNumber", e); 38235 } 38236 if (element.hasAdjudication()) { 38237 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38238 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38239 } 38240 if (element.hasDetail()) { 38241 for (ExplanationOfBenefit.DetailComponent e : element.getDetail()) 38242 composeExplanationOfBenefitDetailComponent("detail", e); 38243 } 38244 } 38245 38246 protected void composeExplanationOfBenefitAdjudicationComponent(String name, ExplanationOfBenefit.AdjudicationComponent element) throws IOException { 38247 if (element != null) { 38248 composeElementAttributes(element); 38249 xml.enter(FHIR_NS, name); 38250 composeExplanationOfBenefitAdjudicationComponentElements(element); 38251 composeElementClose(element); 38252 xml.exit(FHIR_NS, name); 38253 } 38254 } 38255 38256 protected void composeExplanationOfBenefitAdjudicationComponentElements(ExplanationOfBenefit.AdjudicationComponent element) throws IOException { 38257 composeBackboneElementElements(element); 38258 if (element.hasCategory()) { 38259 composeCodeableConcept("category", element.getCategory()); 38260 } 38261 if (element.hasReason()) { 38262 composeCodeableConcept("reason", element.getReason()); 38263 } 38264 if (element.hasAmount()) { 38265 composeMoney("amount", element.getAmount()); 38266 } 38267 if (element.hasValueElement()) { 38268 composeDecimal("value", element.getValueElement()); 38269 } 38270 } 38271 38272 protected void composeExplanationOfBenefitDetailComponent(String name, ExplanationOfBenefit.DetailComponent element) throws IOException { 38273 if (element != null) { 38274 composeElementAttributes(element); 38275 xml.enter(FHIR_NS, name); 38276 composeExplanationOfBenefitDetailComponentElements(element); 38277 composeElementClose(element); 38278 xml.exit(FHIR_NS, name); 38279 } 38280 } 38281 38282 protected void composeExplanationOfBenefitDetailComponentElements(ExplanationOfBenefit.DetailComponent element) throws IOException { 38283 composeBackboneElementElements(element); 38284 if (element.hasSequenceElement()) { 38285 composePositiveInt("sequence", element.getSequenceElement()); 38286 } 38287 if (element.hasRevenue()) { 38288 composeCodeableConcept("revenue", element.getRevenue()); 38289 } 38290 if (element.hasCategory()) { 38291 composeCodeableConcept("category", element.getCategory()); 38292 } 38293 if (element.hasProductOrService()) { 38294 composeCodeableConcept("productOrService", element.getProductOrService()); 38295 } 38296 if (element.hasModifier()) { 38297 for (CodeableConcept e : element.getModifier()) 38298 composeCodeableConcept("modifier", e); 38299 } 38300 if (element.hasProgramCode()) { 38301 for (CodeableConcept e : element.getProgramCode()) 38302 composeCodeableConcept("programCode", e); 38303 } 38304 if (element.hasQuantity()) { 38305 composeQuantity("quantity", element.getQuantity()); 38306 } 38307 if (element.hasUnitPrice()) { 38308 composeMoney("unitPrice", element.getUnitPrice()); 38309 } 38310 if (element.hasFactorElement()) { 38311 composeDecimal("factor", element.getFactorElement()); 38312 } 38313 if (element.hasNet()) { 38314 composeMoney("net", element.getNet()); 38315 } 38316 if (element.hasUdi()) { 38317 for (Reference e : element.getUdi()) 38318 composeReference("udi", e); 38319 } 38320 if (element.hasNoteNumber()) { 38321 for (PositiveIntType e : element.getNoteNumber()) 38322 composePositiveInt("noteNumber", e); 38323 } 38324 if (element.hasAdjudication()) { 38325 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38326 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38327 } 38328 if (element.hasSubDetail()) { 38329 for (ExplanationOfBenefit.SubDetailComponent e : element.getSubDetail()) 38330 composeExplanationOfBenefitSubDetailComponent("subDetail", e); 38331 } 38332 } 38333 38334 protected void composeExplanationOfBenefitSubDetailComponent(String name, ExplanationOfBenefit.SubDetailComponent element) throws IOException { 38335 if (element != null) { 38336 composeElementAttributes(element); 38337 xml.enter(FHIR_NS, name); 38338 composeExplanationOfBenefitSubDetailComponentElements(element); 38339 composeElementClose(element); 38340 xml.exit(FHIR_NS, name); 38341 } 38342 } 38343 38344 protected void composeExplanationOfBenefitSubDetailComponentElements(ExplanationOfBenefit.SubDetailComponent element) throws IOException { 38345 composeBackboneElementElements(element); 38346 if (element.hasSequenceElement()) { 38347 composePositiveInt("sequence", element.getSequenceElement()); 38348 } 38349 if (element.hasRevenue()) { 38350 composeCodeableConcept("revenue", element.getRevenue()); 38351 } 38352 if (element.hasCategory()) { 38353 composeCodeableConcept("category", element.getCategory()); 38354 } 38355 if (element.hasProductOrService()) { 38356 composeCodeableConcept("productOrService", element.getProductOrService()); 38357 } 38358 if (element.hasModifier()) { 38359 for (CodeableConcept e : element.getModifier()) 38360 composeCodeableConcept("modifier", e); 38361 } 38362 if (element.hasProgramCode()) { 38363 for (CodeableConcept e : element.getProgramCode()) 38364 composeCodeableConcept("programCode", e); 38365 } 38366 if (element.hasQuantity()) { 38367 composeQuantity("quantity", element.getQuantity()); 38368 } 38369 if (element.hasUnitPrice()) { 38370 composeMoney("unitPrice", element.getUnitPrice()); 38371 } 38372 if (element.hasFactorElement()) { 38373 composeDecimal("factor", element.getFactorElement()); 38374 } 38375 if (element.hasNet()) { 38376 composeMoney("net", element.getNet()); 38377 } 38378 if (element.hasUdi()) { 38379 for (Reference e : element.getUdi()) 38380 composeReference("udi", e); 38381 } 38382 if (element.hasNoteNumber()) { 38383 for (PositiveIntType e : element.getNoteNumber()) 38384 composePositiveInt("noteNumber", e); 38385 } 38386 if (element.hasAdjudication()) { 38387 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38388 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38389 } 38390 } 38391 38392 protected void composeExplanationOfBenefitAddedItemComponent(String name, ExplanationOfBenefit.AddedItemComponent element) throws IOException { 38393 if (element != null) { 38394 composeElementAttributes(element); 38395 xml.enter(FHIR_NS, name); 38396 composeExplanationOfBenefitAddedItemComponentElements(element); 38397 composeElementClose(element); 38398 xml.exit(FHIR_NS, name); 38399 } 38400 } 38401 38402 protected void composeExplanationOfBenefitAddedItemComponentElements(ExplanationOfBenefit.AddedItemComponent element) throws IOException { 38403 composeBackboneElementElements(element); 38404 if (element.hasItemSequence()) { 38405 for (PositiveIntType e : element.getItemSequence()) 38406 composePositiveInt("itemSequence", e); 38407 } 38408 if (element.hasDetailSequence()) { 38409 for (PositiveIntType e : element.getDetailSequence()) 38410 composePositiveInt("detailSequence", e); 38411 } 38412 if (element.hasSubDetailSequence()) { 38413 for (PositiveIntType e : element.getSubDetailSequence()) 38414 composePositiveInt("subDetailSequence", e); 38415 } 38416 if (element.hasProvider()) { 38417 for (Reference e : element.getProvider()) 38418 composeReference("provider", e); 38419 } 38420 if (element.hasProductOrService()) { 38421 composeCodeableConcept("productOrService", element.getProductOrService()); 38422 } 38423 if (element.hasModifier()) { 38424 for (CodeableConcept e : element.getModifier()) 38425 composeCodeableConcept("modifier", e); 38426 } 38427 if (element.hasProgramCode()) { 38428 for (CodeableConcept e : element.getProgramCode()) 38429 composeCodeableConcept("programCode", e); 38430 } 38431 if (element.hasServiced()) { 38432 composeType("serviced", element.getServiced()); 38433 } if (element.hasLocation()) { 38434 composeType("location", element.getLocation()); 38435 } if (element.hasQuantity()) { 38436 composeQuantity("quantity", element.getQuantity()); 38437 } 38438 if (element.hasUnitPrice()) { 38439 composeMoney("unitPrice", element.getUnitPrice()); 38440 } 38441 if (element.hasFactorElement()) { 38442 composeDecimal("factor", element.getFactorElement()); 38443 } 38444 if (element.hasNet()) { 38445 composeMoney("net", element.getNet()); 38446 } 38447 if (element.hasBodySite()) { 38448 composeCodeableConcept("bodySite", element.getBodySite()); 38449 } 38450 if (element.hasSubSite()) { 38451 for (CodeableConcept e : element.getSubSite()) 38452 composeCodeableConcept("subSite", e); 38453 } 38454 if (element.hasNoteNumber()) { 38455 for (PositiveIntType e : element.getNoteNumber()) 38456 composePositiveInt("noteNumber", e); 38457 } 38458 if (element.hasAdjudication()) { 38459 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38460 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38461 } 38462 if (element.hasDetail()) { 38463 for (ExplanationOfBenefit.AddedItemDetailComponent e : element.getDetail()) 38464 composeExplanationOfBenefitAddedItemDetailComponent("detail", e); 38465 } 38466 } 38467 38468 protected void composeExplanationOfBenefitAddedItemDetailComponent(String name, ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { 38469 if (element != null) { 38470 composeElementAttributes(element); 38471 xml.enter(FHIR_NS, name); 38472 composeExplanationOfBenefitAddedItemDetailComponentElements(element); 38473 composeElementClose(element); 38474 xml.exit(FHIR_NS, name); 38475 } 38476 } 38477 38478 protected void composeExplanationOfBenefitAddedItemDetailComponentElements(ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { 38479 composeBackboneElementElements(element); 38480 if (element.hasProductOrService()) { 38481 composeCodeableConcept("productOrService", element.getProductOrService()); 38482 } 38483 if (element.hasModifier()) { 38484 for (CodeableConcept e : element.getModifier()) 38485 composeCodeableConcept("modifier", e); 38486 } 38487 if (element.hasQuantity()) { 38488 composeQuantity("quantity", element.getQuantity()); 38489 } 38490 if (element.hasUnitPrice()) { 38491 composeMoney("unitPrice", element.getUnitPrice()); 38492 } 38493 if (element.hasFactorElement()) { 38494 composeDecimal("factor", element.getFactorElement()); 38495 } 38496 if (element.hasNet()) { 38497 composeMoney("net", element.getNet()); 38498 } 38499 if (element.hasNoteNumber()) { 38500 for (PositiveIntType e : element.getNoteNumber()) 38501 composePositiveInt("noteNumber", e); 38502 } 38503 if (element.hasAdjudication()) { 38504 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38505 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38506 } 38507 if (element.hasSubDetail()) { 38508 for (ExplanationOfBenefit.AddedItemDetailSubDetailComponent e : element.getSubDetail()) 38509 composeExplanationOfBenefitAddedItemDetailSubDetailComponent("subDetail", e); 38510 } 38511 } 38512 38513 protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponent(String name, ExplanationOfBenefit.AddedItemDetailSubDetailComponent element) throws IOException { 38514 if (element != null) { 38515 composeElementAttributes(element); 38516 xml.enter(FHIR_NS, name); 38517 composeExplanationOfBenefitAddedItemDetailSubDetailComponentElements(element); 38518 composeElementClose(element); 38519 xml.exit(FHIR_NS, name); 38520 } 38521 } 38522 38523 protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponentElements(ExplanationOfBenefit.AddedItemDetailSubDetailComponent element) throws IOException { 38524 composeBackboneElementElements(element); 38525 if (element.hasProductOrService()) { 38526 composeCodeableConcept("productOrService", element.getProductOrService()); 38527 } 38528 if (element.hasModifier()) { 38529 for (CodeableConcept e : element.getModifier()) 38530 composeCodeableConcept("modifier", e); 38531 } 38532 if (element.hasQuantity()) { 38533 composeQuantity("quantity", element.getQuantity()); 38534 } 38535 if (element.hasUnitPrice()) { 38536 composeMoney("unitPrice", element.getUnitPrice()); 38537 } 38538 if (element.hasFactorElement()) { 38539 composeDecimal("factor", element.getFactorElement()); 38540 } 38541 if (element.hasNet()) { 38542 composeMoney("net", element.getNet()); 38543 } 38544 if (element.hasNoteNumber()) { 38545 for (PositiveIntType e : element.getNoteNumber()) 38546 composePositiveInt("noteNumber", e); 38547 } 38548 if (element.hasAdjudication()) { 38549 for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) 38550 composeExplanationOfBenefitAdjudicationComponent("adjudication", e); 38551 } 38552 } 38553 38554 protected void composeExplanationOfBenefitTotalComponent(String name, ExplanationOfBenefit.TotalComponent element) throws IOException { 38555 if (element != null) { 38556 composeElementAttributes(element); 38557 xml.enter(FHIR_NS, name); 38558 composeExplanationOfBenefitTotalComponentElements(element); 38559 composeElementClose(element); 38560 xml.exit(FHIR_NS, name); 38561 } 38562 } 38563 38564 protected void composeExplanationOfBenefitTotalComponentElements(ExplanationOfBenefit.TotalComponent element) throws IOException { 38565 composeBackboneElementElements(element); 38566 if (element.hasCategory()) { 38567 composeCodeableConcept("category", element.getCategory()); 38568 } 38569 if (element.hasAmount()) { 38570 composeMoney("amount", element.getAmount()); 38571 } 38572 } 38573 38574 protected void composeExplanationOfBenefitPaymentComponent(String name, ExplanationOfBenefit.PaymentComponent element) throws IOException { 38575 if (element != null) { 38576 composeElementAttributes(element); 38577 xml.enter(FHIR_NS, name); 38578 composeExplanationOfBenefitPaymentComponentElements(element); 38579 composeElementClose(element); 38580 xml.exit(FHIR_NS, name); 38581 } 38582 } 38583 38584 protected void composeExplanationOfBenefitPaymentComponentElements(ExplanationOfBenefit.PaymentComponent element) throws IOException { 38585 composeBackboneElementElements(element); 38586 if (element.hasType()) { 38587 composeCodeableConcept("type", element.getType()); 38588 } 38589 if (element.hasAdjustment()) { 38590 composeMoney("adjustment", element.getAdjustment()); 38591 } 38592 if (element.hasAdjustmentReason()) { 38593 composeCodeableConcept("adjustmentReason", element.getAdjustmentReason()); 38594 } 38595 if (element.hasDateElement()) { 38596 composeDate("date", element.getDateElement()); 38597 } 38598 if (element.hasAmount()) { 38599 composeMoney("amount", element.getAmount()); 38600 } 38601 if (element.hasIdentifier()) { 38602 composeIdentifier("identifier", element.getIdentifier()); 38603 } 38604 } 38605 38606 protected void composeExplanationOfBenefitNoteComponent(String name, ExplanationOfBenefit.NoteComponent element) throws IOException { 38607 if (element != null) { 38608 composeElementAttributes(element); 38609 xml.enter(FHIR_NS, name); 38610 composeExplanationOfBenefitNoteComponentElements(element); 38611 composeElementClose(element); 38612 xml.exit(FHIR_NS, name); 38613 } 38614 } 38615 38616 protected void composeExplanationOfBenefitNoteComponentElements(ExplanationOfBenefit.NoteComponent element) throws IOException { 38617 composeBackboneElementElements(element); 38618 if (element.hasNumberElement()) { 38619 composePositiveInt("number", element.getNumberElement()); 38620 } 38621 if (element.hasTypeElement()) 38622 composeEnumeration("type", element.getTypeElement(), new Enumerations.NoteTypeEnumFactory()); 38623 if (element.hasTextElement()) { 38624 composeString("text", element.getTextElement()); 38625 } 38626 if (element.hasLanguage()) { 38627 composeCodeableConcept("language", element.getLanguage()); 38628 } 38629 } 38630 38631 protected void composeExplanationOfBenefitBenefitBalanceComponent(String name, ExplanationOfBenefit.BenefitBalanceComponent element) throws IOException { 38632 if (element != null) { 38633 composeElementAttributes(element); 38634 xml.enter(FHIR_NS, name); 38635 composeExplanationOfBenefitBenefitBalanceComponentElements(element); 38636 composeElementClose(element); 38637 xml.exit(FHIR_NS, name); 38638 } 38639 } 38640 38641 protected void composeExplanationOfBenefitBenefitBalanceComponentElements(ExplanationOfBenefit.BenefitBalanceComponent element) throws IOException { 38642 composeBackboneElementElements(element); 38643 if (element.hasCategory()) { 38644 composeCodeableConcept("category", element.getCategory()); 38645 } 38646 if (element.hasExcludedElement()) { 38647 composeBoolean("excluded", element.getExcludedElement()); 38648 } 38649 if (element.hasNameElement()) { 38650 composeString("name", element.getNameElement()); 38651 } 38652 if (element.hasDescriptionElement()) { 38653 composeString("description", element.getDescriptionElement()); 38654 } 38655 if (element.hasNetwork()) { 38656 composeCodeableConcept("network", element.getNetwork()); 38657 } 38658 if (element.hasUnit()) { 38659 composeCodeableConcept("unit", element.getUnit()); 38660 } 38661 if (element.hasTerm()) { 38662 composeCodeableConcept("term", element.getTerm()); 38663 } 38664 if (element.hasFinancial()) { 38665 for (ExplanationOfBenefit.BenefitComponent e : element.getFinancial()) 38666 composeExplanationOfBenefitBenefitComponent("financial", e); 38667 } 38668 } 38669 38670 protected void composeExplanationOfBenefitBenefitComponent(String name, ExplanationOfBenefit.BenefitComponent element) throws IOException { 38671 if (element != null) { 38672 composeElementAttributes(element); 38673 xml.enter(FHIR_NS, name); 38674 composeExplanationOfBenefitBenefitComponentElements(element); 38675 composeElementClose(element); 38676 xml.exit(FHIR_NS, name); 38677 } 38678 } 38679 38680 protected void composeExplanationOfBenefitBenefitComponentElements(ExplanationOfBenefit.BenefitComponent element) throws IOException { 38681 composeBackboneElementElements(element); 38682 if (element.hasType()) { 38683 composeCodeableConcept("type", element.getType()); 38684 } 38685 if (element.hasAllowed()) { 38686 composeType("allowed", element.getAllowed()); 38687 } if (element.hasUsed()) { 38688 composeType("used", element.getUsed()); 38689 } } 38690 38691 protected void composeFamilyMemberHistory(String name, FamilyMemberHistory element) throws IOException { 38692 if (element != null) { 38693 composeResourceAttributes(element); 38694 xml.enter(FHIR_NS, name); 38695 composeFamilyMemberHistoryElements(element); 38696 composeElementClose(element); 38697 xml.exit(FHIR_NS, name); 38698 } 38699 } 38700 38701 protected void composeFamilyMemberHistoryElements(FamilyMemberHistory element) throws IOException { 38702 composeDomainResourceElements(element); 38703 if (element.hasIdentifier()) { 38704 for (Identifier e : element.getIdentifier()) 38705 composeIdentifier("identifier", e); 38706 } 38707 if (element.hasInstantiatesCanonical()) { 38708 for (CanonicalType e : element.getInstantiatesCanonical()) 38709 composeCanonical("instantiatesCanonical", e); 38710 } 38711 if (element.hasInstantiatesUri()) { 38712 for (UriType e : element.getInstantiatesUri()) 38713 composeUri("instantiatesUri", e); 38714 } 38715 if (element.hasStatusElement()) 38716 composeEnumeration("status", element.getStatusElement(), new FamilyMemberHistory.FamilyHistoryStatusEnumFactory()); 38717 if (element.hasDataAbsentReason()) { 38718 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 38719 } 38720 if (element.hasPatient()) { 38721 composeReference("patient", element.getPatient()); 38722 } 38723 if (element.hasDateElement()) { 38724 composeDateTime("date", element.getDateElement()); 38725 } 38726 if (element.hasNameElement()) { 38727 composeString("name", element.getNameElement()); 38728 } 38729 if (element.hasRelationship()) { 38730 composeCodeableConcept("relationship", element.getRelationship()); 38731 } 38732 if (element.hasSex()) { 38733 composeCodeableConcept("sex", element.getSex()); 38734 } 38735 if (element.hasBorn()) { 38736 composeType("born", element.getBorn()); 38737 } if (element.hasAge()) { 38738 composeType("age", element.getAge()); 38739 } if (element.hasEstimatedAgeElement()) { 38740 composeBoolean("estimatedAge", element.getEstimatedAgeElement()); 38741 } 38742 if (element.hasDeceased()) { 38743 composeType("deceased", element.getDeceased()); 38744 } if (element.hasReasonCode()) { 38745 for (CodeableConcept e : element.getReasonCode()) 38746 composeCodeableConcept("reasonCode", e); 38747 } 38748 if (element.hasReasonReference()) { 38749 for (Reference e : element.getReasonReference()) 38750 composeReference("reasonReference", e); 38751 } 38752 if (element.hasNote()) { 38753 for (Annotation e : element.getNote()) 38754 composeAnnotation("note", e); 38755 } 38756 if (element.hasCondition()) { 38757 for (FamilyMemberHistory.FamilyMemberHistoryConditionComponent e : element.getCondition()) 38758 composeFamilyMemberHistoryConditionComponent("condition", e); 38759 } 38760 } 38761 38762 protected void composeFamilyMemberHistoryConditionComponent(String name, FamilyMemberHistory.FamilyMemberHistoryConditionComponent element) throws IOException { 38763 if (element != null) { 38764 composeElementAttributes(element); 38765 xml.enter(FHIR_NS, name); 38766 composeFamilyMemberHistoryConditionComponentElements(element); 38767 composeElementClose(element); 38768 xml.exit(FHIR_NS, name); 38769 } 38770 } 38771 38772 protected void composeFamilyMemberHistoryConditionComponentElements(FamilyMemberHistory.FamilyMemberHistoryConditionComponent element) throws IOException { 38773 composeBackboneElementElements(element); 38774 if (element.hasCode()) { 38775 composeCodeableConcept("code", element.getCode()); 38776 } 38777 if (element.hasOutcome()) { 38778 composeCodeableConcept("outcome", element.getOutcome()); 38779 } 38780 if (element.hasContributedToDeathElement()) { 38781 composeBoolean("contributedToDeath", element.getContributedToDeathElement()); 38782 } 38783 if (element.hasOnset()) { 38784 composeType("onset", element.getOnset()); 38785 } if (element.hasNote()) { 38786 for (Annotation e : element.getNote()) 38787 composeAnnotation("note", e); 38788 } 38789 } 38790 38791 protected void composeFlag(String name, Flag element) throws IOException { 38792 if (element != null) { 38793 composeResourceAttributes(element); 38794 xml.enter(FHIR_NS, name); 38795 composeFlagElements(element); 38796 composeElementClose(element); 38797 xml.exit(FHIR_NS, name); 38798 } 38799 } 38800 38801 protected void composeFlagElements(Flag element) throws IOException { 38802 composeDomainResourceElements(element); 38803 if (element.hasIdentifier()) { 38804 for (Identifier e : element.getIdentifier()) 38805 composeIdentifier("identifier", e); 38806 } 38807 if (element.hasStatusElement()) 38808 composeEnumeration("status", element.getStatusElement(), new Flag.FlagStatusEnumFactory()); 38809 if (element.hasCategory()) { 38810 for (CodeableConcept e : element.getCategory()) 38811 composeCodeableConcept("category", e); 38812 } 38813 if (element.hasCode()) { 38814 composeCodeableConcept("code", element.getCode()); 38815 } 38816 if (element.hasSubject()) { 38817 composeReference("subject", element.getSubject()); 38818 } 38819 if (element.hasPeriod()) { 38820 composePeriod("period", element.getPeriod()); 38821 } 38822 if (element.hasEncounter()) { 38823 composeReference("encounter", element.getEncounter()); 38824 } 38825 if (element.hasAuthor()) { 38826 composeReference("author", element.getAuthor()); 38827 } 38828 } 38829 38830 protected void composeGoal(String name, Goal element) throws IOException { 38831 if (element != null) { 38832 composeResourceAttributes(element); 38833 xml.enter(FHIR_NS, name); 38834 composeGoalElements(element); 38835 composeElementClose(element); 38836 xml.exit(FHIR_NS, name); 38837 } 38838 } 38839 38840 protected void composeGoalElements(Goal element) throws IOException { 38841 composeDomainResourceElements(element); 38842 if (element.hasIdentifier()) { 38843 for (Identifier e : element.getIdentifier()) 38844 composeIdentifier("identifier", e); 38845 } 38846 if (element.hasLifecycleStatusElement()) 38847 composeEnumeration("lifecycleStatus", element.getLifecycleStatusElement(), new Goal.GoalLifecycleStatusEnumFactory()); 38848 if (element.hasAchievementStatus()) { 38849 composeCodeableConcept("achievementStatus", element.getAchievementStatus()); 38850 } 38851 if (element.hasCategory()) { 38852 for (CodeableConcept e : element.getCategory()) 38853 composeCodeableConcept("category", e); 38854 } 38855 if (element.hasPriority()) { 38856 composeCodeableConcept("priority", element.getPriority()); 38857 } 38858 if (element.hasDescription()) { 38859 composeCodeableConcept("description", element.getDescription()); 38860 } 38861 if (element.hasSubject()) { 38862 composeReference("subject", element.getSubject()); 38863 } 38864 if (element.hasStart()) { 38865 composeType("start", element.getStart()); 38866 } if (element.hasTarget()) { 38867 for (Goal.GoalTargetComponent e : element.getTarget()) 38868 composeGoalTargetComponent("target", e); 38869 } 38870 if (element.hasStatusDateElement()) { 38871 composeDate("statusDate", element.getStatusDateElement()); 38872 } 38873 if (element.hasStatusReasonElement()) { 38874 composeString("statusReason", element.getStatusReasonElement()); 38875 } 38876 if (element.hasExpressedBy()) { 38877 composeReference("expressedBy", element.getExpressedBy()); 38878 } 38879 if (element.hasAddresses()) { 38880 for (Reference e : element.getAddresses()) 38881 composeReference("addresses", e); 38882 } 38883 if (element.hasNote()) { 38884 for (Annotation e : element.getNote()) 38885 composeAnnotation("note", e); 38886 } 38887 if (element.hasOutcomeCode()) { 38888 for (CodeableConcept e : element.getOutcomeCode()) 38889 composeCodeableConcept("outcomeCode", e); 38890 } 38891 if (element.hasOutcomeReference()) { 38892 for (Reference e : element.getOutcomeReference()) 38893 composeReference("outcomeReference", e); 38894 } 38895 } 38896 38897 protected void composeGoalTargetComponent(String name, Goal.GoalTargetComponent element) throws IOException { 38898 if (element != null) { 38899 composeElementAttributes(element); 38900 xml.enter(FHIR_NS, name); 38901 composeGoalTargetComponentElements(element); 38902 composeElementClose(element); 38903 xml.exit(FHIR_NS, name); 38904 } 38905 } 38906 38907 protected void composeGoalTargetComponentElements(Goal.GoalTargetComponent element) throws IOException { 38908 composeBackboneElementElements(element); 38909 if (element.hasMeasure()) { 38910 composeCodeableConcept("measure", element.getMeasure()); 38911 } 38912 if (element.hasDetail()) { 38913 composeType("detail", element.getDetail()); 38914 } if (element.hasDue()) { 38915 composeType("due", element.getDue()); 38916 } } 38917 38918 protected void composeGraphDefinition(String name, GraphDefinition element) throws IOException { 38919 if (element != null) { 38920 composeResourceAttributes(element); 38921 xml.enter(FHIR_NS, name); 38922 composeGraphDefinitionElements(element); 38923 composeElementClose(element); 38924 xml.exit(FHIR_NS, name); 38925 } 38926 } 38927 38928 protected void composeGraphDefinitionElements(GraphDefinition element) throws IOException { 38929 composeDomainResourceElements(element); 38930 if (element.hasUrlElement()) { 38931 composeUri("url", element.getUrlElement()); 38932 } 38933 if (element.hasVersionElement()) { 38934 composeString("version", element.getVersionElement()); 38935 } 38936 if (element.hasNameElement()) { 38937 composeString("name", element.getNameElement()); 38938 } 38939 if (element.hasStatusElement()) 38940 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 38941 if (element.hasExperimentalElement()) { 38942 composeBoolean("experimental", element.getExperimentalElement()); 38943 } 38944 if (element.hasDateElement()) { 38945 composeDateTime("date", element.getDateElement()); 38946 } 38947 if (element.hasPublisherElement()) { 38948 composeString("publisher", element.getPublisherElement()); 38949 } 38950 if (element.hasContact()) { 38951 for (ContactDetail e : element.getContact()) 38952 composeContactDetail("contact", e); 38953 } 38954 if (element.hasDescriptionElement()) { 38955 composeMarkdown("description", element.getDescriptionElement()); 38956 } 38957 if (element.hasUseContext()) { 38958 for (UsageContext e : element.getUseContext()) 38959 composeUsageContext("useContext", e); 38960 } 38961 if (element.hasJurisdiction()) { 38962 for (CodeableConcept e : element.getJurisdiction()) 38963 composeCodeableConcept("jurisdiction", e); 38964 } 38965 if (element.hasPurposeElement()) { 38966 composeMarkdown("purpose", element.getPurposeElement()); 38967 } 38968 if (element.hasStartElement()) { 38969 composeCode("start", element.getStartElement()); 38970 } 38971 if (element.hasProfileElement()) { 38972 composeCanonical("profile", element.getProfileElement()); 38973 } 38974 if (element.hasLink()) { 38975 for (GraphDefinition.GraphDefinitionLinkComponent e : element.getLink()) 38976 composeGraphDefinitionLinkComponent("link", e); 38977 } 38978 } 38979 38980 protected void composeGraphDefinitionLinkComponent(String name, GraphDefinition.GraphDefinitionLinkComponent element) throws IOException { 38981 if (element != null) { 38982 composeElementAttributes(element); 38983 xml.enter(FHIR_NS, name); 38984 composeGraphDefinitionLinkComponentElements(element); 38985 composeElementClose(element); 38986 xml.exit(FHIR_NS, name); 38987 } 38988 } 38989 38990 protected void composeGraphDefinitionLinkComponentElements(GraphDefinition.GraphDefinitionLinkComponent element) throws IOException { 38991 composeBackboneElementElements(element); 38992 if (element.hasPathElement()) { 38993 composeString("path", element.getPathElement()); 38994 } 38995 if (element.hasSliceNameElement()) { 38996 composeString("sliceName", element.getSliceNameElement()); 38997 } 38998 if (element.hasMinElement()) { 38999 composeInteger("min", element.getMinElement()); 39000 } 39001 if (element.hasMaxElement()) { 39002 composeString("max", element.getMaxElement()); 39003 } 39004 if (element.hasDescriptionElement()) { 39005 composeString("description", element.getDescriptionElement()); 39006 } 39007 if (element.hasTarget()) { 39008 for (GraphDefinition.GraphDefinitionLinkTargetComponent e : element.getTarget()) 39009 composeGraphDefinitionLinkTargetComponent("target", e); 39010 } 39011 } 39012 39013 protected void composeGraphDefinitionLinkTargetComponent(String name, GraphDefinition.GraphDefinitionLinkTargetComponent element) throws IOException { 39014 if (element != null) { 39015 composeElementAttributes(element); 39016 xml.enter(FHIR_NS, name); 39017 composeGraphDefinitionLinkTargetComponentElements(element); 39018 composeElementClose(element); 39019 xml.exit(FHIR_NS, name); 39020 } 39021 } 39022 39023 protected void composeGraphDefinitionLinkTargetComponentElements(GraphDefinition.GraphDefinitionLinkTargetComponent element) throws IOException { 39024 composeBackboneElementElements(element); 39025 if (element.hasTypeElement()) { 39026 composeCode("type", element.getTypeElement()); 39027 } 39028 if (element.hasParamsElement()) { 39029 composeString("params", element.getParamsElement()); 39030 } 39031 if (element.hasProfileElement()) { 39032 composeCanonical("profile", element.getProfileElement()); 39033 } 39034 if (element.hasCompartment()) { 39035 for (GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent e : element.getCompartment()) 39036 composeGraphDefinitionLinkTargetCompartmentComponent("compartment", e); 39037 } 39038 if (element.hasLink()) { 39039 for (GraphDefinition.GraphDefinitionLinkComponent e : element.getLink()) 39040 composeGraphDefinitionLinkComponent("link", e); 39041 } 39042 } 39043 39044 protected void composeGraphDefinitionLinkTargetCompartmentComponent(String name, GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent element) throws IOException { 39045 if (element != null) { 39046 composeElementAttributes(element); 39047 xml.enter(FHIR_NS, name); 39048 composeGraphDefinitionLinkTargetCompartmentComponentElements(element); 39049 composeElementClose(element); 39050 xml.exit(FHIR_NS, name); 39051 } 39052 } 39053 39054 protected void composeGraphDefinitionLinkTargetCompartmentComponentElements(GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent element) throws IOException { 39055 composeBackboneElementElements(element); 39056 if (element.hasUseElement()) 39057 composeEnumeration("use", element.getUseElement(), new GraphDefinition.GraphCompartmentUseEnumFactory()); 39058 if (element.hasCodeElement()) 39059 composeEnumeration("code", element.getCodeElement(), new Enumerations.CompartmentTypeEnumFactory()); 39060 if (element.hasRuleElement()) 39061 composeEnumeration("rule", element.getRuleElement(), new GraphDefinition.GraphCompartmentRuleEnumFactory()); 39062 if (element.hasExpressionElement()) { 39063 composeString("expression", element.getExpressionElement()); 39064 } 39065 if (element.hasDescriptionElement()) { 39066 composeString("description", element.getDescriptionElement()); 39067 } 39068 } 39069 39070 protected void composeGroup(String name, Group element) throws IOException { 39071 if (element != null) { 39072 composeResourceAttributes(element); 39073 xml.enter(FHIR_NS, name); 39074 composeGroupElements(element); 39075 composeElementClose(element); 39076 xml.exit(FHIR_NS, name); 39077 } 39078 } 39079 39080 protected void composeGroupElements(Group element) throws IOException { 39081 composeDomainResourceElements(element); 39082 if (element.hasIdentifier()) { 39083 for (Identifier e : element.getIdentifier()) 39084 composeIdentifier("identifier", e); 39085 } 39086 if (element.hasActiveElement()) { 39087 composeBoolean("active", element.getActiveElement()); 39088 } 39089 if (element.hasTypeElement()) 39090 composeEnumeration("type", element.getTypeElement(), new Group.GroupTypeEnumFactory()); 39091 if (element.hasActualElement()) { 39092 composeBoolean("actual", element.getActualElement()); 39093 } 39094 if (element.hasCode()) { 39095 composeCodeableConcept("code", element.getCode()); 39096 } 39097 if (element.hasNameElement()) { 39098 composeString("name", element.getNameElement()); 39099 } 39100 if (element.hasQuantityElement()) { 39101 composeUnsignedInt("quantity", element.getQuantityElement()); 39102 } 39103 if (element.hasManagingEntity()) { 39104 composeReference("managingEntity", element.getManagingEntity()); 39105 } 39106 if (element.hasCharacteristic()) { 39107 for (Group.GroupCharacteristicComponent e : element.getCharacteristic()) 39108 composeGroupCharacteristicComponent("characteristic", e); 39109 } 39110 if (element.hasMember()) { 39111 for (Group.GroupMemberComponent e : element.getMember()) 39112 composeGroupMemberComponent("member", e); 39113 } 39114 } 39115 39116 protected void composeGroupCharacteristicComponent(String name, Group.GroupCharacteristicComponent element) throws IOException { 39117 if (element != null) { 39118 composeElementAttributes(element); 39119 xml.enter(FHIR_NS, name); 39120 composeGroupCharacteristicComponentElements(element); 39121 composeElementClose(element); 39122 xml.exit(FHIR_NS, name); 39123 } 39124 } 39125 39126 protected void composeGroupCharacteristicComponentElements(Group.GroupCharacteristicComponent element) throws IOException { 39127 composeBackboneElementElements(element); 39128 if (element.hasCode()) { 39129 composeCodeableConcept("code", element.getCode()); 39130 } 39131 if (element.hasValue()) { 39132 composeType("value", element.getValue()); 39133 } if (element.hasExcludeElement()) { 39134 composeBoolean("exclude", element.getExcludeElement()); 39135 } 39136 if (element.hasPeriod()) { 39137 composePeriod("period", element.getPeriod()); 39138 } 39139 } 39140 39141 protected void composeGroupMemberComponent(String name, Group.GroupMemberComponent element) throws IOException { 39142 if (element != null) { 39143 composeElementAttributes(element); 39144 xml.enter(FHIR_NS, name); 39145 composeGroupMemberComponentElements(element); 39146 composeElementClose(element); 39147 xml.exit(FHIR_NS, name); 39148 } 39149 } 39150 39151 protected void composeGroupMemberComponentElements(Group.GroupMemberComponent element) throws IOException { 39152 composeBackboneElementElements(element); 39153 if (element.hasEntity()) { 39154 composeReference("entity", element.getEntity()); 39155 } 39156 if (element.hasPeriod()) { 39157 composePeriod("period", element.getPeriod()); 39158 } 39159 if (element.hasInactiveElement()) { 39160 composeBoolean("inactive", element.getInactiveElement()); 39161 } 39162 } 39163 39164 protected void composeGuidanceResponse(String name, GuidanceResponse element) throws IOException { 39165 if (element != null) { 39166 composeResourceAttributes(element); 39167 xml.enter(FHIR_NS, name); 39168 composeGuidanceResponseElements(element); 39169 composeElementClose(element); 39170 xml.exit(FHIR_NS, name); 39171 } 39172 } 39173 39174 protected void composeGuidanceResponseElements(GuidanceResponse element) throws IOException { 39175 composeDomainResourceElements(element); 39176 if (element.hasRequestIdentifier()) { 39177 composeIdentifier("requestIdentifier", element.getRequestIdentifier()); 39178 } 39179 if (element.hasIdentifier()) { 39180 for (Identifier e : element.getIdentifier()) 39181 composeIdentifier("identifier", e); 39182 } 39183 if (element.hasModule()) { 39184 composeType("module", element.getModule()); 39185 } if (element.hasStatusElement()) 39186 composeEnumeration("status", element.getStatusElement(), new GuidanceResponse.GuidanceResponseStatusEnumFactory()); 39187 if (element.hasSubject()) { 39188 composeReference("subject", element.getSubject()); 39189 } 39190 if (element.hasEncounter()) { 39191 composeReference("encounter", element.getEncounter()); 39192 } 39193 if (element.hasOccurrenceDateTimeElement()) { 39194 composeDateTime("occurrenceDateTime", element.getOccurrenceDateTimeElement()); 39195 } 39196 if (element.hasPerformer()) { 39197 composeReference("performer", element.getPerformer()); 39198 } 39199 if (element.hasReasonCode()) { 39200 for (CodeableConcept e : element.getReasonCode()) 39201 composeCodeableConcept("reasonCode", e); 39202 } 39203 if (element.hasReasonReference()) { 39204 for (Reference e : element.getReasonReference()) 39205 composeReference("reasonReference", e); 39206 } 39207 if (element.hasNote()) { 39208 for (Annotation e : element.getNote()) 39209 composeAnnotation("note", e); 39210 } 39211 if (element.hasEvaluationMessage()) { 39212 for (Reference e : element.getEvaluationMessage()) 39213 composeReference("evaluationMessage", e); 39214 } 39215 if (element.hasOutputParameters()) { 39216 composeReference("outputParameters", element.getOutputParameters()); 39217 } 39218 if (element.hasResult()) { 39219 composeReference("result", element.getResult()); 39220 } 39221 if (element.hasDataRequirement()) { 39222 for (DataRequirement e : element.getDataRequirement()) 39223 composeDataRequirement("dataRequirement", e); 39224 } 39225 } 39226 39227 protected void composeHealthcareService(String name, HealthcareService element) throws IOException { 39228 if (element != null) { 39229 composeResourceAttributes(element); 39230 xml.enter(FHIR_NS, name); 39231 composeHealthcareServiceElements(element); 39232 composeElementClose(element); 39233 xml.exit(FHIR_NS, name); 39234 } 39235 } 39236 39237 protected void composeHealthcareServiceElements(HealthcareService element) throws IOException { 39238 composeDomainResourceElements(element); 39239 if (element.hasIdentifier()) { 39240 for (Identifier e : element.getIdentifier()) 39241 composeIdentifier("identifier", e); 39242 } 39243 if (element.hasActiveElement()) { 39244 composeBoolean("active", element.getActiveElement()); 39245 } 39246 if (element.hasProvidedBy()) { 39247 composeReference("providedBy", element.getProvidedBy()); 39248 } 39249 if (element.hasCategory()) { 39250 for (CodeableConcept e : element.getCategory()) 39251 composeCodeableConcept("category", e); 39252 } 39253 if (element.hasType()) { 39254 for (CodeableConcept e : element.getType()) 39255 composeCodeableConcept("type", e); 39256 } 39257 if (element.hasSpecialty()) { 39258 for (CodeableConcept e : element.getSpecialty()) 39259 composeCodeableConcept("specialty", e); 39260 } 39261 if (element.hasLocation()) { 39262 for (Reference e : element.getLocation()) 39263 composeReference("location", e); 39264 } 39265 if (element.hasNameElement()) { 39266 composeString("name", element.getNameElement()); 39267 } 39268 if (element.hasCommentElement()) { 39269 composeString("comment", element.getCommentElement()); 39270 } 39271 if (element.hasExtraDetailsElement()) { 39272 composeMarkdown("extraDetails", element.getExtraDetailsElement()); 39273 } 39274 if (element.hasPhoto()) { 39275 composeAttachment("photo", element.getPhoto()); 39276 } 39277 if (element.hasTelecom()) { 39278 for (ContactPoint e : element.getTelecom()) 39279 composeContactPoint("telecom", e); 39280 } 39281 if (element.hasCoverageArea()) { 39282 for (Reference e : element.getCoverageArea()) 39283 composeReference("coverageArea", e); 39284 } 39285 if (element.hasServiceProvisionCode()) { 39286 for (CodeableConcept e : element.getServiceProvisionCode()) 39287 composeCodeableConcept("serviceProvisionCode", e); 39288 } 39289 if (element.hasEligibility()) { 39290 for (HealthcareService.HealthcareServiceEligibilityComponent e : element.getEligibility()) 39291 composeHealthcareServiceEligibilityComponent("eligibility", e); 39292 } 39293 if (element.hasProgram()) { 39294 for (CodeableConcept e : element.getProgram()) 39295 composeCodeableConcept("program", e); 39296 } 39297 if (element.hasCharacteristic()) { 39298 for (CodeableConcept e : element.getCharacteristic()) 39299 composeCodeableConcept("characteristic", e); 39300 } 39301 if (element.hasCommunication()) { 39302 for (CodeableConcept e : element.getCommunication()) 39303 composeCodeableConcept("communication", e); 39304 } 39305 if (element.hasReferralMethod()) { 39306 for (CodeableConcept e : element.getReferralMethod()) 39307 composeCodeableConcept("referralMethod", e); 39308 } 39309 if (element.hasAppointmentRequiredElement()) { 39310 composeBoolean("appointmentRequired", element.getAppointmentRequiredElement()); 39311 } 39312 if (element.hasAvailableTime()) { 39313 for (HealthcareService.HealthcareServiceAvailableTimeComponent e : element.getAvailableTime()) 39314 composeHealthcareServiceAvailableTimeComponent("availableTime", e); 39315 } 39316 if (element.hasNotAvailable()) { 39317 for (HealthcareService.HealthcareServiceNotAvailableComponent e : element.getNotAvailable()) 39318 composeHealthcareServiceNotAvailableComponent("notAvailable", e); 39319 } 39320 if (element.hasAvailabilityExceptionsElement()) { 39321 composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); 39322 } 39323 if (element.hasEndpoint()) { 39324 for (Reference e : element.getEndpoint()) 39325 composeReference("endpoint", e); 39326 } 39327 } 39328 39329 protected void composeHealthcareServiceEligibilityComponent(String name, HealthcareService.HealthcareServiceEligibilityComponent element) throws IOException { 39330 if (element != null) { 39331 composeElementAttributes(element); 39332 xml.enter(FHIR_NS, name); 39333 composeHealthcareServiceEligibilityComponentElements(element); 39334 composeElementClose(element); 39335 xml.exit(FHIR_NS, name); 39336 } 39337 } 39338 39339 protected void composeHealthcareServiceEligibilityComponentElements(HealthcareService.HealthcareServiceEligibilityComponent element) throws IOException { 39340 composeBackboneElementElements(element); 39341 if (element.hasCode()) { 39342 composeCodeableConcept("code", element.getCode()); 39343 } 39344 if (element.hasCommentElement()) { 39345 composeMarkdown("comment", element.getCommentElement()); 39346 } 39347 } 39348 39349 protected void composeHealthcareServiceAvailableTimeComponent(String name, HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { 39350 if (element != null) { 39351 composeElementAttributes(element); 39352 xml.enter(FHIR_NS, name); 39353 composeHealthcareServiceAvailableTimeComponentElements(element); 39354 composeElementClose(element); 39355 xml.exit(FHIR_NS, name); 39356 } 39357 } 39358 39359 protected void composeHealthcareServiceAvailableTimeComponentElements(HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { 39360 composeBackboneElementElements(element); 39361 if (element.hasDaysOfWeek()) 39362 for (Enumeration<Enumerations.DaysOfWeek> e : element.getDaysOfWeek()) 39363 composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); 39364 if (element.hasAllDayElement()) { 39365 composeBoolean("allDay", element.getAllDayElement()); 39366 } 39367 if (element.hasAvailableStartTimeElement()) { 39368 composeTime("availableStartTime", element.getAvailableStartTimeElement()); 39369 } 39370 if (element.hasAvailableEndTimeElement()) { 39371 composeTime("availableEndTime", element.getAvailableEndTimeElement()); 39372 } 39373 } 39374 39375 protected void composeHealthcareServiceNotAvailableComponent(String name, HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { 39376 if (element != null) { 39377 composeElementAttributes(element); 39378 xml.enter(FHIR_NS, name); 39379 composeHealthcareServiceNotAvailableComponentElements(element); 39380 composeElementClose(element); 39381 xml.exit(FHIR_NS, name); 39382 } 39383 } 39384 39385 protected void composeHealthcareServiceNotAvailableComponentElements(HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { 39386 composeBackboneElementElements(element); 39387 if (element.hasDescriptionElement()) { 39388 composeString("description", element.getDescriptionElement()); 39389 } 39390 if (element.hasDuring()) { 39391 composePeriod("during", element.getDuring()); 39392 } 39393 } 39394 39395 protected void composeImagingStudy(String name, ImagingStudy element) throws IOException { 39396 if (element != null) { 39397 composeResourceAttributes(element); 39398 xml.enter(FHIR_NS, name); 39399 composeImagingStudyElements(element); 39400 composeElementClose(element); 39401 xml.exit(FHIR_NS, name); 39402 } 39403 } 39404 39405 protected void composeImagingStudyElements(ImagingStudy element) throws IOException { 39406 composeDomainResourceElements(element); 39407 if (element.hasIdentifier()) { 39408 for (Identifier e : element.getIdentifier()) 39409 composeIdentifier("identifier", e); 39410 } 39411 if (element.hasStatusElement()) 39412 composeEnumeration("status", element.getStatusElement(), new ImagingStudy.ImagingStudyStatusEnumFactory()); 39413 if (element.hasModality()) { 39414 for (Coding e : element.getModality()) 39415 composeCoding("modality", e); 39416 } 39417 if (element.hasSubject()) { 39418 composeReference("subject", element.getSubject()); 39419 } 39420 if (element.hasEncounter()) { 39421 composeReference("encounter", element.getEncounter()); 39422 } 39423 if (element.hasStartedElement()) { 39424 composeDateTime("started", element.getStartedElement()); 39425 } 39426 if (element.hasBasedOn()) { 39427 for (Reference e : element.getBasedOn()) 39428 composeReference("basedOn", e); 39429 } 39430 if (element.hasReferrer()) { 39431 composeReference("referrer", element.getReferrer()); 39432 } 39433 if (element.hasInterpreter()) { 39434 for (Reference e : element.getInterpreter()) 39435 composeReference("interpreter", e); 39436 } 39437 if (element.hasEndpoint()) { 39438 for (Reference e : element.getEndpoint()) 39439 composeReference("endpoint", e); 39440 } 39441 if (element.hasNumberOfSeriesElement()) { 39442 composeUnsignedInt("numberOfSeries", element.getNumberOfSeriesElement()); 39443 } 39444 if (element.hasNumberOfInstancesElement()) { 39445 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 39446 } 39447 if (element.hasProcedureReference()) { 39448 composeReference("procedureReference", element.getProcedureReference()); 39449 } 39450 if (element.hasProcedureCode()) { 39451 for (CodeableConcept e : element.getProcedureCode()) 39452 composeCodeableConcept("procedureCode", e); 39453 } 39454 if (element.hasLocation()) { 39455 composeReference("location", element.getLocation()); 39456 } 39457 if (element.hasReasonCode()) { 39458 for (CodeableConcept e : element.getReasonCode()) 39459 composeCodeableConcept("reasonCode", e); 39460 } 39461 if (element.hasReasonReference()) { 39462 for (Reference e : element.getReasonReference()) 39463 composeReference("reasonReference", e); 39464 } 39465 if (element.hasNote()) { 39466 for (Annotation e : element.getNote()) 39467 composeAnnotation("note", e); 39468 } 39469 if (element.hasDescriptionElement()) { 39470 composeString("description", element.getDescriptionElement()); 39471 } 39472 if (element.hasSeries()) { 39473 for (ImagingStudy.ImagingStudySeriesComponent e : element.getSeries()) 39474 composeImagingStudySeriesComponent("series", e); 39475 } 39476 } 39477 39478 protected void composeImagingStudySeriesComponent(String name, ImagingStudy.ImagingStudySeriesComponent element) throws IOException { 39479 if (element != null) { 39480 composeElementAttributes(element); 39481 xml.enter(FHIR_NS, name); 39482 composeImagingStudySeriesComponentElements(element); 39483 composeElementClose(element); 39484 xml.exit(FHIR_NS, name); 39485 } 39486 } 39487 39488 protected void composeImagingStudySeriesComponentElements(ImagingStudy.ImagingStudySeriesComponent element) throws IOException { 39489 composeBackboneElementElements(element); 39490 if (element.hasUidElement()) { 39491 composeId("uid", element.getUidElement()); 39492 } 39493 if (element.hasNumberElement()) { 39494 composeUnsignedInt("number", element.getNumberElement()); 39495 } 39496 if (element.hasModality()) { 39497 composeCoding("modality", element.getModality()); 39498 } 39499 if (element.hasDescriptionElement()) { 39500 composeString("description", element.getDescriptionElement()); 39501 } 39502 if (element.hasNumberOfInstancesElement()) { 39503 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 39504 } 39505 if (element.hasEndpoint()) { 39506 for (Reference e : element.getEndpoint()) 39507 composeReference("endpoint", e); 39508 } 39509 if (element.hasBodySite()) { 39510 composeCoding("bodySite", element.getBodySite()); 39511 } 39512 if (element.hasLaterality()) { 39513 composeCoding("laterality", element.getLaterality()); 39514 } 39515 if (element.hasSpecimen()) { 39516 for (Reference e : element.getSpecimen()) 39517 composeReference("specimen", e); 39518 } 39519 if (element.hasStartedElement()) { 39520 composeDateTime("started", element.getStartedElement()); 39521 } 39522 if (element.hasPerformer()) { 39523 for (ImagingStudy.ImagingStudySeriesPerformerComponent e : element.getPerformer()) 39524 composeImagingStudySeriesPerformerComponent("performer", e); 39525 } 39526 if (element.hasInstance()) { 39527 for (ImagingStudy.ImagingStudySeriesInstanceComponent e : element.getInstance()) 39528 composeImagingStudySeriesInstanceComponent("instance", e); 39529 } 39530 } 39531 39532 protected void composeImagingStudySeriesPerformerComponent(String name, ImagingStudy.ImagingStudySeriesPerformerComponent element) throws IOException { 39533 if (element != null) { 39534 composeElementAttributes(element); 39535 xml.enter(FHIR_NS, name); 39536 composeImagingStudySeriesPerformerComponentElements(element); 39537 composeElementClose(element); 39538 xml.exit(FHIR_NS, name); 39539 } 39540 } 39541 39542 protected void composeImagingStudySeriesPerformerComponentElements(ImagingStudy.ImagingStudySeriesPerformerComponent element) throws IOException { 39543 composeBackboneElementElements(element); 39544 if (element.hasFunction()) { 39545 composeCodeableConcept("function", element.getFunction()); 39546 } 39547 if (element.hasActor()) { 39548 composeReference("actor", element.getActor()); 39549 } 39550 } 39551 39552 protected void composeImagingStudySeriesInstanceComponent(String name, ImagingStudy.ImagingStudySeriesInstanceComponent element) throws IOException { 39553 if (element != null) { 39554 composeElementAttributes(element); 39555 xml.enter(FHIR_NS, name); 39556 composeImagingStudySeriesInstanceComponentElements(element); 39557 composeElementClose(element); 39558 xml.exit(FHIR_NS, name); 39559 } 39560 } 39561 39562 protected void composeImagingStudySeriesInstanceComponentElements(ImagingStudy.ImagingStudySeriesInstanceComponent element) throws IOException { 39563 composeBackboneElementElements(element); 39564 if (element.hasUidElement()) { 39565 composeId("uid", element.getUidElement()); 39566 } 39567 if (element.hasSopClass()) { 39568 composeCoding("sopClass", element.getSopClass()); 39569 } 39570 if (element.hasNumberElement()) { 39571 composeUnsignedInt("number", element.getNumberElement()); 39572 } 39573 if (element.hasTitleElement()) { 39574 composeString("title", element.getTitleElement()); 39575 } 39576 } 39577 39578 protected void composeImmunization(String name, Immunization element) throws IOException { 39579 if (element != null) { 39580 composeResourceAttributes(element); 39581 xml.enter(FHIR_NS, name); 39582 composeImmunizationElements(element); 39583 composeElementClose(element); 39584 xml.exit(FHIR_NS, name); 39585 } 39586 } 39587 39588 protected void composeImmunizationElements(Immunization element) throws IOException { 39589 composeDomainResourceElements(element); 39590 if (element.hasIdentifier()) { 39591 for (Identifier e : element.getIdentifier()) 39592 composeIdentifier("identifier", e); 39593 } 39594 if (element.hasStatusElement()) 39595 composeEnumeration("status", element.getStatusElement(), new Immunization.ImmunizationStatusCodesEnumFactory()); 39596 if (element.hasStatusReason()) { 39597 composeCodeableConcept("statusReason", element.getStatusReason()); 39598 } 39599 if (element.hasVaccineCode()) { 39600 composeCodeableConcept("vaccineCode", element.getVaccineCode()); 39601 } 39602 if (element.hasPatient()) { 39603 composeReference("patient", element.getPatient()); 39604 } 39605 if (element.hasEncounter()) { 39606 composeReference("encounter", element.getEncounter()); 39607 } 39608 if (element.hasOccurrence()) { 39609 composeType("occurrence", element.getOccurrence()); 39610 } if (element.hasRecordedElement()) { 39611 composeDateTime("recorded", element.getRecordedElement()); 39612 } 39613 if (element.hasPrimarySourceElement()) { 39614 composeBoolean("primarySource", element.getPrimarySourceElement()); 39615 } 39616 if (element.hasReportOrigin()) { 39617 composeCodeableConcept("reportOrigin", element.getReportOrigin()); 39618 } 39619 if (element.hasLocation()) { 39620 composeReference("location", element.getLocation()); 39621 } 39622 if (element.hasManufacturer()) { 39623 composeReference("manufacturer", element.getManufacturer()); 39624 } 39625 if (element.hasLotNumberElement()) { 39626 composeString("lotNumber", element.getLotNumberElement()); 39627 } 39628 if (element.hasExpirationDateElement()) { 39629 composeDate("expirationDate", element.getExpirationDateElement()); 39630 } 39631 if (element.hasSite()) { 39632 composeCodeableConcept("site", element.getSite()); 39633 } 39634 if (element.hasRoute()) { 39635 composeCodeableConcept("route", element.getRoute()); 39636 } 39637 if (element.hasDoseQuantity()) { 39638 composeQuantity("doseQuantity", element.getDoseQuantity()); 39639 } 39640 if (element.hasPerformer()) { 39641 for (Immunization.ImmunizationPerformerComponent e : element.getPerformer()) 39642 composeImmunizationPerformerComponent("performer", e); 39643 } 39644 if (element.hasNote()) { 39645 for (Annotation e : element.getNote()) 39646 composeAnnotation("note", e); 39647 } 39648 if (element.hasReasonCode()) { 39649 for (CodeableConcept e : element.getReasonCode()) 39650 composeCodeableConcept("reasonCode", e); 39651 } 39652 if (element.hasReasonReference()) { 39653 for (Reference e : element.getReasonReference()) 39654 composeReference("reasonReference", e); 39655 } 39656 if (element.hasIsSubpotentElement()) { 39657 composeBoolean("isSubpotent", element.getIsSubpotentElement()); 39658 } 39659 if (element.hasSubpotentReason()) { 39660 for (CodeableConcept e : element.getSubpotentReason()) 39661 composeCodeableConcept("subpotentReason", e); 39662 } 39663 if (element.hasEducation()) { 39664 for (Immunization.ImmunizationEducationComponent e : element.getEducation()) 39665 composeImmunizationEducationComponent("education", e); 39666 } 39667 if (element.hasProgramEligibility()) { 39668 for (CodeableConcept e : element.getProgramEligibility()) 39669 composeCodeableConcept("programEligibility", e); 39670 } 39671 if (element.hasFundingSource()) { 39672 composeCodeableConcept("fundingSource", element.getFundingSource()); 39673 } 39674 if (element.hasReaction()) { 39675 for (Immunization.ImmunizationReactionComponent e : element.getReaction()) 39676 composeImmunizationReactionComponent("reaction", e); 39677 } 39678 if (element.hasProtocolApplied()) { 39679 for (Immunization.ImmunizationProtocolAppliedComponent e : element.getProtocolApplied()) 39680 composeImmunizationProtocolAppliedComponent("protocolApplied", e); 39681 } 39682 } 39683 39684 protected void composeImmunizationPerformerComponent(String name, Immunization.ImmunizationPerformerComponent element) throws IOException { 39685 if (element != null) { 39686 composeElementAttributes(element); 39687 xml.enter(FHIR_NS, name); 39688 composeImmunizationPerformerComponentElements(element); 39689 composeElementClose(element); 39690 xml.exit(FHIR_NS, name); 39691 } 39692 } 39693 39694 protected void composeImmunizationPerformerComponentElements(Immunization.ImmunizationPerformerComponent element) throws IOException { 39695 composeBackboneElementElements(element); 39696 if (element.hasFunction()) { 39697 composeCodeableConcept("function", element.getFunction()); 39698 } 39699 if (element.hasActor()) { 39700 composeReference("actor", element.getActor()); 39701 } 39702 } 39703 39704 protected void composeImmunizationEducationComponent(String name, Immunization.ImmunizationEducationComponent element) throws IOException { 39705 if (element != null) { 39706 composeElementAttributes(element); 39707 xml.enter(FHIR_NS, name); 39708 composeImmunizationEducationComponentElements(element); 39709 composeElementClose(element); 39710 xml.exit(FHIR_NS, name); 39711 } 39712 } 39713 39714 protected void composeImmunizationEducationComponentElements(Immunization.ImmunizationEducationComponent element) throws IOException { 39715 composeBackboneElementElements(element); 39716 if (element.hasDocumentTypeElement()) { 39717 composeString("documentType", element.getDocumentTypeElement()); 39718 } 39719 if (element.hasReferenceElement()) { 39720 composeUri("reference", element.getReferenceElement()); 39721 } 39722 if (element.hasPublicationDateElement()) { 39723 composeDateTime("publicationDate", element.getPublicationDateElement()); 39724 } 39725 if (element.hasPresentationDateElement()) { 39726 composeDateTime("presentationDate", element.getPresentationDateElement()); 39727 } 39728 } 39729 39730 protected void composeImmunizationReactionComponent(String name, Immunization.ImmunizationReactionComponent element) throws IOException { 39731 if (element != null) { 39732 composeElementAttributes(element); 39733 xml.enter(FHIR_NS, name); 39734 composeImmunizationReactionComponentElements(element); 39735 composeElementClose(element); 39736 xml.exit(FHIR_NS, name); 39737 } 39738 } 39739 39740 protected void composeImmunizationReactionComponentElements(Immunization.ImmunizationReactionComponent element) throws IOException { 39741 composeBackboneElementElements(element); 39742 if (element.hasDateElement()) { 39743 composeDateTime("date", element.getDateElement()); 39744 } 39745 if (element.hasDetail()) { 39746 composeReference("detail", element.getDetail()); 39747 } 39748 if (element.hasReportedElement()) { 39749 composeBoolean("reported", element.getReportedElement()); 39750 } 39751 } 39752 39753 protected void composeImmunizationProtocolAppliedComponent(String name, Immunization.ImmunizationProtocolAppliedComponent element) throws IOException { 39754 if (element != null) { 39755 composeElementAttributes(element); 39756 xml.enter(FHIR_NS, name); 39757 composeImmunizationProtocolAppliedComponentElements(element); 39758 composeElementClose(element); 39759 xml.exit(FHIR_NS, name); 39760 } 39761 } 39762 39763 protected void composeImmunizationProtocolAppliedComponentElements(Immunization.ImmunizationProtocolAppliedComponent element) throws IOException { 39764 composeBackboneElementElements(element); 39765 if (element.hasSeriesElement()) { 39766 composeString("series", element.getSeriesElement()); 39767 } 39768 if (element.hasAuthority()) { 39769 composeReference("authority", element.getAuthority()); 39770 } 39771 if (element.hasTargetDisease()) { 39772 for (CodeableConcept e : element.getTargetDisease()) 39773 composeCodeableConcept("targetDisease", e); 39774 } 39775 if (element.hasDoseNumber()) { 39776 composeType("doseNumber", element.getDoseNumber()); 39777 } if (element.hasSeriesDoses()) { 39778 composeType("seriesDoses", element.getSeriesDoses()); 39779 } } 39780 39781 protected void composeImmunizationEvaluation(String name, ImmunizationEvaluation element) throws IOException { 39782 if (element != null) { 39783 composeResourceAttributes(element); 39784 xml.enter(FHIR_NS, name); 39785 composeImmunizationEvaluationElements(element); 39786 composeElementClose(element); 39787 xml.exit(FHIR_NS, name); 39788 } 39789 } 39790 39791 protected void composeImmunizationEvaluationElements(ImmunizationEvaluation element) throws IOException { 39792 composeDomainResourceElements(element); 39793 if (element.hasIdentifier()) { 39794 for (Identifier e : element.getIdentifier()) 39795 composeIdentifier("identifier", e); 39796 } 39797 if (element.hasStatusElement()) 39798 composeEnumeration("status", element.getStatusElement(), new ImmunizationEvaluation.ImmunizationEvaluationStatusCodesEnumFactory()); 39799 if (element.hasPatient()) { 39800 composeReference("patient", element.getPatient()); 39801 } 39802 if (element.hasDateElement()) { 39803 composeDateTime("date", element.getDateElement()); 39804 } 39805 if (element.hasAuthority()) { 39806 composeReference("authority", element.getAuthority()); 39807 } 39808 if (element.hasTargetDisease()) { 39809 composeCodeableConcept("targetDisease", element.getTargetDisease()); 39810 } 39811 if (element.hasImmunizationEvent()) { 39812 composeReference("immunizationEvent", element.getImmunizationEvent()); 39813 } 39814 if (element.hasDoseStatus()) { 39815 composeCodeableConcept("doseStatus", element.getDoseStatus()); 39816 } 39817 if (element.hasDoseStatusReason()) { 39818 for (CodeableConcept e : element.getDoseStatusReason()) 39819 composeCodeableConcept("doseStatusReason", e); 39820 } 39821 if (element.hasDescriptionElement()) { 39822 composeString("description", element.getDescriptionElement()); 39823 } 39824 if (element.hasSeriesElement()) { 39825 composeString("series", element.getSeriesElement()); 39826 } 39827 if (element.hasDoseNumber()) { 39828 composeType("doseNumber", element.getDoseNumber()); 39829 } if (element.hasSeriesDoses()) { 39830 composeType("seriesDoses", element.getSeriesDoses()); 39831 } } 39832 39833 protected void composeImmunizationRecommendation(String name, ImmunizationRecommendation element) throws IOException { 39834 if (element != null) { 39835 composeResourceAttributes(element); 39836 xml.enter(FHIR_NS, name); 39837 composeImmunizationRecommendationElements(element); 39838 composeElementClose(element); 39839 xml.exit(FHIR_NS, name); 39840 } 39841 } 39842 39843 protected void composeImmunizationRecommendationElements(ImmunizationRecommendation element) throws IOException { 39844 composeDomainResourceElements(element); 39845 if (element.hasIdentifier()) { 39846 for (Identifier e : element.getIdentifier()) 39847 composeIdentifier("identifier", e); 39848 } 39849 if (element.hasPatient()) { 39850 composeReference("patient", element.getPatient()); 39851 } 39852 if (element.hasDateElement()) { 39853 composeDateTime("date", element.getDateElement()); 39854 } 39855 if (element.hasAuthority()) { 39856 composeReference("authority", element.getAuthority()); 39857 } 39858 if (element.hasRecommendation()) { 39859 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent e : element.getRecommendation()) 39860 composeImmunizationRecommendationRecommendationComponent("recommendation", e); 39861 } 39862 } 39863 39864 protected void composeImmunizationRecommendationRecommendationComponent(String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element) throws IOException { 39865 if (element != null) { 39866 composeElementAttributes(element); 39867 xml.enter(FHIR_NS, name); 39868 composeImmunizationRecommendationRecommendationComponentElements(element); 39869 composeElementClose(element); 39870 xml.exit(FHIR_NS, name); 39871 } 39872 } 39873 39874 protected void composeImmunizationRecommendationRecommendationComponentElements(ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element) throws IOException { 39875 composeBackboneElementElements(element); 39876 if (element.hasVaccineCode()) { 39877 for (CodeableConcept e : element.getVaccineCode()) 39878 composeCodeableConcept("vaccineCode", e); 39879 } 39880 if (element.hasTargetDisease()) { 39881 composeCodeableConcept("targetDisease", element.getTargetDisease()); 39882 } 39883 if (element.hasContraindicatedVaccineCode()) { 39884 for (CodeableConcept e : element.getContraindicatedVaccineCode()) 39885 composeCodeableConcept("contraindicatedVaccineCode", e); 39886 } 39887 if (element.hasForecastStatus()) { 39888 composeCodeableConcept("forecastStatus", element.getForecastStatus()); 39889 } 39890 if (element.hasForecastReason()) { 39891 for (CodeableConcept e : element.getForecastReason()) 39892 composeCodeableConcept("forecastReason", e); 39893 } 39894 if (element.hasDateCriterion()) { 39895 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent e : element.getDateCriterion()) 39896 composeImmunizationRecommendationRecommendationDateCriterionComponent("dateCriterion", e); 39897 } 39898 if (element.hasDescriptionElement()) { 39899 composeString("description", element.getDescriptionElement()); 39900 } 39901 if (element.hasSeriesElement()) { 39902 composeString("series", element.getSeriesElement()); 39903 } 39904 if (element.hasDoseNumber()) { 39905 composeType("doseNumber", element.getDoseNumber()); 39906 } if (element.hasSeriesDoses()) { 39907 composeType("seriesDoses", element.getSeriesDoses()); 39908 } if (element.hasSupportingImmunization()) { 39909 for (Reference e : element.getSupportingImmunization()) 39910 composeReference("supportingImmunization", e); 39911 } 39912 if (element.hasSupportingPatientInformation()) { 39913 for (Reference e : element.getSupportingPatientInformation()) 39914 composeReference("supportingPatientInformation", e); 39915 } 39916 } 39917 39918 protected void composeImmunizationRecommendationRecommendationDateCriterionComponent(String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element) throws IOException { 39919 if (element != null) { 39920 composeElementAttributes(element); 39921 xml.enter(FHIR_NS, name); 39922 composeImmunizationRecommendationRecommendationDateCriterionComponentElements(element); 39923 composeElementClose(element); 39924 xml.exit(FHIR_NS, name); 39925 } 39926 } 39927 39928 protected void composeImmunizationRecommendationRecommendationDateCriterionComponentElements(ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element) throws IOException { 39929 composeBackboneElementElements(element); 39930 if (element.hasCode()) { 39931 composeCodeableConcept("code", element.getCode()); 39932 } 39933 if (element.hasValueElement()) { 39934 composeDateTime("value", element.getValueElement()); 39935 } 39936 } 39937 39938 protected void composeImplementationGuide(String name, ImplementationGuide element) throws IOException { 39939 if (element != null) { 39940 composeResourceAttributes(element); 39941 xml.enter(FHIR_NS, name); 39942 composeImplementationGuideElements(element); 39943 composeElementClose(element); 39944 xml.exit(FHIR_NS, name); 39945 } 39946 } 39947 39948 protected void composeImplementationGuideElements(ImplementationGuide element) throws IOException { 39949 composeDomainResourceElements(element); 39950 if (element.hasUrlElement()) { 39951 composeUri("url", element.getUrlElement()); 39952 } 39953 if (element.hasVersionElement()) { 39954 composeString("version", element.getVersionElement()); 39955 } 39956 if (element.hasNameElement()) { 39957 composeString("name", element.getNameElement()); 39958 } 39959 if (element.hasTitleElement()) { 39960 composeString("title", element.getTitleElement()); 39961 } 39962 if (element.hasStatusElement()) 39963 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 39964 if (element.hasExperimentalElement()) { 39965 composeBoolean("experimental", element.getExperimentalElement()); 39966 } 39967 if (element.hasDateElement()) { 39968 composeDateTime("date", element.getDateElement()); 39969 } 39970 if (element.hasPublisherElement()) { 39971 composeString("publisher", element.getPublisherElement()); 39972 } 39973 if (element.hasContact()) { 39974 for (ContactDetail e : element.getContact()) 39975 composeContactDetail("contact", e); 39976 } 39977 if (element.hasDescriptionElement()) { 39978 composeMarkdown("description", element.getDescriptionElement()); 39979 } 39980 if (element.hasUseContext()) { 39981 for (UsageContext e : element.getUseContext()) 39982 composeUsageContext("useContext", e); 39983 } 39984 if (element.hasJurisdiction()) { 39985 for (CodeableConcept e : element.getJurisdiction()) 39986 composeCodeableConcept("jurisdiction", e); 39987 } 39988 if (element.hasCopyrightElement()) { 39989 composeMarkdown("copyright", element.getCopyrightElement()); 39990 } 39991 if (element.hasPackageIdElement()) { 39992 composeId("packageId", element.getPackageIdElement()); 39993 } 39994 if (element.hasLicenseElement()) 39995 composeEnumeration("license", element.getLicenseElement(), new ImplementationGuide.SPDXLicenseEnumFactory()); 39996 if (element.hasFhirVersion()) 39997 for (Enumeration<Enumerations.FHIRVersion> e : element.getFhirVersion()) 39998 composeEnumeration("fhirVersion", e, new Enumerations.FHIRVersionEnumFactory()); 39999 if (element.hasDependsOn()) { 40000 for (ImplementationGuide.ImplementationGuideDependsOnComponent e : element.getDependsOn()) 40001 composeImplementationGuideDependsOnComponent("dependsOn", e); 40002 } 40003 if (element.hasGlobal()) { 40004 for (ImplementationGuide.ImplementationGuideGlobalComponent e : element.getGlobal()) 40005 composeImplementationGuideGlobalComponent("global", e); 40006 } 40007 if (element.hasDefinition()) { 40008 composeImplementationGuideDefinitionComponent("definition", element.getDefinition()); 40009 } 40010 if (element.hasManifest()) { 40011 composeImplementationGuideManifestComponent("manifest", element.getManifest()); 40012 } 40013 } 40014 40015 protected void composeImplementationGuideDependsOnComponent(String name, ImplementationGuide.ImplementationGuideDependsOnComponent element) throws IOException { 40016 if (element != null) { 40017 composeElementAttributes(element); 40018 xml.enter(FHIR_NS, name); 40019 composeImplementationGuideDependsOnComponentElements(element); 40020 composeElementClose(element); 40021 xml.exit(FHIR_NS, name); 40022 } 40023 } 40024 40025 protected void composeImplementationGuideDependsOnComponentElements(ImplementationGuide.ImplementationGuideDependsOnComponent element) throws IOException { 40026 composeBackboneElementElements(element); 40027 if (element.hasUriElement()) { 40028 composeCanonical("uri", element.getUriElement()); 40029 } 40030 if (element.hasPackageIdElement()) { 40031 composeId("packageId", element.getPackageIdElement()); 40032 } 40033 if (element.hasVersionElement()) { 40034 composeString("version", element.getVersionElement()); 40035 } 40036 } 40037 40038 protected void composeImplementationGuideGlobalComponent(String name, ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { 40039 if (element != null) { 40040 composeElementAttributes(element); 40041 xml.enter(FHIR_NS, name); 40042 composeImplementationGuideGlobalComponentElements(element); 40043 composeElementClose(element); 40044 xml.exit(FHIR_NS, name); 40045 } 40046 } 40047 40048 protected void composeImplementationGuideGlobalComponentElements(ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { 40049 composeBackboneElementElements(element); 40050 if (element.hasTypeElement()) { 40051 composeCode("type", element.getTypeElement()); 40052 } 40053 if (element.hasProfileElement()) { 40054 composeCanonical("profile", element.getProfileElement()); 40055 } 40056 } 40057 40058 protected void composeImplementationGuideDefinitionComponent(String name, ImplementationGuide.ImplementationGuideDefinitionComponent element) throws IOException { 40059 if (element != null) { 40060 composeElementAttributes(element); 40061 xml.enter(FHIR_NS, name); 40062 composeImplementationGuideDefinitionComponentElements(element); 40063 composeElementClose(element); 40064 xml.exit(FHIR_NS, name); 40065 } 40066 } 40067 40068 protected void composeImplementationGuideDefinitionComponentElements(ImplementationGuide.ImplementationGuideDefinitionComponent element) throws IOException { 40069 composeBackboneElementElements(element); 40070 if (element.hasGrouping()) { 40071 for (ImplementationGuide.ImplementationGuideDefinitionGroupingComponent e : element.getGrouping()) 40072 composeImplementationGuideDefinitionGroupingComponent("grouping", e); 40073 } 40074 if (element.hasResource()) { 40075 for (ImplementationGuide.ImplementationGuideDefinitionResourceComponent e : element.getResource()) 40076 composeImplementationGuideDefinitionResourceComponent("resource", e); 40077 } 40078 if (element.hasPage()) { 40079 composeImplementationGuideDefinitionPageComponent("page", element.getPage()); 40080 } 40081 if (element.hasParameter()) { 40082 for (ImplementationGuide.ImplementationGuideDefinitionParameterComponent e : element.getParameter()) 40083 composeImplementationGuideDefinitionParameterComponent("parameter", e); 40084 } 40085 if (element.hasTemplate()) { 40086 for (ImplementationGuide.ImplementationGuideDefinitionTemplateComponent e : element.getTemplate()) 40087 composeImplementationGuideDefinitionTemplateComponent("template", e); 40088 } 40089 } 40090 40091 protected void composeImplementationGuideDefinitionGroupingComponent(String name, ImplementationGuide.ImplementationGuideDefinitionGroupingComponent element) throws IOException { 40092 if (element != null) { 40093 composeElementAttributes(element); 40094 xml.enter(FHIR_NS, name); 40095 composeImplementationGuideDefinitionGroupingComponentElements(element); 40096 composeElementClose(element); 40097 xml.exit(FHIR_NS, name); 40098 } 40099 } 40100 40101 protected void composeImplementationGuideDefinitionGroupingComponentElements(ImplementationGuide.ImplementationGuideDefinitionGroupingComponent element) throws IOException { 40102 composeBackboneElementElements(element); 40103 if (element.hasNameElement()) { 40104 composeString("name", element.getNameElement()); 40105 } 40106 if (element.hasDescriptionElement()) { 40107 composeString("description", element.getDescriptionElement()); 40108 } 40109 } 40110 40111 protected void composeImplementationGuideDefinitionResourceComponent(String name, ImplementationGuide.ImplementationGuideDefinitionResourceComponent element) throws IOException { 40112 if (element != null) { 40113 composeElementAttributes(element); 40114 xml.enter(FHIR_NS, name); 40115 composeImplementationGuideDefinitionResourceComponentElements(element); 40116 composeElementClose(element); 40117 xml.exit(FHIR_NS, name); 40118 } 40119 } 40120 40121 protected void composeImplementationGuideDefinitionResourceComponentElements(ImplementationGuide.ImplementationGuideDefinitionResourceComponent element) throws IOException { 40122 composeBackboneElementElements(element); 40123 if (element.hasReference()) { 40124 composeReference("reference", element.getReference()); 40125 } 40126 if (element.hasFhirVersion()) 40127 for (Enumeration<Enumerations.FHIRVersion> e : element.getFhirVersion()) 40128 composeEnumeration("fhirVersion", e, new Enumerations.FHIRVersionEnumFactory()); 40129 if (element.hasNameElement()) { 40130 composeString("name", element.getNameElement()); 40131 } 40132 if (element.hasDescriptionElement()) { 40133 composeString("description", element.getDescriptionElement()); 40134 } 40135 if (element.hasExample()) { 40136 composeType("example", element.getExample()); 40137 } if (element.hasGroupingIdElement()) { 40138 composeId("groupingId", element.getGroupingIdElement()); 40139 } 40140 } 40141 40142 protected void composeImplementationGuideDefinitionPageComponent(String name, ImplementationGuide.ImplementationGuideDefinitionPageComponent element) throws IOException { 40143 if (element != null) { 40144 composeElementAttributes(element); 40145 xml.enter(FHIR_NS, name); 40146 composeImplementationGuideDefinitionPageComponentElements(element); 40147 composeElementClose(element); 40148 xml.exit(FHIR_NS, name); 40149 } 40150 } 40151 40152 protected void composeImplementationGuideDefinitionPageComponentElements(ImplementationGuide.ImplementationGuideDefinitionPageComponent element) throws IOException { 40153 composeBackboneElementElements(element); 40154 if (element.hasName()) { 40155 composeType("name", element.getName()); 40156 } if (element.hasTitleElement()) { 40157 composeString("title", element.getTitleElement()); 40158 } 40159 if (element.hasGenerationElement()) 40160 composeEnumeration("generation", element.getGenerationElement(), new ImplementationGuide.GuidePageGenerationEnumFactory()); 40161 if (element.hasPage()) { 40162 for (ImplementationGuide.ImplementationGuideDefinitionPageComponent e : element.getPage()) 40163 composeImplementationGuideDefinitionPageComponent("page", e); 40164 } 40165 } 40166 40167 protected void composeImplementationGuideDefinitionParameterComponent(String name, ImplementationGuide.ImplementationGuideDefinitionParameterComponent element) throws IOException { 40168 if (element != null) { 40169 composeElementAttributes(element); 40170 xml.enter(FHIR_NS, name); 40171 composeImplementationGuideDefinitionParameterComponentElements(element); 40172 composeElementClose(element); 40173 xml.exit(FHIR_NS, name); 40174 } 40175 } 40176 40177 protected void composeImplementationGuideDefinitionParameterComponentElements(ImplementationGuide.ImplementationGuideDefinitionParameterComponent element) throws IOException { 40178 composeBackboneElementElements(element); 40179 if (element.hasCodeElement()) 40180 composeEnumeration("code", element.getCodeElement(), new ImplementationGuide.GuideParameterCodeEnumFactory()); 40181 if (element.hasValueElement()) { 40182 composeString("value", element.getValueElement()); 40183 } 40184 } 40185 40186 protected void composeImplementationGuideDefinitionTemplateComponent(String name, ImplementationGuide.ImplementationGuideDefinitionTemplateComponent element) throws IOException { 40187 if (element != null) { 40188 composeElementAttributes(element); 40189 xml.enter(FHIR_NS, name); 40190 composeImplementationGuideDefinitionTemplateComponentElements(element); 40191 composeElementClose(element); 40192 xml.exit(FHIR_NS, name); 40193 } 40194 } 40195 40196 protected void composeImplementationGuideDefinitionTemplateComponentElements(ImplementationGuide.ImplementationGuideDefinitionTemplateComponent element) throws IOException { 40197 composeBackboneElementElements(element); 40198 if (element.hasCodeElement()) { 40199 composeCode("code", element.getCodeElement()); 40200 } 40201 if (element.hasSourceElement()) { 40202 composeString("source", element.getSourceElement()); 40203 } 40204 if (element.hasScopeElement()) { 40205 composeString("scope", element.getScopeElement()); 40206 } 40207 } 40208 40209 protected void composeImplementationGuideManifestComponent(String name, ImplementationGuide.ImplementationGuideManifestComponent element) throws IOException { 40210 if (element != null) { 40211 composeElementAttributes(element); 40212 xml.enter(FHIR_NS, name); 40213 composeImplementationGuideManifestComponentElements(element); 40214 composeElementClose(element); 40215 xml.exit(FHIR_NS, name); 40216 } 40217 } 40218 40219 protected void composeImplementationGuideManifestComponentElements(ImplementationGuide.ImplementationGuideManifestComponent element) throws IOException { 40220 composeBackboneElementElements(element); 40221 if (element.hasRenderingElement()) { 40222 composeUrl("rendering", element.getRenderingElement()); 40223 } 40224 if (element.hasResource()) { 40225 for (ImplementationGuide.ManifestResourceComponent e : element.getResource()) 40226 composeImplementationGuideManifestResourceComponent("resource", e); 40227 } 40228 if (element.hasPage()) { 40229 for (ImplementationGuide.ManifestPageComponent e : element.getPage()) 40230 composeImplementationGuideManifestPageComponent("page", e); 40231 } 40232 if (element.hasImage()) { 40233 for (StringType e : element.getImage()) 40234 composeString("image", e); 40235 } 40236 if (element.hasOther()) { 40237 for (StringType e : element.getOther()) 40238 composeString("other", e); 40239 } 40240 } 40241 40242 protected void composeImplementationGuideManifestResourceComponent(String name, ImplementationGuide.ManifestResourceComponent element) throws IOException { 40243 if (element != null) { 40244 composeElementAttributes(element); 40245 xml.enter(FHIR_NS, name); 40246 composeImplementationGuideManifestResourceComponentElements(element); 40247 composeElementClose(element); 40248 xml.exit(FHIR_NS, name); 40249 } 40250 } 40251 40252 protected void composeImplementationGuideManifestResourceComponentElements(ImplementationGuide.ManifestResourceComponent element) throws IOException { 40253 composeBackboneElementElements(element); 40254 if (element.hasReference()) { 40255 composeReference("reference", element.getReference()); 40256 } 40257 if (element.hasExample()) { 40258 composeType("example", element.getExample()); 40259 } if (element.hasRelativePathElement()) { 40260 composeUrl("relativePath", element.getRelativePathElement()); 40261 } 40262 } 40263 40264 protected void composeImplementationGuideManifestPageComponent(String name, ImplementationGuide.ManifestPageComponent element) throws IOException { 40265 if (element != null) { 40266 composeElementAttributes(element); 40267 xml.enter(FHIR_NS, name); 40268 composeImplementationGuideManifestPageComponentElements(element); 40269 composeElementClose(element); 40270 xml.exit(FHIR_NS, name); 40271 } 40272 } 40273 40274 protected void composeImplementationGuideManifestPageComponentElements(ImplementationGuide.ManifestPageComponent element) throws IOException { 40275 composeBackboneElementElements(element); 40276 if (element.hasNameElement()) { 40277 composeString("name", element.getNameElement()); 40278 } 40279 if (element.hasTitleElement()) { 40280 composeString("title", element.getTitleElement()); 40281 } 40282 if (element.hasAnchor()) { 40283 for (StringType e : element.getAnchor()) 40284 composeString("anchor", e); 40285 } 40286 } 40287 40288 protected void composeIngredient(String name, Ingredient element) throws IOException { 40289 if (element != null) { 40290 composeResourceAttributes(element); 40291 xml.enter(FHIR_NS, name); 40292 composeIngredientElements(element); 40293 composeElementClose(element); 40294 xml.exit(FHIR_NS, name); 40295 } 40296 } 40297 40298 protected void composeIngredientElements(Ingredient element) throws IOException { 40299 composeDomainResourceElements(element); 40300 if (element.hasIdentifier()) { 40301 composeIdentifier("identifier", element.getIdentifier()); 40302 } 40303 if (element.hasStatusElement()) 40304 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 40305 if (element.hasFor()) { 40306 for (Reference e : element.getFor()) 40307 composeReference("for", e); 40308 } 40309 if (element.hasRole()) { 40310 composeCodeableConcept("role", element.getRole()); 40311 } 40312 if (element.hasFunction()) { 40313 for (CodeableConcept e : element.getFunction()) 40314 composeCodeableConcept("function", e); 40315 } 40316 if (element.hasAllergenicIndicatorElement()) { 40317 composeBoolean("allergenicIndicator", element.getAllergenicIndicatorElement()); 40318 } 40319 if (element.hasManufacturer()) { 40320 for (Ingredient.IngredientManufacturerComponent e : element.getManufacturer()) 40321 composeIngredientManufacturerComponent("manufacturer", e); 40322 } 40323 if (element.hasSubstance()) { 40324 composeIngredientSubstanceComponent("substance", element.getSubstance()); 40325 } 40326 } 40327 40328 protected void composeIngredientManufacturerComponent(String name, Ingredient.IngredientManufacturerComponent element) throws IOException { 40329 if (element != null) { 40330 composeElementAttributes(element); 40331 xml.enter(FHIR_NS, name); 40332 composeIngredientManufacturerComponentElements(element); 40333 composeElementClose(element); 40334 xml.exit(FHIR_NS, name); 40335 } 40336 } 40337 40338 protected void composeIngredientManufacturerComponentElements(Ingredient.IngredientManufacturerComponent element) throws IOException { 40339 composeBackboneElementElements(element); 40340 if (element.hasRole()) { 40341 composeCoding("role", element.getRole()); 40342 } 40343 if (element.hasManufacturer()) { 40344 composeReference("manufacturer", element.getManufacturer()); 40345 } 40346 } 40347 40348 protected void composeIngredientSubstanceComponent(String name, Ingredient.IngredientSubstanceComponent element) throws IOException { 40349 if (element != null) { 40350 composeElementAttributes(element); 40351 xml.enter(FHIR_NS, name); 40352 composeIngredientSubstanceComponentElements(element); 40353 composeElementClose(element); 40354 xml.exit(FHIR_NS, name); 40355 } 40356 } 40357 40358 protected void composeIngredientSubstanceComponentElements(Ingredient.IngredientSubstanceComponent element) throws IOException { 40359 composeBackboneElementElements(element); 40360 if (element.hasCode()) { 40361 composeCodeableReference("code", element.getCode()); 40362 } 40363 if (element.hasStrength()) { 40364 for (Ingredient.IngredientSubstanceStrengthComponent e : element.getStrength()) 40365 composeIngredientSubstanceStrengthComponent("strength", e); 40366 } 40367 } 40368 40369 protected void composeIngredientSubstanceStrengthComponent(String name, Ingredient.IngredientSubstanceStrengthComponent element) throws IOException { 40370 if (element != null) { 40371 composeElementAttributes(element); 40372 xml.enter(FHIR_NS, name); 40373 composeIngredientSubstanceStrengthComponentElements(element); 40374 composeElementClose(element); 40375 xml.exit(FHIR_NS, name); 40376 } 40377 } 40378 40379 protected void composeIngredientSubstanceStrengthComponentElements(Ingredient.IngredientSubstanceStrengthComponent element) throws IOException { 40380 composeBackboneElementElements(element); 40381 if (element.hasPresentation()) { 40382 composeType("presentation", element.getPresentation()); 40383 } if (element.hasPresentationTextElement()) { 40384 composeString("presentationText", element.getPresentationTextElement()); 40385 } 40386 if (element.hasConcentration()) { 40387 composeType("concentration", element.getConcentration()); 40388 } if (element.hasConcentrationTextElement()) { 40389 composeString("concentrationText", element.getConcentrationTextElement()); 40390 } 40391 if (element.hasMeasurementPointElement()) { 40392 composeString("measurementPoint", element.getMeasurementPointElement()); 40393 } 40394 if (element.hasCountry()) { 40395 for (CodeableConcept e : element.getCountry()) 40396 composeCodeableConcept("country", e); 40397 } 40398 if (element.hasReferenceStrength()) { 40399 for (Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent e : element.getReferenceStrength()) 40400 composeIngredientSubstanceStrengthReferenceStrengthComponent("referenceStrength", e); 40401 } 40402 } 40403 40404 protected void composeIngredientSubstanceStrengthReferenceStrengthComponent(String name, Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent element) throws IOException { 40405 if (element != null) { 40406 composeElementAttributes(element); 40407 xml.enter(FHIR_NS, name); 40408 composeIngredientSubstanceStrengthReferenceStrengthComponentElements(element); 40409 composeElementClose(element); 40410 xml.exit(FHIR_NS, name); 40411 } 40412 } 40413 40414 protected void composeIngredientSubstanceStrengthReferenceStrengthComponentElements(Ingredient.IngredientSubstanceStrengthReferenceStrengthComponent element) throws IOException { 40415 composeBackboneElementElements(element); 40416 if (element.hasSubstance()) { 40417 composeCodeableReference("substance", element.getSubstance()); 40418 } 40419 if (element.hasStrength()) { 40420 composeType("strength", element.getStrength()); 40421 } if (element.hasMeasurementPointElement()) { 40422 composeString("measurementPoint", element.getMeasurementPointElement()); 40423 } 40424 if (element.hasCountry()) { 40425 for (CodeableConcept e : element.getCountry()) 40426 composeCodeableConcept("country", e); 40427 } 40428 } 40429 40430 protected void composeInsurancePlan(String name, InsurancePlan element) throws IOException { 40431 if (element != null) { 40432 composeResourceAttributes(element); 40433 xml.enter(FHIR_NS, name); 40434 composeInsurancePlanElements(element); 40435 composeElementClose(element); 40436 xml.exit(FHIR_NS, name); 40437 } 40438 } 40439 40440 protected void composeInsurancePlanElements(InsurancePlan element) throws IOException { 40441 composeDomainResourceElements(element); 40442 if (element.hasIdentifier()) { 40443 for (Identifier e : element.getIdentifier()) 40444 composeIdentifier("identifier", e); 40445 } 40446 if (element.hasStatusElement()) 40447 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 40448 if (element.hasType()) { 40449 for (CodeableConcept e : element.getType()) 40450 composeCodeableConcept("type", e); 40451 } 40452 if (element.hasNameElement()) { 40453 composeString("name", element.getNameElement()); 40454 } 40455 if (element.hasAlias()) { 40456 for (StringType e : element.getAlias()) 40457 composeString("alias", e); 40458 } 40459 if (element.hasPeriod()) { 40460 composePeriod("period", element.getPeriod()); 40461 } 40462 if (element.hasOwnedBy()) { 40463 composeReference("ownedBy", element.getOwnedBy()); 40464 } 40465 if (element.hasAdministeredBy()) { 40466 composeReference("administeredBy", element.getAdministeredBy()); 40467 } 40468 if (element.hasCoverageArea()) { 40469 for (Reference e : element.getCoverageArea()) 40470 composeReference("coverageArea", e); 40471 } 40472 if (element.hasContact()) { 40473 for (InsurancePlan.InsurancePlanContactComponent e : element.getContact()) 40474 composeInsurancePlanContactComponent("contact", e); 40475 } 40476 if (element.hasEndpoint()) { 40477 for (Reference e : element.getEndpoint()) 40478 composeReference("endpoint", e); 40479 } 40480 if (element.hasNetwork()) { 40481 for (Reference e : element.getNetwork()) 40482 composeReference("network", e); 40483 } 40484 if (element.hasCoverage()) { 40485 for (InsurancePlan.InsurancePlanCoverageComponent e : element.getCoverage()) 40486 composeInsurancePlanCoverageComponent("coverage", e); 40487 } 40488 if (element.hasPlan()) { 40489 for (InsurancePlan.InsurancePlanPlanComponent e : element.getPlan()) 40490 composeInsurancePlanPlanComponent("plan", e); 40491 } 40492 } 40493 40494 protected void composeInsurancePlanContactComponent(String name, InsurancePlan.InsurancePlanContactComponent element) throws IOException { 40495 if (element != null) { 40496 composeElementAttributes(element); 40497 xml.enter(FHIR_NS, name); 40498 composeInsurancePlanContactComponentElements(element); 40499 composeElementClose(element); 40500 xml.exit(FHIR_NS, name); 40501 } 40502 } 40503 40504 protected void composeInsurancePlanContactComponentElements(InsurancePlan.InsurancePlanContactComponent element) throws IOException { 40505 composeBackboneElementElements(element); 40506 if (element.hasPurpose()) { 40507 composeCodeableConcept("purpose", element.getPurpose()); 40508 } 40509 if (element.hasName()) { 40510 composeHumanName("name", element.getName()); 40511 } 40512 if (element.hasTelecom()) { 40513 for (ContactPoint e : element.getTelecom()) 40514 composeContactPoint("telecom", e); 40515 } 40516 if (element.hasAddress()) { 40517 composeAddress("address", element.getAddress()); 40518 } 40519 } 40520 40521 protected void composeInsurancePlanCoverageComponent(String name, InsurancePlan.InsurancePlanCoverageComponent element) throws IOException { 40522 if (element != null) { 40523 composeElementAttributes(element); 40524 xml.enter(FHIR_NS, name); 40525 composeInsurancePlanCoverageComponentElements(element); 40526 composeElementClose(element); 40527 xml.exit(FHIR_NS, name); 40528 } 40529 } 40530 40531 protected void composeInsurancePlanCoverageComponentElements(InsurancePlan.InsurancePlanCoverageComponent element) throws IOException { 40532 composeBackboneElementElements(element); 40533 if (element.hasType()) { 40534 composeCodeableConcept("type", element.getType()); 40535 } 40536 if (element.hasNetwork()) { 40537 for (Reference e : element.getNetwork()) 40538 composeReference("network", e); 40539 } 40540 if (element.hasBenefit()) { 40541 for (InsurancePlan.CoverageBenefitComponent e : element.getBenefit()) 40542 composeInsurancePlanCoverageBenefitComponent("benefit", e); 40543 } 40544 } 40545 40546 protected void composeInsurancePlanCoverageBenefitComponent(String name, InsurancePlan.CoverageBenefitComponent element) throws IOException { 40547 if (element != null) { 40548 composeElementAttributes(element); 40549 xml.enter(FHIR_NS, name); 40550 composeInsurancePlanCoverageBenefitComponentElements(element); 40551 composeElementClose(element); 40552 xml.exit(FHIR_NS, name); 40553 } 40554 } 40555 40556 protected void composeInsurancePlanCoverageBenefitComponentElements(InsurancePlan.CoverageBenefitComponent element) throws IOException { 40557 composeBackboneElementElements(element); 40558 if (element.hasType()) { 40559 composeCodeableConcept("type", element.getType()); 40560 } 40561 if (element.hasRequirementElement()) { 40562 composeString("requirement", element.getRequirementElement()); 40563 } 40564 if (element.hasLimit()) { 40565 for (InsurancePlan.CoverageBenefitLimitComponent e : element.getLimit()) 40566 composeInsurancePlanCoverageBenefitLimitComponent("limit", e); 40567 } 40568 } 40569 40570 protected void composeInsurancePlanCoverageBenefitLimitComponent(String name, InsurancePlan.CoverageBenefitLimitComponent element) throws IOException { 40571 if (element != null) { 40572 composeElementAttributes(element); 40573 xml.enter(FHIR_NS, name); 40574 composeInsurancePlanCoverageBenefitLimitComponentElements(element); 40575 composeElementClose(element); 40576 xml.exit(FHIR_NS, name); 40577 } 40578 } 40579 40580 protected void composeInsurancePlanCoverageBenefitLimitComponentElements(InsurancePlan.CoverageBenefitLimitComponent element) throws IOException { 40581 composeBackboneElementElements(element); 40582 if (element.hasValue()) { 40583 composeQuantity("value", element.getValue()); 40584 } 40585 if (element.hasCode()) { 40586 composeCodeableConcept("code", element.getCode()); 40587 } 40588 } 40589 40590 protected void composeInsurancePlanPlanComponent(String name, InsurancePlan.InsurancePlanPlanComponent element) throws IOException { 40591 if (element != null) { 40592 composeElementAttributes(element); 40593 xml.enter(FHIR_NS, name); 40594 composeInsurancePlanPlanComponentElements(element); 40595 composeElementClose(element); 40596 xml.exit(FHIR_NS, name); 40597 } 40598 } 40599 40600 protected void composeInsurancePlanPlanComponentElements(InsurancePlan.InsurancePlanPlanComponent element) throws IOException { 40601 composeBackboneElementElements(element); 40602 if (element.hasIdentifier()) { 40603 for (Identifier e : element.getIdentifier()) 40604 composeIdentifier("identifier", e); 40605 } 40606 if (element.hasType()) { 40607 composeCodeableConcept("type", element.getType()); 40608 } 40609 if (element.hasCoverageArea()) { 40610 for (Reference e : element.getCoverageArea()) 40611 composeReference("coverageArea", e); 40612 } 40613 if (element.hasNetwork()) { 40614 for (Reference e : element.getNetwork()) 40615 composeReference("network", e); 40616 } 40617 if (element.hasGeneralCost()) { 40618 for (InsurancePlan.InsurancePlanPlanGeneralCostComponent e : element.getGeneralCost()) 40619 composeInsurancePlanPlanGeneralCostComponent("generalCost", e); 40620 } 40621 if (element.hasSpecificCost()) { 40622 for (InsurancePlan.InsurancePlanPlanSpecificCostComponent e : element.getSpecificCost()) 40623 composeInsurancePlanPlanSpecificCostComponent("specificCost", e); 40624 } 40625 } 40626 40627 protected void composeInsurancePlanPlanGeneralCostComponent(String name, InsurancePlan.InsurancePlanPlanGeneralCostComponent element) throws IOException { 40628 if (element != null) { 40629 composeElementAttributes(element); 40630 xml.enter(FHIR_NS, name); 40631 composeInsurancePlanPlanGeneralCostComponentElements(element); 40632 composeElementClose(element); 40633 xml.exit(FHIR_NS, name); 40634 } 40635 } 40636 40637 protected void composeInsurancePlanPlanGeneralCostComponentElements(InsurancePlan.InsurancePlanPlanGeneralCostComponent element) throws IOException { 40638 composeBackboneElementElements(element); 40639 if (element.hasType()) { 40640 composeCodeableConcept("type", element.getType()); 40641 } 40642 if (element.hasGroupSizeElement()) { 40643 composePositiveInt("groupSize", element.getGroupSizeElement()); 40644 } 40645 if (element.hasCost()) { 40646 composeMoney("cost", element.getCost()); 40647 } 40648 if (element.hasCommentElement()) { 40649 composeString("comment", element.getCommentElement()); 40650 } 40651 } 40652 40653 protected void composeInsurancePlanPlanSpecificCostComponent(String name, InsurancePlan.InsurancePlanPlanSpecificCostComponent element) throws IOException { 40654 if (element != null) { 40655 composeElementAttributes(element); 40656 xml.enter(FHIR_NS, name); 40657 composeInsurancePlanPlanSpecificCostComponentElements(element); 40658 composeElementClose(element); 40659 xml.exit(FHIR_NS, name); 40660 } 40661 } 40662 40663 protected void composeInsurancePlanPlanSpecificCostComponentElements(InsurancePlan.InsurancePlanPlanSpecificCostComponent element) throws IOException { 40664 composeBackboneElementElements(element); 40665 if (element.hasCategory()) { 40666 composeCodeableConcept("category", element.getCategory()); 40667 } 40668 if (element.hasBenefit()) { 40669 for (InsurancePlan.PlanBenefitComponent e : element.getBenefit()) 40670 composeInsurancePlanPlanBenefitComponent("benefit", e); 40671 } 40672 } 40673 40674 protected void composeInsurancePlanPlanBenefitComponent(String name, InsurancePlan.PlanBenefitComponent element) throws IOException { 40675 if (element != null) { 40676 composeElementAttributes(element); 40677 xml.enter(FHIR_NS, name); 40678 composeInsurancePlanPlanBenefitComponentElements(element); 40679 composeElementClose(element); 40680 xml.exit(FHIR_NS, name); 40681 } 40682 } 40683 40684 protected void composeInsurancePlanPlanBenefitComponentElements(InsurancePlan.PlanBenefitComponent element) throws IOException { 40685 composeBackboneElementElements(element); 40686 if (element.hasType()) { 40687 composeCodeableConcept("type", element.getType()); 40688 } 40689 if (element.hasCost()) { 40690 for (InsurancePlan.PlanBenefitCostComponent e : element.getCost()) 40691 composeInsurancePlanPlanBenefitCostComponent("cost", e); 40692 } 40693 } 40694 40695 protected void composeInsurancePlanPlanBenefitCostComponent(String name, InsurancePlan.PlanBenefitCostComponent element) throws IOException { 40696 if (element != null) { 40697 composeElementAttributes(element); 40698 xml.enter(FHIR_NS, name); 40699 composeInsurancePlanPlanBenefitCostComponentElements(element); 40700 composeElementClose(element); 40701 xml.exit(FHIR_NS, name); 40702 } 40703 } 40704 40705 protected void composeInsurancePlanPlanBenefitCostComponentElements(InsurancePlan.PlanBenefitCostComponent element) throws IOException { 40706 composeBackboneElementElements(element); 40707 if (element.hasType()) { 40708 composeCodeableConcept("type", element.getType()); 40709 } 40710 if (element.hasApplicability()) { 40711 composeCodeableConcept("applicability", element.getApplicability()); 40712 } 40713 if (element.hasQualifiers()) { 40714 for (CodeableConcept e : element.getQualifiers()) 40715 composeCodeableConcept("qualifiers", e); 40716 } 40717 if (element.hasValue()) { 40718 composeQuantity("value", element.getValue()); 40719 } 40720 } 40721 40722 protected void composeInvoice(String name, Invoice element) throws IOException { 40723 if (element != null) { 40724 composeResourceAttributes(element); 40725 xml.enter(FHIR_NS, name); 40726 composeInvoiceElements(element); 40727 composeElementClose(element); 40728 xml.exit(FHIR_NS, name); 40729 } 40730 } 40731 40732 protected void composeInvoiceElements(Invoice element) throws IOException { 40733 composeDomainResourceElements(element); 40734 if (element.hasIdentifier()) { 40735 for (Identifier e : element.getIdentifier()) 40736 composeIdentifier("identifier", e); 40737 } 40738 if (element.hasStatusElement()) 40739 composeEnumeration("status", element.getStatusElement(), new Invoice.InvoiceStatusEnumFactory()); 40740 if (element.hasCancelledReasonElement()) { 40741 composeString("cancelledReason", element.getCancelledReasonElement()); 40742 } 40743 if (element.hasType()) { 40744 composeCodeableConcept("type", element.getType()); 40745 } 40746 if (element.hasSubject()) { 40747 composeReference("subject", element.getSubject()); 40748 } 40749 if (element.hasRecipient()) { 40750 composeReference("recipient", element.getRecipient()); 40751 } 40752 if (element.hasDateElement()) { 40753 composeDateTime("date", element.getDateElement()); 40754 } 40755 if (element.hasParticipant()) { 40756 for (Invoice.InvoiceParticipantComponent e : element.getParticipant()) 40757 composeInvoiceParticipantComponent("participant", e); 40758 } 40759 if (element.hasIssuer()) { 40760 composeReference("issuer", element.getIssuer()); 40761 } 40762 if (element.hasAccount()) { 40763 composeReference("account", element.getAccount()); 40764 } 40765 if (element.hasLineItem()) { 40766 for (Invoice.InvoiceLineItemComponent e : element.getLineItem()) 40767 composeInvoiceLineItemComponent("lineItem", e); 40768 } 40769 if (element.hasTotalPriceComponent()) { 40770 for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getTotalPriceComponent()) 40771 composeInvoiceLineItemPriceComponentComponent("totalPriceComponent", e); 40772 } 40773 if (element.hasTotalNet()) { 40774 composeMoney("totalNet", element.getTotalNet()); 40775 } 40776 if (element.hasTotalGross()) { 40777 composeMoney("totalGross", element.getTotalGross()); 40778 } 40779 if (element.hasPaymentTermsElement()) { 40780 composeMarkdown("paymentTerms", element.getPaymentTermsElement()); 40781 } 40782 if (element.hasNote()) { 40783 for (Annotation e : element.getNote()) 40784 composeAnnotation("note", e); 40785 } 40786 } 40787 40788 protected void composeInvoiceParticipantComponent(String name, Invoice.InvoiceParticipantComponent element) throws IOException { 40789 if (element != null) { 40790 composeElementAttributes(element); 40791 xml.enter(FHIR_NS, name); 40792 composeInvoiceParticipantComponentElements(element); 40793 composeElementClose(element); 40794 xml.exit(FHIR_NS, name); 40795 } 40796 } 40797 40798 protected void composeInvoiceParticipantComponentElements(Invoice.InvoiceParticipantComponent element) throws IOException { 40799 composeBackboneElementElements(element); 40800 if (element.hasRole()) { 40801 composeCodeableConcept("role", element.getRole()); 40802 } 40803 if (element.hasActor()) { 40804 composeReference("actor", element.getActor()); 40805 } 40806 } 40807 40808 protected void composeInvoiceLineItemComponent(String name, Invoice.InvoiceLineItemComponent element) throws IOException { 40809 if (element != null) { 40810 composeElementAttributes(element); 40811 xml.enter(FHIR_NS, name); 40812 composeInvoiceLineItemComponentElements(element); 40813 composeElementClose(element); 40814 xml.exit(FHIR_NS, name); 40815 } 40816 } 40817 40818 protected void composeInvoiceLineItemComponentElements(Invoice.InvoiceLineItemComponent element) throws IOException { 40819 composeBackboneElementElements(element); 40820 if (element.hasSequenceElement()) { 40821 composePositiveInt("sequence", element.getSequenceElement()); 40822 } 40823 if (element.hasChargeItem()) { 40824 composeType("chargeItem", element.getChargeItem()); 40825 } if (element.hasPriceComponent()) { 40826 for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getPriceComponent()) 40827 composeInvoiceLineItemPriceComponentComponent("priceComponent", e); 40828 } 40829 } 40830 40831 protected void composeInvoiceLineItemPriceComponentComponent(String name, Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { 40832 if (element != null) { 40833 composeElementAttributes(element); 40834 xml.enter(FHIR_NS, name); 40835 composeInvoiceLineItemPriceComponentComponentElements(element); 40836 composeElementClose(element); 40837 xml.exit(FHIR_NS, name); 40838 } 40839 } 40840 40841 protected void composeInvoiceLineItemPriceComponentComponentElements(Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { 40842 composeBackboneElementElements(element); 40843 if (element.hasTypeElement()) 40844 composeEnumeration("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory()); 40845 if (element.hasCode()) { 40846 composeCodeableConcept("code", element.getCode()); 40847 } 40848 if (element.hasFactorElement()) { 40849 composeDecimal("factor", element.getFactorElement()); 40850 } 40851 if (element.hasAmount()) { 40852 composeMoney("amount", element.getAmount()); 40853 } 40854 } 40855 40856 protected void composeLibrary(String name, Library element) throws IOException { 40857 if (element != null) { 40858 composeResourceAttributes(element); 40859 xml.enter(FHIR_NS, name); 40860 composeLibraryElements(element); 40861 composeElementClose(element); 40862 xml.exit(FHIR_NS, name); 40863 } 40864 } 40865 40866 protected void composeLibraryElements(Library element) throws IOException { 40867 composeDomainResourceElements(element); 40868 if (element.hasUrlElement()) { 40869 composeUri("url", element.getUrlElement()); 40870 } 40871 if (element.hasIdentifier()) { 40872 for (Identifier e : element.getIdentifier()) 40873 composeIdentifier("identifier", e); 40874 } 40875 if (element.hasVersionElement()) { 40876 composeString("version", element.getVersionElement()); 40877 } 40878 if (element.hasNameElement()) { 40879 composeString("name", element.getNameElement()); 40880 } 40881 if (element.hasTitleElement()) { 40882 composeString("title", element.getTitleElement()); 40883 } 40884 if (element.hasSubtitleElement()) { 40885 composeString("subtitle", element.getSubtitleElement()); 40886 } 40887 if (element.hasStatusElement()) 40888 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 40889 if (element.hasExperimentalElement()) { 40890 composeBoolean("experimental", element.getExperimentalElement()); 40891 } 40892 if (element.hasType()) { 40893 composeCodeableConcept("type", element.getType()); 40894 } 40895 if (element.hasSubject()) { 40896 composeType("subject", element.getSubject()); 40897 } if (element.hasDateElement()) { 40898 composeDateTime("date", element.getDateElement()); 40899 } 40900 if (element.hasPublisherElement()) { 40901 composeString("publisher", element.getPublisherElement()); 40902 } 40903 if (element.hasContact()) { 40904 for (ContactDetail e : element.getContact()) 40905 composeContactDetail("contact", e); 40906 } 40907 if (element.hasDescriptionElement()) { 40908 composeMarkdown("description", element.getDescriptionElement()); 40909 } 40910 if (element.hasUseContext()) { 40911 for (UsageContext e : element.getUseContext()) 40912 composeUsageContext("useContext", e); 40913 } 40914 if (element.hasJurisdiction()) { 40915 for (CodeableConcept e : element.getJurisdiction()) 40916 composeCodeableConcept("jurisdiction", e); 40917 } 40918 if (element.hasPurposeElement()) { 40919 composeMarkdown("purpose", element.getPurposeElement()); 40920 } 40921 if (element.hasUsageElement()) { 40922 composeString("usage", element.getUsageElement()); 40923 } 40924 if (element.hasCopyrightElement()) { 40925 composeMarkdown("copyright", element.getCopyrightElement()); 40926 } 40927 if (element.hasApprovalDateElement()) { 40928 composeDate("approvalDate", element.getApprovalDateElement()); 40929 } 40930 if (element.hasLastReviewDateElement()) { 40931 composeDate("lastReviewDate", element.getLastReviewDateElement()); 40932 } 40933 if (element.hasEffectivePeriod()) { 40934 composePeriod("effectivePeriod", element.getEffectivePeriod()); 40935 } 40936 if (element.hasTopic()) { 40937 for (CodeableConcept e : element.getTopic()) 40938 composeCodeableConcept("topic", e); 40939 } 40940 if (element.hasAuthor()) { 40941 for (ContactDetail e : element.getAuthor()) 40942 composeContactDetail("author", e); 40943 } 40944 if (element.hasEditor()) { 40945 for (ContactDetail e : element.getEditor()) 40946 composeContactDetail("editor", e); 40947 } 40948 if (element.hasReviewer()) { 40949 for (ContactDetail e : element.getReviewer()) 40950 composeContactDetail("reviewer", e); 40951 } 40952 if (element.hasEndorser()) { 40953 for (ContactDetail e : element.getEndorser()) 40954 composeContactDetail("endorser", e); 40955 } 40956 if (element.hasRelatedArtifact()) { 40957 for (RelatedArtifact e : element.getRelatedArtifact()) 40958 composeRelatedArtifact("relatedArtifact", e); 40959 } 40960 if (element.hasParameter()) { 40961 for (ParameterDefinition e : element.getParameter()) 40962 composeParameterDefinition("parameter", e); 40963 } 40964 if (element.hasDataRequirement()) { 40965 for (DataRequirement e : element.getDataRequirement()) 40966 composeDataRequirement("dataRequirement", e); 40967 } 40968 if (element.hasContent()) { 40969 for (Attachment e : element.getContent()) 40970 composeAttachment("content", e); 40971 } 40972 } 40973 40974 protected void composeLinkage(String name, Linkage element) throws IOException { 40975 if (element != null) { 40976 composeResourceAttributes(element); 40977 xml.enter(FHIR_NS, name); 40978 composeLinkageElements(element); 40979 composeElementClose(element); 40980 xml.exit(FHIR_NS, name); 40981 } 40982 } 40983 40984 protected void composeLinkageElements(Linkage element) throws IOException { 40985 composeDomainResourceElements(element); 40986 if (element.hasActiveElement()) { 40987 composeBoolean("active", element.getActiveElement()); 40988 } 40989 if (element.hasAuthor()) { 40990 composeReference("author", element.getAuthor()); 40991 } 40992 if (element.hasItem()) { 40993 for (Linkage.LinkageItemComponent e : element.getItem()) 40994 composeLinkageItemComponent("item", e); 40995 } 40996 } 40997 40998 protected void composeLinkageItemComponent(String name, Linkage.LinkageItemComponent element) throws IOException { 40999 if (element != null) { 41000 composeElementAttributes(element); 41001 xml.enter(FHIR_NS, name); 41002 composeLinkageItemComponentElements(element); 41003 composeElementClose(element); 41004 xml.exit(FHIR_NS, name); 41005 } 41006 } 41007 41008 protected void composeLinkageItemComponentElements(Linkage.LinkageItemComponent element) throws IOException { 41009 composeBackboneElementElements(element); 41010 if (element.hasTypeElement()) 41011 composeEnumeration("type", element.getTypeElement(), new Linkage.LinkageTypeEnumFactory()); 41012 if (element.hasResource()) { 41013 composeReference("resource", element.getResource()); 41014 } 41015 } 41016 41017 protected void composeListResource(String name, ListResource element) throws IOException { 41018 if (element != null) { 41019 composeResourceAttributes(element); 41020 xml.enter(FHIR_NS, name); 41021 composeListResourceElements(element); 41022 composeElementClose(element); 41023 xml.exit(FHIR_NS, name); 41024 } 41025 } 41026 41027 protected void composeListResourceElements(ListResource element) throws IOException { 41028 composeDomainResourceElements(element); 41029 if (element.hasIdentifier()) { 41030 for (Identifier e : element.getIdentifier()) 41031 composeIdentifier("identifier", e); 41032 } 41033 if (element.hasStatusElement()) 41034 composeEnumeration("status", element.getStatusElement(), new ListResource.ListStatusEnumFactory()); 41035 if (element.hasModeElement()) 41036 composeEnumeration("mode", element.getModeElement(), new Enumerations.ListModeEnumFactory()); 41037 if (element.hasTitleElement()) { 41038 composeString("title", element.getTitleElement()); 41039 } 41040 if (element.hasCode()) { 41041 composeCodeableConcept("code", element.getCode()); 41042 } 41043 if (element.hasSubject()) { 41044 composeReference("subject", element.getSubject()); 41045 } 41046 if (element.hasEncounter()) { 41047 composeReference("encounter", element.getEncounter()); 41048 } 41049 if (element.hasDateElement()) { 41050 composeDateTime("date", element.getDateElement()); 41051 } 41052 if (element.hasSource()) { 41053 composeReference("source", element.getSource()); 41054 } 41055 if (element.hasOrderedBy()) { 41056 composeCodeableConcept("orderedBy", element.getOrderedBy()); 41057 } 41058 if (element.hasNote()) { 41059 for (Annotation e : element.getNote()) 41060 composeAnnotation("note", e); 41061 } 41062 if (element.hasEntry()) { 41063 for (ListResource.ListResourceEntryComponent e : element.getEntry()) 41064 composeListResourceEntryComponent("entry", e); 41065 } 41066 if (element.hasEmptyReason()) { 41067 composeCodeableConcept("emptyReason", element.getEmptyReason()); 41068 } 41069 } 41070 41071 protected void composeListResourceEntryComponent(String name, ListResource.ListResourceEntryComponent element) throws IOException { 41072 if (element != null) { 41073 composeElementAttributes(element); 41074 xml.enter(FHIR_NS, name); 41075 composeListResourceEntryComponentElements(element); 41076 composeElementClose(element); 41077 xml.exit(FHIR_NS, name); 41078 } 41079 } 41080 41081 protected void composeListResourceEntryComponentElements(ListResource.ListResourceEntryComponent element) throws IOException { 41082 composeBackboneElementElements(element); 41083 if (element.hasFlag()) { 41084 composeCodeableConcept("flag", element.getFlag()); 41085 } 41086 if (element.hasDeletedElement()) { 41087 composeBoolean("deleted", element.getDeletedElement()); 41088 } 41089 if (element.hasDateElement()) { 41090 composeDateTime("date", element.getDateElement()); 41091 } 41092 if (element.hasItem()) { 41093 composeReference("item", element.getItem()); 41094 } 41095 } 41096 41097 protected void composeLocation(String name, Location element) throws IOException { 41098 if (element != null) { 41099 composeResourceAttributes(element); 41100 xml.enter(FHIR_NS, name); 41101 composeLocationElements(element); 41102 composeElementClose(element); 41103 xml.exit(FHIR_NS, name); 41104 } 41105 } 41106 41107 protected void composeLocationElements(Location element) throws IOException { 41108 composeDomainResourceElements(element); 41109 if (element.hasIdentifier()) { 41110 for (Identifier e : element.getIdentifier()) 41111 composeIdentifier("identifier", e); 41112 } 41113 if (element.hasStatusElement()) 41114 composeEnumeration("status", element.getStatusElement(), new Location.LocationStatusEnumFactory()); 41115 if (element.hasOperationalStatus()) { 41116 composeCoding("operationalStatus", element.getOperationalStatus()); 41117 } 41118 if (element.hasNameElement()) { 41119 composeString("name", element.getNameElement()); 41120 } 41121 if (element.hasAlias()) { 41122 for (StringType e : element.getAlias()) 41123 composeString("alias", e); 41124 } 41125 if (element.hasDescriptionElement()) { 41126 composeString("description", element.getDescriptionElement()); 41127 } 41128 if (element.hasModeElement()) 41129 composeEnumeration("mode", element.getModeElement(), new Location.LocationModeEnumFactory()); 41130 if (element.hasType()) { 41131 for (CodeableConcept e : element.getType()) 41132 composeCodeableConcept("type", e); 41133 } 41134 if (element.hasTelecom()) { 41135 for (ContactPoint e : element.getTelecom()) 41136 composeContactPoint("telecom", e); 41137 } 41138 if (element.hasAddress()) { 41139 composeAddress("address", element.getAddress()); 41140 } 41141 if (element.hasPhysicalType()) { 41142 composeCodeableConcept("physicalType", element.getPhysicalType()); 41143 } 41144 if (element.hasPosition()) { 41145 composeLocationPositionComponent("position", element.getPosition()); 41146 } 41147 if (element.hasManagingOrganization()) { 41148 composeReference("managingOrganization", element.getManagingOrganization()); 41149 } 41150 if (element.hasPartOf()) { 41151 composeReference("partOf", element.getPartOf()); 41152 } 41153 if (element.hasHoursOfOperation()) { 41154 for (Location.LocationHoursOfOperationComponent e : element.getHoursOfOperation()) 41155 composeLocationHoursOfOperationComponent("hoursOfOperation", e); 41156 } 41157 if (element.hasAvailabilityExceptionsElement()) { 41158 composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); 41159 } 41160 if (element.hasEndpoint()) { 41161 for (Reference e : element.getEndpoint()) 41162 composeReference("endpoint", e); 41163 } 41164 } 41165 41166 protected void composeLocationPositionComponent(String name, Location.LocationPositionComponent element) throws IOException { 41167 if (element != null) { 41168 composeElementAttributes(element); 41169 xml.enter(FHIR_NS, name); 41170 composeLocationPositionComponentElements(element); 41171 composeElementClose(element); 41172 xml.exit(FHIR_NS, name); 41173 } 41174 } 41175 41176 protected void composeLocationPositionComponentElements(Location.LocationPositionComponent element) throws IOException { 41177 composeBackboneElementElements(element); 41178 if (element.hasLongitudeElement()) { 41179 composeDecimal("longitude", element.getLongitudeElement()); 41180 } 41181 if (element.hasLatitudeElement()) { 41182 composeDecimal("latitude", element.getLatitudeElement()); 41183 } 41184 if (element.hasAltitudeElement()) { 41185 composeDecimal("altitude", element.getAltitudeElement()); 41186 } 41187 } 41188 41189 protected void composeLocationHoursOfOperationComponent(String name, Location.LocationHoursOfOperationComponent element) throws IOException { 41190 if (element != null) { 41191 composeElementAttributes(element); 41192 xml.enter(FHIR_NS, name); 41193 composeLocationHoursOfOperationComponentElements(element); 41194 composeElementClose(element); 41195 xml.exit(FHIR_NS, name); 41196 } 41197 } 41198 41199 protected void composeLocationHoursOfOperationComponentElements(Location.LocationHoursOfOperationComponent element) throws IOException { 41200 composeBackboneElementElements(element); 41201 if (element.hasDaysOfWeek()) 41202 for (Enumeration<Enumerations.DaysOfWeek> e : element.getDaysOfWeek()) 41203 composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); 41204 if (element.hasAllDayElement()) { 41205 composeBoolean("allDay", element.getAllDayElement()); 41206 } 41207 if (element.hasOpeningTimeElement()) { 41208 composeTime("openingTime", element.getOpeningTimeElement()); 41209 } 41210 if (element.hasClosingTimeElement()) { 41211 composeTime("closingTime", element.getClosingTimeElement()); 41212 } 41213 } 41214 41215 protected void composeManufacturedItemDefinition(String name, ManufacturedItemDefinition element) throws IOException { 41216 if (element != null) { 41217 composeResourceAttributes(element); 41218 xml.enter(FHIR_NS, name); 41219 composeManufacturedItemDefinitionElements(element); 41220 composeElementClose(element); 41221 xml.exit(FHIR_NS, name); 41222 } 41223 } 41224 41225 protected void composeManufacturedItemDefinitionElements(ManufacturedItemDefinition element) throws IOException { 41226 composeDomainResourceElements(element); 41227 if (element.hasIdentifier()) { 41228 for (Identifier e : element.getIdentifier()) 41229 composeIdentifier("identifier", e); 41230 } 41231 if (element.hasStatusElement()) 41232 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 41233 if (element.hasManufacturedDoseForm()) { 41234 composeCodeableConcept("manufacturedDoseForm", element.getManufacturedDoseForm()); 41235 } 41236 if (element.hasUnitOfPresentation()) { 41237 composeCodeableConcept("unitOfPresentation", element.getUnitOfPresentation()); 41238 } 41239 if (element.hasManufacturer()) { 41240 for (Reference e : element.getManufacturer()) 41241 composeReference("manufacturer", e); 41242 } 41243 if (element.hasIngredient()) { 41244 for (CodeableConcept e : element.getIngredient()) 41245 composeCodeableConcept("ingredient", e); 41246 } 41247 if (element.hasProperty()) { 41248 for (ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent e : element.getProperty()) 41249 composeManufacturedItemDefinitionPropertyComponent("property", e); 41250 } 41251 } 41252 41253 protected void composeManufacturedItemDefinitionPropertyComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element) throws IOException { 41254 if (element != null) { 41255 composeElementAttributes(element); 41256 xml.enter(FHIR_NS, name); 41257 composeManufacturedItemDefinitionPropertyComponentElements(element); 41258 composeElementClose(element); 41259 xml.exit(FHIR_NS, name); 41260 } 41261 } 41262 41263 protected void composeManufacturedItemDefinitionPropertyComponentElements(ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element) throws IOException { 41264 composeBackboneElementElements(element); 41265 if (element.hasType()) { 41266 composeCodeableConcept("type", element.getType()); 41267 } 41268 if (element.hasValue()) { 41269 composeType("value", element.getValue()); 41270 } } 41271 41272 protected void composeMeasure(String name, Measure element) throws IOException { 41273 if (element != null) { 41274 composeResourceAttributes(element); 41275 xml.enter(FHIR_NS, name); 41276 composeMeasureElements(element); 41277 composeElementClose(element); 41278 xml.exit(FHIR_NS, name); 41279 } 41280 } 41281 41282 protected void composeMeasureElements(Measure element) throws IOException { 41283 composeDomainResourceElements(element); 41284 if (element.hasUrlElement()) { 41285 composeUri("url", element.getUrlElement()); 41286 } 41287 if (element.hasIdentifier()) { 41288 for (Identifier e : element.getIdentifier()) 41289 composeIdentifier("identifier", e); 41290 } 41291 if (element.hasVersionElement()) { 41292 composeString("version", element.getVersionElement()); 41293 } 41294 if (element.hasNameElement()) { 41295 composeString("name", element.getNameElement()); 41296 } 41297 if (element.hasTitleElement()) { 41298 composeString("title", element.getTitleElement()); 41299 } 41300 if (element.hasSubtitleElement()) { 41301 composeString("subtitle", element.getSubtitleElement()); 41302 } 41303 if (element.hasStatusElement()) 41304 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 41305 if (element.hasExperimentalElement()) { 41306 composeBoolean("experimental", element.getExperimentalElement()); 41307 } 41308 if (element.hasSubject()) { 41309 composeType("subject", element.getSubject()); 41310 } if (element.hasDateElement()) { 41311 composeDateTime("date", element.getDateElement()); 41312 } 41313 if (element.hasPublisherElement()) { 41314 composeString("publisher", element.getPublisherElement()); 41315 } 41316 if (element.hasContact()) { 41317 for (ContactDetail e : element.getContact()) 41318 composeContactDetail("contact", e); 41319 } 41320 if (element.hasDescriptionElement()) { 41321 composeMarkdown("description", element.getDescriptionElement()); 41322 } 41323 if (element.hasUseContext()) { 41324 for (UsageContext e : element.getUseContext()) 41325 composeUsageContext("useContext", e); 41326 } 41327 if (element.hasJurisdiction()) { 41328 for (CodeableConcept e : element.getJurisdiction()) 41329 composeCodeableConcept("jurisdiction", e); 41330 } 41331 if (element.hasPurposeElement()) { 41332 composeMarkdown("purpose", element.getPurposeElement()); 41333 } 41334 if (element.hasUsageElement()) { 41335 composeString("usage", element.getUsageElement()); 41336 } 41337 if (element.hasCopyrightElement()) { 41338 composeMarkdown("copyright", element.getCopyrightElement()); 41339 } 41340 if (element.hasApprovalDateElement()) { 41341 composeDate("approvalDate", element.getApprovalDateElement()); 41342 } 41343 if (element.hasLastReviewDateElement()) { 41344 composeDate("lastReviewDate", element.getLastReviewDateElement()); 41345 } 41346 if (element.hasEffectivePeriod()) { 41347 composePeriod("effectivePeriod", element.getEffectivePeriod()); 41348 } 41349 if (element.hasTopic()) { 41350 for (CodeableConcept e : element.getTopic()) 41351 composeCodeableConcept("topic", e); 41352 } 41353 if (element.hasAuthor()) { 41354 for (ContactDetail e : element.getAuthor()) 41355 composeContactDetail("author", e); 41356 } 41357 if (element.hasEditor()) { 41358 for (ContactDetail e : element.getEditor()) 41359 composeContactDetail("editor", e); 41360 } 41361 if (element.hasReviewer()) { 41362 for (ContactDetail e : element.getReviewer()) 41363 composeContactDetail("reviewer", e); 41364 } 41365 if (element.hasEndorser()) { 41366 for (ContactDetail e : element.getEndorser()) 41367 composeContactDetail("endorser", e); 41368 } 41369 if (element.hasRelatedArtifact()) { 41370 for (RelatedArtifact e : element.getRelatedArtifact()) 41371 composeRelatedArtifact("relatedArtifact", e); 41372 } 41373 if (element.hasLibrary()) { 41374 for (CanonicalType e : element.getLibrary()) 41375 composeCanonical("library", e); 41376 } 41377 if (element.hasDisclaimerElement()) { 41378 composeMarkdown("disclaimer", element.getDisclaimerElement()); 41379 } 41380 if (element.hasScoring()) { 41381 composeCodeableConcept("scoring", element.getScoring()); 41382 } 41383 if (element.hasCompositeScoring()) { 41384 composeCodeableConcept("compositeScoring", element.getCompositeScoring()); 41385 } 41386 if (element.hasType()) { 41387 for (CodeableConcept e : element.getType()) 41388 composeCodeableConcept("type", e); 41389 } 41390 if (element.hasRiskAdjustmentElement()) { 41391 composeString("riskAdjustment", element.getRiskAdjustmentElement()); 41392 } 41393 if (element.hasRateAggregationElement()) { 41394 composeString("rateAggregation", element.getRateAggregationElement()); 41395 } 41396 if (element.hasRationaleElement()) { 41397 composeMarkdown("rationale", element.getRationaleElement()); 41398 } 41399 if (element.hasClinicalRecommendationStatementElement()) { 41400 composeMarkdown("clinicalRecommendationStatement", element.getClinicalRecommendationStatementElement()); 41401 } 41402 if (element.hasImprovementNotation()) { 41403 composeCodeableConcept("improvementNotation", element.getImprovementNotation()); 41404 } 41405 if (element.hasDefinition()) { 41406 for (MarkdownType e : element.getDefinition()) 41407 composeMarkdown("definition", e); 41408 } 41409 if (element.hasGuidanceElement()) { 41410 composeMarkdown("guidance", element.getGuidanceElement()); 41411 } 41412 if (element.hasGroup()) { 41413 for (Measure.MeasureGroupComponent e : element.getGroup()) 41414 composeMeasureGroupComponent("group", e); 41415 } 41416 if (element.hasSupplementalData()) { 41417 for (Measure.MeasureSupplementalDataComponent e : element.getSupplementalData()) 41418 composeMeasureSupplementalDataComponent("supplementalData", e); 41419 } 41420 } 41421 41422 protected void composeMeasureGroupComponent(String name, Measure.MeasureGroupComponent element) throws IOException { 41423 if (element != null) { 41424 composeElementAttributes(element); 41425 xml.enter(FHIR_NS, name); 41426 composeMeasureGroupComponentElements(element); 41427 composeElementClose(element); 41428 xml.exit(FHIR_NS, name); 41429 } 41430 } 41431 41432 protected void composeMeasureGroupComponentElements(Measure.MeasureGroupComponent element) throws IOException { 41433 composeBackboneElementElements(element); 41434 if (element.hasCode()) { 41435 composeCodeableConcept("code", element.getCode()); 41436 } 41437 if (element.hasDescriptionElement()) { 41438 composeString("description", element.getDescriptionElement()); 41439 } 41440 if (element.hasPopulation()) { 41441 for (Measure.MeasureGroupPopulationComponent e : element.getPopulation()) 41442 composeMeasureGroupPopulationComponent("population", e); 41443 } 41444 if (element.hasStratifier()) { 41445 for (Measure.MeasureGroupStratifierComponent e : element.getStratifier()) 41446 composeMeasureGroupStratifierComponent("stratifier", e); 41447 } 41448 } 41449 41450 protected void composeMeasureGroupPopulationComponent(String name, Measure.MeasureGroupPopulationComponent element) throws IOException { 41451 if (element != null) { 41452 composeElementAttributes(element); 41453 xml.enter(FHIR_NS, name); 41454 composeMeasureGroupPopulationComponentElements(element); 41455 composeElementClose(element); 41456 xml.exit(FHIR_NS, name); 41457 } 41458 } 41459 41460 protected void composeMeasureGroupPopulationComponentElements(Measure.MeasureGroupPopulationComponent element) throws IOException { 41461 composeBackboneElementElements(element); 41462 if (element.hasCode()) { 41463 composeCodeableConcept("code", element.getCode()); 41464 } 41465 if (element.hasDescriptionElement()) { 41466 composeString("description", element.getDescriptionElement()); 41467 } 41468 if (element.hasCriteria()) { 41469 composeExpression("criteria", element.getCriteria()); 41470 } 41471 } 41472 41473 protected void composeMeasureGroupStratifierComponent(String name, Measure.MeasureGroupStratifierComponent element) throws IOException { 41474 if (element != null) { 41475 composeElementAttributes(element); 41476 xml.enter(FHIR_NS, name); 41477 composeMeasureGroupStratifierComponentElements(element); 41478 composeElementClose(element); 41479 xml.exit(FHIR_NS, name); 41480 } 41481 } 41482 41483 protected void composeMeasureGroupStratifierComponentElements(Measure.MeasureGroupStratifierComponent element) throws IOException { 41484 composeBackboneElementElements(element); 41485 if (element.hasCode()) { 41486 composeCodeableConcept("code", element.getCode()); 41487 } 41488 if (element.hasDescriptionElement()) { 41489 composeString("description", element.getDescriptionElement()); 41490 } 41491 if (element.hasCriteria()) { 41492 composeExpression("criteria", element.getCriteria()); 41493 } 41494 if (element.hasComponent()) { 41495 for (Measure.MeasureGroupStratifierComponentComponent e : element.getComponent()) 41496 composeMeasureGroupStratifierComponentComponent("component", e); 41497 } 41498 } 41499 41500 protected void composeMeasureGroupStratifierComponentComponent(String name, Measure.MeasureGroupStratifierComponentComponent element) throws IOException { 41501 if (element != null) { 41502 composeElementAttributes(element); 41503 xml.enter(FHIR_NS, name); 41504 composeMeasureGroupStratifierComponentComponentElements(element); 41505 composeElementClose(element); 41506 xml.exit(FHIR_NS, name); 41507 } 41508 } 41509 41510 protected void composeMeasureGroupStratifierComponentComponentElements(Measure.MeasureGroupStratifierComponentComponent element) throws IOException { 41511 composeBackboneElementElements(element); 41512 if (element.hasCode()) { 41513 composeCodeableConcept("code", element.getCode()); 41514 } 41515 if (element.hasDescriptionElement()) { 41516 composeString("description", element.getDescriptionElement()); 41517 } 41518 if (element.hasCriteria()) { 41519 composeExpression("criteria", element.getCriteria()); 41520 } 41521 } 41522 41523 protected void composeMeasureSupplementalDataComponent(String name, Measure.MeasureSupplementalDataComponent element) throws IOException { 41524 if (element != null) { 41525 composeElementAttributes(element); 41526 xml.enter(FHIR_NS, name); 41527 composeMeasureSupplementalDataComponentElements(element); 41528 composeElementClose(element); 41529 xml.exit(FHIR_NS, name); 41530 } 41531 } 41532 41533 protected void composeMeasureSupplementalDataComponentElements(Measure.MeasureSupplementalDataComponent element) throws IOException { 41534 composeBackboneElementElements(element); 41535 if (element.hasCode()) { 41536 composeCodeableConcept("code", element.getCode()); 41537 } 41538 if (element.hasUsage()) { 41539 for (CodeableConcept e : element.getUsage()) 41540 composeCodeableConcept("usage", e); 41541 } 41542 if (element.hasDescriptionElement()) { 41543 composeString("description", element.getDescriptionElement()); 41544 } 41545 if (element.hasCriteria()) { 41546 composeExpression("criteria", element.getCriteria()); 41547 } 41548 } 41549 41550 protected void composeMeasureReport(String name, MeasureReport element) throws IOException { 41551 if (element != null) { 41552 composeResourceAttributes(element); 41553 xml.enter(FHIR_NS, name); 41554 composeMeasureReportElements(element); 41555 composeElementClose(element); 41556 xml.exit(FHIR_NS, name); 41557 } 41558 } 41559 41560 protected void composeMeasureReportElements(MeasureReport element) throws IOException { 41561 composeDomainResourceElements(element); 41562 if (element.hasIdentifier()) { 41563 for (Identifier e : element.getIdentifier()) 41564 composeIdentifier("identifier", e); 41565 } 41566 if (element.hasStatusElement()) 41567 composeEnumeration("status", element.getStatusElement(), new MeasureReport.MeasureReportStatusEnumFactory()); 41568 if (element.hasTypeElement()) 41569 composeEnumeration("type", element.getTypeElement(), new MeasureReport.MeasureReportTypeEnumFactory()); 41570 if (element.hasMeasureElement()) { 41571 composeCanonical("measure", element.getMeasureElement()); 41572 } 41573 if (element.hasSubject()) { 41574 composeReference("subject", element.getSubject()); 41575 } 41576 if (element.hasDateElement()) { 41577 composeDateTime("date", element.getDateElement()); 41578 } 41579 if (element.hasReporter()) { 41580 composeReference("reporter", element.getReporter()); 41581 } 41582 if (element.hasPeriod()) { 41583 composePeriod("period", element.getPeriod()); 41584 } 41585 if (element.hasImprovementNotation()) { 41586 composeCodeableConcept("improvementNotation", element.getImprovementNotation()); 41587 } 41588 if (element.hasGroup()) { 41589 for (MeasureReport.MeasureReportGroupComponent e : element.getGroup()) 41590 composeMeasureReportGroupComponent("group", e); 41591 } 41592 if (element.hasEvaluatedResource()) { 41593 for (Reference e : element.getEvaluatedResource()) 41594 composeReference("evaluatedResource", e); 41595 } 41596 } 41597 41598 protected void composeMeasureReportGroupComponent(String name, MeasureReport.MeasureReportGroupComponent element) throws IOException { 41599 if (element != null) { 41600 composeElementAttributes(element); 41601 xml.enter(FHIR_NS, name); 41602 composeMeasureReportGroupComponentElements(element); 41603 composeElementClose(element); 41604 xml.exit(FHIR_NS, name); 41605 } 41606 } 41607 41608 protected void composeMeasureReportGroupComponentElements(MeasureReport.MeasureReportGroupComponent element) throws IOException { 41609 composeBackboneElementElements(element); 41610 if (element.hasCode()) { 41611 composeCodeableConcept("code", element.getCode()); 41612 } 41613 if (element.hasPopulation()) { 41614 for (MeasureReport.MeasureReportGroupPopulationComponent e : element.getPopulation()) 41615 composeMeasureReportGroupPopulationComponent("population", e); 41616 } 41617 if (element.hasMeasureScore()) { 41618 composeQuantity("measureScore", element.getMeasureScore()); 41619 } 41620 if (element.hasStratifier()) { 41621 for (MeasureReport.MeasureReportGroupStratifierComponent e : element.getStratifier()) 41622 composeMeasureReportGroupStratifierComponent("stratifier", e); 41623 } 41624 } 41625 41626 protected void composeMeasureReportGroupPopulationComponent(String name, MeasureReport.MeasureReportGroupPopulationComponent element) throws IOException { 41627 if (element != null) { 41628 composeElementAttributes(element); 41629 xml.enter(FHIR_NS, name); 41630 composeMeasureReportGroupPopulationComponentElements(element); 41631 composeElementClose(element); 41632 xml.exit(FHIR_NS, name); 41633 } 41634 } 41635 41636 protected void composeMeasureReportGroupPopulationComponentElements(MeasureReport.MeasureReportGroupPopulationComponent element) throws IOException { 41637 composeBackboneElementElements(element); 41638 if (element.hasCode()) { 41639 composeCodeableConcept("code", element.getCode()); 41640 } 41641 if (element.hasCountElement()) { 41642 composeInteger("count", element.getCountElement()); 41643 } 41644 if (element.hasSubjectResults()) { 41645 composeReference("subjectResults", element.getSubjectResults()); 41646 } 41647 } 41648 41649 protected void composeMeasureReportGroupStratifierComponent(String name, MeasureReport.MeasureReportGroupStratifierComponent element) throws IOException { 41650 if (element != null) { 41651 composeElementAttributes(element); 41652 xml.enter(FHIR_NS, name); 41653 composeMeasureReportGroupStratifierComponentElements(element); 41654 composeElementClose(element); 41655 xml.exit(FHIR_NS, name); 41656 } 41657 } 41658 41659 protected void composeMeasureReportGroupStratifierComponentElements(MeasureReport.MeasureReportGroupStratifierComponent element) throws IOException { 41660 composeBackboneElementElements(element); 41661 if (element.hasCode()) { 41662 for (CodeableConcept e : element.getCode()) 41663 composeCodeableConcept("code", e); 41664 } 41665 if (element.hasStratum()) { 41666 for (MeasureReport.StratifierGroupComponent e : element.getStratum()) 41667 composeMeasureReportStratifierGroupComponent("stratum", e); 41668 } 41669 } 41670 41671 protected void composeMeasureReportStratifierGroupComponent(String name, MeasureReport.StratifierGroupComponent element) throws IOException { 41672 if (element != null) { 41673 composeElementAttributes(element); 41674 xml.enter(FHIR_NS, name); 41675 composeMeasureReportStratifierGroupComponentElements(element); 41676 composeElementClose(element); 41677 xml.exit(FHIR_NS, name); 41678 } 41679 } 41680 41681 protected void composeMeasureReportStratifierGroupComponentElements(MeasureReport.StratifierGroupComponent element) throws IOException { 41682 composeBackboneElementElements(element); 41683 if (element.hasValue()) { 41684 composeCodeableConcept("value", element.getValue()); 41685 } 41686 if (element.hasComponent()) { 41687 for (MeasureReport.StratifierGroupComponentComponent e : element.getComponent()) 41688 composeMeasureReportStratifierGroupComponentComponent("component", e); 41689 } 41690 if (element.hasPopulation()) { 41691 for (MeasureReport.StratifierGroupPopulationComponent e : element.getPopulation()) 41692 composeMeasureReportStratifierGroupPopulationComponent("population", e); 41693 } 41694 if (element.hasMeasureScore()) { 41695 composeQuantity("measureScore", element.getMeasureScore()); 41696 } 41697 } 41698 41699 protected void composeMeasureReportStratifierGroupComponentComponent(String name, MeasureReport.StratifierGroupComponentComponent element) throws IOException { 41700 if (element != null) { 41701 composeElementAttributes(element); 41702 xml.enter(FHIR_NS, name); 41703 composeMeasureReportStratifierGroupComponentComponentElements(element); 41704 composeElementClose(element); 41705 xml.exit(FHIR_NS, name); 41706 } 41707 } 41708 41709 protected void composeMeasureReportStratifierGroupComponentComponentElements(MeasureReport.StratifierGroupComponentComponent element) throws IOException { 41710 composeBackboneElementElements(element); 41711 if (element.hasCode()) { 41712 composeCodeableConcept("code", element.getCode()); 41713 } 41714 if (element.hasValue()) { 41715 composeCodeableConcept("value", element.getValue()); 41716 } 41717 } 41718 41719 protected void composeMeasureReportStratifierGroupPopulationComponent(String name, MeasureReport.StratifierGroupPopulationComponent element) throws IOException { 41720 if (element != null) { 41721 composeElementAttributes(element); 41722 xml.enter(FHIR_NS, name); 41723 composeMeasureReportStratifierGroupPopulationComponentElements(element); 41724 composeElementClose(element); 41725 xml.exit(FHIR_NS, name); 41726 } 41727 } 41728 41729 protected void composeMeasureReportStratifierGroupPopulationComponentElements(MeasureReport.StratifierGroupPopulationComponent element) throws IOException { 41730 composeBackboneElementElements(element); 41731 if (element.hasCode()) { 41732 composeCodeableConcept("code", element.getCode()); 41733 } 41734 if (element.hasCountElement()) { 41735 composeInteger("count", element.getCountElement()); 41736 } 41737 if (element.hasSubjectResults()) { 41738 composeReference("subjectResults", element.getSubjectResults()); 41739 } 41740 } 41741 41742 protected void composeMedia(String name, Media element) throws IOException { 41743 if (element != null) { 41744 composeResourceAttributes(element); 41745 xml.enter(FHIR_NS, name); 41746 composeMediaElements(element); 41747 composeElementClose(element); 41748 xml.exit(FHIR_NS, name); 41749 } 41750 } 41751 41752 protected void composeMediaElements(Media element) throws IOException { 41753 composeDomainResourceElements(element); 41754 if (element.hasIdentifier()) { 41755 for (Identifier e : element.getIdentifier()) 41756 composeIdentifier("identifier", e); 41757 } 41758 if (element.hasBasedOn()) { 41759 for (Reference e : element.getBasedOn()) 41760 composeReference("basedOn", e); 41761 } 41762 if (element.hasPartOf()) { 41763 for (Reference e : element.getPartOf()) 41764 composeReference("partOf", e); 41765 } 41766 if (element.hasStatusElement()) 41767 composeEnumeration("status", element.getStatusElement(), new Enumerations.EventStatusEnumFactory()); 41768 if (element.hasType()) { 41769 composeCodeableConcept("type", element.getType()); 41770 } 41771 if (element.hasModality()) { 41772 composeCodeableConcept("modality", element.getModality()); 41773 } 41774 if (element.hasView()) { 41775 composeCodeableConcept("view", element.getView()); 41776 } 41777 if (element.hasSubject()) { 41778 composeReference("subject", element.getSubject()); 41779 } 41780 if (element.hasEncounter()) { 41781 composeReference("encounter", element.getEncounter()); 41782 } 41783 if (element.hasCreated()) { 41784 composeType("created", element.getCreated()); 41785 } if (element.hasIssuedElement()) { 41786 composeInstant("issued", element.getIssuedElement()); 41787 } 41788 if (element.hasOperator()) { 41789 composeReference("operator", element.getOperator()); 41790 } 41791 if (element.hasReasonCode()) { 41792 for (CodeableConcept e : element.getReasonCode()) 41793 composeCodeableConcept("reasonCode", e); 41794 } 41795 if (element.hasBodySite()) { 41796 composeCodeableConcept("bodySite", element.getBodySite()); 41797 } 41798 if (element.hasDeviceNameElement()) { 41799 composeString("deviceName", element.getDeviceNameElement()); 41800 } 41801 if (element.hasDevice()) { 41802 composeReference("device", element.getDevice()); 41803 } 41804 if (element.hasHeightElement()) { 41805 composePositiveInt("height", element.getHeightElement()); 41806 } 41807 if (element.hasWidthElement()) { 41808 composePositiveInt("width", element.getWidthElement()); 41809 } 41810 if (element.hasFramesElement()) { 41811 composePositiveInt("frames", element.getFramesElement()); 41812 } 41813 if (element.hasDurationElement()) { 41814 composeDecimal("duration", element.getDurationElement()); 41815 } 41816 if (element.hasContent()) { 41817 composeAttachment("content", element.getContent()); 41818 } 41819 if (element.hasNote()) { 41820 for (Annotation e : element.getNote()) 41821 composeAnnotation("note", e); 41822 } 41823 } 41824 41825 protected void composeMedication(String name, Medication element) throws IOException { 41826 if (element != null) { 41827 composeResourceAttributes(element); 41828 xml.enter(FHIR_NS, name); 41829 composeMedicationElements(element); 41830 composeElementClose(element); 41831 xml.exit(FHIR_NS, name); 41832 } 41833 } 41834 41835 protected void composeMedicationElements(Medication element) throws IOException { 41836 composeDomainResourceElements(element); 41837 if (element.hasIdentifier()) { 41838 for (Identifier e : element.getIdentifier()) 41839 composeIdentifier("identifier", e); 41840 } 41841 if (element.hasCode()) { 41842 composeCodeableConcept("code", element.getCode()); 41843 } 41844 if (element.hasStatusElement()) 41845 composeEnumeration("status", element.getStatusElement(), new Medication.MedicationStatusCodesEnumFactory()); 41846 if (element.hasManufacturer()) { 41847 composeReference("manufacturer", element.getManufacturer()); 41848 } 41849 if (element.hasForm()) { 41850 composeCodeableConcept("form", element.getForm()); 41851 } 41852 if (element.hasAmount()) { 41853 composeRatio("amount", element.getAmount()); 41854 } 41855 if (element.hasIngredient()) { 41856 for (Medication.MedicationIngredientComponent e : element.getIngredient()) 41857 composeMedicationIngredientComponent("ingredient", e); 41858 } 41859 if (element.hasBatch()) { 41860 composeMedicationBatchComponent("batch", element.getBatch()); 41861 } 41862 } 41863 41864 protected void composeMedicationIngredientComponent(String name, Medication.MedicationIngredientComponent element) throws IOException { 41865 if (element != null) { 41866 composeElementAttributes(element); 41867 xml.enter(FHIR_NS, name); 41868 composeMedicationIngredientComponentElements(element); 41869 composeElementClose(element); 41870 xml.exit(FHIR_NS, name); 41871 } 41872 } 41873 41874 protected void composeMedicationIngredientComponentElements(Medication.MedicationIngredientComponent element) throws IOException { 41875 composeBackboneElementElements(element); 41876 if (element.hasItem()) { 41877 composeType("item", element.getItem()); 41878 } if (element.hasIsActiveElement()) { 41879 composeBoolean("isActive", element.getIsActiveElement()); 41880 } 41881 if (element.hasStrength()) { 41882 composeRatio("strength", element.getStrength()); 41883 } 41884 } 41885 41886 protected void composeMedicationBatchComponent(String name, Medication.MedicationBatchComponent element) throws IOException { 41887 if (element != null) { 41888 composeElementAttributes(element); 41889 xml.enter(FHIR_NS, name); 41890 composeMedicationBatchComponentElements(element); 41891 composeElementClose(element); 41892 xml.exit(FHIR_NS, name); 41893 } 41894 } 41895 41896 protected void composeMedicationBatchComponentElements(Medication.MedicationBatchComponent element) throws IOException { 41897 composeBackboneElementElements(element); 41898 if (element.hasLotNumberElement()) { 41899 composeString("lotNumber", element.getLotNumberElement()); 41900 } 41901 if (element.hasExpirationDateElement()) { 41902 composeDateTime("expirationDate", element.getExpirationDateElement()); 41903 } 41904 } 41905 41906 protected void composeMedicationAdministration(String name, MedicationAdministration element) throws IOException { 41907 if (element != null) { 41908 composeResourceAttributes(element); 41909 xml.enter(FHIR_NS, name); 41910 composeMedicationAdministrationElements(element); 41911 composeElementClose(element); 41912 xml.exit(FHIR_NS, name); 41913 } 41914 } 41915 41916 protected void composeMedicationAdministrationElements(MedicationAdministration element) throws IOException { 41917 composeDomainResourceElements(element); 41918 if (element.hasIdentifier()) { 41919 for (Identifier e : element.getIdentifier()) 41920 composeIdentifier("identifier", e); 41921 } 41922 if (element.hasInstantiates()) { 41923 for (UriType e : element.getInstantiates()) 41924 composeUri("instantiates", e); 41925 } 41926 if (element.hasPartOf()) { 41927 for (Reference e : element.getPartOf()) 41928 composeReference("partOf", e); 41929 } 41930 if (element.hasStatusElement()) 41931 composeEnumeration("status", element.getStatusElement(), new MedicationAdministration.MedicationAdministrationStatusCodesEnumFactory()); 41932 if (element.hasStatusReason()) { 41933 for (CodeableConcept e : element.getStatusReason()) 41934 composeCodeableConcept("statusReason", e); 41935 } 41936 if (element.hasCategory()) { 41937 composeCodeableConcept("category", element.getCategory()); 41938 } 41939 if (element.hasMedication()) { 41940 composeType("medication", element.getMedication()); 41941 } if (element.hasSubject()) { 41942 composeReference("subject", element.getSubject()); 41943 } 41944 if (element.hasContext()) { 41945 composeReference("context", element.getContext()); 41946 } 41947 if (element.hasSupportingInformation()) { 41948 for (Reference e : element.getSupportingInformation()) 41949 composeReference("supportingInformation", e); 41950 } 41951 if (element.hasEffective()) { 41952 composeType("effective", element.getEffective()); 41953 } if (element.hasPerformer()) { 41954 for (MedicationAdministration.MedicationAdministrationPerformerComponent e : element.getPerformer()) 41955 composeMedicationAdministrationPerformerComponent("performer", e); 41956 } 41957 if (element.hasReasonCode()) { 41958 for (CodeableConcept e : element.getReasonCode()) 41959 composeCodeableConcept("reasonCode", e); 41960 } 41961 if (element.hasReasonReference()) { 41962 for (Reference e : element.getReasonReference()) 41963 composeReference("reasonReference", e); 41964 } 41965 if (element.hasRequest()) { 41966 composeReference("request", element.getRequest()); 41967 } 41968 if (element.hasDevice()) { 41969 for (Reference e : element.getDevice()) 41970 composeReference("device", e); 41971 } 41972 if (element.hasNote()) { 41973 for (Annotation e : element.getNote()) 41974 composeAnnotation("note", e); 41975 } 41976 if (element.hasDosage()) { 41977 composeMedicationAdministrationDosageComponent("dosage", element.getDosage()); 41978 } 41979 if (element.hasEventHistory()) { 41980 for (Reference e : element.getEventHistory()) 41981 composeReference("eventHistory", e); 41982 } 41983 } 41984 41985 protected void composeMedicationAdministrationPerformerComponent(String name, MedicationAdministration.MedicationAdministrationPerformerComponent element) throws IOException { 41986 if (element != null) { 41987 composeElementAttributes(element); 41988 xml.enter(FHIR_NS, name); 41989 composeMedicationAdministrationPerformerComponentElements(element); 41990 composeElementClose(element); 41991 xml.exit(FHIR_NS, name); 41992 } 41993 } 41994 41995 protected void composeMedicationAdministrationPerformerComponentElements(MedicationAdministration.MedicationAdministrationPerformerComponent element) throws IOException { 41996 composeBackboneElementElements(element); 41997 if (element.hasFunction()) { 41998 composeCodeableConcept("function", element.getFunction()); 41999 } 42000 if (element.hasActor()) { 42001 composeReference("actor", element.getActor()); 42002 } 42003 } 42004 42005 protected void composeMedicationAdministrationDosageComponent(String name, MedicationAdministration.MedicationAdministrationDosageComponent element) throws IOException { 42006 if (element != null) { 42007 composeElementAttributes(element); 42008 xml.enter(FHIR_NS, name); 42009 composeMedicationAdministrationDosageComponentElements(element); 42010 composeElementClose(element); 42011 xml.exit(FHIR_NS, name); 42012 } 42013 } 42014 42015 protected void composeMedicationAdministrationDosageComponentElements(MedicationAdministration.MedicationAdministrationDosageComponent element) throws IOException { 42016 composeBackboneElementElements(element); 42017 if (element.hasTextElement()) { 42018 composeString("text", element.getTextElement()); 42019 } 42020 if (element.hasSite()) { 42021 composeCodeableConcept("site", element.getSite()); 42022 } 42023 if (element.hasRoute()) { 42024 composeCodeableConcept("route", element.getRoute()); 42025 } 42026 if (element.hasMethod()) { 42027 composeCodeableConcept("method", element.getMethod()); 42028 } 42029 if (element.hasDose()) { 42030 composeQuantity("dose", element.getDose()); 42031 } 42032 if (element.hasRate()) { 42033 composeType("rate", element.getRate()); 42034 } } 42035 42036 protected void composeMedicationDispense(String name, MedicationDispense element) throws IOException { 42037 if (element != null) { 42038 composeResourceAttributes(element); 42039 xml.enter(FHIR_NS, name); 42040 composeMedicationDispenseElements(element); 42041 composeElementClose(element); 42042 xml.exit(FHIR_NS, name); 42043 } 42044 } 42045 42046 protected void composeMedicationDispenseElements(MedicationDispense element) throws IOException { 42047 composeDomainResourceElements(element); 42048 if (element.hasIdentifier()) { 42049 for (Identifier e : element.getIdentifier()) 42050 composeIdentifier("identifier", e); 42051 } 42052 if (element.hasPartOf()) { 42053 for (Reference e : element.getPartOf()) 42054 composeReference("partOf", e); 42055 } 42056 if (element.hasStatusElement()) 42057 composeEnumeration("status", element.getStatusElement(), new MedicationDispense.MedicationDispenseStatusCodesEnumFactory()); 42058 if (element.hasStatusReason()) { 42059 composeType("statusReason", element.getStatusReason()); 42060 } if (element.hasCategory()) { 42061 composeCodeableConcept("category", element.getCategory()); 42062 } 42063 if (element.hasMedication()) { 42064 composeType("medication", element.getMedication()); 42065 } if (element.hasSubject()) { 42066 composeReference("subject", element.getSubject()); 42067 } 42068 if (element.hasContext()) { 42069 composeReference("context", element.getContext()); 42070 } 42071 if (element.hasSupportingInformation()) { 42072 for (Reference e : element.getSupportingInformation()) 42073 composeReference("supportingInformation", e); 42074 } 42075 if (element.hasPerformer()) { 42076 for (MedicationDispense.MedicationDispensePerformerComponent e : element.getPerformer()) 42077 composeMedicationDispensePerformerComponent("performer", e); 42078 } 42079 if (element.hasLocation()) { 42080 composeReference("location", element.getLocation()); 42081 } 42082 if (element.hasAuthorizingPrescription()) { 42083 for (Reference e : element.getAuthorizingPrescription()) 42084 composeReference("authorizingPrescription", e); 42085 } 42086 if (element.hasType()) { 42087 composeCodeableConcept("type", element.getType()); 42088 } 42089 if (element.hasQuantity()) { 42090 composeQuantity("quantity", element.getQuantity()); 42091 } 42092 if (element.hasDaysSupply()) { 42093 composeQuantity("daysSupply", element.getDaysSupply()); 42094 } 42095 if (element.hasWhenPreparedElement()) { 42096 composeDateTime("whenPrepared", element.getWhenPreparedElement()); 42097 } 42098 if (element.hasWhenHandedOverElement()) { 42099 composeDateTime("whenHandedOver", element.getWhenHandedOverElement()); 42100 } 42101 if (element.hasDestination()) { 42102 composeReference("destination", element.getDestination()); 42103 } 42104 if (element.hasReceiver()) { 42105 for (Reference e : element.getReceiver()) 42106 composeReference("receiver", e); 42107 } 42108 if (element.hasNote()) { 42109 for (Annotation e : element.getNote()) 42110 composeAnnotation("note", e); 42111 } 42112 if (element.hasDosageInstruction()) { 42113 for (Dosage e : element.getDosageInstruction()) 42114 composeDosage("dosageInstruction", e); 42115 } 42116 if (element.hasSubstitution()) { 42117 composeMedicationDispenseSubstitutionComponent("substitution", element.getSubstitution()); 42118 } 42119 if (element.hasDetectedIssue()) { 42120 for (Reference e : element.getDetectedIssue()) 42121 composeReference("detectedIssue", e); 42122 } 42123 if (element.hasEventHistory()) { 42124 for (Reference e : element.getEventHistory()) 42125 composeReference("eventHistory", e); 42126 } 42127 } 42128 42129 protected void composeMedicationDispensePerformerComponent(String name, MedicationDispense.MedicationDispensePerformerComponent element) throws IOException { 42130 if (element != null) { 42131 composeElementAttributes(element); 42132 xml.enter(FHIR_NS, name); 42133 composeMedicationDispensePerformerComponentElements(element); 42134 composeElementClose(element); 42135 xml.exit(FHIR_NS, name); 42136 } 42137 } 42138 42139 protected void composeMedicationDispensePerformerComponentElements(MedicationDispense.MedicationDispensePerformerComponent element) throws IOException { 42140 composeBackboneElementElements(element); 42141 if (element.hasFunction()) { 42142 composeCodeableConcept("function", element.getFunction()); 42143 } 42144 if (element.hasActor()) { 42145 composeReference("actor", element.getActor()); 42146 } 42147 } 42148 42149 protected void composeMedicationDispenseSubstitutionComponent(String name, MedicationDispense.MedicationDispenseSubstitutionComponent element) throws IOException { 42150 if (element != null) { 42151 composeElementAttributes(element); 42152 xml.enter(FHIR_NS, name); 42153 composeMedicationDispenseSubstitutionComponentElements(element); 42154 composeElementClose(element); 42155 xml.exit(FHIR_NS, name); 42156 } 42157 } 42158 42159 protected void composeMedicationDispenseSubstitutionComponentElements(MedicationDispense.MedicationDispenseSubstitutionComponent element) throws IOException { 42160 composeBackboneElementElements(element); 42161 if (element.hasWasSubstitutedElement()) { 42162 composeBoolean("wasSubstituted", element.getWasSubstitutedElement()); 42163 } 42164 if (element.hasType()) { 42165 composeCodeableConcept("type", element.getType()); 42166 } 42167 if (element.hasReason()) { 42168 for (CodeableConcept e : element.getReason()) 42169 composeCodeableConcept("reason", e); 42170 } 42171 if (element.hasResponsibleParty()) { 42172 for (Reference e : element.getResponsibleParty()) 42173 composeReference("responsibleParty", e); 42174 } 42175 } 42176 42177 protected void composeMedicationKnowledge(String name, MedicationKnowledge element) throws IOException { 42178 if (element != null) { 42179 composeResourceAttributes(element); 42180 xml.enter(FHIR_NS, name); 42181 composeMedicationKnowledgeElements(element); 42182 composeElementClose(element); 42183 xml.exit(FHIR_NS, name); 42184 } 42185 } 42186 42187 protected void composeMedicationKnowledgeElements(MedicationKnowledge element) throws IOException { 42188 composeDomainResourceElements(element); 42189 if (element.hasCode()) { 42190 composeCodeableConcept("code", element.getCode()); 42191 } 42192 if (element.hasStatusElement()) 42193 composeEnumeration("status", element.getStatusElement(), new MedicationKnowledge.MedicationKnowledgeStatusCodesEnumFactory()); 42194 if (element.hasManufacturer()) { 42195 composeReference("manufacturer", element.getManufacturer()); 42196 } 42197 if (element.hasDoseForm()) { 42198 composeCodeableConcept("doseForm", element.getDoseForm()); 42199 } 42200 if (element.hasAmount()) { 42201 composeQuantity("amount", element.getAmount()); 42202 } 42203 if (element.hasSynonym()) { 42204 for (StringType e : element.getSynonym()) 42205 composeString("synonym", e); 42206 } 42207 if (element.hasRelatedMedicationKnowledge()) { 42208 for (MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent e : element.getRelatedMedicationKnowledge()) 42209 composeMedicationKnowledgeRelatedMedicationKnowledgeComponent("relatedMedicationKnowledge", e); 42210 } 42211 if (element.hasAssociatedMedication()) { 42212 for (Reference e : element.getAssociatedMedication()) 42213 composeReference("associatedMedication", e); 42214 } 42215 if (element.hasProductType()) { 42216 for (CodeableConcept e : element.getProductType()) 42217 composeCodeableConcept("productType", e); 42218 } 42219 if (element.hasMonograph()) { 42220 for (MedicationKnowledge.MedicationKnowledgeMonographComponent e : element.getMonograph()) 42221 composeMedicationKnowledgeMonographComponent("monograph", e); 42222 } 42223 if (element.hasIngredient()) { 42224 for (MedicationKnowledge.MedicationKnowledgeIngredientComponent e : element.getIngredient()) 42225 composeMedicationKnowledgeIngredientComponent("ingredient", e); 42226 } 42227 if (element.hasPreparationInstructionElement()) { 42228 composeMarkdown("preparationInstruction", element.getPreparationInstructionElement()); 42229 } 42230 if (element.hasIntendedRoute()) { 42231 for (CodeableConcept e : element.getIntendedRoute()) 42232 composeCodeableConcept("intendedRoute", e); 42233 } 42234 if (element.hasCost()) { 42235 for (MedicationKnowledge.MedicationKnowledgeCostComponent e : element.getCost()) 42236 composeMedicationKnowledgeCostComponent("cost", e); 42237 } 42238 if (element.hasMonitoringProgram()) { 42239 for (MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent e : element.getMonitoringProgram()) 42240 composeMedicationKnowledgeMonitoringProgramComponent("monitoringProgram", e); 42241 } 42242 if (element.hasAdministrationGuidelines()) { 42243 for (MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent e : element.getAdministrationGuidelines()) 42244 composeMedicationKnowledgeAdministrationGuidelinesComponent("administrationGuidelines", e); 42245 } 42246 if (element.hasMedicineClassification()) { 42247 for (MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent e : element.getMedicineClassification()) 42248 composeMedicationKnowledgeMedicineClassificationComponent("medicineClassification", e); 42249 } 42250 if (element.hasPackaging()) { 42251 composeMedicationKnowledgePackagingComponent("packaging", element.getPackaging()); 42252 } 42253 if (element.hasDrugCharacteristic()) { 42254 for (MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent e : element.getDrugCharacteristic()) 42255 composeMedicationKnowledgeDrugCharacteristicComponent("drugCharacteristic", e); 42256 } 42257 if (element.hasContraindication()) { 42258 for (Reference e : element.getContraindication()) 42259 composeReference("contraindication", e); 42260 } 42261 if (element.hasRegulatory()) { 42262 for (MedicationKnowledge.MedicationKnowledgeRegulatoryComponent e : element.getRegulatory()) 42263 composeMedicationKnowledgeRegulatoryComponent("regulatory", e); 42264 } 42265 if (element.hasKinetics()) { 42266 for (MedicationKnowledge.MedicationKnowledgeKineticsComponent e : element.getKinetics()) 42267 composeMedicationKnowledgeKineticsComponent("kinetics", e); 42268 } 42269 } 42270 42271 protected void composeMedicationKnowledgeRelatedMedicationKnowledgeComponent(String name, MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent element) throws IOException { 42272 if (element != null) { 42273 composeElementAttributes(element); 42274 xml.enter(FHIR_NS, name); 42275 composeMedicationKnowledgeRelatedMedicationKnowledgeComponentElements(element); 42276 composeElementClose(element); 42277 xml.exit(FHIR_NS, name); 42278 } 42279 } 42280 42281 protected void composeMedicationKnowledgeRelatedMedicationKnowledgeComponentElements(MedicationKnowledge.MedicationKnowledgeRelatedMedicationKnowledgeComponent element) throws IOException { 42282 composeBackboneElementElements(element); 42283 if (element.hasType()) { 42284 composeCodeableConcept("type", element.getType()); 42285 } 42286 if (element.hasReference()) { 42287 for (Reference e : element.getReference()) 42288 composeReference("reference", e); 42289 } 42290 } 42291 42292 protected void composeMedicationKnowledgeMonographComponent(String name, MedicationKnowledge.MedicationKnowledgeMonographComponent element) throws IOException { 42293 if (element != null) { 42294 composeElementAttributes(element); 42295 xml.enter(FHIR_NS, name); 42296 composeMedicationKnowledgeMonographComponentElements(element); 42297 composeElementClose(element); 42298 xml.exit(FHIR_NS, name); 42299 } 42300 } 42301 42302 protected void composeMedicationKnowledgeMonographComponentElements(MedicationKnowledge.MedicationKnowledgeMonographComponent element) throws IOException { 42303 composeBackboneElementElements(element); 42304 if (element.hasType()) { 42305 composeCodeableConcept("type", element.getType()); 42306 } 42307 if (element.hasSource()) { 42308 composeReference("source", element.getSource()); 42309 } 42310 } 42311 42312 protected void composeMedicationKnowledgeIngredientComponent(String name, MedicationKnowledge.MedicationKnowledgeIngredientComponent element) throws IOException { 42313 if (element != null) { 42314 composeElementAttributes(element); 42315 xml.enter(FHIR_NS, name); 42316 composeMedicationKnowledgeIngredientComponentElements(element); 42317 composeElementClose(element); 42318 xml.exit(FHIR_NS, name); 42319 } 42320 } 42321 42322 protected void composeMedicationKnowledgeIngredientComponentElements(MedicationKnowledge.MedicationKnowledgeIngredientComponent element) throws IOException { 42323 composeBackboneElementElements(element); 42324 if (element.hasItem()) { 42325 composeType("item", element.getItem()); 42326 } if (element.hasIsActiveElement()) { 42327 composeBoolean("isActive", element.getIsActiveElement()); 42328 } 42329 if (element.hasStrength()) { 42330 composeRatio("strength", element.getStrength()); 42331 } 42332 } 42333 42334 protected void composeMedicationKnowledgeCostComponent(String name, MedicationKnowledge.MedicationKnowledgeCostComponent element) throws IOException { 42335 if (element != null) { 42336 composeElementAttributes(element); 42337 xml.enter(FHIR_NS, name); 42338 composeMedicationKnowledgeCostComponentElements(element); 42339 composeElementClose(element); 42340 xml.exit(FHIR_NS, name); 42341 } 42342 } 42343 42344 protected void composeMedicationKnowledgeCostComponentElements(MedicationKnowledge.MedicationKnowledgeCostComponent element) throws IOException { 42345 composeBackboneElementElements(element); 42346 if (element.hasType()) { 42347 composeCodeableConcept("type", element.getType()); 42348 } 42349 if (element.hasSourceElement()) { 42350 composeString("source", element.getSourceElement()); 42351 } 42352 if (element.hasCost()) { 42353 composeMoney("cost", element.getCost()); 42354 } 42355 } 42356 42357 protected void composeMedicationKnowledgeMonitoringProgramComponent(String name, MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent element) throws IOException { 42358 if (element != null) { 42359 composeElementAttributes(element); 42360 xml.enter(FHIR_NS, name); 42361 composeMedicationKnowledgeMonitoringProgramComponentElements(element); 42362 composeElementClose(element); 42363 xml.exit(FHIR_NS, name); 42364 } 42365 } 42366 42367 protected void composeMedicationKnowledgeMonitoringProgramComponentElements(MedicationKnowledge.MedicationKnowledgeMonitoringProgramComponent element) throws IOException { 42368 composeBackboneElementElements(element); 42369 if (element.hasType()) { 42370 composeCodeableConcept("type", element.getType()); 42371 } 42372 if (element.hasNameElement()) { 42373 composeString("name", element.getNameElement()); 42374 } 42375 } 42376 42377 protected void composeMedicationKnowledgeAdministrationGuidelinesComponent(String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent element) throws IOException { 42378 if (element != null) { 42379 composeElementAttributes(element); 42380 xml.enter(FHIR_NS, name); 42381 composeMedicationKnowledgeAdministrationGuidelinesComponentElements(element); 42382 composeElementClose(element); 42383 xml.exit(FHIR_NS, name); 42384 } 42385 } 42386 42387 protected void composeMedicationKnowledgeAdministrationGuidelinesComponentElements(MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesComponent element) throws IOException { 42388 composeBackboneElementElements(element); 42389 if (element.hasDosage()) { 42390 for (MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent e : element.getDosage()) 42391 composeMedicationKnowledgeAdministrationGuidelinesDosageComponent("dosage", e); 42392 } 42393 if (element.hasIndication()) { 42394 composeType("indication", element.getIndication()); 42395 } if (element.hasPatientCharacteristics()) { 42396 for (MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent e : element.getPatientCharacteristics()) 42397 composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent("patientCharacteristics", e); 42398 } 42399 } 42400 42401 protected void composeMedicationKnowledgeAdministrationGuidelinesDosageComponent(String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent element) throws IOException { 42402 if (element != null) { 42403 composeElementAttributes(element); 42404 xml.enter(FHIR_NS, name); 42405 composeMedicationKnowledgeAdministrationGuidelinesDosageComponentElements(element); 42406 composeElementClose(element); 42407 xml.exit(FHIR_NS, name); 42408 } 42409 } 42410 42411 protected void composeMedicationKnowledgeAdministrationGuidelinesDosageComponentElements(MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesDosageComponent element) throws IOException { 42412 composeBackboneElementElements(element); 42413 if (element.hasType()) { 42414 composeCodeableConcept("type", element.getType()); 42415 } 42416 if (element.hasDosage()) { 42417 for (Dosage e : element.getDosage()) 42418 composeDosage("dosage", e); 42419 } 42420 } 42421 42422 protected void composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent(String name, MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent element) throws IOException { 42423 if (element != null) { 42424 composeElementAttributes(element); 42425 xml.enter(FHIR_NS, name); 42426 composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponentElements(element); 42427 composeElementClose(element); 42428 xml.exit(FHIR_NS, name); 42429 } 42430 } 42431 42432 protected void composeMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponentElements(MedicationKnowledge.MedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsComponent element) throws IOException { 42433 composeBackboneElementElements(element); 42434 if (element.hasCharacteristic()) { 42435 composeType("characteristic", element.getCharacteristic()); 42436 } if (element.hasValue()) { 42437 for (StringType e : element.getValue()) 42438 composeString("value", e); 42439 } 42440 } 42441 42442 protected void composeMedicationKnowledgeMedicineClassificationComponent(String name, MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent element) throws IOException { 42443 if (element != null) { 42444 composeElementAttributes(element); 42445 xml.enter(FHIR_NS, name); 42446 composeMedicationKnowledgeMedicineClassificationComponentElements(element); 42447 composeElementClose(element); 42448 xml.exit(FHIR_NS, name); 42449 } 42450 } 42451 42452 protected void composeMedicationKnowledgeMedicineClassificationComponentElements(MedicationKnowledge.MedicationKnowledgeMedicineClassificationComponent element) throws IOException { 42453 composeBackboneElementElements(element); 42454 if (element.hasType()) { 42455 composeCodeableConcept("type", element.getType()); 42456 } 42457 if (element.hasClassification()) { 42458 for (CodeableConcept e : element.getClassification()) 42459 composeCodeableConcept("classification", e); 42460 } 42461 } 42462 42463 protected void composeMedicationKnowledgePackagingComponent(String name, MedicationKnowledge.MedicationKnowledgePackagingComponent element) throws IOException { 42464 if (element != null) { 42465 composeElementAttributes(element); 42466 xml.enter(FHIR_NS, name); 42467 composeMedicationKnowledgePackagingComponentElements(element); 42468 composeElementClose(element); 42469 xml.exit(FHIR_NS, name); 42470 } 42471 } 42472 42473 protected void composeMedicationKnowledgePackagingComponentElements(MedicationKnowledge.MedicationKnowledgePackagingComponent element) throws IOException { 42474 composeBackboneElementElements(element); 42475 if (element.hasType()) { 42476 composeCodeableConcept("type", element.getType()); 42477 } 42478 if (element.hasQuantity()) { 42479 composeQuantity("quantity", element.getQuantity()); 42480 } 42481 } 42482 42483 protected void composeMedicationKnowledgeDrugCharacteristicComponent(String name, MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent element) throws IOException { 42484 if (element != null) { 42485 composeElementAttributes(element); 42486 xml.enter(FHIR_NS, name); 42487 composeMedicationKnowledgeDrugCharacteristicComponentElements(element); 42488 composeElementClose(element); 42489 xml.exit(FHIR_NS, name); 42490 } 42491 } 42492 42493 protected void composeMedicationKnowledgeDrugCharacteristicComponentElements(MedicationKnowledge.MedicationKnowledgeDrugCharacteristicComponent element) throws IOException { 42494 composeBackboneElementElements(element); 42495 if (element.hasType()) { 42496 composeCodeableConcept("type", element.getType()); 42497 } 42498 if (element.hasValue()) { 42499 composeType("value", element.getValue()); 42500 } } 42501 42502 protected void composeMedicationKnowledgeRegulatoryComponent(String name, MedicationKnowledge.MedicationKnowledgeRegulatoryComponent element) throws IOException { 42503 if (element != null) { 42504 composeElementAttributes(element); 42505 xml.enter(FHIR_NS, name); 42506 composeMedicationKnowledgeRegulatoryComponentElements(element); 42507 composeElementClose(element); 42508 xml.exit(FHIR_NS, name); 42509 } 42510 } 42511 42512 protected void composeMedicationKnowledgeRegulatoryComponentElements(MedicationKnowledge.MedicationKnowledgeRegulatoryComponent element) throws IOException { 42513 composeBackboneElementElements(element); 42514 if (element.hasRegulatoryAuthority()) { 42515 composeReference("regulatoryAuthority", element.getRegulatoryAuthority()); 42516 } 42517 if (element.hasSubstitution()) { 42518 for (MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent e : element.getSubstitution()) 42519 composeMedicationKnowledgeRegulatorySubstitutionComponent("substitution", e); 42520 } 42521 if (element.hasSchedule()) { 42522 for (MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent e : element.getSchedule()) 42523 composeMedicationKnowledgeRegulatoryScheduleComponent("schedule", e); 42524 } 42525 if (element.hasMaxDispense()) { 42526 composeMedicationKnowledgeRegulatoryMaxDispenseComponent("maxDispense", element.getMaxDispense()); 42527 } 42528 } 42529 42530 protected void composeMedicationKnowledgeRegulatorySubstitutionComponent(String name, MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent element) throws IOException { 42531 if (element != null) { 42532 composeElementAttributes(element); 42533 xml.enter(FHIR_NS, name); 42534 composeMedicationKnowledgeRegulatorySubstitutionComponentElements(element); 42535 composeElementClose(element); 42536 xml.exit(FHIR_NS, name); 42537 } 42538 } 42539 42540 protected void composeMedicationKnowledgeRegulatorySubstitutionComponentElements(MedicationKnowledge.MedicationKnowledgeRegulatorySubstitutionComponent element) throws IOException { 42541 composeBackboneElementElements(element); 42542 if (element.hasType()) { 42543 composeCodeableConcept("type", element.getType()); 42544 } 42545 if (element.hasAllowedElement()) { 42546 composeBoolean("allowed", element.getAllowedElement()); 42547 } 42548 } 42549 42550 protected void composeMedicationKnowledgeRegulatoryScheduleComponent(String name, MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent element) throws IOException { 42551 if (element != null) { 42552 composeElementAttributes(element); 42553 xml.enter(FHIR_NS, name); 42554 composeMedicationKnowledgeRegulatoryScheduleComponentElements(element); 42555 composeElementClose(element); 42556 xml.exit(FHIR_NS, name); 42557 } 42558 } 42559 42560 protected void composeMedicationKnowledgeRegulatoryScheduleComponentElements(MedicationKnowledge.MedicationKnowledgeRegulatoryScheduleComponent element) throws IOException { 42561 composeBackboneElementElements(element); 42562 if (element.hasSchedule()) { 42563 composeCodeableConcept("schedule", element.getSchedule()); 42564 } 42565 } 42566 42567 protected void composeMedicationKnowledgeRegulatoryMaxDispenseComponent(String name, MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent element) throws IOException { 42568 if (element != null) { 42569 composeElementAttributes(element); 42570 xml.enter(FHIR_NS, name); 42571 composeMedicationKnowledgeRegulatoryMaxDispenseComponentElements(element); 42572 composeElementClose(element); 42573 xml.exit(FHIR_NS, name); 42574 } 42575 } 42576 42577 protected void composeMedicationKnowledgeRegulatoryMaxDispenseComponentElements(MedicationKnowledge.MedicationKnowledgeRegulatoryMaxDispenseComponent element) throws IOException { 42578 composeBackboneElementElements(element); 42579 if (element.hasQuantity()) { 42580 composeQuantity("quantity", element.getQuantity()); 42581 } 42582 if (element.hasPeriod()) { 42583 composeDuration("period", element.getPeriod()); 42584 } 42585 } 42586 42587 protected void composeMedicationKnowledgeKineticsComponent(String name, MedicationKnowledge.MedicationKnowledgeKineticsComponent element) throws IOException { 42588 if (element != null) { 42589 composeElementAttributes(element); 42590 xml.enter(FHIR_NS, name); 42591 composeMedicationKnowledgeKineticsComponentElements(element); 42592 composeElementClose(element); 42593 xml.exit(FHIR_NS, name); 42594 } 42595 } 42596 42597 protected void composeMedicationKnowledgeKineticsComponentElements(MedicationKnowledge.MedicationKnowledgeKineticsComponent element) throws IOException { 42598 composeBackboneElementElements(element); 42599 if (element.hasAreaUnderCurve()) { 42600 for (Quantity e : element.getAreaUnderCurve()) 42601 composeQuantity("areaUnderCurve", e); 42602 } 42603 if (element.hasLethalDose50()) { 42604 for (Quantity e : element.getLethalDose50()) 42605 composeQuantity("lethalDose50", e); 42606 } 42607 if (element.hasHalfLifePeriod()) { 42608 composeDuration("halfLifePeriod", element.getHalfLifePeriod()); 42609 } 42610 } 42611 42612 protected void composeMedicationRequest(String name, MedicationRequest element) throws IOException { 42613 if (element != null) { 42614 composeResourceAttributes(element); 42615 xml.enter(FHIR_NS, name); 42616 composeMedicationRequestElements(element); 42617 composeElementClose(element); 42618 xml.exit(FHIR_NS, name); 42619 } 42620 } 42621 42622 protected void composeMedicationRequestElements(MedicationRequest element) throws IOException { 42623 composeDomainResourceElements(element); 42624 if (element.hasIdentifier()) { 42625 for (Identifier e : element.getIdentifier()) 42626 composeIdentifier("identifier", e); 42627 } 42628 if (element.hasStatusElement()) 42629 composeEnumeration("status", element.getStatusElement(), new MedicationRequest.MedicationrequestStatusEnumFactory()); 42630 if (element.hasStatusReason()) { 42631 composeCodeableConcept("statusReason", element.getStatusReason()); 42632 } 42633 if (element.hasIntentElement()) 42634 composeEnumeration("intent", element.getIntentElement(), new MedicationRequest.MedicationRequestIntentEnumFactory()); 42635 if (element.hasCategory()) { 42636 for (CodeableConcept e : element.getCategory()) 42637 composeCodeableConcept("category", e); 42638 } 42639 if (element.hasPriorityElement()) 42640 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 42641 if (element.hasDoNotPerformElement()) { 42642 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 42643 } 42644 if (element.hasReported()) { 42645 composeType("reported", element.getReported()); 42646 } if (element.hasMedication()) { 42647 composeType("medication", element.getMedication()); 42648 } if (element.hasSubject()) { 42649 composeReference("subject", element.getSubject()); 42650 } 42651 if (element.hasEncounter()) { 42652 composeReference("encounter", element.getEncounter()); 42653 } 42654 if (element.hasSupportingInformation()) { 42655 for (Reference e : element.getSupportingInformation()) 42656 composeReference("supportingInformation", e); 42657 } 42658 if (element.hasAuthoredOnElement()) { 42659 composeDateTime("authoredOn", element.getAuthoredOnElement()); 42660 } 42661 if (element.hasRequester()) { 42662 composeReference("requester", element.getRequester()); 42663 } 42664 if (element.hasPerformer()) { 42665 composeReference("performer", element.getPerformer()); 42666 } 42667 if (element.hasPerformerType()) { 42668 composeCodeableConcept("performerType", element.getPerformerType()); 42669 } 42670 if (element.hasRecorder()) { 42671 composeReference("recorder", element.getRecorder()); 42672 } 42673 if (element.hasReasonCode()) { 42674 for (CodeableConcept e : element.getReasonCode()) 42675 composeCodeableConcept("reasonCode", e); 42676 } 42677 if (element.hasReasonReference()) { 42678 for (Reference e : element.getReasonReference()) 42679 composeReference("reasonReference", e); 42680 } 42681 if (element.hasInstantiatesCanonical()) { 42682 for (CanonicalType e : element.getInstantiatesCanonical()) 42683 composeCanonical("instantiatesCanonical", e); 42684 } 42685 if (element.hasInstantiatesUri()) { 42686 for (UriType e : element.getInstantiatesUri()) 42687 composeUri("instantiatesUri", e); 42688 } 42689 if (element.hasBasedOn()) { 42690 for (Reference e : element.getBasedOn()) 42691 composeReference("basedOn", e); 42692 } 42693 if (element.hasGroupIdentifier()) { 42694 composeIdentifier("groupIdentifier", element.getGroupIdentifier()); 42695 } 42696 if (element.hasCourseOfTherapyType()) { 42697 composeCodeableConcept("courseOfTherapyType", element.getCourseOfTherapyType()); 42698 } 42699 if (element.hasInsurance()) { 42700 for (Reference e : element.getInsurance()) 42701 composeReference("insurance", e); 42702 } 42703 if (element.hasNote()) { 42704 for (Annotation e : element.getNote()) 42705 composeAnnotation("note", e); 42706 } 42707 if (element.hasDosageInstruction()) { 42708 for (Dosage e : element.getDosageInstruction()) 42709 composeDosage("dosageInstruction", e); 42710 } 42711 if (element.hasDispenseRequest()) { 42712 composeMedicationRequestDispenseRequestComponent("dispenseRequest", element.getDispenseRequest()); 42713 } 42714 if (element.hasSubstitution()) { 42715 composeMedicationRequestSubstitutionComponent("substitution", element.getSubstitution()); 42716 } 42717 if (element.hasPriorPrescription()) { 42718 composeReference("priorPrescription", element.getPriorPrescription()); 42719 } 42720 if (element.hasDetectedIssue()) { 42721 for (Reference e : element.getDetectedIssue()) 42722 composeReference("detectedIssue", e); 42723 } 42724 if (element.hasEventHistory()) { 42725 for (Reference e : element.getEventHistory()) 42726 composeReference("eventHistory", e); 42727 } 42728 } 42729 42730 protected void composeMedicationRequestDispenseRequestComponent(String name, MedicationRequest.MedicationRequestDispenseRequestComponent element) throws IOException { 42731 if (element != null) { 42732 composeElementAttributes(element); 42733 xml.enter(FHIR_NS, name); 42734 composeMedicationRequestDispenseRequestComponentElements(element); 42735 composeElementClose(element); 42736 xml.exit(FHIR_NS, name); 42737 } 42738 } 42739 42740 protected void composeMedicationRequestDispenseRequestComponentElements(MedicationRequest.MedicationRequestDispenseRequestComponent element) throws IOException { 42741 composeBackboneElementElements(element); 42742 if (element.hasInitialFill()) { 42743 composeMedicationRequestDispenseRequestInitialFillComponent("initialFill", element.getInitialFill()); 42744 } 42745 if (element.hasDispenseInterval()) { 42746 composeDuration("dispenseInterval", element.getDispenseInterval()); 42747 } 42748 if (element.hasValidityPeriod()) { 42749 composePeriod("validityPeriod", element.getValidityPeriod()); 42750 } 42751 if (element.hasNumberOfRepeatsAllowedElement()) { 42752 composeUnsignedInt("numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement()); 42753 } 42754 if (element.hasQuantity()) { 42755 composeQuantity("quantity", element.getQuantity()); 42756 } 42757 if (element.hasExpectedSupplyDuration()) { 42758 composeDuration("expectedSupplyDuration", element.getExpectedSupplyDuration()); 42759 } 42760 if (element.hasPerformer()) { 42761 composeReference("performer", element.getPerformer()); 42762 } 42763 } 42764 42765 protected void composeMedicationRequestDispenseRequestInitialFillComponent(String name, MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent element) throws IOException { 42766 if (element != null) { 42767 composeElementAttributes(element); 42768 xml.enter(FHIR_NS, name); 42769 composeMedicationRequestDispenseRequestInitialFillComponentElements(element); 42770 composeElementClose(element); 42771 xml.exit(FHIR_NS, name); 42772 } 42773 } 42774 42775 protected void composeMedicationRequestDispenseRequestInitialFillComponentElements(MedicationRequest.MedicationRequestDispenseRequestInitialFillComponent element) throws IOException { 42776 composeBackboneElementElements(element); 42777 if (element.hasQuantity()) { 42778 composeQuantity("quantity", element.getQuantity()); 42779 } 42780 if (element.hasDuration()) { 42781 composeDuration("duration", element.getDuration()); 42782 } 42783 } 42784 42785 protected void composeMedicationRequestSubstitutionComponent(String name, MedicationRequest.MedicationRequestSubstitutionComponent element) throws IOException { 42786 if (element != null) { 42787 composeElementAttributes(element); 42788 xml.enter(FHIR_NS, name); 42789 composeMedicationRequestSubstitutionComponentElements(element); 42790 composeElementClose(element); 42791 xml.exit(FHIR_NS, name); 42792 } 42793 } 42794 42795 protected void composeMedicationRequestSubstitutionComponentElements(MedicationRequest.MedicationRequestSubstitutionComponent element) throws IOException { 42796 composeBackboneElementElements(element); 42797 if (element.hasAllowed()) { 42798 composeType("allowed", element.getAllowed()); 42799 } if (element.hasReason()) { 42800 composeCodeableConcept("reason", element.getReason()); 42801 } 42802 } 42803 42804 protected void composeMedicationStatement(String name, MedicationStatement element) throws IOException { 42805 if (element != null) { 42806 composeResourceAttributes(element); 42807 xml.enter(FHIR_NS, name); 42808 composeMedicationStatementElements(element); 42809 composeElementClose(element); 42810 xml.exit(FHIR_NS, name); 42811 } 42812 } 42813 42814 protected void composeMedicationStatementElements(MedicationStatement element) throws IOException { 42815 composeDomainResourceElements(element); 42816 if (element.hasIdentifier()) { 42817 for (Identifier e : element.getIdentifier()) 42818 composeIdentifier("identifier", e); 42819 } 42820 if (element.hasBasedOn()) { 42821 for (Reference e : element.getBasedOn()) 42822 composeReference("basedOn", e); 42823 } 42824 if (element.hasPartOf()) { 42825 for (Reference e : element.getPartOf()) 42826 composeReference("partOf", e); 42827 } 42828 if (element.hasStatusElement()) 42829 composeEnumeration("status", element.getStatusElement(), new MedicationStatement.MedicationStatusCodesEnumFactory()); 42830 if (element.hasStatusReason()) { 42831 for (CodeableConcept e : element.getStatusReason()) 42832 composeCodeableConcept("statusReason", e); 42833 } 42834 if (element.hasCategory()) { 42835 composeCodeableConcept("category", element.getCategory()); 42836 } 42837 if (element.hasMedication()) { 42838 composeType("medication", element.getMedication()); 42839 } if (element.hasSubject()) { 42840 composeReference("subject", element.getSubject()); 42841 } 42842 if (element.hasContext()) { 42843 composeReference("context", element.getContext()); 42844 } 42845 if (element.hasEffective()) { 42846 composeType("effective", element.getEffective()); 42847 } if (element.hasDateAssertedElement()) { 42848 composeDateTime("dateAsserted", element.getDateAssertedElement()); 42849 } 42850 if (element.hasInformationSource()) { 42851 composeReference("informationSource", element.getInformationSource()); 42852 } 42853 if (element.hasDerivedFrom()) { 42854 for (Reference e : element.getDerivedFrom()) 42855 composeReference("derivedFrom", e); 42856 } 42857 if (element.hasReasonCode()) { 42858 for (CodeableConcept e : element.getReasonCode()) 42859 composeCodeableConcept("reasonCode", e); 42860 } 42861 if (element.hasReasonReference()) { 42862 for (Reference e : element.getReasonReference()) 42863 composeReference("reasonReference", e); 42864 } 42865 if (element.hasNote()) { 42866 for (Annotation e : element.getNote()) 42867 composeAnnotation("note", e); 42868 } 42869 if (element.hasDosage()) { 42870 for (Dosage e : element.getDosage()) 42871 composeDosage("dosage", e); 42872 } 42873 } 42874 42875 protected void composeMedicinalProductDefinition(String name, MedicinalProductDefinition element) throws IOException { 42876 if (element != null) { 42877 composeResourceAttributes(element); 42878 xml.enter(FHIR_NS, name); 42879 composeMedicinalProductDefinitionElements(element); 42880 composeElementClose(element); 42881 xml.exit(FHIR_NS, name); 42882 } 42883 } 42884 42885 protected void composeMedicinalProductDefinitionElements(MedicinalProductDefinition element) throws IOException { 42886 composeDomainResourceElements(element); 42887 if (element.hasIdentifier()) { 42888 for (Identifier e : element.getIdentifier()) 42889 composeIdentifier("identifier", e); 42890 } 42891 if (element.hasType()) { 42892 composeCodeableConcept("type", element.getType()); 42893 } 42894 if (element.hasDomain()) { 42895 composeCodeableConcept("domain", element.getDomain()); 42896 } 42897 if (element.hasVersionElement()) { 42898 composeString("version", element.getVersionElement()); 42899 } 42900 if (element.hasStatus()) { 42901 composeCodeableConcept("status", element.getStatus()); 42902 } 42903 if (element.hasStatusDateElement()) { 42904 composeDateTime("statusDate", element.getStatusDateElement()); 42905 } 42906 if (element.hasDescriptionElement()) { 42907 composeMarkdown("description", element.getDescriptionElement()); 42908 } 42909 if (element.hasCombinedPharmaceuticalDoseForm()) { 42910 composeCodeableConcept("combinedPharmaceuticalDoseForm", element.getCombinedPharmaceuticalDoseForm()); 42911 } 42912 if (element.hasRoute()) { 42913 for (CodeableConcept e : element.getRoute()) 42914 composeCodeableConcept("route", e); 42915 } 42916 if (element.hasIndicationElement()) { 42917 composeMarkdown("indication", element.getIndicationElement()); 42918 } 42919 if (element.hasLegalStatusOfSupply()) { 42920 composeCodeableConcept("legalStatusOfSupply", element.getLegalStatusOfSupply()); 42921 } 42922 if (element.hasAdditionalMonitoringIndicator()) { 42923 composeCodeableConcept("additionalMonitoringIndicator", element.getAdditionalMonitoringIndicator()); 42924 } 42925 if (element.hasSpecialMeasures()) { 42926 for (CodeableConcept e : element.getSpecialMeasures()) 42927 composeCodeableConcept("specialMeasures", e); 42928 } 42929 if (element.hasPediatricUseIndicator()) { 42930 composeCodeableConcept("pediatricUseIndicator", element.getPediatricUseIndicator()); 42931 } 42932 if (element.hasClassification()) { 42933 for (CodeableConcept e : element.getClassification()) 42934 composeCodeableConcept("classification", e); 42935 } 42936 if (element.hasMarketingStatus()) { 42937 for (MarketingStatus e : element.getMarketingStatus()) 42938 composeMarketingStatus("marketingStatus", e); 42939 } 42940 if (element.hasPackagedMedicinalProduct()) { 42941 for (CodeableConcept e : element.getPackagedMedicinalProduct()) 42942 composeCodeableConcept("packagedMedicinalProduct", e); 42943 } 42944 if (element.hasIngredient()) { 42945 for (CodeableConcept e : element.getIngredient()) 42946 composeCodeableConcept("ingredient", e); 42947 } 42948 if (element.hasImpurity()) { 42949 for (CodeableReference e : element.getImpurity()) 42950 composeCodeableReference("impurity", e); 42951 } 42952 if (element.hasAttachedDocument()) { 42953 for (Reference e : element.getAttachedDocument()) 42954 composeReference("attachedDocument", e); 42955 } 42956 if (element.hasMasterFile()) { 42957 for (Reference e : element.getMasterFile()) 42958 composeReference("masterFile", e); 42959 } 42960 if (element.hasContact()) { 42961 for (MedicinalProductDefinition.MedicinalProductDefinitionContactComponent e : element.getContact()) 42962 composeMedicinalProductDefinitionContactComponent("contact", e); 42963 } 42964 if (element.hasClinicalTrial()) { 42965 for (Reference e : element.getClinicalTrial()) 42966 composeReference("clinicalTrial", e); 42967 } 42968 if (element.hasCode()) { 42969 for (Coding e : element.getCode()) 42970 composeCoding("code", e); 42971 } 42972 if (element.hasName()) { 42973 for (MedicinalProductDefinition.MedicinalProductDefinitionNameComponent e : element.getName()) 42974 composeMedicinalProductDefinitionNameComponent("name", e); 42975 } 42976 if (element.hasCrossReference()) { 42977 for (MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent e : element.getCrossReference()) 42978 composeMedicinalProductDefinitionCrossReferenceComponent("crossReference", e); 42979 } 42980 if (element.hasOperation()) { 42981 for (MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent e : element.getOperation()) 42982 composeMedicinalProductDefinitionOperationComponent("operation", e); 42983 } 42984 if (element.hasCharacteristic()) { 42985 for (MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent e : element.getCharacteristic()) 42986 composeMedicinalProductDefinitionCharacteristicComponent("characteristic", e); 42987 } 42988 } 42989 42990 protected void composeMedicinalProductDefinitionContactComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionContactComponent element) throws IOException { 42991 if (element != null) { 42992 composeElementAttributes(element); 42993 xml.enter(FHIR_NS, name); 42994 composeMedicinalProductDefinitionContactComponentElements(element); 42995 composeElementClose(element); 42996 xml.exit(FHIR_NS, name); 42997 } 42998 } 42999 43000 protected void composeMedicinalProductDefinitionContactComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionContactComponent element) throws IOException { 43001 composeBackboneElementElements(element); 43002 if (element.hasType()) { 43003 composeCodeableConcept("type", element.getType()); 43004 } 43005 if (element.hasContact()) { 43006 composeReference("contact", element.getContact()); 43007 } 43008 } 43009 43010 protected void composeMedicinalProductDefinitionNameComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameComponent element) throws IOException { 43011 if (element != null) { 43012 composeElementAttributes(element); 43013 xml.enter(FHIR_NS, name); 43014 composeMedicinalProductDefinitionNameComponentElements(element); 43015 composeElementClose(element); 43016 xml.exit(FHIR_NS, name); 43017 } 43018 } 43019 43020 protected void composeMedicinalProductDefinitionNameComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameComponent element) throws IOException { 43021 composeBackboneElementElements(element); 43022 if (element.hasProductNameElement()) { 43023 composeString("productName", element.getProductNameElement()); 43024 } 43025 if (element.hasType()) { 43026 composeCodeableConcept("type", element.getType()); 43027 } 43028 if (element.hasNamePart()) { 43029 for (MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent e : element.getNamePart()) 43030 composeMedicinalProductDefinitionNameNamePartComponent("namePart", e); 43031 } 43032 if (element.hasCountryLanguage()) { 43033 for (MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent e : element.getCountryLanguage()) 43034 composeMedicinalProductDefinitionNameCountryLanguageComponent("countryLanguage", e); 43035 } 43036 } 43037 43038 protected void composeMedicinalProductDefinitionNameNamePartComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { 43039 if (element != null) { 43040 composeElementAttributes(element); 43041 xml.enter(FHIR_NS, name); 43042 composeMedicinalProductDefinitionNameNamePartComponentElements(element); 43043 composeElementClose(element); 43044 xml.exit(FHIR_NS, name); 43045 } 43046 } 43047 43048 protected void composeMedicinalProductDefinitionNameNamePartComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { 43049 composeBackboneElementElements(element); 43050 if (element.hasPartElement()) { 43051 composeString("part", element.getPartElement()); 43052 } 43053 if (element.hasType()) { 43054 composeCodeableConcept("type", element.getType()); 43055 } 43056 } 43057 43058 protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { 43059 if (element != null) { 43060 composeElementAttributes(element); 43061 xml.enter(FHIR_NS, name); 43062 composeMedicinalProductDefinitionNameCountryLanguageComponentElements(element); 43063 composeElementClose(element); 43064 xml.exit(FHIR_NS, name); 43065 } 43066 } 43067 43068 protected void composeMedicinalProductDefinitionNameCountryLanguageComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { 43069 composeBackboneElementElements(element); 43070 if (element.hasCountry()) { 43071 composeCodeableConcept("country", element.getCountry()); 43072 } 43073 if (element.hasJurisdiction()) { 43074 composeCodeableConcept("jurisdiction", element.getJurisdiction()); 43075 } 43076 if (element.hasLanguage()) { 43077 composeCodeableConcept("language", element.getLanguage()); 43078 } 43079 } 43080 43081 protected void composeMedicinalProductDefinitionCrossReferenceComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent element) throws IOException { 43082 if (element != null) { 43083 composeElementAttributes(element); 43084 xml.enter(FHIR_NS, name); 43085 composeMedicinalProductDefinitionCrossReferenceComponentElements(element); 43086 composeElementClose(element); 43087 xml.exit(FHIR_NS, name); 43088 } 43089 } 43090 43091 protected void composeMedicinalProductDefinitionCrossReferenceComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionCrossReferenceComponent element) throws IOException { 43092 composeBackboneElementElements(element); 43093 if (element.hasProduct()) { 43094 composeCodeableReference("product", element.getProduct()); 43095 } 43096 if (element.hasType()) { 43097 composeCodeableConcept("type", element.getType()); 43098 } 43099 } 43100 43101 protected void composeMedicinalProductDefinitionOperationComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent element) throws IOException { 43102 if (element != null) { 43103 composeElementAttributes(element); 43104 xml.enter(FHIR_NS, name); 43105 composeMedicinalProductDefinitionOperationComponentElements(element); 43106 composeElementClose(element); 43107 xml.exit(FHIR_NS, name); 43108 } 43109 } 43110 43111 protected void composeMedicinalProductDefinitionOperationComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionOperationComponent element) throws IOException { 43112 composeBackboneElementElements(element); 43113 if (element.hasType()) { 43114 composeCodeableReference("type", element.getType()); 43115 } 43116 if (element.hasEffectiveDate()) { 43117 composePeriod("effectiveDate", element.getEffectiveDate()); 43118 } 43119 if (element.hasOrganization()) { 43120 for (Reference e : element.getOrganization()) 43121 composeReference("organization", e); 43122 } 43123 if (element.hasConfidentialityIndicator()) { 43124 composeCodeableConcept("confidentialityIndicator", element.getConfidentialityIndicator()); 43125 } 43126 } 43127 43128 protected void composeMedicinalProductDefinitionCharacteristicComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent element) throws IOException { 43129 if (element != null) { 43130 composeElementAttributes(element); 43131 xml.enter(FHIR_NS, name); 43132 composeMedicinalProductDefinitionCharacteristicComponentElements(element); 43133 composeElementClose(element); 43134 xml.exit(FHIR_NS, name); 43135 } 43136 } 43137 43138 protected void composeMedicinalProductDefinitionCharacteristicComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionCharacteristicComponent element) throws IOException { 43139 composeBackboneElementElements(element); 43140 if (element.hasType()) { 43141 composeCodeableConcept("type", element.getType()); 43142 } 43143 if (element.hasValue()) { 43144 composeType("value", element.getValue()); 43145 } } 43146 43147 protected void composeMessageDefinition(String name, MessageDefinition element) throws IOException { 43148 if (element != null) { 43149 composeResourceAttributes(element); 43150 xml.enter(FHIR_NS, name); 43151 composeMessageDefinitionElements(element); 43152 composeElementClose(element); 43153 xml.exit(FHIR_NS, name); 43154 } 43155 } 43156 43157 protected void composeMessageDefinitionElements(MessageDefinition element) throws IOException { 43158 composeDomainResourceElements(element); 43159 if (element.hasUrlElement()) { 43160 composeUri("url", element.getUrlElement()); 43161 } 43162 if (element.hasIdentifier()) { 43163 for (Identifier e : element.getIdentifier()) 43164 composeIdentifier("identifier", e); 43165 } 43166 if (element.hasVersionElement()) { 43167 composeString("version", element.getVersionElement()); 43168 } 43169 if (element.hasNameElement()) { 43170 composeString("name", element.getNameElement()); 43171 } 43172 if (element.hasTitleElement()) { 43173 composeString("title", element.getTitleElement()); 43174 } 43175 if (element.hasReplaces()) { 43176 for (CanonicalType e : element.getReplaces()) 43177 composeCanonical("replaces", e); 43178 } 43179 if (element.hasStatusElement()) 43180 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 43181 if (element.hasExperimentalElement()) { 43182 composeBoolean("experimental", element.getExperimentalElement()); 43183 } 43184 if (element.hasDateElement()) { 43185 composeDateTime("date", element.getDateElement()); 43186 } 43187 if (element.hasPublisherElement()) { 43188 composeString("publisher", element.getPublisherElement()); 43189 } 43190 if (element.hasContact()) { 43191 for (ContactDetail e : element.getContact()) 43192 composeContactDetail("contact", e); 43193 } 43194 if (element.hasDescriptionElement()) { 43195 composeMarkdown("description", element.getDescriptionElement()); 43196 } 43197 if (element.hasUseContext()) { 43198 for (UsageContext e : element.getUseContext()) 43199 composeUsageContext("useContext", e); 43200 } 43201 if (element.hasJurisdiction()) { 43202 for (CodeableConcept e : element.getJurisdiction()) 43203 composeCodeableConcept("jurisdiction", e); 43204 } 43205 if (element.hasPurposeElement()) { 43206 composeMarkdown("purpose", element.getPurposeElement()); 43207 } 43208 if (element.hasCopyrightElement()) { 43209 composeMarkdown("copyright", element.getCopyrightElement()); 43210 } 43211 if (element.hasBaseElement()) { 43212 composeCanonical("base", element.getBaseElement()); 43213 } 43214 if (element.hasParent()) { 43215 for (CanonicalType e : element.getParent()) 43216 composeCanonical("parent", e); 43217 } 43218 if (element.hasEvent()) { 43219 composeType("event", element.getEvent()); 43220 } if (element.hasCategoryElement()) 43221 composeEnumeration("category", element.getCategoryElement(), new MessageDefinition.MessageSignificanceCategoryEnumFactory()); 43222 if (element.hasFocus()) { 43223 for (MessageDefinition.MessageDefinitionFocusComponent e : element.getFocus()) 43224 composeMessageDefinitionFocusComponent("focus", e); 43225 } 43226 if (element.hasResponseRequiredElement()) 43227 composeEnumeration("responseRequired", element.getResponseRequiredElement(), new MessageDefinition.MessageheaderResponseRequestEnumFactory()); 43228 if (element.hasAllowedResponse()) { 43229 for (MessageDefinition.MessageDefinitionAllowedResponseComponent e : element.getAllowedResponse()) 43230 composeMessageDefinitionAllowedResponseComponent("allowedResponse", e); 43231 } 43232 if (element.hasGraph()) { 43233 for (CanonicalType e : element.getGraph()) 43234 composeCanonical("graph", e); 43235 } 43236 } 43237 43238 protected void composeMessageDefinitionFocusComponent(String name, MessageDefinition.MessageDefinitionFocusComponent element) throws IOException { 43239 if (element != null) { 43240 composeElementAttributes(element); 43241 xml.enter(FHIR_NS, name); 43242 composeMessageDefinitionFocusComponentElements(element); 43243 composeElementClose(element); 43244 xml.exit(FHIR_NS, name); 43245 } 43246 } 43247 43248 protected void composeMessageDefinitionFocusComponentElements(MessageDefinition.MessageDefinitionFocusComponent element) throws IOException { 43249 composeBackboneElementElements(element); 43250 if (element.hasCodeElement()) { 43251 composeCode("code", element.getCodeElement()); 43252 } 43253 if (element.hasProfileElement()) { 43254 composeCanonical("profile", element.getProfileElement()); 43255 } 43256 if (element.hasMinElement()) { 43257 composeUnsignedInt("min", element.getMinElement()); 43258 } 43259 if (element.hasMaxElement()) { 43260 composeString("max", element.getMaxElement()); 43261 } 43262 } 43263 43264 protected void composeMessageDefinitionAllowedResponseComponent(String name, MessageDefinition.MessageDefinitionAllowedResponseComponent element) throws IOException { 43265 if (element != null) { 43266 composeElementAttributes(element); 43267 xml.enter(FHIR_NS, name); 43268 composeMessageDefinitionAllowedResponseComponentElements(element); 43269 composeElementClose(element); 43270 xml.exit(FHIR_NS, name); 43271 } 43272 } 43273 43274 protected void composeMessageDefinitionAllowedResponseComponentElements(MessageDefinition.MessageDefinitionAllowedResponseComponent element) throws IOException { 43275 composeBackboneElementElements(element); 43276 if (element.hasMessageElement()) { 43277 composeCanonical("message", element.getMessageElement()); 43278 } 43279 if (element.hasSituationElement()) { 43280 composeMarkdown("situation", element.getSituationElement()); 43281 } 43282 } 43283 43284 protected void composeMessageHeader(String name, MessageHeader element) throws IOException { 43285 if (element != null) { 43286 composeResourceAttributes(element); 43287 xml.enter(FHIR_NS, name); 43288 composeMessageHeaderElements(element); 43289 composeElementClose(element); 43290 xml.exit(FHIR_NS, name); 43291 } 43292 } 43293 43294 protected void composeMessageHeaderElements(MessageHeader element) throws IOException { 43295 composeDomainResourceElements(element); 43296 if (element.hasEvent()) { 43297 composeType("event", element.getEvent()); 43298 } if (element.hasDestination()) { 43299 for (MessageHeader.MessageDestinationComponent e : element.getDestination()) 43300 composeMessageHeaderMessageDestinationComponent("destination", e); 43301 } 43302 if (element.hasSender()) { 43303 composeReference("sender", element.getSender()); 43304 } 43305 if (element.hasEnterer()) { 43306 composeReference("enterer", element.getEnterer()); 43307 } 43308 if (element.hasAuthor()) { 43309 composeReference("author", element.getAuthor()); 43310 } 43311 if (element.hasSource()) { 43312 composeMessageHeaderMessageSourceComponent("source", element.getSource()); 43313 } 43314 if (element.hasResponsible()) { 43315 composeReference("responsible", element.getResponsible()); 43316 } 43317 if (element.hasReason()) { 43318 composeCodeableConcept("reason", element.getReason()); 43319 } 43320 if (element.hasResponse()) { 43321 composeMessageHeaderResponseComponent("response", element.getResponse()); 43322 } 43323 if (element.hasFocus()) { 43324 for (Reference e : element.getFocus()) 43325 composeReference("focus", e); 43326 } 43327 if (element.hasDefinitionElement()) { 43328 composeCanonical("definition", element.getDefinitionElement()); 43329 } 43330 } 43331 43332 protected void composeMessageHeaderMessageDestinationComponent(String name, MessageHeader.MessageDestinationComponent element) throws IOException { 43333 if (element != null) { 43334 composeElementAttributes(element); 43335 xml.enter(FHIR_NS, name); 43336 composeMessageHeaderMessageDestinationComponentElements(element); 43337 composeElementClose(element); 43338 xml.exit(FHIR_NS, name); 43339 } 43340 } 43341 43342 protected void composeMessageHeaderMessageDestinationComponentElements(MessageHeader.MessageDestinationComponent element) throws IOException { 43343 composeBackboneElementElements(element); 43344 if (element.hasNameElement()) { 43345 composeString("name", element.getNameElement()); 43346 } 43347 if (element.hasTarget()) { 43348 composeReference("target", element.getTarget()); 43349 } 43350 if (element.hasEndpointElement()) { 43351 composeUrl("endpoint", element.getEndpointElement()); 43352 } 43353 if (element.hasReceiver()) { 43354 composeReference("receiver", element.getReceiver()); 43355 } 43356 } 43357 43358 protected void composeMessageHeaderMessageSourceComponent(String name, MessageHeader.MessageSourceComponent element) throws IOException { 43359 if (element != null) { 43360 composeElementAttributes(element); 43361 xml.enter(FHIR_NS, name); 43362 composeMessageHeaderMessageSourceComponentElements(element); 43363 composeElementClose(element); 43364 xml.exit(FHIR_NS, name); 43365 } 43366 } 43367 43368 protected void composeMessageHeaderMessageSourceComponentElements(MessageHeader.MessageSourceComponent element) throws IOException { 43369 composeBackboneElementElements(element); 43370 if (element.hasNameElement()) { 43371 composeString("name", element.getNameElement()); 43372 } 43373 if (element.hasSoftwareElement()) { 43374 composeString("software", element.getSoftwareElement()); 43375 } 43376 if (element.hasVersionElement()) { 43377 composeString("version", element.getVersionElement()); 43378 } 43379 if (element.hasContact()) { 43380 composeContactPoint("contact", element.getContact()); 43381 } 43382 if (element.hasEndpointElement()) { 43383 composeUrl("endpoint", element.getEndpointElement()); 43384 } 43385 } 43386 43387 protected void composeMessageHeaderResponseComponent(String name, MessageHeader.MessageHeaderResponseComponent element) throws IOException { 43388 if (element != null) { 43389 composeElementAttributes(element); 43390 xml.enter(FHIR_NS, name); 43391 composeMessageHeaderResponseComponentElements(element); 43392 composeElementClose(element); 43393 xml.exit(FHIR_NS, name); 43394 } 43395 } 43396 43397 protected void composeMessageHeaderResponseComponentElements(MessageHeader.MessageHeaderResponseComponent element) throws IOException { 43398 composeBackboneElementElements(element); 43399 if (element.hasIdentifierElement()) { 43400 composeId("identifier", element.getIdentifierElement()); 43401 } 43402 if (element.hasCodeElement()) 43403 composeEnumeration("code", element.getCodeElement(), new MessageHeader.ResponseTypeEnumFactory()); 43404 if (element.hasDetails()) { 43405 composeReference("details", element.getDetails()); 43406 } 43407 } 43408 43409 protected void composeMolecularSequence(String name, MolecularSequence element) throws IOException { 43410 if (element != null) { 43411 composeResourceAttributes(element); 43412 xml.enter(FHIR_NS, name); 43413 composeMolecularSequenceElements(element); 43414 composeElementClose(element); 43415 xml.exit(FHIR_NS, name); 43416 } 43417 } 43418 43419 protected void composeMolecularSequenceElements(MolecularSequence element) throws IOException { 43420 composeDomainResourceElements(element); 43421 if (element.hasIdentifier()) { 43422 for (Identifier e : element.getIdentifier()) 43423 composeIdentifier("identifier", e); 43424 } 43425 if (element.hasTypeElement()) 43426 composeEnumeration("type", element.getTypeElement(), new MolecularSequence.SequenceTypeEnumFactory()); 43427 if (element.hasCoordinateSystemElement()) { 43428 composeInteger("coordinateSystem", element.getCoordinateSystemElement()); 43429 } 43430 if (element.hasPatient()) { 43431 composeReference("patient", element.getPatient()); 43432 } 43433 if (element.hasSpecimen()) { 43434 composeReference("specimen", element.getSpecimen()); 43435 } 43436 if (element.hasDevice()) { 43437 composeReference("device", element.getDevice()); 43438 } 43439 if (element.hasPerformer()) { 43440 composeReference("performer", element.getPerformer()); 43441 } 43442 if (element.hasQuantity()) { 43443 composeQuantity("quantity", element.getQuantity()); 43444 } 43445 if (element.hasReferenceSeq()) { 43446 composeMolecularSequenceReferenceSeqComponent("referenceSeq", element.getReferenceSeq()); 43447 } 43448 if (element.hasVariant()) { 43449 for (MolecularSequence.MolecularSequenceVariantComponent e : element.getVariant()) 43450 composeMolecularSequenceVariantComponent("variant", e); 43451 } 43452 if (element.hasObservedSeqElement()) { 43453 composeString("observedSeq", element.getObservedSeqElement()); 43454 } 43455 if (element.hasQuality()) { 43456 for (MolecularSequence.MolecularSequenceQualityComponent e : element.getQuality()) 43457 composeMolecularSequenceQualityComponent("quality", e); 43458 } 43459 if (element.hasReadCoverageElement()) { 43460 composeInteger("readCoverage", element.getReadCoverageElement()); 43461 } 43462 if (element.hasRepository()) { 43463 for (MolecularSequence.MolecularSequenceRepositoryComponent e : element.getRepository()) 43464 composeMolecularSequenceRepositoryComponent("repository", e); 43465 } 43466 if (element.hasPointer()) { 43467 for (Reference e : element.getPointer()) 43468 composeReference("pointer", e); 43469 } 43470 if (element.hasStructureVariant()) { 43471 for (MolecularSequence.MolecularSequenceStructureVariantComponent e : element.getStructureVariant()) 43472 composeMolecularSequenceStructureVariantComponent("structureVariant", e); 43473 } 43474 } 43475 43476 protected void composeMolecularSequenceReferenceSeqComponent(String name, MolecularSequence.MolecularSequenceReferenceSeqComponent element) throws IOException { 43477 if (element != null) { 43478 composeElementAttributes(element); 43479 xml.enter(FHIR_NS, name); 43480 composeMolecularSequenceReferenceSeqComponentElements(element); 43481 composeElementClose(element); 43482 xml.exit(FHIR_NS, name); 43483 } 43484 } 43485 43486 protected void composeMolecularSequenceReferenceSeqComponentElements(MolecularSequence.MolecularSequenceReferenceSeqComponent element) throws IOException { 43487 composeBackboneElementElements(element); 43488 if (element.hasChromosome()) { 43489 composeCodeableConcept("chromosome", element.getChromosome()); 43490 } 43491 if (element.hasGenomeBuildElement()) { 43492 composeString("genomeBuild", element.getGenomeBuildElement()); 43493 } 43494 if (element.hasOrientationElement()) 43495 composeEnumeration("orientation", element.getOrientationElement(), new MolecularSequence.OrientationTypeEnumFactory()); 43496 if (element.hasReferenceSeqId()) { 43497 composeCodeableConcept("referenceSeqId", element.getReferenceSeqId()); 43498 } 43499 if (element.hasReferenceSeqPointer()) { 43500 composeReference("referenceSeqPointer", element.getReferenceSeqPointer()); 43501 } 43502 if (element.hasReferenceSeqStringElement()) { 43503 composeString("referenceSeqString", element.getReferenceSeqStringElement()); 43504 } 43505 if (element.hasStrandElement()) 43506 composeEnumeration("strand", element.getStrandElement(), new MolecularSequence.StrandTypeEnumFactory()); 43507 if (element.hasWindowStartElement()) { 43508 composeInteger("windowStart", element.getWindowStartElement()); 43509 } 43510 if (element.hasWindowEndElement()) { 43511 composeInteger("windowEnd", element.getWindowEndElement()); 43512 } 43513 } 43514 43515 protected void composeMolecularSequenceVariantComponent(String name, MolecularSequence.MolecularSequenceVariantComponent element) throws IOException { 43516 if (element != null) { 43517 composeElementAttributes(element); 43518 xml.enter(FHIR_NS, name); 43519 composeMolecularSequenceVariantComponentElements(element); 43520 composeElementClose(element); 43521 xml.exit(FHIR_NS, name); 43522 } 43523 } 43524 43525 protected void composeMolecularSequenceVariantComponentElements(MolecularSequence.MolecularSequenceVariantComponent element) throws IOException { 43526 composeBackboneElementElements(element); 43527 if (element.hasStartElement()) { 43528 composeInteger("start", element.getStartElement()); 43529 } 43530 if (element.hasEndElement()) { 43531 composeInteger("end", element.getEndElement()); 43532 } 43533 if (element.hasObservedAlleleElement()) { 43534 composeString("observedAllele", element.getObservedAlleleElement()); 43535 } 43536 if (element.hasReferenceAlleleElement()) { 43537 composeString("referenceAllele", element.getReferenceAlleleElement()); 43538 } 43539 if (element.hasCigarElement()) { 43540 composeString("cigar", element.getCigarElement()); 43541 } 43542 if (element.hasVariantPointer()) { 43543 composeReference("variantPointer", element.getVariantPointer()); 43544 } 43545 } 43546 43547 protected void composeMolecularSequenceQualityComponent(String name, MolecularSequence.MolecularSequenceQualityComponent element) throws IOException { 43548 if (element != null) { 43549 composeElementAttributes(element); 43550 xml.enter(FHIR_NS, name); 43551 composeMolecularSequenceQualityComponentElements(element); 43552 composeElementClose(element); 43553 xml.exit(FHIR_NS, name); 43554 } 43555 } 43556 43557 protected void composeMolecularSequenceQualityComponentElements(MolecularSequence.MolecularSequenceQualityComponent element) throws IOException { 43558 composeBackboneElementElements(element); 43559 if (element.hasTypeElement()) 43560 composeEnumeration("type", element.getTypeElement(), new MolecularSequence.QualityTypeEnumFactory()); 43561 if (element.hasStandardSequence()) { 43562 composeCodeableConcept("standardSequence", element.getStandardSequence()); 43563 } 43564 if (element.hasStartElement()) { 43565 composeInteger("start", element.getStartElement()); 43566 } 43567 if (element.hasEndElement()) { 43568 composeInteger("end", element.getEndElement()); 43569 } 43570 if (element.hasScore()) { 43571 composeQuantity("score", element.getScore()); 43572 } 43573 if (element.hasMethod()) { 43574 composeCodeableConcept("method", element.getMethod()); 43575 } 43576 if (element.hasTruthTPElement()) { 43577 composeDecimal("truthTP", element.getTruthTPElement()); 43578 } 43579 if (element.hasQueryTPElement()) { 43580 composeDecimal("queryTP", element.getQueryTPElement()); 43581 } 43582 if (element.hasTruthFNElement()) { 43583 composeDecimal("truthFN", element.getTruthFNElement()); 43584 } 43585 if (element.hasQueryFPElement()) { 43586 composeDecimal("queryFP", element.getQueryFPElement()); 43587 } 43588 if (element.hasGtFPElement()) { 43589 composeDecimal("gtFP", element.getGtFPElement()); 43590 } 43591 if (element.hasPrecisionElement()) { 43592 composeDecimal("precision", element.getPrecisionElement()); 43593 } 43594 if (element.hasRecallElement()) { 43595 composeDecimal("recall", element.getRecallElement()); 43596 } 43597 if (element.hasFScoreElement()) { 43598 composeDecimal("fScore", element.getFScoreElement()); 43599 } 43600 if (element.hasRoc()) { 43601 composeMolecularSequenceQualityRocComponent("roc", element.getRoc()); 43602 } 43603 } 43604 43605 protected void composeMolecularSequenceQualityRocComponent(String name, MolecularSequence.MolecularSequenceQualityRocComponent element) throws IOException { 43606 if (element != null) { 43607 composeElementAttributes(element); 43608 xml.enter(FHIR_NS, name); 43609 composeMolecularSequenceQualityRocComponentElements(element); 43610 composeElementClose(element); 43611 xml.exit(FHIR_NS, name); 43612 } 43613 } 43614 43615 protected void composeMolecularSequenceQualityRocComponentElements(MolecularSequence.MolecularSequenceQualityRocComponent element) throws IOException { 43616 composeBackboneElementElements(element); 43617 if (element.hasScore()) { 43618 for (IntegerType e : element.getScore()) 43619 composeInteger("score", e); 43620 } 43621 if (element.hasNumTP()) { 43622 for (IntegerType e : element.getNumTP()) 43623 composeInteger("numTP", e); 43624 } 43625 if (element.hasNumFP()) { 43626 for (IntegerType e : element.getNumFP()) 43627 composeInteger("numFP", e); 43628 } 43629 if (element.hasNumFN()) { 43630 for (IntegerType e : element.getNumFN()) 43631 composeInteger("numFN", e); 43632 } 43633 if (element.hasPrecision()) { 43634 for (DecimalType e : element.getPrecision()) 43635 composeDecimal("precision", e); 43636 } 43637 if (element.hasSensitivity()) { 43638 for (DecimalType e : element.getSensitivity()) 43639 composeDecimal("sensitivity", e); 43640 } 43641 if (element.hasFMeasure()) { 43642 for (DecimalType e : element.getFMeasure()) 43643 composeDecimal("fMeasure", e); 43644 } 43645 } 43646 43647 protected void composeMolecularSequenceRepositoryComponent(String name, MolecularSequence.MolecularSequenceRepositoryComponent element) throws IOException { 43648 if (element != null) { 43649 composeElementAttributes(element); 43650 xml.enter(FHIR_NS, name); 43651 composeMolecularSequenceRepositoryComponentElements(element); 43652 composeElementClose(element); 43653 xml.exit(FHIR_NS, name); 43654 } 43655 } 43656 43657 protected void composeMolecularSequenceRepositoryComponentElements(MolecularSequence.MolecularSequenceRepositoryComponent element) throws IOException { 43658 composeBackboneElementElements(element); 43659 if (element.hasTypeElement()) 43660 composeEnumeration("type", element.getTypeElement(), new MolecularSequence.RepositoryTypeEnumFactory()); 43661 if (element.hasUrlElement()) { 43662 composeUri("url", element.getUrlElement()); 43663 } 43664 if (element.hasNameElement()) { 43665 composeString("name", element.getNameElement()); 43666 } 43667 if (element.hasDatasetIdElement()) { 43668 composeString("datasetId", element.getDatasetIdElement()); 43669 } 43670 if (element.hasVariantsetIdElement()) { 43671 composeString("variantsetId", element.getVariantsetIdElement()); 43672 } 43673 if (element.hasReadsetIdElement()) { 43674 composeString("readsetId", element.getReadsetIdElement()); 43675 } 43676 } 43677 43678 protected void composeMolecularSequenceStructureVariantComponent(String name, MolecularSequence.MolecularSequenceStructureVariantComponent element) throws IOException { 43679 if (element != null) { 43680 composeElementAttributes(element); 43681 xml.enter(FHIR_NS, name); 43682 composeMolecularSequenceStructureVariantComponentElements(element); 43683 composeElementClose(element); 43684 xml.exit(FHIR_NS, name); 43685 } 43686 } 43687 43688 protected void composeMolecularSequenceStructureVariantComponentElements(MolecularSequence.MolecularSequenceStructureVariantComponent element) throws IOException { 43689 composeBackboneElementElements(element); 43690 if (element.hasVariantType()) { 43691 composeCodeableConcept("variantType", element.getVariantType()); 43692 } 43693 if (element.hasExactElement()) { 43694 composeBoolean("exact", element.getExactElement()); 43695 } 43696 if (element.hasLengthElement()) { 43697 composeInteger("length", element.getLengthElement()); 43698 } 43699 if (element.hasOuter()) { 43700 composeMolecularSequenceStructureVariantOuterComponent("outer", element.getOuter()); 43701 } 43702 if (element.hasInner()) { 43703 composeMolecularSequenceStructureVariantInnerComponent("inner", element.getInner()); 43704 } 43705 } 43706 43707 protected void composeMolecularSequenceStructureVariantOuterComponent(String name, MolecularSequence.MolecularSequenceStructureVariantOuterComponent element) throws IOException { 43708 if (element != null) { 43709 composeElementAttributes(element); 43710 xml.enter(FHIR_NS, name); 43711 composeMolecularSequenceStructureVariantOuterComponentElements(element); 43712 composeElementClose(element); 43713 xml.exit(FHIR_NS, name); 43714 } 43715 } 43716 43717 protected void composeMolecularSequenceStructureVariantOuterComponentElements(MolecularSequence.MolecularSequenceStructureVariantOuterComponent element) throws IOException { 43718 composeBackboneElementElements(element); 43719 if (element.hasStartElement()) { 43720 composeInteger("start", element.getStartElement()); 43721 } 43722 if (element.hasEndElement()) { 43723 composeInteger("end", element.getEndElement()); 43724 } 43725 } 43726 43727 protected void composeMolecularSequenceStructureVariantInnerComponent(String name, MolecularSequence.MolecularSequenceStructureVariantInnerComponent element) throws IOException { 43728 if (element != null) { 43729 composeElementAttributes(element); 43730 xml.enter(FHIR_NS, name); 43731 composeMolecularSequenceStructureVariantInnerComponentElements(element); 43732 composeElementClose(element); 43733 xml.exit(FHIR_NS, name); 43734 } 43735 } 43736 43737 protected void composeMolecularSequenceStructureVariantInnerComponentElements(MolecularSequence.MolecularSequenceStructureVariantInnerComponent element) throws IOException { 43738 composeBackboneElementElements(element); 43739 if (element.hasStartElement()) { 43740 composeInteger("start", element.getStartElement()); 43741 } 43742 if (element.hasEndElement()) { 43743 composeInteger("end", element.getEndElement()); 43744 } 43745 } 43746 43747 protected void composeNamingSystem(String name, NamingSystem element) throws IOException { 43748 if (element != null) { 43749 composeResourceAttributes(element); 43750 xml.enter(FHIR_NS, name); 43751 composeNamingSystemElements(element); 43752 composeElementClose(element); 43753 xml.exit(FHIR_NS, name); 43754 } 43755 } 43756 43757 protected void composeNamingSystemElements(NamingSystem element) throws IOException { 43758 composeDomainResourceElements(element); 43759 if (element.hasNameElement()) { 43760 composeString("name", element.getNameElement()); 43761 } 43762 if (element.hasStatusElement()) 43763 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 43764 if (element.hasKindElement()) 43765 composeEnumeration("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory()); 43766 if (element.hasDateElement()) { 43767 composeDateTime("date", element.getDateElement()); 43768 } 43769 if (element.hasPublisherElement()) { 43770 composeString("publisher", element.getPublisherElement()); 43771 } 43772 if (element.hasContact()) { 43773 for (ContactDetail e : element.getContact()) 43774 composeContactDetail("contact", e); 43775 } 43776 if (element.hasResponsibleElement()) { 43777 composeString("responsible", element.getResponsibleElement()); 43778 } 43779 if (element.hasType()) { 43780 composeCodeableConcept("type", element.getType()); 43781 } 43782 if (element.hasDescriptionElement()) { 43783 composeMarkdown("description", element.getDescriptionElement()); 43784 } 43785 if (element.hasUseContext()) { 43786 for (UsageContext e : element.getUseContext()) 43787 composeUsageContext("useContext", e); 43788 } 43789 if (element.hasJurisdiction()) { 43790 for (CodeableConcept e : element.getJurisdiction()) 43791 composeCodeableConcept("jurisdiction", e); 43792 } 43793 if (element.hasUsageElement()) { 43794 composeString("usage", element.getUsageElement()); 43795 } 43796 if (element.hasUniqueId()) { 43797 for (NamingSystem.NamingSystemUniqueIdComponent e : element.getUniqueId()) 43798 composeNamingSystemUniqueIdComponent("uniqueId", e); 43799 } 43800 } 43801 43802 protected void composeNamingSystemUniqueIdComponent(String name, NamingSystem.NamingSystemUniqueIdComponent element) throws IOException { 43803 if (element != null) { 43804 composeElementAttributes(element); 43805 xml.enter(FHIR_NS, name); 43806 composeNamingSystemUniqueIdComponentElements(element); 43807 composeElementClose(element); 43808 xml.exit(FHIR_NS, name); 43809 } 43810 } 43811 43812 protected void composeNamingSystemUniqueIdComponentElements(NamingSystem.NamingSystemUniqueIdComponent element) throws IOException { 43813 composeBackboneElementElements(element); 43814 if (element.hasTypeElement()) 43815 composeEnumeration("type", element.getTypeElement(), new NamingSystem.NamingSystemIdentifierTypeEnumFactory()); 43816 if (element.hasValueElement()) { 43817 composeString("value", element.getValueElement()); 43818 } 43819 if (element.hasPreferredElement()) { 43820 composeBoolean("preferred", element.getPreferredElement()); 43821 } 43822 if (element.hasCommentElement()) { 43823 composeString("comment", element.getCommentElement()); 43824 } 43825 if (element.hasPeriod()) { 43826 composePeriod("period", element.getPeriod()); 43827 } 43828 } 43829 43830 protected void composeNutritionOrder(String name, NutritionOrder element) throws IOException { 43831 if (element != null) { 43832 composeResourceAttributes(element); 43833 xml.enter(FHIR_NS, name); 43834 composeNutritionOrderElements(element); 43835 composeElementClose(element); 43836 xml.exit(FHIR_NS, name); 43837 } 43838 } 43839 43840 protected void composeNutritionOrderElements(NutritionOrder element) throws IOException { 43841 composeDomainResourceElements(element); 43842 if (element.hasIdentifier()) { 43843 for (Identifier e : element.getIdentifier()) 43844 composeIdentifier("identifier", e); 43845 } 43846 if (element.hasInstantiatesCanonical()) { 43847 for (CanonicalType e : element.getInstantiatesCanonical()) 43848 composeCanonical("instantiatesCanonical", e); 43849 } 43850 if (element.hasInstantiatesUri()) { 43851 for (UriType e : element.getInstantiatesUri()) 43852 composeUri("instantiatesUri", e); 43853 } 43854 if (element.hasInstantiates()) { 43855 for (UriType e : element.getInstantiates()) 43856 composeUri("instantiates", e); 43857 } 43858 if (element.hasStatusElement()) 43859 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 43860 if (element.hasIntentElement()) 43861 composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); 43862 if (element.hasPatient()) { 43863 composeReference("patient", element.getPatient()); 43864 } 43865 if (element.hasEncounter()) { 43866 composeReference("encounter", element.getEncounter()); 43867 } 43868 if (element.hasDateTimeElement()) { 43869 composeDateTime("dateTime", element.getDateTimeElement()); 43870 } 43871 if (element.hasOrderer()) { 43872 composeReference("orderer", element.getOrderer()); 43873 } 43874 if (element.hasAllergyIntolerance()) { 43875 for (Reference e : element.getAllergyIntolerance()) 43876 composeReference("allergyIntolerance", e); 43877 } 43878 if (element.hasFoodPreferenceModifier()) { 43879 for (CodeableConcept e : element.getFoodPreferenceModifier()) 43880 composeCodeableConcept("foodPreferenceModifier", e); 43881 } 43882 if (element.hasExcludeFoodModifier()) { 43883 for (CodeableConcept e : element.getExcludeFoodModifier()) 43884 composeCodeableConcept("excludeFoodModifier", e); 43885 } 43886 if (element.hasOralDiet()) { 43887 composeNutritionOrderOralDietComponent("oralDiet", element.getOralDiet()); 43888 } 43889 if (element.hasSupplement()) { 43890 for (NutritionOrder.NutritionOrderSupplementComponent e : element.getSupplement()) 43891 composeNutritionOrderSupplementComponent("supplement", e); 43892 } 43893 if (element.hasEnteralFormula()) { 43894 composeNutritionOrderEnteralFormulaComponent("enteralFormula", element.getEnteralFormula()); 43895 } 43896 if (element.hasNote()) { 43897 for (Annotation e : element.getNote()) 43898 composeAnnotation("note", e); 43899 } 43900 } 43901 43902 protected void composeNutritionOrderOralDietComponent(String name, NutritionOrder.NutritionOrderOralDietComponent element) throws IOException { 43903 if (element != null) { 43904 composeElementAttributes(element); 43905 xml.enter(FHIR_NS, name); 43906 composeNutritionOrderOralDietComponentElements(element); 43907 composeElementClose(element); 43908 xml.exit(FHIR_NS, name); 43909 } 43910 } 43911 43912 protected void composeNutritionOrderOralDietComponentElements(NutritionOrder.NutritionOrderOralDietComponent element) throws IOException { 43913 composeBackboneElementElements(element); 43914 if (element.hasType()) { 43915 for (CodeableConcept e : element.getType()) 43916 composeCodeableConcept("type", e); 43917 } 43918 if (element.hasSchedule()) { 43919 for (Timing e : element.getSchedule()) 43920 composeTiming("schedule", e); 43921 } 43922 if (element.hasNutrient()) { 43923 for (NutritionOrder.NutritionOrderOralDietNutrientComponent e : element.getNutrient()) 43924 composeNutritionOrderOralDietNutrientComponent("nutrient", e); 43925 } 43926 if (element.hasTexture()) { 43927 for (NutritionOrder.NutritionOrderOralDietTextureComponent e : element.getTexture()) 43928 composeNutritionOrderOralDietTextureComponent("texture", e); 43929 } 43930 if (element.hasFluidConsistencyType()) { 43931 for (CodeableConcept e : element.getFluidConsistencyType()) 43932 composeCodeableConcept("fluidConsistencyType", e); 43933 } 43934 if (element.hasInstructionElement()) { 43935 composeString("instruction", element.getInstructionElement()); 43936 } 43937 } 43938 43939 protected void composeNutritionOrderOralDietNutrientComponent(String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { 43940 if (element != null) { 43941 composeElementAttributes(element); 43942 xml.enter(FHIR_NS, name); 43943 composeNutritionOrderOralDietNutrientComponentElements(element); 43944 composeElementClose(element); 43945 xml.exit(FHIR_NS, name); 43946 } 43947 } 43948 43949 protected void composeNutritionOrderOralDietNutrientComponentElements(NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { 43950 composeBackboneElementElements(element); 43951 if (element.hasModifier()) { 43952 composeCodeableConcept("modifier", element.getModifier()); 43953 } 43954 if (element.hasAmount()) { 43955 composeQuantity("amount", element.getAmount()); 43956 } 43957 } 43958 43959 protected void composeNutritionOrderOralDietTextureComponent(String name, NutritionOrder.NutritionOrderOralDietTextureComponent element) throws IOException { 43960 if (element != null) { 43961 composeElementAttributes(element); 43962 xml.enter(FHIR_NS, name); 43963 composeNutritionOrderOralDietTextureComponentElements(element); 43964 composeElementClose(element); 43965 xml.exit(FHIR_NS, name); 43966 } 43967 } 43968 43969 protected void composeNutritionOrderOralDietTextureComponentElements(NutritionOrder.NutritionOrderOralDietTextureComponent element) throws IOException { 43970 composeBackboneElementElements(element); 43971 if (element.hasModifier()) { 43972 composeCodeableConcept("modifier", element.getModifier()); 43973 } 43974 if (element.hasFoodType()) { 43975 composeCodeableConcept("foodType", element.getFoodType()); 43976 } 43977 } 43978 43979 protected void composeNutritionOrderSupplementComponent(String name, NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { 43980 if (element != null) { 43981 composeElementAttributes(element); 43982 xml.enter(FHIR_NS, name); 43983 composeNutritionOrderSupplementComponentElements(element); 43984 composeElementClose(element); 43985 xml.exit(FHIR_NS, name); 43986 } 43987 } 43988 43989 protected void composeNutritionOrderSupplementComponentElements(NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { 43990 composeBackboneElementElements(element); 43991 if (element.hasType()) { 43992 composeCodeableConcept("type", element.getType()); 43993 } 43994 if (element.hasProductNameElement()) { 43995 composeString("productName", element.getProductNameElement()); 43996 } 43997 if (element.hasSchedule()) { 43998 for (Timing e : element.getSchedule()) 43999 composeTiming("schedule", e); 44000 } 44001 if (element.hasQuantity()) { 44002 composeQuantity("quantity", element.getQuantity()); 44003 } 44004 if (element.hasInstructionElement()) { 44005 composeString("instruction", element.getInstructionElement()); 44006 } 44007 } 44008 44009 protected void composeNutritionOrderEnteralFormulaComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { 44010 if (element != null) { 44011 composeElementAttributes(element); 44012 xml.enter(FHIR_NS, name); 44013 composeNutritionOrderEnteralFormulaComponentElements(element); 44014 composeElementClose(element); 44015 xml.exit(FHIR_NS, name); 44016 } 44017 } 44018 44019 protected void composeNutritionOrderEnteralFormulaComponentElements(NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { 44020 composeBackboneElementElements(element); 44021 if (element.hasBaseFormulaType()) { 44022 composeCodeableConcept("baseFormulaType", element.getBaseFormulaType()); 44023 } 44024 if (element.hasBaseFormulaProductNameElement()) { 44025 composeString("baseFormulaProductName", element.getBaseFormulaProductNameElement()); 44026 } 44027 if (element.hasAdditiveType()) { 44028 composeCodeableConcept("additiveType", element.getAdditiveType()); 44029 } 44030 if (element.hasAdditiveProductNameElement()) { 44031 composeString("additiveProductName", element.getAdditiveProductNameElement()); 44032 } 44033 if (element.hasCaloricDensity()) { 44034 composeQuantity("caloricDensity", element.getCaloricDensity()); 44035 } 44036 if (element.hasRouteofAdministration()) { 44037 composeCodeableConcept("routeofAdministration", element.getRouteofAdministration()); 44038 } 44039 if (element.hasAdministration()) { 44040 for (NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent e : element.getAdministration()) 44041 composeNutritionOrderEnteralFormulaAdministrationComponent("administration", e); 44042 } 44043 if (element.hasMaxVolumeToDeliver()) { 44044 composeQuantity("maxVolumeToDeliver", element.getMaxVolumeToDeliver()); 44045 } 44046 if (element.hasAdministrationInstructionElement()) { 44047 composeString("administrationInstruction", element.getAdministrationInstructionElement()); 44048 } 44049 } 44050 44051 protected void composeNutritionOrderEnteralFormulaAdministrationComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { 44052 if (element != null) { 44053 composeElementAttributes(element); 44054 xml.enter(FHIR_NS, name); 44055 composeNutritionOrderEnteralFormulaAdministrationComponentElements(element); 44056 composeElementClose(element); 44057 xml.exit(FHIR_NS, name); 44058 } 44059 } 44060 44061 protected void composeNutritionOrderEnteralFormulaAdministrationComponentElements(NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { 44062 composeBackboneElementElements(element); 44063 if (element.hasSchedule()) { 44064 composeTiming("schedule", element.getSchedule()); 44065 } 44066 if (element.hasQuantity()) { 44067 composeQuantity("quantity", element.getQuantity()); 44068 } 44069 if (element.hasRate()) { 44070 composeType("rate", element.getRate()); 44071 } } 44072 44073 protected void composeNutritionProduct(String name, NutritionProduct element) throws IOException { 44074 if (element != null) { 44075 composeResourceAttributes(element); 44076 xml.enter(FHIR_NS, name); 44077 composeNutritionProductElements(element); 44078 composeElementClose(element); 44079 xml.exit(FHIR_NS, name); 44080 } 44081 } 44082 44083 protected void composeNutritionProductElements(NutritionProduct element) throws IOException { 44084 composeDomainResourceElements(element); 44085 if (element.hasStatusElement()) 44086 composeEnumeration("status", element.getStatusElement(), new NutritionProduct.NutritionProductStatusEnumFactory()); 44087 if (element.hasCategory()) { 44088 for (CodeableConcept e : element.getCategory()) 44089 composeCodeableConcept("category", e); 44090 } 44091 if (element.hasCode()) { 44092 composeCodeableConcept("code", element.getCode()); 44093 } 44094 if (element.hasManufacturer()) { 44095 for (Reference e : element.getManufacturer()) 44096 composeReference("manufacturer", e); 44097 } 44098 if (element.hasNutrient()) { 44099 for (NutritionProduct.NutritionProductNutrientComponent e : element.getNutrient()) 44100 composeNutritionProductNutrientComponent("nutrient", e); 44101 } 44102 if (element.hasIngredient()) { 44103 for (NutritionProduct.NutritionProductIngredientComponent e : element.getIngredient()) 44104 composeNutritionProductIngredientComponent("ingredient", e); 44105 } 44106 if (element.hasKnownAllergen()) { 44107 for (CodeableReference e : element.getKnownAllergen()) 44108 composeCodeableReference("knownAllergen", e); 44109 } 44110 if (element.hasProductCharacteristic()) { 44111 for (NutritionProduct.NutritionProductProductCharacteristicComponent e : element.getProductCharacteristic()) 44112 composeNutritionProductProductCharacteristicComponent("productCharacteristic", e); 44113 } 44114 if (element.hasInstance()) { 44115 composeNutritionProductInstanceComponent("instance", element.getInstance()); 44116 } 44117 if (element.hasNote()) { 44118 for (Annotation e : element.getNote()) 44119 composeAnnotation("note", e); 44120 } 44121 } 44122 44123 protected void composeNutritionProductNutrientComponent(String name, NutritionProduct.NutritionProductNutrientComponent element) throws IOException { 44124 if (element != null) { 44125 composeElementAttributes(element); 44126 xml.enter(FHIR_NS, name); 44127 composeNutritionProductNutrientComponentElements(element); 44128 composeElementClose(element); 44129 xml.exit(FHIR_NS, name); 44130 } 44131 } 44132 44133 protected void composeNutritionProductNutrientComponentElements(NutritionProduct.NutritionProductNutrientComponent element) throws IOException { 44134 composeBackboneElementElements(element); 44135 if (element.hasItem()) { 44136 composeCodeableReference("item", element.getItem()); 44137 } 44138 if (element.hasAmount()) { 44139 for (Ratio e : element.getAmount()) 44140 composeRatio("amount", e); 44141 } 44142 } 44143 44144 protected void composeNutritionProductIngredientComponent(String name, NutritionProduct.NutritionProductIngredientComponent element) throws IOException { 44145 if (element != null) { 44146 composeElementAttributes(element); 44147 xml.enter(FHIR_NS, name); 44148 composeNutritionProductIngredientComponentElements(element); 44149 composeElementClose(element); 44150 xml.exit(FHIR_NS, name); 44151 } 44152 } 44153 44154 protected void composeNutritionProductIngredientComponentElements(NutritionProduct.NutritionProductIngredientComponent element) throws IOException { 44155 composeBackboneElementElements(element); 44156 if (element.hasItem()) { 44157 composeCodeableReference("item", element.getItem()); 44158 } 44159 if (element.hasAmount()) { 44160 for (Ratio e : element.getAmount()) 44161 composeRatio("amount", e); 44162 } 44163 } 44164 44165 protected void composeNutritionProductProductCharacteristicComponent(String name, NutritionProduct.NutritionProductProductCharacteristicComponent element) throws IOException { 44166 if (element != null) { 44167 composeElementAttributes(element); 44168 xml.enter(FHIR_NS, name); 44169 composeNutritionProductProductCharacteristicComponentElements(element); 44170 composeElementClose(element); 44171 xml.exit(FHIR_NS, name); 44172 } 44173 } 44174 44175 protected void composeNutritionProductProductCharacteristicComponentElements(NutritionProduct.NutritionProductProductCharacteristicComponent element) throws IOException { 44176 composeBackboneElementElements(element); 44177 if (element.hasType()) { 44178 composeCodeableConcept("type", element.getType()); 44179 } 44180 if (element.hasValue()) { 44181 composeType("value", element.getValue()); 44182 } } 44183 44184 protected void composeNutritionProductInstanceComponent(String name, NutritionProduct.NutritionProductInstanceComponent element) throws IOException { 44185 if (element != null) { 44186 composeElementAttributes(element); 44187 xml.enter(FHIR_NS, name); 44188 composeNutritionProductInstanceComponentElements(element); 44189 composeElementClose(element); 44190 xml.exit(FHIR_NS, name); 44191 } 44192 } 44193 44194 protected void composeNutritionProductInstanceComponentElements(NutritionProduct.NutritionProductInstanceComponent element) throws IOException { 44195 composeBackboneElementElements(element); 44196 if (element.hasQuantity()) { 44197 composeQuantity("quantity", element.getQuantity()); 44198 } 44199 if (element.hasIdentifier()) { 44200 for (Identifier e : element.getIdentifier()) 44201 composeIdentifier("identifier", e); 44202 } 44203 if (element.hasLotNumberElement()) { 44204 composeString("lotNumber", element.getLotNumberElement()); 44205 } 44206 if (element.hasExpiryElement()) { 44207 composeDateTime("expiry", element.getExpiryElement()); 44208 } 44209 if (element.hasUseByElement()) { 44210 composeDateTime("useBy", element.getUseByElement()); 44211 } 44212 } 44213 44214 protected void composeObservation(String name, Observation element) throws IOException { 44215 if (element != null) { 44216 composeResourceAttributes(element); 44217 xml.enter(FHIR_NS, name); 44218 composeObservationElements(element); 44219 composeElementClose(element); 44220 xml.exit(FHIR_NS, name); 44221 } 44222 } 44223 44224 protected void composeObservationElements(Observation element) throws IOException { 44225 composeDomainResourceElements(element); 44226 if (element.hasIdentifier()) { 44227 for (Identifier e : element.getIdentifier()) 44228 composeIdentifier("identifier", e); 44229 } 44230 if (element.hasBasedOn()) { 44231 for (Reference e : element.getBasedOn()) 44232 composeReference("basedOn", e); 44233 } 44234 if (element.hasPartOf()) { 44235 for (Reference e : element.getPartOf()) 44236 composeReference("partOf", e); 44237 } 44238 if (element.hasStatusElement()) 44239 composeEnumeration("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory()); 44240 if (element.hasCategory()) { 44241 for (CodeableConcept e : element.getCategory()) 44242 composeCodeableConcept("category", e); 44243 } 44244 if (element.hasCode()) { 44245 composeCodeableConcept("code", element.getCode()); 44246 } 44247 if (element.hasSubject()) { 44248 composeReference("subject", element.getSubject()); 44249 } 44250 if (element.hasFocus()) { 44251 for (Reference e : element.getFocus()) 44252 composeReference("focus", e); 44253 } 44254 if (element.hasEncounter()) { 44255 composeReference("encounter", element.getEncounter()); 44256 } 44257 if (element.hasEffective()) { 44258 composeType("effective", element.getEffective()); 44259 } if (element.hasIssuedElement()) { 44260 composeInstant("issued", element.getIssuedElement()); 44261 } 44262 if (element.hasPerformer()) { 44263 for (Reference e : element.getPerformer()) 44264 composeReference("performer", e); 44265 } 44266 if (element.hasValue()) { 44267 composeType("value", element.getValue()); 44268 } if (element.hasDataAbsentReason()) { 44269 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 44270 } 44271 if (element.hasInterpretation()) { 44272 for (CodeableConcept e : element.getInterpretation()) 44273 composeCodeableConcept("interpretation", e); 44274 } 44275 if (element.hasNote()) { 44276 for (Annotation e : element.getNote()) 44277 composeAnnotation("note", e); 44278 } 44279 if (element.hasBodySite()) { 44280 composeCodeableConcept("bodySite", element.getBodySite()); 44281 } 44282 if (element.hasMethod()) { 44283 composeCodeableConcept("method", element.getMethod()); 44284 } 44285 if (element.hasSpecimen()) { 44286 composeReference("specimen", element.getSpecimen()); 44287 } 44288 if (element.hasDevice()) { 44289 composeReference("device", element.getDevice()); 44290 } 44291 if (element.hasReferenceRange()) { 44292 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 44293 composeObservationReferenceRangeComponent("referenceRange", e); 44294 } 44295 if (element.hasHasMember()) { 44296 for (Reference e : element.getHasMember()) 44297 composeReference("hasMember", e); 44298 } 44299 if (element.hasDerivedFrom()) { 44300 for (Reference e : element.getDerivedFrom()) 44301 composeReference("derivedFrom", e); 44302 } 44303 if (element.hasComponent()) { 44304 for (Observation.ObservationComponentComponent e : element.getComponent()) 44305 composeObservationComponentComponent("component", e); 44306 } 44307 } 44308 44309 protected void composeObservationReferenceRangeComponent(String name, Observation.ObservationReferenceRangeComponent element) throws IOException { 44310 if (element != null) { 44311 composeElementAttributes(element); 44312 xml.enter(FHIR_NS, name); 44313 composeObservationReferenceRangeComponentElements(element); 44314 composeElementClose(element); 44315 xml.exit(FHIR_NS, name); 44316 } 44317 } 44318 44319 protected void composeObservationReferenceRangeComponentElements(Observation.ObservationReferenceRangeComponent element) throws IOException { 44320 composeBackboneElementElements(element); 44321 if (element.hasLow()) { 44322 composeQuantity("low", element.getLow()); 44323 } 44324 if (element.hasHigh()) { 44325 composeQuantity("high", element.getHigh()); 44326 } 44327 if (element.hasType()) { 44328 composeCodeableConcept("type", element.getType()); 44329 } 44330 if (element.hasAppliesTo()) { 44331 for (CodeableConcept e : element.getAppliesTo()) 44332 composeCodeableConcept("appliesTo", e); 44333 } 44334 if (element.hasAge()) { 44335 composeRange("age", element.getAge()); 44336 } 44337 if (element.hasTextElement()) { 44338 composeString("text", element.getTextElement()); 44339 } 44340 } 44341 44342 protected void composeObservationComponentComponent(String name, Observation.ObservationComponentComponent element) throws IOException { 44343 if (element != null) { 44344 composeElementAttributes(element); 44345 xml.enter(FHIR_NS, name); 44346 composeObservationComponentComponentElements(element); 44347 composeElementClose(element); 44348 xml.exit(FHIR_NS, name); 44349 } 44350 } 44351 44352 protected void composeObservationComponentComponentElements(Observation.ObservationComponentComponent element) throws IOException { 44353 composeBackboneElementElements(element); 44354 if (element.hasCode()) { 44355 composeCodeableConcept("code", element.getCode()); 44356 } 44357 if (element.hasValue()) { 44358 composeType("value", element.getValue()); 44359 } if (element.hasDataAbsentReason()) { 44360 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 44361 } 44362 if (element.hasInterpretation()) { 44363 for (CodeableConcept e : element.getInterpretation()) 44364 composeCodeableConcept("interpretation", e); 44365 } 44366 if (element.hasReferenceRange()) { 44367 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 44368 composeObservationReferenceRangeComponent("referenceRange", e); 44369 } 44370 } 44371 44372 protected void composeObservationDefinition(String name, ObservationDefinition element) throws IOException { 44373 if (element != null) { 44374 composeResourceAttributes(element); 44375 xml.enter(FHIR_NS, name); 44376 composeObservationDefinitionElements(element); 44377 composeElementClose(element); 44378 xml.exit(FHIR_NS, name); 44379 } 44380 } 44381 44382 protected void composeObservationDefinitionElements(ObservationDefinition element) throws IOException { 44383 composeDomainResourceElements(element); 44384 if (element.hasCategory()) { 44385 for (CodeableConcept e : element.getCategory()) 44386 composeCodeableConcept("category", e); 44387 } 44388 if (element.hasCode()) { 44389 composeCodeableConcept("code", element.getCode()); 44390 } 44391 if (element.hasIdentifier()) { 44392 for (Identifier e : element.getIdentifier()) 44393 composeIdentifier("identifier", e); 44394 } 44395 if (element.hasPermittedDataType()) 44396 for (Enumeration<ObservationDefinition.ObservationDataType> e : element.getPermittedDataType()) 44397 composeEnumeration("permittedDataType", e, new ObservationDefinition.ObservationDataTypeEnumFactory()); 44398 if (element.hasMultipleResultsAllowedElement()) { 44399 composeBoolean("multipleResultsAllowed", element.getMultipleResultsAllowedElement()); 44400 } 44401 if (element.hasMethod()) { 44402 composeCodeableConcept("method", element.getMethod()); 44403 } 44404 if (element.hasPreferredReportNameElement()) { 44405 composeString("preferredReportName", element.getPreferredReportNameElement()); 44406 } 44407 if (element.hasQuantitativeDetails()) { 44408 composeObservationDefinitionQuantitativeDetailsComponent("quantitativeDetails", element.getQuantitativeDetails()); 44409 } 44410 if (element.hasQualifiedInterval()) { 44411 for (ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent e : element.getQualifiedInterval()) 44412 composeObservationDefinitionQualifiedIntervalComponent("qualifiedInterval", e); 44413 } 44414 if (element.hasValidCodedValueSet()) { 44415 composeReference("validCodedValueSet", element.getValidCodedValueSet()); 44416 } 44417 if (element.hasNormalCodedValueSet()) { 44418 composeReference("normalCodedValueSet", element.getNormalCodedValueSet()); 44419 } 44420 if (element.hasAbnormalCodedValueSet()) { 44421 composeReference("abnormalCodedValueSet", element.getAbnormalCodedValueSet()); 44422 } 44423 if (element.hasCriticalCodedValueSet()) { 44424 composeReference("criticalCodedValueSet", element.getCriticalCodedValueSet()); 44425 } 44426 } 44427 44428 protected void composeObservationDefinitionQuantitativeDetailsComponent(String name, ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent element) throws IOException { 44429 if (element != null) { 44430 composeElementAttributes(element); 44431 xml.enter(FHIR_NS, name); 44432 composeObservationDefinitionQuantitativeDetailsComponentElements(element); 44433 composeElementClose(element); 44434 xml.exit(FHIR_NS, name); 44435 } 44436 } 44437 44438 protected void composeObservationDefinitionQuantitativeDetailsComponentElements(ObservationDefinition.ObservationDefinitionQuantitativeDetailsComponent element) throws IOException { 44439 composeBackboneElementElements(element); 44440 if (element.hasCustomaryUnit()) { 44441 composeCodeableConcept("customaryUnit", element.getCustomaryUnit()); 44442 } 44443 if (element.hasUnit()) { 44444 composeCodeableConcept("unit", element.getUnit()); 44445 } 44446 if (element.hasConversionFactorElement()) { 44447 composeDecimal("conversionFactor", element.getConversionFactorElement()); 44448 } 44449 if (element.hasDecimalPrecisionElement()) { 44450 composeInteger("decimalPrecision", element.getDecimalPrecisionElement()); 44451 } 44452 } 44453 44454 protected void composeObservationDefinitionQualifiedIntervalComponent(String name, ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent element) throws IOException { 44455 if (element != null) { 44456 composeElementAttributes(element); 44457 xml.enter(FHIR_NS, name); 44458 composeObservationDefinitionQualifiedIntervalComponentElements(element); 44459 composeElementClose(element); 44460 xml.exit(FHIR_NS, name); 44461 } 44462 } 44463 44464 protected void composeObservationDefinitionQualifiedIntervalComponentElements(ObservationDefinition.ObservationDefinitionQualifiedIntervalComponent element) throws IOException { 44465 composeBackboneElementElements(element); 44466 if (element.hasCategoryElement()) 44467 composeEnumeration("category", element.getCategoryElement(), new ObservationDefinition.ObservationRangeCategoryEnumFactory()); 44468 if (element.hasRange()) { 44469 composeRange("range", element.getRange()); 44470 } 44471 if (element.hasContext()) { 44472 composeCodeableConcept("context", element.getContext()); 44473 } 44474 if (element.hasAppliesTo()) { 44475 for (CodeableConcept e : element.getAppliesTo()) 44476 composeCodeableConcept("appliesTo", e); 44477 } 44478 if (element.hasGenderElement()) 44479 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 44480 if (element.hasAge()) { 44481 composeRange("age", element.getAge()); 44482 } 44483 if (element.hasGestationalAge()) { 44484 composeRange("gestationalAge", element.getGestationalAge()); 44485 } 44486 if (element.hasConditionElement()) { 44487 composeString("condition", element.getConditionElement()); 44488 } 44489 } 44490 44491 protected void composeOperationDefinition(String name, OperationDefinition element) throws IOException { 44492 if (element != null) { 44493 composeResourceAttributes(element); 44494 xml.enter(FHIR_NS, name); 44495 composeOperationDefinitionElements(element); 44496 composeElementClose(element); 44497 xml.exit(FHIR_NS, name); 44498 } 44499 } 44500 44501 protected void composeOperationDefinitionElements(OperationDefinition element) throws IOException { 44502 composeDomainResourceElements(element); 44503 if (element.hasUrlElement()) { 44504 composeUri("url", element.getUrlElement()); 44505 } 44506 if (element.hasVersionElement()) { 44507 composeString("version", element.getVersionElement()); 44508 } 44509 if (element.hasNameElement()) { 44510 composeString("name", element.getNameElement()); 44511 } 44512 if (element.hasTitleElement()) { 44513 composeString("title", element.getTitleElement()); 44514 } 44515 if (element.hasStatusElement()) 44516 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 44517 if (element.hasKindElement()) 44518 composeEnumeration("kind", element.getKindElement(), new OperationDefinition.OperationKindEnumFactory()); 44519 if (element.hasExperimentalElement()) { 44520 composeBoolean("experimental", element.getExperimentalElement()); 44521 } 44522 if (element.hasDateElement()) { 44523 composeDateTime("date", element.getDateElement()); 44524 } 44525 if (element.hasPublisherElement()) { 44526 composeString("publisher", element.getPublisherElement()); 44527 } 44528 if (element.hasContact()) { 44529 for (ContactDetail e : element.getContact()) 44530 composeContactDetail("contact", e); 44531 } 44532 if (element.hasDescriptionElement()) { 44533 composeMarkdown("description", element.getDescriptionElement()); 44534 } 44535 if (element.hasUseContext()) { 44536 for (UsageContext e : element.getUseContext()) 44537 composeUsageContext("useContext", e); 44538 } 44539 if (element.hasJurisdiction()) { 44540 for (CodeableConcept e : element.getJurisdiction()) 44541 composeCodeableConcept("jurisdiction", e); 44542 } 44543 if (element.hasPurposeElement()) { 44544 composeMarkdown("purpose", element.getPurposeElement()); 44545 } 44546 if (element.hasAffectsStateElement()) { 44547 composeBoolean("affectsState", element.getAffectsStateElement()); 44548 } 44549 if (element.hasCodeElement()) { 44550 composeCode("code", element.getCodeElement()); 44551 } 44552 if (element.hasCommentElement()) { 44553 composeMarkdown("comment", element.getCommentElement()); 44554 } 44555 if (element.hasBaseElement()) { 44556 composeCanonical("base", element.getBaseElement()); 44557 } 44558 if (element.hasResource()) { 44559 for (CodeType e : element.getResource()) 44560 composeCode("resource", e); 44561 } 44562 if (element.hasSystemElement()) { 44563 composeBoolean("system", element.getSystemElement()); 44564 } 44565 if (element.hasTypeElement()) { 44566 composeBoolean("type", element.getTypeElement()); 44567 } 44568 if (element.hasInstanceElement()) { 44569 composeBoolean("instance", element.getInstanceElement()); 44570 } 44571 if (element.hasInputProfileElement()) { 44572 composeCanonical("inputProfile", element.getInputProfileElement()); 44573 } 44574 if (element.hasOutputProfileElement()) { 44575 composeCanonical("outputProfile", element.getOutputProfileElement()); 44576 } 44577 if (element.hasParameter()) { 44578 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getParameter()) 44579 composeOperationDefinitionParameterComponent("parameter", e); 44580 } 44581 if (element.hasOverload()) { 44582 for (OperationDefinition.OperationDefinitionOverloadComponent e : element.getOverload()) 44583 composeOperationDefinitionOverloadComponent("overload", e); 44584 } 44585 } 44586 44587 protected void composeOperationDefinitionParameterComponent(String name, OperationDefinition.OperationDefinitionParameterComponent element) throws IOException { 44588 if (element != null) { 44589 composeElementAttributes(element); 44590 xml.enter(FHIR_NS, name); 44591 composeOperationDefinitionParameterComponentElements(element); 44592 composeElementClose(element); 44593 xml.exit(FHIR_NS, name); 44594 } 44595 } 44596 44597 protected void composeOperationDefinitionParameterComponentElements(OperationDefinition.OperationDefinitionParameterComponent element) throws IOException { 44598 composeBackboneElementElements(element); 44599 if (element.hasNameElement()) { 44600 composeCode("name", element.getNameElement()); 44601 } 44602 if (element.hasUseElement()) 44603 composeEnumeration("use", element.getUseElement(), new Enumerations.OperationParameterUseEnumFactory()); 44604 if (element.hasMinElement()) { 44605 composeInteger("min", element.getMinElement()); 44606 } 44607 if (element.hasMaxElement()) { 44608 composeString("max", element.getMaxElement()); 44609 } 44610 if (element.hasDocumentationElement()) { 44611 composeString("documentation", element.getDocumentationElement()); 44612 } 44613 if (element.hasTypeElement()) 44614 composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); 44615 if (element.hasTargetProfile()) { 44616 for (CanonicalType e : element.getTargetProfile()) 44617 composeCanonical("targetProfile", e); 44618 } 44619 if (element.hasSearchTypeElement()) 44620 composeEnumeration("searchType", element.getSearchTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 44621 if (element.hasBinding()) { 44622 composeOperationDefinitionParameterBindingComponent("binding", element.getBinding()); 44623 } 44624 if (element.hasReferencedFrom()) { 44625 for (OperationDefinition.OperationDefinitionParameterReferencedFromComponent e : element.getReferencedFrom()) 44626 composeOperationDefinitionParameterReferencedFromComponent("referencedFrom", e); 44627 } 44628 if (element.hasPart()) { 44629 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getPart()) 44630 composeOperationDefinitionParameterComponent("part", e); 44631 } 44632 } 44633 44634 protected void composeOperationDefinitionParameterBindingComponent(String name, OperationDefinition.OperationDefinitionParameterBindingComponent element) throws IOException { 44635 if (element != null) { 44636 composeElementAttributes(element); 44637 xml.enter(FHIR_NS, name); 44638 composeOperationDefinitionParameterBindingComponentElements(element); 44639 composeElementClose(element); 44640 xml.exit(FHIR_NS, name); 44641 } 44642 } 44643 44644 protected void composeOperationDefinitionParameterBindingComponentElements(OperationDefinition.OperationDefinitionParameterBindingComponent element) throws IOException { 44645 composeBackboneElementElements(element); 44646 if (element.hasStrengthElement()) 44647 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 44648 if (element.hasValueSetElement()) { 44649 composeCanonical("valueSet", element.getValueSetElement()); 44650 } 44651 } 44652 44653 protected void composeOperationDefinitionParameterReferencedFromComponent(String name, OperationDefinition.OperationDefinitionParameterReferencedFromComponent element) throws IOException { 44654 if (element != null) { 44655 composeElementAttributes(element); 44656 xml.enter(FHIR_NS, name); 44657 composeOperationDefinitionParameterReferencedFromComponentElements(element); 44658 composeElementClose(element); 44659 xml.exit(FHIR_NS, name); 44660 } 44661 } 44662 44663 protected void composeOperationDefinitionParameterReferencedFromComponentElements(OperationDefinition.OperationDefinitionParameterReferencedFromComponent element) throws IOException { 44664 composeBackboneElementElements(element); 44665 if (element.hasSourceElement()) { 44666 composeString("source", element.getSourceElement()); 44667 } 44668 if (element.hasSourceIdElement()) { 44669 composeString("sourceId", element.getSourceIdElement()); 44670 } 44671 } 44672 44673 protected void composeOperationDefinitionOverloadComponent(String name, OperationDefinition.OperationDefinitionOverloadComponent element) throws IOException { 44674 if (element != null) { 44675 composeElementAttributes(element); 44676 xml.enter(FHIR_NS, name); 44677 composeOperationDefinitionOverloadComponentElements(element); 44678 composeElementClose(element); 44679 xml.exit(FHIR_NS, name); 44680 } 44681 } 44682 44683 protected void composeOperationDefinitionOverloadComponentElements(OperationDefinition.OperationDefinitionOverloadComponent element) throws IOException { 44684 composeBackboneElementElements(element); 44685 if (element.hasParameterName()) { 44686 for (StringType e : element.getParameterName()) 44687 composeString("parameterName", e); 44688 } 44689 if (element.hasCommentElement()) { 44690 composeString("comment", element.getCommentElement()); 44691 } 44692 } 44693 44694 protected void composeOperationOutcome(String name, OperationOutcome element) throws IOException { 44695 if (element != null) { 44696 composeResourceAttributes(element); 44697 xml.enter(FHIR_NS, name); 44698 composeOperationOutcomeElements(element); 44699 composeElementClose(element); 44700 xml.exit(FHIR_NS, name); 44701 } 44702 } 44703 44704 protected void composeOperationOutcomeElements(OperationOutcome element) throws IOException { 44705 composeDomainResourceElements(element); 44706 if (element.hasIssue()) { 44707 for (OperationOutcome.OperationOutcomeIssueComponent e : element.getIssue()) 44708 composeOperationOutcomeIssueComponent("issue", e); 44709 } 44710 } 44711 44712 protected void composeOperationOutcomeIssueComponent(String name, OperationOutcome.OperationOutcomeIssueComponent element) throws IOException { 44713 if (element != null) { 44714 composeElementAttributes(element); 44715 xml.enter(FHIR_NS, name); 44716 composeOperationOutcomeIssueComponentElements(element); 44717 composeElementClose(element); 44718 xml.exit(FHIR_NS, name); 44719 } 44720 } 44721 44722 protected void composeOperationOutcomeIssueComponentElements(OperationOutcome.OperationOutcomeIssueComponent element) throws IOException { 44723 composeBackboneElementElements(element); 44724 if (element.hasSeverityElement()) 44725 composeEnumeration("severity", element.getSeverityElement(), new OperationOutcome.IssueSeverityEnumFactory()); 44726 if (element.hasCodeElement()) 44727 composeEnumeration("code", element.getCodeElement(), new OperationOutcome.IssueTypeEnumFactory()); 44728 if (element.hasDetails()) { 44729 composeCodeableConcept("details", element.getDetails()); 44730 } 44731 if (element.hasDiagnosticsElement()) { 44732 composeString("diagnostics", element.getDiagnosticsElement()); 44733 } 44734 if (element.hasLocation()) { 44735 for (StringType e : element.getLocation()) 44736 composeString("location", e); 44737 } 44738 if (element.hasExpression()) { 44739 for (StringType e : element.getExpression()) 44740 composeString("expression", e); 44741 } 44742 } 44743 44744 protected void composeOrganization(String name, Organization element) throws IOException { 44745 if (element != null) { 44746 composeResourceAttributes(element); 44747 xml.enter(FHIR_NS, name); 44748 composeOrganizationElements(element); 44749 composeElementClose(element); 44750 xml.exit(FHIR_NS, name); 44751 } 44752 } 44753 44754 protected void composeOrganizationElements(Organization element) throws IOException { 44755 composeDomainResourceElements(element); 44756 if (element.hasIdentifier()) { 44757 for (Identifier e : element.getIdentifier()) 44758 composeIdentifier("identifier", e); 44759 } 44760 if (element.hasActiveElement()) { 44761 composeBoolean("active", element.getActiveElement()); 44762 } 44763 if (element.hasType()) { 44764 for (CodeableConcept e : element.getType()) 44765 composeCodeableConcept("type", e); 44766 } 44767 if (element.hasNameElement()) { 44768 composeString("name", element.getNameElement()); 44769 } 44770 if (element.hasAlias()) { 44771 for (StringType e : element.getAlias()) 44772 composeString("alias", e); 44773 } 44774 if (element.hasTelecom()) { 44775 for (ContactPoint e : element.getTelecom()) 44776 composeContactPoint("telecom", e); 44777 } 44778 if (element.hasAddress()) { 44779 for (Address e : element.getAddress()) 44780 composeAddress("address", e); 44781 } 44782 if (element.hasPartOf()) { 44783 composeReference("partOf", element.getPartOf()); 44784 } 44785 if (element.hasContact()) { 44786 for (Organization.OrganizationContactComponent e : element.getContact()) 44787 composeOrganizationContactComponent("contact", e); 44788 } 44789 if (element.hasEndpoint()) { 44790 for (Reference e : element.getEndpoint()) 44791 composeReference("endpoint", e); 44792 } 44793 } 44794 44795 protected void composeOrganizationContactComponent(String name, Organization.OrganizationContactComponent element) throws IOException { 44796 if (element != null) { 44797 composeElementAttributes(element); 44798 xml.enter(FHIR_NS, name); 44799 composeOrganizationContactComponentElements(element); 44800 composeElementClose(element); 44801 xml.exit(FHIR_NS, name); 44802 } 44803 } 44804 44805 protected void composeOrganizationContactComponentElements(Organization.OrganizationContactComponent element) throws IOException { 44806 composeBackboneElementElements(element); 44807 if (element.hasPurpose()) { 44808 composeCodeableConcept("purpose", element.getPurpose()); 44809 } 44810 if (element.hasName()) { 44811 composeHumanName("name", element.getName()); 44812 } 44813 if (element.hasTelecom()) { 44814 for (ContactPoint e : element.getTelecom()) 44815 composeContactPoint("telecom", e); 44816 } 44817 if (element.hasAddress()) { 44818 composeAddress("address", element.getAddress()); 44819 } 44820 } 44821 44822 protected void composeOrganizationAffiliation(String name, OrganizationAffiliation element) throws IOException { 44823 if (element != null) { 44824 composeResourceAttributes(element); 44825 xml.enter(FHIR_NS, name); 44826 composeOrganizationAffiliationElements(element); 44827 composeElementClose(element); 44828 xml.exit(FHIR_NS, name); 44829 } 44830 } 44831 44832 protected void composeOrganizationAffiliationElements(OrganizationAffiliation element) throws IOException { 44833 composeDomainResourceElements(element); 44834 if (element.hasIdentifier()) { 44835 for (Identifier e : element.getIdentifier()) 44836 composeIdentifier("identifier", e); 44837 } 44838 if (element.hasActiveElement()) { 44839 composeBoolean("active", element.getActiveElement()); 44840 } 44841 if (element.hasPeriod()) { 44842 composePeriod("period", element.getPeriod()); 44843 } 44844 if (element.hasOrganization()) { 44845 composeReference("organization", element.getOrganization()); 44846 } 44847 if (element.hasParticipatingOrganization()) { 44848 composeReference("participatingOrganization", element.getParticipatingOrganization()); 44849 } 44850 if (element.hasNetwork()) { 44851 for (Reference e : element.getNetwork()) 44852 composeReference("network", e); 44853 } 44854 if (element.hasCode()) { 44855 for (CodeableConcept e : element.getCode()) 44856 composeCodeableConcept("code", e); 44857 } 44858 if (element.hasSpecialty()) { 44859 for (CodeableConcept e : element.getSpecialty()) 44860 composeCodeableConcept("specialty", e); 44861 } 44862 if (element.hasLocation()) { 44863 for (Reference e : element.getLocation()) 44864 composeReference("location", e); 44865 } 44866 if (element.hasHealthcareService()) { 44867 for (Reference e : element.getHealthcareService()) 44868 composeReference("healthcareService", e); 44869 } 44870 if (element.hasTelecom()) { 44871 for (ContactPoint e : element.getTelecom()) 44872 composeContactPoint("telecom", e); 44873 } 44874 if (element.hasEndpoint()) { 44875 for (Reference e : element.getEndpoint()) 44876 composeReference("endpoint", e); 44877 } 44878 } 44879 44880 protected void composePackagedProductDefinition(String name, PackagedProductDefinition element) throws IOException { 44881 if (element != null) { 44882 composeResourceAttributes(element); 44883 xml.enter(FHIR_NS, name); 44884 composePackagedProductDefinitionElements(element); 44885 composeElementClose(element); 44886 xml.exit(FHIR_NS, name); 44887 } 44888 } 44889 44890 protected void composePackagedProductDefinitionElements(PackagedProductDefinition element) throws IOException { 44891 composeDomainResourceElements(element); 44892 if (element.hasIdentifier()) { 44893 for (Identifier e : element.getIdentifier()) 44894 composeIdentifier("identifier", e); 44895 } 44896 if (element.hasNameElement()) { 44897 composeString("name", element.getNameElement()); 44898 } 44899 if (element.hasType()) { 44900 composeCodeableConcept("type", element.getType()); 44901 } 44902 if (element.hasPackageFor()) { 44903 for (Reference e : element.getPackageFor()) 44904 composeReference("packageFor", e); 44905 } 44906 if (element.hasStatus()) { 44907 composeCodeableConcept("status", element.getStatus()); 44908 } 44909 if (element.hasStatusDateElement()) { 44910 composeDateTime("statusDate", element.getStatusDateElement()); 44911 } 44912 if (element.hasContainedItemQuantity()) { 44913 for (Quantity e : element.getContainedItemQuantity()) 44914 composeQuantity("containedItemQuantity", e); 44915 } 44916 if (element.hasDescriptionElement()) { 44917 composeMarkdown("description", element.getDescriptionElement()); 44918 } 44919 if (element.hasLegalStatusOfSupply()) { 44920 for (PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent e : element.getLegalStatusOfSupply()) 44921 composePackagedProductDefinitionLegalStatusOfSupplyComponent("legalStatusOfSupply", e); 44922 } 44923 if (element.hasMarketingStatus()) { 44924 for (MarketingStatus e : element.getMarketingStatus()) 44925 composeMarketingStatus("marketingStatus", e); 44926 } 44927 if (element.hasCharacteristic()) { 44928 for (CodeableConcept e : element.getCharacteristic()) 44929 composeCodeableConcept("characteristic", e); 44930 } 44931 if (element.hasCopackagedIndicatorElement()) { 44932 composeBoolean("copackagedIndicator", element.getCopackagedIndicatorElement()); 44933 } 44934 if (element.hasManufacturer()) { 44935 for (Reference e : element.getManufacturer()) 44936 composeReference("manufacturer", e); 44937 } 44938 if (element.hasPackage()) { 44939 composePackagedProductDefinitionPackageComponent("package", element.getPackage()); 44940 } 44941 } 44942 44943 protected void composePackagedProductDefinitionLegalStatusOfSupplyComponent(String name, PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent element) throws IOException { 44944 if (element != null) { 44945 composeElementAttributes(element); 44946 xml.enter(FHIR_NS, name); 44947 composePackagedProductDefinitionLegalStatusOfSupplyComponentElements(element); 44948 composeElementClose(element); 44949 xml.exit(FHIR_NS, name); 44950 } 44951 } 44952 44953 protected void composePackagedProductDefinitionLegalStatusOfSupplyComponentElements(PackagedProductDefinition.PackagedProductDefinitionLegalStatusOfSupplyComponent element) throws IOException { 44954 composeBackboneElementElements(element); 44955 if (element.hasCode()) { 44956 composeCodeableConcept("code", element.getCode()); 44957 } 44958 if (element.hasJurisdiction()) { 44959 composeCodeableConcept("jurisdiction", element.getJurisdiction()); 44960 } 44961 } 44962 44963 protected void composePackagedProductDefinitionPackageComponent(String name, PackagedProductDefinition.PackagedProductDefinitionPackageComponent element) throws IOException { 44964 if (element != null) { 44965 composeElementAttributes(element); 44966 xml.enter(FHIR_NS, name); 44967 composePackagedProductDefinitionPackageComponentElements(element); 44968 composeElementClose(element); 44969 xml.exit(FHIR_NS, name); 44970 } 44971 } 44972 44973 protected void composePackagedProductDefinitionPackageComponentElements(PackagedProductDefinition.PackagedProductDefinitionPackageComponent element) throws IOException { 44974 composeBackboneElementElements(element); 44975 if (element.hasIdentifier()) { 44976 for (Identifier e : element.getIdentifier()) 44977 composeIdentifier("identifier", e); 44978 } 44979 if (element.hasType()) { 44980 composeCodeableConcept("type", element.getType()); 44981 } 44982 if (element.hasQuantityElement()) { 44983 composeInteger("quantity", element.getQuantityElement()); 44984 } 44985 if (element.hasMaterial()) { 44986 for (CodeableConcept e : element.getMaterial()) 44987 composeCodeableConcept("material", e); 44988 } 44989 if (element.hasAlternateMaterial()) { 44990 for (CodeableConcept e : element.getAlternateMaterial()) 44991 composeCodeableConcept("alternateMaterial", e); 44992 } 44993 if (element.hasShelfLifeStorage()) { 44994 for (ProductShelfLife e : element.getShelfLifeStorage()) 44995 composeProductShelfLife("shelfLifeStorage", e); 44996 } 44997 if (element.hasManufacturer()) { 44998 for (Reference e : element.getManufacturer()) 44999 composeReference("manufacturer", e); 45000 } 45001 if (element.hasProperty()) { 45002 for (PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent e : element.getProperty()) 45003 composePackagedProductDefinitionPackagePropertyComponent("property", e); 45004 } 45005 if (element.hasContainedItem()) { 45006 for (PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent e : element.getContainedItem()) 45007 composePackagedProductDefinitionPackageContainedItemComponent("containedItem", e); 45008 } 45009 if (element.hasPackage()) { 45010 for (PackagedProductDefinition.PackagedProductDefinitionPackageComponent e : element.getPackage()) 45011 composePackagedProductDefinitionPackageComponent("package", e); 45012 } 45013 } 45014 45015 protected void composePackagedProductDefinitionPackagePropertyComponent(String name, PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent element) throws IOException { 45016 if (element != null) { 45017 composeElementAttributes(element); 45018 xml.enter(FHIR_NS, name); 45019 composePackagedProductDefinitionPackagePropertyComponentElements(element); 45020 composeElementClose(element); 45021 xml.exit(FHIR_NS, name); 45022 } 45023 } 45024 45025 protected void composePackagedProductDefinitionPackagePropertyComponentElements(PackagedProductDefinition.PackagedProductDefinitionPackagePropertyComponent element) throws IOException { 45026 composeBackboneElementElements(element); 45027 if (element.hasType()) { 45028 composeCodeableConcept("type", element.getType()); 45029 } 45030 if (element.hasValue()) { 45031 composeType("value", element.getValue()); 45032 } } 45033 45034 protected void composePackagedProductDefinitionPackageContainedItemComponent(String name, PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent element) throws IOException { 45035 if (element != null) { 45036 composeElementAttributes(element); 45037 xml.enter(FHIR_NS, name); 45038 composePackagedProductDefinitionPackageContainedItemComponentElements(element); 45039 composeElementClose(element); 45040 xml.exit(FHIR_NS, name); 45041 } 45042 } 45043 45044 protected void composePackagedProductDefinitionPackageContainedItemComponentElements(PackagedProductDefinition.PackagedProductDefinitionPackageContainedItemComponent element) throws IOException { 45045 composeBackboneElementElements(element); 45046 if (element.hasItem()) { 45047 composeCodeableReference("item", element.getItem()); 45048 } 45049 if (element.hasAmount()) { 45050 composeQuantity("amount", element.getAmount()); 45051 } 45052 } 45053 45054 protected void composeParameters(String name, Parameters element) throws IOException { 45055 if (element != null) { 45056 composeResourceAttributes(element); 45057 xml.enter(FHIR_NS, name); 45058 composeParametersElements(element); 45059 composeElementClose(element); 45060 xml.exit(FHIR_NS, name); 45061 } 45062 } 45063 45064 protected void composeParametersElements(Parameters element) throws IOException { 45065 composeResourceElements(element); 45066 if (element.hasParameter()) { 45067 for (Parameters.ParametersParameterComponent e : element.getParameter()) 45068 composeParametersParameterComponent("parameter", e); 45069 } 45070 } 45071 45072 protected void composeParametersParameterComponent(String name, Parameters.ParametersParameterComponent element) throws IOException { 45073 if (element != null) { 45074 composeElementAttributes(element); 45075 xml.enter(FHIR_NS, name); 45076 composeParametersParameterComponentElements(element); 45077 composeElementClose(element); 45078 xml.exit(FHIR_NS, name); 45079 } 45080 } 45081 45082 protected void composeParametersParameterComponentElements(Parameters.ParametersParameterComponent element) throws IOException { 45083 composeBackboneElementElements(element); 45084 if (element.hasNameElement()) { 45085 composeString("name", element.getNameElement()); 45086 } 45087 if (element.hasValue()) { 45088 composeType("value", element.getValue()); 45089 } if (element.hasResource()) { 45090 xml.enter(FHIR_NS, "resource"); 45091 composeResource(element.getResource()); 45092 xml.exit(FHIR_NS, "resource"); 45093 } 45094 if (element.hasPart()) { 45095 for (Parameters.ParametersParameterComponent e : element.getPart()) 45096 composeParametersParameterComponent("part", e); 45097 } 45098 } 45099 45100 protected void composePatient(String name, Patient element) throws IOException { 45101 if (element != null) { 45102 composeResourceAttributes(element); 45103 xml.enter(FHIR_NS, name); 45104 composePatientElements(element); 45105 composeElementClose(element); 45106 xml.exit(FHIR_NS, name); 45107 } 45108 } 45109 45110 protected void composePatientElements(Patient element) throws IOException { 45111 composeDomainResourceElements(element); 45112 if (element.hasIdentifier()) { 45113 for (Identifier e : element.getIdentifier()) 45114 composeIdentifier("identifier", e); 45115 } 45116 if (element.hasActiveElement()) { 45117 composeBoolean("active", element.getActiveElement()); 45118 } 45119 if (element.hasName()) { 45120 for (HumanName e : element.getName()) 45121 composeHumanName("name", e); 45122 } 45123 if (element.hasTelecom()) { 45124 for (ContactPoint e : element.getTelecom()) 45125 composeContactPoint("telecom", e); 45126 } 45127 if (element.hasGenderElement()) 45128 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 45129 if (element.hasBirthDateElement()) { 45130 composeDate("birthDate", element.getBirthDateElement()); 45131 } 45132 if (element.hasDeceased()) { 45133 composeType("deceased", element.getDeceased()); 45134 } if (element.hasAddress()) { 45135 for (Address e : element.getAddress()) 45136 composeAddress("address", e); 45137 } 45138 if (element.hasMaritalStatus()) { 45139 composeCodeableConcept("maritalStatus", element.getMaritalStatus()); 45140 } 45141 if (element.hasMultipleBirth()) { 45142 composeType("multipleBirth", element.getMultipleBirth()); 45143 } if (element.hasPhoto()) { 45144 for (Attachment e : element.getPhoto()) 45145 composeAttachment("photo", e); 45146 } 45147 if (element.hasContact()) { 45148 for (Patient.ContactComponent e : element.getContact()) 45149 composePatientContactComponent("contact", e); 45150 } 45151 if (element.hasCommunication()) { 45152 for (Patient.PatientCommunicationComponent e : element.getCommunication()) 45153 composePatientCommunicationComponent("communication", e); 45154 } 45155 if (element.hasGeneralPractitioner()) { 45156 for (Reference e : element.getGeneralPractitioner()) 45157 composeReference("generalPractitioner", e); 45158 } 45159 if (element.hasManagingOrganization()) { 45160 composeReference("managingOrganization", element.getManagingOrganization()); 45161 } 45162 if (element.hasLink()) { 45163 for (Patient.PatientLinkComponent e : element.getLink()) 45164 composePatientLinkComponent("link", e); 45165 } 45166 } 45167 45168 protected void composePatientContactComponent(String name, Patient.ContactComponent element) throws IOException { 45169 if (element != null) { 45170 composeElementAttributes(element); 45171 xml.enter(FHIR_NS, name); 45172 composePatientContactComponentElements(element); 45173 composeElementClose(element); 45174 xml.exit(FHIR_NS, name); 45175 } 45176 } 45177 45178 protected void composePatientContactComponentElements(Patient.ContactComponent element) throws IOException { 45179 composeBackboneElementElements(element); 45180 if (element.hasRelationship()) { 45181 for (CodeableConcept e : element.getRelationship()) 45182 composeCodeableConcept("relationship", e); 45183 } 45184 if (element.hasName()) { 45185 composeHumanName("name", element.getName()); 45186 } 45187 if (element.hasTelecom()) { 45188 for (ContactPoint e : element.getTelecom()) 45189 composeContactPoint("telecom", e); 45190 } 45191 if (element.hasAddress()) { 45192 composeAddress("address", element.getAddress()); 45193 } 45194 if (element.hasGenderElement()) 45195 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 45196 if (element.hasOrganization()) { 45197 composeReference("organization", element.getOrganization()); 45198 } 45199 if (element.hasPeriod()) { 45200 composePeriod("period", element.getPeriod()); 45201 } 45202 } 45203 45204 protected void composePatientCommunicationComponent(String name, Patient.PatientCommunicationComponent element) throws IOException { 45205 if (element != null) { 45206 composeElementAttributes(element); 45207 xml.enter(FHIR_NS, name); 45208 composePatientCommunicationComponentElements(element); 45209 composeElementClose(element); 45210 xml.exit(FHIR_NS, name); 45211 } 45212 } 45213 45214 protected void composePatientCommunicationComponentElements(Patient.PatientCommunicationComponent element) throws IOException { 45215 composeBackboneElementElements(element); 45216 if (element.hasLanguage()) { 45217 composeCodeableConcept("language", element.getLanguage()); 45218 } 45219 if (element.hasPreferredElement()) { 45220 composeBoolean("preferred", element.getPreferredElement()); 45221 } 45222 } 45223 45224 protected void composePatientLinkComponent(String name, Patient.PatientLinkComponent element) throws IOException { 45225 if (element != null) { 45226 composeElementAttributes(element); 45227 xml.enter(FHIR_NS, name); 45228 composePatientLinkComponentElements(element); 45229 composeElementClose(element); 45230 xml.exit(FHIR_NS, name); 45231 } 45232 } 45233 45234 protected void composePatientLinkComponentElements(Patient.PatientLinkComponent element) throws IOException { 45235 composeBackboneElementElements(element); 45236 if (element.hasOther()) { 45237 composeReference("other", element.getOther()); 45238 } 45239 if (element.hasTypeElement()) 45240 composeEnumeration("type", element.getTypeElement(), new Patient.LinkTypeEnumFactory()); 45241 } 45242 45243 protected void composePaymentNotice(String name, PaymentNotice element) throws IOException { 45244 if (element != null) { 45245 composeResourceAttributes(element); 45246 xml.enter(FHIR_NS, name); 45247 composePaymentNoticeElements(element); 45248 composeElementClose(element); 45249 xml.exit(FHIR_NS, name); 45250 } 45251 } 45252 45253 protected void composePaymentNoticeElements(PaymentNotice element) throws IOException { 45254 composeDomainResourceElements(element); 45255 if (element.hasIdentifier()) { 45256 for (Identifier e : element.getIdentifier()) 45257 composeIdentifier("identifier", e); 45258 } 45259 if (element.hasStatusElement()) 45260 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 45261 if (element.hasRequest()) { 45262 composeReference("request", element.getRequest()); 45263 } 45264 if (element.hasResponse()) { 45265 composeReference("response", element.getResponse()); 45266 } 45267 if (element.hasCreatedElement()) { 45268 composeDateTime("created", element.getCreatedElement()); 45269 } 45270 if (element.hasProvider()) { 45271 composeReference("provider", element.getProvider()); 45272 } 45273 if (element.hasPayment()) { 45274 composeReference("payment", element.getPayment()); 45275 } 45276 if (element.hasPaymentDateElement()) { 45277 composeDate("paymentDate", element.getPaymentDateElement()); 45278 } 45279 if (element.hasPayee()) { 45280 composeReference("payee", element.getPayee()); 45281 } 45282 if (element.hasRecipient()) { 45283 composeReference("recipient", element.getRecipient()); 45284 } 45285 if (element.hasAmount()) { 45286 composeMoney("amount", element.getAmount()); 45287 } 45288 if (element.hasPaymentStatus()) { 45289 composeCodeableConcept("paymentStatus", element.getPaymentStatus()); 45290 } 45291 } 45292 45293 protected void composePaymentReconciliation(String name, PaymentReconciliation element) throws IOException { 45294 if (element != null) { 45295 composeResourceAttributes(element); 45296 xml.enter(FHIR_NS, name); 45297 composePaymentReconciliationElements(element); 45298 composeElementClose(element); 45299 xml.exit(FHIR_NS, name); 45300 } 45301 } 45302 45303 protected void composePaymentReconciliationElements(PaymentReconciliation element) throws IOException { 45304 composeDomainResourceElements(element); 45305 if (element.hasIdentifier()) { 45306 for (Identifier e : element.getIdentifier()) 45307 composeIdentifier("identifier", e); 45308 } 45309 if (element.hasStatusElement()) 45310 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 45311 if (element.hasPeriod()) { 45312 composePeriod("period", element.getPeriod()); 45313 } 45314 if (element.hasCreatedElement()) { 45315 composeDateTime("created", element.getCreatedElement()); 45316 } 45317 if (element.hasPaymentIssuer()) { 45318 composeReference("paymentIssuer", element.getPaymentIssuer()); 45319 } 45320 if (element.hasRequest()) { 45321 composeReference("request", element.getRequest()); 45322 } 45323 if (element.hasRequestor()) { 45324 composeReference("requestor", element.getRequestor()); 45325 } 45326 if (element.hasOutcomeElement()) 45327 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 45328 if (element.hasDispositionElement()) { 45329 composeString("disposition", element.getDispositionElement()); 45330 } 45331 if (element.hasPaymentDateElement()) { 45332 composeDate("paymentDate", element.getPaymentDateElement()); 45333 } 45334 if (element.hasPaymentAmount()) { 45335 composeMoney("paymentAmount", element.getPaymentAmount()); 45336 } 45337 if (element.hasPaymentIdentifier()) { 45338 composeIdentifier("paymentIdentifier", element.getPaymentIdentifier()); 45339 } 45340 if (element.hasDetail()) { 45341 for (PaymentReconciliation.DetailsComponent e : element.getDetail()) 45342 composePaymentReconciliationDetailsComponent("detail", e); 45343 } 45344 if (element.hasFormCode()) { 45345 composeCodeableConcept("formCode", element.getFormCode()); 45346 } 45347 if (element.hasProcessNote()) { 45348 for (PaymentReconciliation.NotesComponent e : element.getProcessNote()) 45349 composePaymentReconciliationNotesComponent("processNote", e); 45350 } 45351 } 45352 45353 protected void composePaymentReconciliationDetailsComponent(String name, PaymentReconciliation.DetailsComponent element) throws IOException { 45354 if (element != null) { 45355 composeElementAttributes(element); 45356 xml.enter(FHIR_NS, name); 45357 composePaymentReconciliationDetailsComponentElements(element); 45358 composeElementClose(element); 45359 xml.exit(FHIR_NS, name); 45360 } 45361 } 45362 45363 protected void composePaymentReconciliationDetailsComponentElements(PaymentReconciliation.DetailsComponent element) throws IOException { 45364 composeBackboneElementElements(element); 45365 if (element.hasIdentifier()) { 45366 composeIdentifier("identifier", element.getIdentifier()); 45367 } 45368 if (element.hasPredecessor()) { 45369 composeIdentifier("predecessor", element.getPredecessor()); 45370 } 45371 if (element.hasType()) { 45372 composeCodeableConcept("type", element.getType()); 45373 } 45374 if (element.hasRequest()) { 45375 composeReference("request", element.getRequest()); 45376 } 45377 if (element.hasSubmitter()) { 45378 composeReference("submitter", element.getSubmitter()); 45379 } 45380 if (element.hasResponse()) { 45381 composeReference("response", element.getResponse()); 45382 } 45383 if (element.hasDateElement()) { 45384 composeDate("date", element.getDateElement()); 45385 } 45386 if (element.hasResponsible()) { 45387 composeReference("responsible", element.getResponsible()); 45388 } 45389 if (element.hasPayee()) { 45390 composeReference("payee", element.getPayee()); 45391 } 45392 if (element.hasAmount()) { 45393 composeMoney("amount", element.getAmount()); 45394 } 45395 } 45396 45397 protected void composePaymentReconciliationNotesComponent(String name, PaymentReconciliation.NotesComponent element) throws IOException { 45398 if (element != null) { 45399 composeElementAttributes(element); 45400 xml.enter(FHIR_NS, name); 45401 composePaymentReconciliationNotesComponentElements(element); 45402 composeElementClose(element); 45403 xml.exit(FHIR_NS, name); 45404 } 45405 } 45406 45407 protected void composePaymentReconciliationNotesComponentElements(PaymentReconciliation.NotesComponent element) throws IOException { 45408 composeBackboneElementElements(element); 45409 if (element.hasTypeElement()) 45410 composeEnumeration("type", element.getTypeElement(), new Enumerations.NoteTypeEnumFactory()); 45411 if (element.hasTextElement()) { 45412 composeString("text", element.getTextElement()); 45413 } 45414 } 45415 45416 protected void composePerson(String name, Person element) throws IOException { 45417 if (element != null) { 45418 composeResourceAttributes(element); 45419 xml.enter(FHIR_NS, name); 45420 composePersonElements(element); 45421 composeElementClose(element); 45422 xml.exit(FHIR_NS, name); 45423 } 45424 } 45425 45426 protected void composePersonElements(Person element) throws IOException { 45427 composeDomainResourceElements(element); 45428 if (element.hasIdentifier()) { 45429 for (Identifier e : element.getIdentifier()) 45430 composeIdentifier("identifier", e); 45431 } 45432 if (element.hasName()) { 45433 for (HumanName e : element.getName()) 45434 composeHumanName("name", e); 45435 } 45436 if (element.hasTelecom()) { 45437 for (ContactPoint e : element.getTelecom()) 45438 composeContactPoint("telecom", e); 45439 } 45440 if (element.hasGenderElement()) 45441 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 45442 if (element.hasBirthDateElement()) { 45443 composeDate("birthDate", element.getBirthDateElement()); 45444 } 45445 if (element.hasAddress()) { 45446 for (Address e : element.getAddress()) 45447 composeAddress("address", e); 45448 } 45449 if (element.hasPhoto()) { 45450 composeAttachment("photo", element.getPhoto()); 45451 } 45452 if (element.hasManagingOrganization()) { 45453 composeReference("managingOrganization", element.getManagingOrganization()); 45454 } 45455 if (element.hasActiveElement()) { 45456 composeBoolean("active", element.getActiveElement()); 45457 } 45458 if (element.hasLink()) { 45459 for (Person.PersonLinkComponent e : element.getLink()) 45460 composePersonLinkComponent("link", e); 45461 } 45462 } 45463 45464 protected void composePersonLinkComponent(String name, Person.PersonLinkComponent element) throws IOException { 45465 if (element != null) { 45466 composeElementAttributes(element); 45467 xml.enter(FHIR_NS, name); 45468 composePersonLinkComponentElements(element); 45469 composeElementClose(element); 45470 xml.exit(FHIR_NS, name); 45471 } 45472 } 45473 45474 protected void composePersonLinkComponentElements(Person.PersonLinkComponent element) throws IOException { 45475 composeBackboneElementElements(element); 45476 if (element.hasTarget()) { 45477 composeReference("target", element.getTarget()); 45478 } 45479 if (element.hasAssuranceElement()) 45480 composeEnumeration("assurance", element.getAssuranceElement(), new Person.IdentityAssuranceLevelEnumFactory()); 45481 } 45482 45483 protected void composePlanDefinition(String name, PlanDefinition element) throws IOException { 45484 if (element != null) { 45485 composeResourceAttributes(element); 45486 xml.enter(FHIR_NS, name); 45487 composePlanDefinitionElements(element); 45488 composeElementClose(element); 45489 xml.exit(FHIR_NS, name); 45490 } 45491 } 45492 45493 protected void composePlanDefinitionElements(PlanDefinition element) throws IOException { 45494 composeDomainResourceElements(element); 45495 if (element.hasUrlElement()) { 45496 composeUri("url", element.getUrlElement()); 45497 } 45498 if (element.hasIdentifier()) { 45499 for (Identifier e : element.getIdentifier()) 45500 composeIdentifier("identifier", e); 45501 } 45502 if (element.hasVersionElement()) { 45503 composeString("version", element.getVersionElement()); 45504 } 45505 if (element.hasNameElement()) { 45506 composeString("name", element.getNameElement()); 45507 } 45508 if (element.hasTitleElement()) { 45509 composeString("title", element.getTitleElement()); 45510 } 45511 if (element.hasSubtitleElement()) { 45512 composeString("subtitle", element.getSubtitleElement()); 45513 } 45514 if (element.hasType()) { 45515 composeCodeableConcept("type", element.getType()); 45516 } 45517 if (element.hasStatusElement()) 45518 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 45519 if (element.hasExperimentalElement()) { 45520 composeBoolean("experimental", element.getExperimentalElement()); 45521 } 45522 if (element.hasSubject()) { 45523 composeType("subject", element.getSubject()); 45524 } if (element.hasDateElement()) { 45525 composeDateTime("date", element.getDateElement()); 45526 } 45527 if (element.hasPublisherElement()) { 45528 composeString("publisher", element.getPublisherElement()); 45529 } 45530 if (element.hasContact()) { 45531 for (ContactDetail e : element.getContact()) 45532 composeContactDetail("contact", e); 45533 } 45534 if (element.hasDescriptionElement()) { 45535 composeMarkdown("description", element.getDescriptionElement()); 45536 } 45537 if (element.hasUseContext()) { 45538 for (UsageContext e : element.getUseContext()) 45539 composeUsageContext("useContext", e); 45540 } 45541 if (element.hasJurisdiction()) { 45542 for (CodeableConcept e : element.getJurisdiction()) 45543 composeCodeableConcept("jurisdiction", e); 45544 } 45545 if (element.hasPurposeElement()) { 45546 composeMarkdown("purpose", element.getPurposeElement()); 45547 } 45548 if (element.hasUsageElement()) { 45549 composeString("usage", element.getUsageElement()); 45550 } 45551 if (element.hasCopyrightElement()) { 45552 composeMarkdown("copyright", element.getCopyrightElement()); 45553 } 45554 if (element.hasApprovalDateElement()) { 45555 composeDate("approvalDate", element.getApprovalDateElement()); 45556 } 45557 if (element.hasLastReviewDateElement()) { 45558 composeDate("lastReviewDate", element.getLastReviewDateElement()); 45559 } 45560 if (element.hasEffectivePeriod()) { 45561 composePeriod("effectivePeriod", element.getEffectivePeriod()); 45562 } 45563 if (element.hasTopic()) { 45564 for (CodeableConcept e : element.getTopic()) 45565 composeCodeableConcept("topic", e); 45566 } 45567 if (element.hasAuthor()) { 45568 for (ContactDetail e : element.getAuthor()) 45569 composeContactDetail("author", e); 45570 } 45571 if (element.hasEditor()) { 45572 for (ContactDetail e : element.getEditor()) 45573 composeContactDetail("editor", e); 45574 } 45575 if (element.hasReviewer()) { 45576 for (ContactDetail e : element.getReviewer()) 45577 composeContactDetail("reviewer", e); 45578 } 45579 if (element.hasEndorser()) { 45580 for (ContactDetail e : element.getEndorser()) 45581 composeContactDetail("endorser", e); 45582 } 45583 if (element.hasRelatedArtifact()) { 45584 for (RelatedArtifact e : element.getRelatedArtifact()) 45585 composeRelatedArtifact("relatedArtifact", e); 45586 } 45587 if (element.hasLibrary()) { 45588 for (CanonicalType e : element.getLibrary()) 45589 composeCanonical("library", e); 45590 } 45591 if (element.hasGoal()) { 45592 for (PlanDefinition.PlanDefinitionGoalComponent e : element.getGoal()) 45593 composePlanDefinitionGoalComponent("goal", e); 45594 } 45595 if (element.hasAction()) { 45596 for (PlanDefinition.PlanDefinitionActionComponent e : element.getAction()) 45597 composePlanDefinitionActionComponent("action", e); 45598 } 45599 } 45600 45601 protected void composePlanDefinitionGoalComponent(String name, PlanDefinition.PlanDefinitionGoalComponent element) throws IOException { 45602 if (element != null) { 45603 composeElementAttributes(element); 45604 xml.enter(FHIR_NS, name); 45605 composePlanDefinitionGoalComponentElements(element); 45606 composeElementClose(element); 45607 xml.exit(FHIR_NS, name); 45608 } 45609 } 45610 45611 protected void composePlanDefinitionGoalComponentElements(PlanDefinition.PlanDefinitionGoalComponent element) throws IOException { 45612 composeBackboneElementElements(element); 45613 if (element.hasCategory()) { 45614 composeCodeableConcept("category", element.getCategory()); 45615 } 45616 if (element.hasDescription()) { 45617 composeCodeableConcept("description", element.getDescription()); 45618 } 45619 if (element.hasPriority()) { 45620 composeCodeableConcept("priority", element.getPriority()); 45621 } 45622 if (element.hasStart()) { 45623 composeCodeableConcept("start", element.getStart()); 45624 } 45625 if (element.hasAddresses()) { 45626 for (CodeableConcept e : element.getAddresses()) 45627 composeCodeableConcept("addresses", e); 45628 } 45629 if (element.hasDocumentation()) { 45630 for (RelatedArtifact e : element.getDocumentation()) 45631 composeRelatedArtifact("documentation", e); 45632 } 45633 if (element.hasTarget()) { 45634 for (PlanDefinition.PlanDefinitionGoalTargetComponent e : element.getTarget()) 45635 composePlanDefinitionGoalTargetComponent("target", e); 45636 } 45637 } 45638 45639 protected void composePlanDefinitionGoalTargetComponent(String name, PlanDefinition.PlanDefinitionGoalTargetComponent element) throws IOException { 45640 if (element != null) { 45641 composeElementAttributes(element); 45642 xml.enter(FHIR_NS, name); 45643 composePlanDefinitionGoalTargetComponentElements(element); 45644 composeElementClose(element); 45645 xml.exit(FHIR_NS, name); 45646 } 45647 } 45648 45649 protected void composePlanDefinitionGoalTargetComponentElements(PlanDefinition.PlanDefinitionGoalTargetComponent element) throws IOException { 45650 composeBackboneElementElements(element); 45651 if (element.hasMeasure()) { 45652 composeCodeableConcept("measure", element.getMeasure()); 45653 } 45654 if (element.hasDetail()) { 45655 composeType("detail", element.getDetail()); 45656 } if (element.hasDue()) { 45657 composeDuration("due", element.getDue()); 45658 } 45659 } 45660 45661 protected void composePlanDefinitionActionComponent(String name, PlanDefinition.PlanDefinitionActionComponent element) throws IOException { 45662 if (element != null) { 45663 composeElementAttributes(element); 45664 xml.enter(FHIR_NS, name); 45665 composePlanDefinitionActionComponentElements(element); 45666 composeElementClose(element); 45667 xml.exit(FHIR_NS, name); 45668 } 45669 } 45670 45671 protected void composePlanDefinitionActionComponentElements(PlanDefinition.PlanDefinitionActionComponent element) throws IOException { 45672 composeBackboneElementElements(element); 45673 if (element.hasPrefixElement()) { 45674 composeString("prefix", element.getPrefixElement()); 45675 } 45676 if (element.hasTitleElement()) { 45677 composeString("title", element.getTitleElement()); 45678 } 45679 if (element.hasDescriptionElement()) { 45680 composeString("description", element.getDescriptionElement()); 45681 } 45682 if (element.hasTextEquivalentElement()) { 45683 composeString("textEquivalent", element.getTextEquivalentElement()); 45684 } 45685 if (element.hasPriorityElement()) 45686 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 45687 if (element.hasCode()) { 45688 for (CodeableConcept e : element.getCode()) 45689 composeCodeableConcept("code", e); 45690 } 45691 if (element.hasReason()) { 45692 for (CodeableConcept e : element.getReason()) 45693 composeCodeableConcept("reason", e); 45694 } 45695 if (element.hasDocumentation()) { 45696 for (RelatedArtifact e : element.getDocumentation()) 45697 composeRelatedArtifact("documentation", e); 45698 } 45699 if (element.hasGoalId()) { 45700 for (IdType e : element.getGoalId()) 45701 composeId("goalId", e); 45702 } 45703 if (element.hasSubject()) { 45704 composeType("subject", element.getSubject()); 45705 } if (element.hasTrigger()) { 45706 for (TriggerDefinition e : element.getTrigger()) 45707 composeTriggerDefinition("trigger", e); 45708 } 45709 if (element.hasCondition()) { 45710 for (PlanDefinition.PlanDefinitionActionConditionComponent e : element.getCondition()) 45711 composePlanDefinitionActionConditionComponent("condition", e); 45712 } 45713 if (element.hasInput()) { 45714 for (DataRequirement e : element.getInput()) 45715 composeDataRequirement("input", e); 45716 } 45717 if (element.hasOutput()) { 45718 for (DataRequirement e : element.getOutput()) 45719 composeDataRequirement("output", e); 45720 } 45721 if (element.hasRelatedAction()) { 45722 for (PlanDefinition.PlanDefinitionActionRelatedActionComponent e : element.getRelatedAction()) 45723 composePlanDefinitionActionRelatedActionComponent("relatedAction", e); 45724 } 45725 if (element.hasTiming()) { 45726 composeType("timing", element.getTiming()); 45727 } if (element.hasParticipant()) { 45728 for (PlanDefinition.PlanDefinitionActionParticipantComponent e : element.getParticipant()) 45729 composePlanDefinitionActionParticipantComponent("participant", e); 45730 } 45731 if (element.hasType()) { 45732 composeCodeableConcept("type", element.getType()); 45733 } 45734 if (element.hasGroupingBehaviorElement()) 45735 composeEnumeration("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory()); 45736 if (element.hasSelectionBehaviorElement()) 45737 composeEnumeration("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory()); 45738 if (element.hasRequiredBehaviorElement()) 45739 composeEnumeration("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory()); 45740 if (element.hasPrecheckBehaviorElement()) 45741 composeEnumeration("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory()); 45742 if (element.hasCardinalityBehaviorElement()) 45743 composeEnumeration("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory()); 45744 if (element.hasDefinition()) { 45745 composeType("definition", element.getDefinition()); 45746 } if (element.hasTransformElement()) { 45747 composeCanonical("transform", element.getTransformElement()); 45748 } 45749 if (element.hasDynamicValue()) { 45750 for (PlanDefinition.PlanDefinitionActionDynamicValueComponent e : element.getDynamicValue()) 45751 composePlanDefinitionActionDynamicValueComponent("dynamicValue", e); 45752 } 45753 if (element.hasAction()) { 45754 for (PlanDefinition.PlanDefinitionActionComponent e : element.getAction()) 45755 composePlanDefinitionActionComponent("action", e); 45756 } 45757 } 45758 45759 protected void composePlanDefinitionActionConditionComponent(String name, PlanDefinition.PlanDefinitionActionConditionComponent element) throws IOException { 45760 if (element != null) { 45761 composeElementAttributes(element); 45762 xml.enter(FHIR_NS, name); 45763 composePlanDefinitionActionConditionComponentElements(element); 45764 composeElementClose(element); 45765 xml.exit(FHIR_NS, name); 45766 } 45767 } 45768 45769 protected void composePlanDefinitionActionConditionComponentElements(PlanDefinition.PlanDefinitionActionConditionComponent element) throws IOException { 45770 composeBackboneElementElements(element); 45771 if (element.hasKindElement()) 45772 composeEnumeration("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory()); 45773 if (element.hasExpression()) { 45774 composeExpression("expression", element.getExpression()); 45775 } 45776 } 45777 45778 protected void composePlanDefinitionActionRelatedActionComponent(String name, PlanDefinition.PlanDefinitionActionRelatedActionComponent element) throws IOException { 45779 if (element != null) { 45780 composeElementAttributes(element); 45781 xml.enter(FHIR_NS, name); 45782 composePlanDefinitionActionRelatedActionComponentElements(element); 45783 composeElementClose(element); 45784 xml.exit(FHIR_NS, name); 45785 } 45786 } 45787 45788 protected void composePlanDefinitionActionRelatedActionComponentElements(PlanDefinition.PlanDefinitionActionRelatedActionComponent element) throws IOException { 45789 composeBackboneElementElements(element); 45790 if (element.hasActionIdElement()) { 45791 composeId("actionId", element.getActionIdElement()); 45792 } 45793 if (element.hasRelationshipElement()) 45794 composeEnumeration("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory()); 45795 if (element.hasOffset()) { 45796 composeType("offset", element.getOffset()); 45797 } } 45798 45799 protected void composePlanDefinitionActionParticipantComponent(String name, PlanDefinition.PlanDefinitionActionParticipantComponent element) throws IOException { 45800 if (element != null) { 45801 composeElementAttributes(element); 45802 xml.enter(FHIR_NS, name); 45803 composePlanDefinitionActionParticipantComponentElements(element); 45804 composeElementClose(element); 45805 xml.exit(FHIR_NS, name); 45806 } 45807 } 45808 45809 protected void composePlanDefinitionActionParticipantComponentElements(PlanDefinition.PlanDefinitionActionParticipantComponent element) throws IOException { 45810 composeBackboneElementElements(element); 45811 if (element.hasTypeElement()) 45812 composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); 45813 if (element.hasRole()) { 45814 composeCodeableConcept("role", element.getRole()); 45815 } 45816 } 45817 45818 protected void composePlanDefinitionActionDynamicValueComponent(String name, PlanDefinition.PlanDefinitionActionDynamicValueComponent element) throws IOException { 45819 if (element != null) { 45820 composeElementAttributes(element); 45821 xml.enter(FHIR_NS, name); 45822 composePlanDefinitionActionDynamicValueComponentElements(element); 45823 composeElementClose(element); 45824 xml.exit(FHIR_NS, name); 45825 } 45826 } 45827 45828 protected void composePlanDefinitionActionDynamicValueComponentElements(PlanDefinition.PlanDefinitionActionDynamicValueComponent element) throws IOException { 45829 composeBackboneElementElements(element); 45830 if (element.hasPathElement()) { 45831 composeString("path", element.getPathElement()); 45832 } 45833 if (element.hasExpression()) { 45834 composeExpression("expression", element.getExpression()); 45835 } 45836 } 45837 45838 protected void composePractitioner(String name, Practitioner element) throws IOException { 45839 if (element != null) { 45840 composeResourceAttributes(element); 45841 xml.enter(FHIR_NS, name); 45842 composePractitionerElements(element); 45843 composeElementClose(element); 45844 xml.exit(FHIR_NS, name); 45845 } 45846 } 45847 45848 protected void composePractitionerElements(Practitioner element) throws IOException { 45849 composeDomainResourceElements(element); 45850 if (element.hasIdentifier()) { 45851 for (Identifier e : element.getIdentifier()) 45852 composeIdentifier("identifier", e); 45853 } 45854 if (element.hasActiveElement()) { 45855 composeBoolean("active", element.getActiveElement()); 45856 } 45857 if (element.hasName()) { 45858 for (HumanName e : element.getName()) 45859 composeHumanName("name", e); 45860 } 45861 if (element.hasTelecom()) { 45862 for (ContactPoint e : element.getTelecom()) 45863 composeContactPoint("telecom", e); 45864 } 45865 if (element.hasAddress()) { 45866 for (Address e : element.getAddress()) 45867 composeAddress("address", e); 45868 } 45869 if (element.hasGenderElement()) 45870 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 45871 if (element.hasBirthDateElement()) { 45872 composeDate("birthDate", element.getBirthDateElement()); 45873 } 45874 if (element.hasPhoto()) { 45875 for (Attachment e : element.getPhoto()) 45876 composeAttachment("photo", e); 45877 } 45878 if (element.hasQualification()) { 45879 for (Practitioner.PractitionerQualificationComponent e : element.getQualification()) 45880 composePractitionerQualificationComponent("qualification", e); 45881 } 45882 if (element.hasCommunication()) { 45883 for (CodeableConcept e : element.getCommunication()) 45884 composeCodeableConcept("communication", e); 45885 } 45886 } 45887 45888 protected void composePractitionerQualificationComponent(String name, Practitioner.PractitionerQualificationComponent element) throws IOException { 45889 if (element != null) { 45890 composeElementAttributes(element); 45891 xml.enter(FHIR_NS, name); 45892 composePractitionerQualificationComponentElements(element); 45893 composeElementClose(element); 45894 xml.exit(FHIR_NS, name); 45895 } 45896 } 45897 45898 protected void composePractitionerQualificationComponentElements(Practitioner.PractitionerQualificationComponent element) throws IOException { 45899 composeBackboneElementElements(element); 45900 if (element.hasIdentifier()) { 45901 for (Identifier e : element.getIdentifier()) 45902 composeIdentifier("identifier", e); 45903 } 45904 if (element.hasCode()) { 45905 composeCodeableConcept("code", element.getCode()); 45906 } 45907 if (element.hasPeriod()) { 45908 composePeriod("period", element.getPeriod()); 45909 } 45910 if (element.hasIssuer()) { 45911 composeReference("issuer", element.getIssuer()); 45912 } 45913 } 45914 45915 protected void composePractitionerRole(String name, PractitionerRole element) throws IOException { 45916 if (element != null) { 45917 composeResourceAttributes(element); 45918 xml.enter(FHIR_NS, name); 45919 composePractitionerRoleElements(element); 45920 composeElementClose(element); 45921 xml.exit(FHIR_NS, name); 45922 } 45923 } 45924 45925 protected void composePractitionerRoleElements(PractitionerRole element) throws IOException { 45926 composeDomainResourceElements(element); 45927 if (element.hasIdentifier()) { 45928 for (Identifier e : element.getIdentifier()) 45929 composeIdentifier("identifier", e); 45930 } 45931 if (element.hasActiveElement()) { 45932 composeBoolean("active", element.getActiveElement()); 45933 } 45934 if (element.hasPeriod()) { 45935 composePeriod("period", element.getPeriod()); 45936 } 45937 if (element.hasPractitioner()) { 45938 composeReference("practitioner", element.getPractitioner()); 45939 } 45940 if (element.hasOrganization()) { 45941 composeReference("organization", element.getOrganization()); 45942 } 45943 if (element.hasCode()) { 45944 for (CodeableConcept e : element.getCode()) 45945 composeCodeableConcept("code", e); 45946 } 45947 if (element.hasSpecialty()) { 45948 for (CodeableConcept e : element.getSpecialty()) 45949 composeCodeableConcept("specialty", e); 45950 } 45951 if (element.hasLocation()) { 45952 for (Reference e : element.getLocation()) 45953 composeReference("location", e); 45954 } 45955 if (element.hasHealthcareService()) { 45956 for (Reference e : element.getHealthcareService()) 45957 composeReference("healthcareService", e); 45958 } 45959 if (element.hasTelecom()) { 45960 for (ContactPoint e : element.getTelecom()) 45961 composeContactPoint("telecom", e); 45962 } 45963 if (element.hasAvailableTime()) { 45964 for (PractitionerRole.PractitionerRoleAvailableTimeComponent e : element.getAvailableTime()) 45965 composePractitionerRoleAvailableTimeComponent("availableTime", e); 45966 } 45967 if (element.hasNotAvailable()) { 45968 for (PractitionerRole.PractitionerRoleNotAvailableComponent e : element.getNotAvailable()) 45969 composePractitionerRoleNotAvailableComponent("notAvailable", e); 45970 } 45971 if (element.hasAvailabilityExceptionsElement()) { 45972 composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); 45973 } 45974 if (element.hasEndpoint()) { 45975 for (Reference e : element.getEndpoint()) 45976 composeReference("endpoint", e); 45977 } 45978 } 45979 45980 protected void composePractitionerRoleAvailableTimeComponent(String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { 45981 if (element != null) { 45982 composeElementAttributes(element); 45983 xml.enter(FHIR_NS, name); 45984 composePractitionerRoleAvailableTimeComponentElements(element); 45985 composeElementClose(element); 45986 xml.exit(FHIR_NS, name); 45987 } 45988 } 45989 45990 protected void composePractitionerRoleAvailableTimeComponentElements(PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { 45991 composeBackboneElementElements(element); 45992 if (element.hasDaysOfWeek()) 45993 for (Enumeration<Enumerations.DaysOfWeek> e : element.getDaysOfWeek()) 45994 composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); 45995 if (element.hasAllDayElement()) { 45996 composeBoolean("allDay", element.getAllDayElement()); 45997 } 45998 if (element.hasAvailableStartTimeElement()) { 45999 composeTime("availableStartTime", element.getAvailableStartTimeElement()); 46000 } 46001 if (element.hasAvailableEndTimeElement()) { 46002 composeTime("availableEndTime", element.getAvailableEndTimeElement()); 46003 } 46004 } 46005 46006 protected void composePractitionerRoleNotAvailableComponent(String name, PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { 46007 if (element != null) { 46008 composeElementAttributes(element); 46009 xml.enter(FHIR_NS, name); 46010 composePractitionerRoleNotAvailableComponentElements(element); 46011 composeElementClose(element); 46012 xml.exit(FHIR_NS, name); 46013 } 46014 } 46015 46016 protected void composePractitionerRoleNotAvailableComponentElements(PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { 46017 composeBackboneElementElements(element); 46018 if (element.hasDescriptionElement()) { 46019 composeString("description", element.getDescriptionElement()); 46020 } 46021 if (element.hasDuring()) { 46022 composePeriod("during", element.getDuring()); 46023 } 46024 } 46025 46026 protected void composeProcedure(String name, Procedure element) throws IOException { 46027 if (element != null) { 46028 composeResourceAttributes(element); 46029 xml.enter(FHIR_NS, name); 46030 composeProcedureElements(element); 46031 composeElementClose(element); 46032 xml.exit(FHIR_NS, name); 46033 } 46034 } 46035 46036 protected void composeProcedureElements(Procedure element) throws IOException { 46037 composeDomainResourceElements(element); 46038 if (element.hasIdentifier()) { 46039 for (Identifier e : element.getIdentifier()) 46040 composeIdentifier("identifier", e); 46041 } 46042 if (element.hasInstantiatesCanonical()) { 46043 for (CanonicalType e : element.getInstantiatesCanonical()) 46044 composeCanonical("instantiatesCanonical", e); 46045 } 46046 if (element.hasInstantiatesUri()) { 46047 for (UriType e : element.getInstantiatesUri()) 46048 composeUri("instantiatesUri", e); 46049 } 46050 if (element.hasBasedOn()) { 46051 for (Reference e : element.getBasedOn()) 46052 composeReference("basedOn", e); 46053 } 46054 if (element.hasPartOf()) { 46055 for (Reference e : element.getPartOf()) 46056 composeReference("partOf", e); 46057 } 46058 if (element.hasStatusElement()) 46059 composeEnumeration("status", element.getStatusElement(), new Enumerations.EventStatusEnumFactory()); 46060 if (element.hasStatusReason()) { 46061 composeCodeableConcept("statusReason", element.getStatusReason()); 46062 } 46063 if (element.hasCategory()) { 46064 composeCodeableConcept("category", element.getCategory()); 46065 } 46066 if (element.hasCode()) { 46067 composeCodeableConcept("code", element.getCode()); 46068 } 46069 if (element.hasSubject()) { 46070 composeReference("subject", element.getSubject()); 46071 } 46072 if (element.hasEncounter()) { 46073 composeReference("encounter", element.getEncounter()); 46074 } 46075 if (element.hasPerformed()) { 46076 composeType("performed", element.getPerformed()); 46077 } if (element.hasRecorder()) { 46078 composeReference("recorder", element.getRecorder()); 46079 } 46080 if (element.hasAsserter()) { 46081 composeReference("asserter", element.getAsserter()); 46082 } 46083 if (element.hasPerformer()) { 46084 for (Procedure.ProcedurePerformerComponent e : element.getPerformer()) 46085 composeProcedurePerformerComponent("performer", e); 46086 } 46087 if (element.hasLocation()) { 46088 composeReference("location", element.getLocation()); 46089 } 46090 if (element.hasReasonCode()) { 46091 for (CodeableConcept e : element.getReasonCode()) 46092 composeCodeableConcept("reasonCode", e); 46093 } 46094 if (element.hasReasonReference()) { 46095 for (Reference e : element.getReasonReference()) 46096 composeReference("reasonReference", e); 46097 } 46098 if (element.hasBodySite()) { 46099 for (CodeableConcept e : element.getBodySite()) 46100 composeCodeableConcept("bodySite", e); 46101 } 46102 if (element.hasOutcome()) { 46103 composeCodeableConcept("outcome", element.getOutcome()); 46104 } 46105 if (element.hasReport()) { 46106 for (Reference e : element.getReport()) 46107 composeReference("report", e); 46108 } 46109 if (element.hasComplication()) { 46110 for (CodeableConcept e : element.getComplication()) 46111 composeCodeableConcept("complication", e); 46112 } 46113 if (element.hasComplicationDetail()) { 46114 for (Reference e : element.getComplicationDetail()) 46115 composeReference("complicationDetail", e); 46116 } 46117 if (element.hasFollowUp()) { 46118 for (CodeableConcept e : element.getFollowUp()) 46119 composeCodeableConcept("followUp", e); 46120 } 46121 if (element.hasNote()) { 46122 for (Annotation e : element.getNote()) 46123 composeAnnotation("note", e); 46124 } 46125 if (element.hasFocalDevice()) { 46126 for (Procedure.ProcedureFocalDeviceComponent e : element.getFocalDevice()) 46127 composeProcedureFocalDeviceComponent("focalDevice", e); 46128 } 46129 if (element.hasUsedReference()) { 46130 for (Reference e : element.getUsedReference()) 46131 composeReference("usedReference", e); 46132 } 46133 if (element.hasUsedCode()) { 46134 for (CodeableConcept e : element.getUsedCode()) 46135 composeCodeableConcept("usedCode", e); 46136 } 46137 } 46138 46139 protected void composeProcedurePerformerComponent(String name, Procedure.ProcedurePerformerComponent element) throws IOException { 46140 if (element != null) { 46141 composeElementAttributes(element); 46142 xml.enter(FHIR_NS, name); 46143 composeProcedurePerformerComponentElements(element); 46144 composeElementClose(element); 46145 xml.exit(FHIR_NS, name); 46146 } 46147 } 46148 46149 protected void composeProcedurePerformerComponentElements(Procedure.ProcedurePerformerComponent element) throws IOException { 46150 composeBackboneElementElements(element); 46151 if (element.hasFunction()) { 46152 composeCodeableConcept("function", element.getFunction()); 46153 } 46154 if (element.hasActor()) { 46155 composeReference("actor", element.getActor()); 46156 } 46157 if (element.hasOnBehalfOf()) { 46158 composeReference("onBehalfOf", element.getOnBehalfOf()); 46159 } 46160 } 46161 46162 protected void composeProcedureFocalDeviceComponent(String name, Procedure.ProcedureFocalDeviceComponent element) throws IOException { 46163 if (element != null) { 46164 composeElementAttributes(element); 46165 xml.enter(FHIR_NS, name); 46166 composeProcedureFocalDeviceComponentElements(element); 46167 composeElementClose(element); 46168 xml.exit(FHIR_NS, name); 46169 } 46170 } 46171 46172 protected void composeProcedureFocalDeviceComponentElements(Procedure.ProcedureFocalDeviceComponent element) throws IOException { 46173 composeBackboneElementElements(element); 46174 if (element.hasAction()) { 46175 composeCodeableConcept("action", element.getAction()); 46176 } 46177 if (element.hasManipulated()) { 46178 composeReference("manipulated", element.getManipulated()); 46179 } 46180 } 46181 46182 protected void composeProvenance(String name, Provenance element) throws IOException { 46183 if (element != null) { 46184 composeResourceAttributes(element); 46185 xml.enter(FHIR_NS, name); 46186 composeProvenanceElements(element); 46187 composeElementClose(element); 46188 xml.exit(FHIR_NS, name); 46189 } 46190 } 46191 46192 protected void composeProvenanceElements(Provenance element) throws IOException { 46193 composeDomainResourceElements(element); 46194 if (element.hasTarget()) { 46195 for (Reference e : element.getTarget()) 46196 composeReference("target", e); 46197 } 46198 if (element.hasOccurred()) { 46199 composeType("occurred", element.getOccurred()); 46200 } if (element.hasRecordedElement()) { 46201 composeInstant("recorded", element.getRecordedElement()); 46202 } 46203 if (element.hasPolicy()) { 46204 for (UriType e : element.getPolicy()) 46205 composeUri("policy", e); 46206 } 46207 if (element.hasLocation()) { 46208 composeReference("location", element.getLocation()); 46209 } 46210 if (element.hasReason()) { 46211 for (CodeableConcept e : element.getReason()) 46212 composeCodeableConcept("reason", e); 46213 } 46214 if (element.hasActivity()) { 46215 composeCodeableConcept("activity", element.getActivity()); 46216 } 46217 if (element.hasAgent()) { 46218 for (Provenance.ProvenanceAgentComponent e : element.getAgent()) 46219 composeProvenanceAgentComponent("agent", e); 46220 } 46221 if (element.hasEntity()) { 46222 for (Provenance.ProvenanceEntityComponent e : element.getEntity()) 46223 composeProvenanceEntityComponent("entity", e); 46224 } 46225 if (element.hasSignature()) { 46226 for (Signature e : element.getSignature()) 46227 composeSignature("signature", e); 46228 } 46229 } 46230 46231 protected void composeProvenanceAgentComponent(String name, Provenance.ProvenanceAgentComponent element) throws IOException { 46232 if (element != null) { 46233 composeElementAttributes(element); 46234 xml.enter(FHIR_NS, name); 46235 composeProvenanceAgentComponentElements(element); 46236 composeElementClose(element); 46237 xml.exit(FHIR_NS, name); 46238 } 46239 } 46240 46241 protected void composeProvenanceAgentComponentElements(Provenance.ProvenanceAgentComponent element) throws IOException { 46242 composeBackboneElementElements(element); 46243 if (element.hasType()) { 46244 composeCodeableConcept("type", element.getType()); 46245 } 46246 if (element.hasRole()) { 46247 for (CodeableConcept e : element.getRole()) 46248 composeCodeableConcept("role", e); 46249 } 46250 if (element.hasWho()) { 46251 composeReference("who", element.getWho()); 46252 } 46253 if (element.hasOnBehalfOf()) { 46254 composeReference("onBehalfOf", element.getOnBehalfOf()); 46255 } 46256 } 46257 46258 protected void composeProvenanceEntityComponent(String name, Provenance.ProvenanceEntityComponent element) throws IOException { 46259 if (element != null) { 46260 composeElementAttributes(element); 46261 xml.enter(FHIR_NS, name); 46262 composeProvenanceEntityComponentElements(element); 46263 composeElementClose(element); 46264 xml.exit(FHIR_NS, name); 46265 } 46266 } 46267 46268 protected void composeProvenanceEntityComponentElements(Provenance.ProvenanceEntityComponent element) throws IOException { 46269 composeBackboneElementElements(element); 46270 if (element.hasRoleElement()) 46271 composeEnumeration("role", element.getRoleElement(), new Provenance.ProvenanceEntityRoleEnumFactory()); 46272 if (element.hasWhat()) { 46273 composeReference("what", element.getWhat()); 46274 } 46275 if (element.hasAgent()) { 46276 for (Provenance.ProvenanceAgentComponent e : element.getAgent()) 46277 composeProvenanceAgentComponent("agent", e); 46278 } 46279 } 46280 46281 protected void composeQuestionnaire(String name, Questionnaire element) throws IOException { 46282 if (element != null) { 46283 composeResourceAttributes(element); 46284 xml.enter(FHIR_NS, name); 46285 composeQuestionnaireElements(element); 46286 composeElementClose(element); 46287 xml.exit(FHIR_NS, name); 46288 } 46289 } 46290 46291 protected void composeQuestionnaireElements(Questionnaire element) throws IOException { 46292 composeDomainResourceElements(element); 46293 if (element.hasUrlElement()) { 46294 composeUri("url", element.getUrlElement()); 46295 } 46296 if (element.hasIdentifier()) { 46297 for (Identifier e : element.getIdentifier()) 46298 composeIdentifier("identifier", e); 46299 } 46300 if (element.hasVersionElement()) { 46301 composeString("version", element.getVersionElement()); 46302 } 46303 if (element.hasNameElement()) { 46304 composeString("name", element.getNameElement()); 46305 } 46306 if (element.hasTitleElement()) { 46307 composeString("title", element.getTitleElement()); 46308 } 46309 if (element.hasDerivedFrom()) { 46310 for (CanonicalType e : element.getDerivedFrom()) 46311 composeCanonical("derivedFrom", e); 46312 } 46313 if (element.hasStatusElement()) 46314 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 46315 if (element.hasExperimentalElement()) { 46316 composeBoolean("experimental", element.getExperimentalElement()); 46317 } 46318 if (element.hasSubjectType()) { 46319 for (CodeType e : element.getSubjectType()) 46320 composeCode("subjectType", e); 46321 } 46322 if (element.hasDateElement()) { 46323 composeDateTime("date", element.getDateElement()); 46324 } 46325 if (element.hasPublisherElement()) { 46326 composeString("publisher", element.getPublisherElement()); 46327 } 46328 if (element.hasContact()) { 46329 for (ContactDetail e : element.getContact()) 46330 composeContactDetail("contact", e); 46331 } 46332 if (element.hasDescriptionElement()) { 46333 composeMarkdown("description", element.getDescriptionElement()); 46334 } 46335 if (element.hasUseContext()) { 46336 for (UsageContext e : element.getUseContext()) 46337 composeUsageContext("useContext", e); 46338 } 46339 if (element.hasJurisdiction()) { 46340 for (CodeableConcept e : element.getJurisdiction()) 46341 composeCodeableConcept("jurisdiction", e); 46342 } 46343 if (element.hasPurposeElement()) { 46344 composeMarkdown("purpose", element.getPurposeElement()); 46345 } 46346 if (element.hasCopyrightElement()) { 46347 composeMarkdown("copyright", element.getCopyrightElement()); 46348 } 46349 if (element.hasApprovalDateElement()) { 46350 composeDate("approvalDate", element.getApprovalDateElement()); 46351 } 46352 if (element.hasLastReviewDateElement()) { 46353 composeDate("lastReviewDate", element.getLastReviewDateElement()); 46354 } 46355 if (element.hasEffectivePeriod()) { 46356 composePeriod("effectivePeriod", element.getEffectivePeriod()); 46357 } 46358 if (element.hasCode()) { 46359 for (Coding e : element.getCode()) 46360 composeCoding("code", e); 46361 } 46362 if (element.hasItem()) { 46363 for (Questionnaire.QuestionnaireItemComponent e : element.getItem()) 46364 composeQuestionnaireItemComponent("item", e); 46365 } 46366 } 46367 46368 protected void composeQuestionnaireItemComponent(String name, Questionnaire.QuestionnaireItemComponent element) throws IOException { 46369 if (element != null) { 46370 composeElementAttributes(element); 46371 xml.enter(FHIR_NS, name); 46372 composeQuestionnaireItemComponentElements(element); 46373 composeElementClose(element); 46374 xml.exit(FHIR_NS, name); 46375 } 46376 } 46377 46378 protected void composeQuestionnaireItemComponentElements(Questionnaire.QuestionnaireItemComponent element) throws IOException { 46379 composeBackboneElementElements(element); 46380 if (element.hasLinkIdElement()) { 46381 composeString("linkId", element.getLinkIdElement()); 46382 } 46383 if (element.hasDefinitionElement()) { 46384 composeUri("definition", element.getDefinitionElement()); 46385 } 46386 if (element.hasCode()) { 46387 for (Coding e : element.getCode()) 46388 composeCoding("code", e); 46389 } 46390 if (element.hasPrefixElement()) { 46391 composeString("prefix", element.getPrefixElement()); 46392 } 46393 if (element.hasTextElement()) { 46394 composeString("text", element.getTextElement()); 46395 } 46396 if (element.hasTypeElement()) 46397 composeEnumeration("type", element.getTypeElement(), new Questionnaire.QuestionnaireItemTypeEnumFactory()); 46398 if (element.hasEnableWhen()) { 46399 for (Questionnaire.QuestionnaireItemEnableWhenComponent e : element.getEnableWhen()) 46400 composeQuestionnaireItemEnableWhenComponent("enableWhen", e); 46401 } 46402 if (element.hasEnableBehaviorElement()) 46403 composeEnumeration("enableBehavior", element.getEnableBehaviorElement(), new Questionnaire.EnableWhenBehaviorEnumFactory()); 46404 if (element.hasRequiredElement()) { 46405 composeBoolean("required", element.getRequiredElement()); 46406 } 46407 if (element.hasRepeatsElement()) { 46408 composeBoolean("repeats", element.getRepeatsElement()); 46409 } 46410 if (element.hasReadOnlyElement()) { 46411 composeBoolean("readOnly", element.getReadOnlyElement()); 46412 } 46413 if (element.hasMaxLengthElement()) { 46414 composeInteger("maxLength", element.getMaxLengthElement()); 46415 } 46416 if (element.hasAnswerValueSetElement()) { 46417 composeCanonical("answerValueSet", element.getAnswerValueSetElement()); 46418 } 46419 if (element.hasAnswerOption()) { 46420 for (Questionnaire.QuestionnaireItemAnswerOptionComponent e : element.getAnswerOption()) 46421 composeQuestionnaireItemAnswerOptionComponent("answerOption", e); 46422 } 46423 if (element.hasInitial()) { 46424 for (Questionnaire.QuestionnaireItemInitialComponent e : element.getInitial()) 46425 composeQuestionnaireItemInitialComponent("initial", e); 46426 } 46427 if (element.hasItem()) { 46428 for (Questionnaire.QuestionnaireItemComponent e : element.getItem()) 46429 composeQuestionnaireItemComponent("item", e); 46430 } 46431 } 46432 46433 protected void composeQuestionnaireItemEnableWhenComponent(String name, Questionnaire.QuestionnaireItemEnableWhenComponent element) throws IOException { 46434 if (element != null) { 46435 composeElementAttributes(element); 46436 xml.enter(FHIR_NS, name); 46437 composeQuestionnaireItemEnableWhenComponentElements(element); 46438 composeElementClose(element); 46439 xml.exit(FHIR_NS, name); 46440 } 46441 } 46442 46443 protected void composeQuestionnaireItemEnableWhenComponentElements(Questionnaire.QuestionnaireItemEnableWhenComponent element) throws IOException { 46444 composeBackboneElementElements(element); 46445 if (element.hasQuestionElement()) { 46446 composeString("question", element.getQuestionElement()); 46447 } 46448 if (element.hasOperatorElement()) 46449 composeEnumeration("operator", element.getOperatorElement(), new Questionnaire.QuestionnaireItemOperatorEnumFactory()); 46450 if (element.hasAnswer()) { 46451 composeType("answer", element.getAnswer()); 46452 } } 46453 46454 protected void composeQuestionnaireItemAnswerOptionComponent(String name, Questionnaire.QuestionnaireItemAnswerOptionComponent element) throws IOException { 46455 if (element != null) { 46456 composeElementAttributes(element); 46457 xml.enter(FHIR_NS, name); 46458 composeQuestionnaireItemAnswerOptionComponentElements(element); 46459 composeElementClose(element); 46460 xml.exit(FHIR_NS, name); 46461 } 46462 } 46463 46464 protected void composeQuestionnaireItemAnswerOptionComponentElements(Questionnaire.QuestionnaireItemAnswerOptionComponent element) throws IOException { 46465 composeBackboneElementElements(element); 46466 if (element.hasValue()) { 46467 composeType("value", element.getValue()); 46468 } if (element.hasInitialSelectedElement()) { 46469 composeBoolean("initialSelected", element.getInitialSelectedElement()); 46470 } 46471 } 46472 46473 protected void composeQuestionnaireItemInitialComponent(String name, Questionnaire.QuestionnaireItemInitialComponent element) throws IOException { 46474 if (element != null) { 46475 composeElementAttributes(element); 46476 xml.enter(FHIR_NS, name); 46477 composeQuestionnaireItemInitialComponentElements(element); 46478 composeElementClose(element); 46479 xml.exit(FHIR_NS, name); 46480 } 46481 } 46482 46483 protected void composeQuestionnaireItemInitialComponentElements(Questionnaire.QuestionnaireItemInitialComponent element) throws IOException { 46484 composeBackboneElementElements(element); 46485 if (element.hasValue()) { 46486 composeType("value", element.getValue()); 46487 } } 46488 46489 protected void composeQuestionnaireResponse(String name, QuestionnaireResponse element) throws IOException { 46490 if (element != null) { 46491 composeResourceAttributes(element); 46492 xml.enter(FHIR_NS, name); 46493 composeQuestionnaireResponseElements(element); 46494 composeElementClose(element); 46495 xml.exit(FHIR_NS, name); 46496 } 46497 } 46498 46499 protected void composeQuestionnaireResponseElements(QuestionnaireResponse element) throws IOException { 46500 composeDomainResourceElements(element); 46501 if (element.hasIdentifier()) { 46502 composeIdentifier("identifier", element.getIdentifier()); 46503 } 46504 if (element.hasBasedOn()) { 46505 for (Reference e : element.getBasedOn()) 46506 composeReference("basedOn", e); 46507 } 46508 if (element.hasPartOf()) { 46509 for (Reference e : element.getPartOf()) 46510 composeReference("partOf", e); 46511 } 46512 if (element.hasQuestionnaireElement()) { 46513 composeCanonical("questionnaire", element.getQuestionnaireElement()); 46514 } 46515 if (element.hasStatusElement()) 46516 composeEnumeration("status", element.getStatusElement(), new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory()); 46517 if (element.hasSubject()) { 46518 composeReference("subject", element.getSubject()); 46519 } 46520 if (element.hasEncounter()) { 46521 composeReference("encounter", element.getEncounter()); 46522 } 46523 if (element.hasAuthoredElement()) { 46524 composeDateTime("authored", element.getAuthoredElement()); 46525 } 46526 if (element.hasAuthor()) { 46527 composeReference("author", element.getAuthor()); 46528 } 46529 if (element.hasSource()) { 46530 composeReference("source", element.getSource()); 46531 } 46532 if (element.hasItem()) { 46533 for (QuestionnaireResponse.QuestionnaireResponseItemComponent e : element.getItem()) 46534 composeQuestionnaireResponseItemComponent("item", e); 46535 } 46536 } 46537 46538 protected void composeQuestionnaireResponseItemComponent(String name, QuestionnaireResponse.QuestionnaireResponseItemComponent element) throws IOException { 46539 if (element != null) { 46540 composeElementAttributes(element); 46541 xml.enter(FHIR_NS, name); 46542 composeQuestionnaireResponseItemComponentElements(element); 46543 composeElementClose(element); 46544 xml.exit(FHIR_NS, name); 46545 } 46546 } 46547 46548 protected void composeQuestionnaireResponseItemComponentElements(QuestionnaireResponse.QuestionnaireResponseItemComponent element) throws IOException { 46549 composeBackboneElementElements(element); 46550 if (element.hasLinkIdElement()) { 46551 composeString("linkId", element.getLinkIdElement()); 46552 } 46553 if (element.hasDefinitionElement()) { 46554 composeUri("definition", element.getDefinitionElement()); 46555 } 46556 if (element.hasTextElement()) { 46557 composeString("text", element.getTextElement()); 46558 } 46559 if (element.hasAnswer()) { 46560 for (QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent e : element.getAnswer()) 46561 composeQuestionnaireResponseItemAnswerComponent("answer", e); 46562 } 46563 if (element.hasItem()) { 46564 for (QuestionnaireResponse.QuestionnaireResponseItemComponent e : element.getItem()) 46565 composeQuestionnaireResponseItemComponent("item", e); 46566 } 46567 } 46568 46569 protected void composeQuestionnaireResponseItemAnswerComponent(String name, QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent element) throws IOException { 46570 if (element != null) { 46571 composeElementAttributes(element); 46572 xml.enter(FHIR_NS, name); 46573 composeQuestionnaireResponseItemAnswerComponentElements(element); 46574 composeElementClose(element); 46575 xml.exit(FHIR_NS, name); 46576 } 46577 } 46578 46579 protected void composeQuestionnaireResponseItemAnswerComponentElements(QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent element) throws IOException { 46580 composeBackboneElementElements(element); 46581 if (element.hasValue()) { 46582 composeType("value", element.getValue()); 46583 } if (element.hasItem()) { 46584 for (QuestionnaireResponse.QuestionnaireResponseItemComponent e : element.getItem()) 46585 composeQuestionnaireResponseItemComponent("item", e); 46586 } 46587 } 46588 46589 protected void composeRegulatedAuthorization(String name, RegulatedAuthorization element) throws IOException { 46590 if (element != null) { 46591 composeResourceAttributes(element); 46592 xml.enter(FHIR_NS, name); 46593 composeRegulatedAuthorizationElements(element); 46594 composeElementClose(element); 46595 xml.exit(FHIR_NS, name); 46596 } 46597 } 46598 46599 protected void composeRegulatedAuthorizationElements(RegulatedAuthorization element) throws IOException { 46600 composeDomainResourceElements(element); 46601 if (element.hasIdentifier()) { 46602 for (Identifier e : element.getIdentifier()) 46603 composeIdentifier("identifier", e); 46604 } 46605 if (element.hasSubject()) { 46606 for (Reference e : element.getSubject()) 46607 composeReference("subject", e); 46608 } 46609 if (element.hasType()) { 46610 composeCodeableConcept("type", element.getType()); 46611 } 46612 if (element.hasDescriptionElement()) { 46613 composeMarkdown("description", element.getDescriptionElement()); 46614 } 46615 if (element.hasRegion()) { 46616 for (CodeableConcept e : element.getRegion()) 46617 composeCodeableConcept("region", e); 46618 } 46619 if (element.hasStatus()) { 46620 composeCodeableConcept("status", element.getStatus()); 46621 } 46622 if (element.hasStatusDateElement()) { 46623 composeDateTime("statusDate", element.getStatusDateElement()); 46624 } 46625 if (element.hasValidityPeriod()) { 46626 composePeriod("validityPeriod", element.getValidityPeriod()); 46627 } 46628 if (element.hasIndication()) { 46629 composeCodeableReference("indication", element.getIndication()); 46630 } 46631 if (element.hasIntendedUse()) { 46632 composeCodeableConcept("intendedUse", element.getIntendedUse()); 46633 } 46634 if (element.hasBasis()) { 46635 for (CodeableConcept e : element.getBasis()) 46636 composeCodeableConcept("basis", e); 46637 } 46638 if (element.hasHolder()) { 46639 composeReference("holder", element.getHolder()); 46640 } 46641 if (element.hasRegulator()) { 46642 composeReference("regulator", element.getRegulator()); 46643 } 46644 if (element.hasCase()) { 46645 composeRegulatedAuthorizationCaseComponent("case", element.getCase()); 46646 } 46647 } 46648 46649 protected void composeRegulatedAuthorizationCaseComponent(String name, RegulatedAuthorization.RegulatedAuthorizationCaseComponent element) throws IOException { 46650 if (element != null) { 46651 composeElementAttributes(element); 46652 xml.enter(FHIR_NS, name); 46653 composeRegulatedAuthorizationCaseComponentElements(element); 46654 composeElementClose(element); 46655 xml.exit(FHIR_NS, name); 46656 } 46657 } 46658 46659 protected void composeRegulatedAuthorizationCaseComponentElements(RegulatedAuthorization.RegulatedAuthorizationCaseComponent element) throws IOException { 46660 composeBackboneElementElements(element); 46661 if (element.hasIdentifier()) { 46662 composeIdentifier("identifier", element.getIdentifier()); 46663 } 46664 if (element.hasType()) { 46665 composeCodeableConcept("type", element.getType()); 46666 } 46667 if (element.hasStatus()) { 46668 composeCodeableConcept("status", element.getStatus()); 46669 } 46670 if (element.hasDate()) { 46671 composeType("date", element.getDate()); 46672 } if (element.hasApplication()) { 46673 for (RegulatedAuthorization.RegulatedAuthorizationCaseComponent e : element.getApplication()) 46674 composeRegulatedAuthorizationCaseComponent("application", e); 46675 } 46676 } 46677 46678 protected void composeRelatedPerson(String name, RelatedPerson element) throws IOException { 46679 if (element != null) { 46680 composeResourceAttributes(element); 46681 xml.enter(FHIR_NS, name); 46682 composeRelatedPersonElements(element); 46683 composeElementClose(element); 46684 xml.exit(FHIR_NS, name); 46685 } 46686 } 46687 46688 protected void composeRelatedPersonElements(RelatedPerson element) throws IOException { 46689 composeDomainResourceElements(element); 46690 if (element.hasIdentifier()) { 46691 for (Identifier e : element.getIdentifier()) 46692 composeIdentifier("identifier", e); 46693 } 46694 if (element.hasActiveElement()) { 46695 composeBoolean("active", element.getActiveElement()); 46696 } 46697 if (element.hasPatient()) { 46698 composeReference("patient", element.getPatient()); 46699 } 46700 if (element.hasRelationship()) { 46701 for (CodeableConcept e : element.getRelationship()) 46702 composeCodeableConcept("relationship", e); 46703 } 46704 if (element.hasName()) { 46705 for (HumanName e : element.getName()) 46706 composeHumanName("name", e); 46707 } 46708 if (element.hasTelecom()) { 46709 for (ContactPoint e : element.getTelecom()) 46710 composeContactPoint("telecom", e); 46711 } 46712 if (element.hasGenderElement()) 46713 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 46714 if (element.hasBirthDateElement()) { 46715 composeDate("birthDate", element.getBirthDateElement()); 46716 } 46717 if (element.hasAddress()) { 46718 for (Address e : element.getAddress()) 46719 composeAddress("address", e); 46720 } 46721 if (element.hasPhoto()) { 46722 for (Attachment e : element.getPhoto()) 46723 composeAttachment("photo", e); 46724 } 46725 if (element.hasPeriod()) { 46726 composePeriod("period", element.getPeriod()); 46727 } 46728 if (element.hasCommunication()) { 46729 for (RelatedPerson.RelatedPersonCommunicationComponent e : element.getCommunication()) 46730 composeRelatedPersonCommunicationComponent("communication", e); 46731 } 46732 } 46733 46734 protected void composeRelatedPersonCommunicationComponent(String name, RelatedPerson.RelatedPersonCommunicationComponent element) throws IOException { 46735 if (element != null) { 46736 composeElementAttributes(element); 46737 xml.enter(FHIR_NS, name); 46738 composeRelatedPersonCommunicationComponentElements(element); 46739 composeElementClose(element); 46740 xml.exit(FHIR_NS, name); 46741 } 46742 } 46743 46744 protected void composeRelatedPersonCommunicationComponentElements(RelatedPerson.RelatedPersonCommunicationComponent element) throws IOException { 46745 composeBackboneElementElements(element); 46746 if (element.hasLanguage()) { 46747 composeCodeableConcept("language", element.getLanguage()); 46748 } 46749 if (element.hasPreferredElement()) { 46750 composeBoolean("preferred", element.getPreferredElement()); 46751 } 46752 } 46753 46754 protected void composeRequestGroup(String name, RequestGroup element) throws IOException { 46755 if (element != null) { 46756 composeResourceAttributes(element); 46757 xml.enter(FHIR_NS, name); 46758 composeRequestGroupElements(element); 46759 composeElementClose(element); 46760 xml.exit(FHIR_NS, name); 46761 } 46762 } 46763 46764 protected void composeRequestGroupElements(RequestGroup element) throws IOException { 46765 composeDomainResourceElements(element); 46766 if (element.hasIdentifier()) { 46767 for (Identifier e : element.getIdentifier()) 46768 composeIdentifier("identifier", e); 46769 } 46770 if (element.hasInstantiatesCanonical()) { 46771 for (CanonicalType e : element.getInstantiatesCanonical()) 46772 composeCanonical("instantiatesCanonical", e); 46773 } 46774 if (element.hasInstantiatesUri()) { 46775 for (UriType e : element.getInstantiatesUri()) 46776 composeUri("instantiatesUri", e); 46777 } 46778 if (element.hasBasedOn()) { 46779 for (Reference e : element.getBasedOn()) 46780 composeReference("basedOn", e); 46781 } 46782 if (element.hasReplaces()) { 46783 for (Reference e : element.getReplaces()) 46784 composeReference("replaces", e); 46785 } 46786 if (element.hasGroupIdentifier()) { 46787 composeIdentifier("groupIdentifier", element.getGroupIdentifier()); 46788 } 46789 if (element.hasStatusElement()) 46790 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 46791 if (element.hasIntentElement()) 46792 composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); 46793 if (element.hasPriorityElement()) 46794 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 46795 if (element.hasCode()) { 46796 composeCodeableConcept("code", element.getCode()); 46797 } 46798 if (element.hasSubject()) { 46799 composeReference("subject", element.getSubject()); 46800 } 46801 if (element.hasEncounter()) { 46802 composeReference("encounter", element.getEncounter()); 46803 } 46804 if (element.hasAuthoredOnElement()) { 46805 composeDateTime("authoredOn", element.getAuthoredOnElement()); 46806 } 46807 if (element.hasAuthor()) { 46808 composeReference("author", element.getAuthor()); 46809 } 46810 if (element.hasReasonCode()) { 46811 for (CodeableConcept e : element.getReasonCode()) 46812 composeCodeableConcept("reasonCode", e); 46813 } 46814 if (element.hasReasonReference()) { 46815 for (Reference e : element.getReasonReference()) 46816 composeReference("reasonReference", e); 46817 } 46818 if (element.hasNote()) { 46819 for (Annotation e : element.getNote()) 46820 composeAnnotation("note", e); 46821 } 46822 if (element.hasAction()) { 46823 for (RequestGroup.RequestGroupActionComponent e : element.getAction()) 46824 composeRequestGroupActionComponent("action", e); 46825 } 46826 } 46827 46828 protected void composeRequestGroupActionComponent(String name, RequestGroup.RequestGroupActionComponent element) throws IOException { 46829 if (element != null) { 46830 composeElementAttributes(element); 46831 xml.enter(FHIR_NS, name); 46832 composeRequestGroupActionComponentElements(element); 46833 composeElementClose(element); 46834 xml.exit(FHIR_NS, name); 46835 } 46836 } 46837 46838 protected void composeRequestGroupActionComponentElements(RequestGroup.RequestGroupActionComponent element) throws IOException { 46839 composeBackboneElementElements(element); 46840 if (element.hasPrefixElement()) { 46841 composeString("prefix", element.getPrefixElement()); 46842 } 46843 if (element.hasTitleElement()) { 46844 composeString("title", element.getTitleElement()); 46845 } 46846 if (element.hasDescriptionElement()) { 46847 composeString("description", element.getDescriptionElement()); 46848 } 46849 if (element.hasTextEquivalentElement()) { 46850 composeString("textEquivalent", element.getTextEquivalentElement()); 46851 } 46852 if (element.hasPriorityElement()) 46853 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 46854 if (element.hasCode()) { 46855 for (CodeableConcept e : element.getCode()) 46856 composeCodeableConcept("code", e); 46857 } 46858 if (element.hasDocumentation()) { 46859 for (RelatedArtifact e : element.getDocumentation()) 46860 composeRelatedArtifact("documentation", e); 46861 } 46862 if (element.hasCondition()) { 46863 for (RequestGroup.RequestGroupActionConditionComponent e : element.getCondition()) 46864 composeRequestGroupActionConditionComponent("condition", e); 46865 } 46866 if (element.hasRelatedAction()) { 46867 for (RequestGroup.RequestGroupActionRelatedActionComponent e : element.getRelatedAction()) 46868 composeRequestGroupActionRelatedActionComponent("relatedAction", e); 46869 } 46870 if (element.hasTiming()) { 46871 composeType("timing", element.getTiming()); 46872 } if (element.hasParticipant()) { 46873 for (Reference e : element.getParticipant()) 46874 composeReference("participant", e); 46875 } 46876 if (element.hasType()) { 46877 composeCodeableConcept("type", element.getType()); 46878 } 46879 if (element.hasGroupingBehaviorElement()) 46880 composeEnumeration("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory()); 46881 if (element.hasSelectionBehaviorElement()) 46882 composeEnumeration("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory()); 46883 if (element.hasRequiredBehaviorElement()) 46884 composeEnumeration("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory()); 46885 if (element.hasPrecheckBehaviorElement()) 46886 composeEnumeration("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory()); 46887 if (element.hasCardinalityBehaviorElement()) 46888 composeEnumeration("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory()); 46889 if (element.hasResource()) { 46890 composeReference("resource", element.getResource()); 46891 } 46892 if (element.hasAction()) { 46893 for (RequestGroup.RequestGroupActionComponent e : element.getAction()) 46894 composeRequestGroupActionComponent("action", e); 46895 } 46896 } 46897 46898 protected void composeRequestGroupActionConditionComponent(String name, RequestGroup.RequestGroupActionConditionComponent element) throws IOException { 46899 if (element != null) { 46900 composeElementAttributes(element); 46901 xml.enter(FHIR_NS, name); 46902 composeRequestGroupActionConditionComponentElements(element); 46903 composeElementClose(element); 46904 xml.exit(FHIR_NS, name); 46905 } 46906 } 46907 46908 protected void composeRequestGroupActionConditionComponentElements(RequestGroup.RequestGroupActionConditionComponent element) throws IOException { 46909 composeBackboneElementElements(element); 46910 if (element.hasKindElement()) 46911 composeEnumeration("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory()); 46912 if (element.hasExpression()) { 46913 composeExpression("expression", element.getExpression()); 46914 } 46915 } 46916 46917 protected void composeRequestGroupActionRelatedActionComponent(String name, RequestGroup.RequestGroupActionRelatedActionComponent element) throws IOException { 46918 if (element != null) { 46919 composeElementAttributes(element); 46920 xml.enter(FHIR_NS, name); 46921 composeRequestGroupActionRelatedActionComponentElements(element); 46922 composeElementClose(element); 46923 xml.exit(FHIR_NS, name); 46924 } 46925 } 46926 46927 protected void composeRequestGroupActionRelatedActionComponentElements(RequestGroup.RequestGroupActionRelatedActionComponent element) throws IOException { 46928 composeBackboneElementElements(element); 46929 if (element.hasActionIdElement()) { 46930 composeId("actionId", element.getActionIdElement()); 46931 } 46932 if (element.hasRelationshipElement()) 46933 composeEnumeration("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory()); 46934 if (element.hasOffset()) { 46935 composeType("offset", element.getOffset()); 46936 } } 46937 46938 protected void composeResearchDefinition(String name, ResearchDefinition element) throws IOException { 46939 if (element != null) { 46940 composeResourceAttributes(element); 46941 xml.enter(FHIR_NS, name); 46942 composeResearchDefinitionElements(element); 46943 composeElementClose(element); 46944 xml.exit(FHIR_NS, name); 46945 } 46946 } 46947 46948 protected void composeResearchDefinitionElements(ResearchDefinition element) throws IOException { 46949 composeDomainResourceElements(element); 46950 if (element.hasUrlElement()) { 46951 composeUri("url", element.getUrlElement()); 46952 } 46953 if (element.hasIdentifier()) { 46954 for (Identifier e : element.getIdentifier()) 46955 composeIdentifier("identifier", e); 46956 } 46957 if (element.hasVersionElement()) { 46958 composeString("version", element.getVersionElement()); 46959 } 46960 if (element.hasNameElement()) { 46961 composeString("name", element.getNameElement()); 46962 } 46963 if (element.hasTitleElement()) { 46964 composeString("title", element.getTitleElement()); 46965 } 46966 if (element.hasShortTitleElement()) { 46967 composeString("shortTitle", element.getShortTitleElement()); 46968 } 46969 if (element.hasSubtitleElement()) { 46970 composeString("subtitle", element.getSubtitleElement()); 46971 } 46972 if (element.hasStatusElement()) 46973 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 46974 if (element.hasExperimentalElement()) { 46975 composeBoolean("experimental", element.getExperimentalElement()); 46976 } 46977 if (element.hasSubject()) { 46978 composeType("subject", element.getSubject()); 46979 } if (element.hasDateElement()) { 46980 composeDateTime("date", element.getDateElement()); 46981 } 46982 if (element.hasPublisherElement()) { 46983 composeString("publisher", element.getPublisherElement()); 46984 } 46985 if (element.hasContact()) { 46986 for (ContactDetail e : element.getContact()) 46987 composeContactDetail("contact", e); 46988 } 46989 if (element.hasDescriptionElement()) { 46990 composeMarkdown("description", element.getDescriptionElement()); 46991 } 46992 if (element.hasComment()) { 46993 for (StringType e : element.getComment()) 46994 composeString("comment", e); 46995 } 46996 if (element.hasUseContext()) { 46997 for (UsageContext e : element.getUseContext()) 46998 composeUsageContext("useContext", e); 46999 } 47000 if (element.hasJurisdiction()) { 47001 for (CodeableConcept e : element.getJurisdiction()) 47002 composeCodeableConcept("jurisdiction", e); 47003 } 47004 if (element.hasPurposeElement()) { 47005 composeMarkdown("purpose", element.getPurposeElement()); 47006 } 47007 if (element.hasUsageElement()) { 47008 composeString("usage", element.getUsageElement()); 47009 } 47010 if (element.hasCopyrightElement()) { 47011 composeMarkdown("copyright", element.getCopyrightElement()); 47012 } 47013 if (element.hasApprovalDateElement()) { 47014 composeDate("approvalDate", element.getApprovalDateElement()); 47015 } 47016 if (element.hasLastReviewDateElement()) { 47017 composeDate("lastReviewDate", element.getLastReviewDateElement()); 47018 } 47019 if (element.hasEffectivePeriod()) { 47020 composePeriod("effectivePeriod", element.getEffectivePeriod()); 47021 } 47022 if (element.hasTopic()) { 47023 for (CodeableConcept e : element.getTopic()) 47024 composeCodeableConcept("topic", e); 47025 } 47026 if (element.hasAuthor()) { 47027 for (ContactDetail e : element.getAuthor()) 47028 composeContactDetail("author", e); 47029 } 47030 if (element.hasEditor()) { 47031 for (ContactDetail e : element.getEditor()) 47032 composeContactDetail("editor", e); 47033 } 47034 if (element.hasReviewer()) { 47035 for (ContactDetail e : element.getReviewer()) 47036 composeContactDetail("reviewer", e); 47037 } 47038 if (element.hasEndorser()) { 47039 for (ContactDetail e : element.getEndorser()) 47040 composeContactDetail("endorser", e); 47041 } 47042 if (element.hasRelatedArtifact()) { 47043 for (RelatedArtifact e : element.getRelatedArtifact()) 47044 composeRelatedArtifact("relatedArtifact", e); 47045 } 47046 if (element.hasLibrary()) { 47047 for (CanonicalType e : element.getLibrary()) 47048 composeCanonical("library", e); 47049 } 47050 if (element.hasPopulation()) { 47051 composeReference("population", element.getPopulation()); 47052 } 47053 if (element.hasExposure()) { 47054 composeReference("exposure", element.getExposure()); 47055 } 47056 if (element.hasExposureAlternative()) { 47057 composeReference("exposureAlternative", element.getExposureAlternative()); 47058 } 47059 if (element.hasOutcome()) { 47060 composeReference("outcome", element.getOutcome()); 47061 } 47062 } 47063 47064 protected void composeResearchElementDefinition(String name, ResearchElementDefinition element) throws IOException { 47065 if (element != null) { 47066 composeResourceAttributes(element); 47067 xml.enter(FHIR_NS, name); 47068 composeResearchElementDefinitionElements(element); 47069 composeElementClose(element); 47070 xml.exit(FHIR_NS, name); 47071 } 47072 } 47073 47074 protected void composeResearchElementDefinitionElements(ResearchElementDefinition element) throws IOException { 47075 composeDomainResourceElements(element); 47076 if (element.hasUrlElement()) { 47077 composeUri("url", element.getUrlElement()); 47078 } 47079 if (element.hasIdentifier()) { 47080 for (Identifier e : element.getIdentifier()) 47081 composeIdentifier("identifier", e); 47082 } 47083 if (element.hasVersionElement()) { 47084 composeString("version", element.getVersionElement()); 47085 } 47086 if (element.hasNameElement()) { 47087 composeString("name", element.getNameElement()); 47088 } 47089 if (element.hasTitleElement()) { 47090 composeString("title", element.getTitleElement()); 47091 } 47092 if (element.hasShortTitleElement()) { 47093 composeString("shortTitle", element.getShortTitleElement()); 47094 } 47095 if (element.hasSubtitleElement()) { 47096 composeString("subtitle", element.getSubtitleElement()); 47097 } 47098 if (element.hasStatusElement()) 47099 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 47100 if (element.hasExperimentalElement()) { 47101 composeBoolean("experimental", element.getExperimentalElement()); 47102 } 47103 if (element.hasSubject()) { 47104 composeType("subject", element.getSubject()); 47105 } if (element.hasDateElement()) { 47106 composeDateTime("date", element.getDateElement()); 47107 } 47108 if (element.hasPublisherElement()) { 47109 composeString("publisher", element.getPublisherElement()); 47110 } 47111 if (element.hasContact()) { 47112 for (ContactDetail e : element.getContact()) 47113 composeContactDetail("contact", e); 47114 } 47115 if (element.hasDescriptionElement()) { 47116 composeMarkdown("description", element.getDescriptionElement()); 47117 } 47118 if (element.hasComment()) { 47119 for (StringType e : element.getComment()) 47120 composeString("comment", e); 47121 } 47122 if (element.hasUseContext()) { 47123 for (UsageContext e : element.getUseContext()) 47124 composeUsageContext("useContext", e); 47125 } 47126 if (element.hasJurisdiction()) { 47127 for (CodeableConcept e : element.getJurisdiction()) 47128 composeCodeableConcept("jurisdiction", e); 47129 } 47130 if (element.hasPurposeElement()) { 47131 composeMarkdown("purpose", element.getPurposeElement()); 47132 } 47133 if (element.hasUsageElement()) { 47134 composeString("usage", element.getUsageElement()); 47135 } 47136 if (element.hasCopyrightElement()) { 47137 composeMarkdown("copyright", element.getCopyrightElement()); 47138 } 47139 if (element.hasApprovalDateElement()) { 47140 composeDate("approvalDate", element.getApprovalDateElement()); 47141 } 47142 if (element.hasLastReviewDateElement()) { 47143 composeDate("lastReviewDate", element.getLastReviewDateElement()); 47144 } 47145 if (element.hasEffectivePeriod()) { 47146 composePeriod("effectivePeriod", element.getEffectivePeriod()); 47147 } 47148 if (element.hasTopic()) { 47149 for (CodeableConcept e : element.getTopic()) 47150 composeCodeableConcept("topic", e); 47151 } 47152 if (element.hasAuthor()) { 47153 for (ContactDetail e : element.getAuthor()) 47154 composeContactDetail("author", e); 47155 } 47156 if (element.hasEditor()) { 47157 for (ContactDetail e : element.getEditor()) 47158 composeContactDetail("editor", e); 47159 } 47160 if (element.hasReviewer()) { 47161 for (ContactDetail e : element.getReviewer()) 47162 composeContactDetail("reviewer", e); 47163 } 47164 if (element.hasEndorser()) { 47165 for (ContactDetail e : element.getEndorser()) 47166 composeContactDetail("endorser", e); 47167 } 47168 if (element.hasRelatedArtifact()) { 47169 for (RelatedArtifact e : element.getRelatedArtifact()) 47170 composeRelatedArtifact("relatedArtifact", e); 47171 } 47172 if (element.hasLibrary()) { 47173 for (CanonicalType e : element.getLibrary()) 47174 composeCanonical("library", e); 47175 } 47176 if (element.hasTypeElement()) 47177 composeEnumeration("type", element.getTypeElement(), new ResearchElementDefinition.ResearchElementTypeEnumFactory()); 47178 if (element.hasVariableTypeElement()) 47179 composeEnumeration("variableType", element.getVariableTypeElement(), new ResearchElementDefinition.VariableTypeEnumFactory()); 47180 if (element.hasCharacteristic()) { 47181 for (ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent e : element.getCharacteristic()) 47182 composeResearchElementDefinitionCharacteristicComponent("characteristic", e); 47183 } 47184 } 47185 47186 protected void composeResearchElementDefinitionCharacteristicComponent(String name, ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent element) throws IOException { 47187 if (element != null) { 47188 composeElementAttributes(element); 47189 xml.enter(FHIR_NS, name); 47190 composeResearchElementDefinitionCharacteristicComponentElements(element); 47191 composeElementClose(element); 47192 xml.exit(FHIR_NS, name); 47193 } 47194 } 47195 47196 protected void composeResearchElementDefinitionCharacteristicComponentElements(ResearchElementDefinition.ResearchElementDefinitionCharacteristicComponent element) throws IOException { 47197 composeBackboneElementElements(element); 47198 if (element.hasDefinition()) { 47199 composeType("definition", element.getDefinition()); 47200 } if (element.hasUsageContext()) { 47201 for (UsageContext e : element.getUsageContext()) 47202 composeUsageContext("usageContext", e); 47203 } 47204 if (element.hasExcludeElement()) { 47205 composeBoolean("exclude", element.getExcludeElement()); 47206 } 47207 if (element.hasUnitOfMeasure()) { 47208 composeCodeableConcept("unitOfMeasure", element.getUnitOfMeasure()); 47209 } 47210 if (element.hasStudyEffectiveDescriptionElement()) { 47211 composeString("studyEffectiveDescription", element.getStudyEffectiveDescriptionElement()); 47212 } 47213 if (element.hasStudyEffective()) { 47214 composeType("studyEffective", element.getStudyEffective()); 47215 } if (element.hasStudyEffectiveTimeFromStart()) { 47216 composeDuration("studyEffectiveTimeFromStart", element.getStudyEffectiveTimeFromStart()); 47217 } 47218 if (element.hasStudyEffectiveGroupMeasureElement()) 47219 composeEnumeration("studyEffectiveGroupMeasure", element.getStudyEffectiveGroupMeasureElement(), new Enumerations.GroupMeasureEnumFactory()); 47220 if (element.hasParticipantEffectiveDescriptionElement()) { 47221 composeString("participantEffectiveDescription", element.getParticipantEffectiveDescriptionElement()); 47222 } 47223 if (element.hasParticipantEffective()) { 47224 composeType("participantEffective", element.getParticipantEffective()); 47225 } if (element.hasParticipantEffectiveTimeFromStart()) { 47226 composeDuration("participantEffectiveTimeFromStart", element.getParticipantEffectiveTimeFromStart()); 47227 } 47228 if (element.hasParticipantEffectiveGroupMeasureElement()) 47229 composeEnumeration("participantEffectiveGroupMeasure", element.getParticipantEffectiveGroupMeasureElement(), new Enumerations.GroupMeasureEnumFactory()); 47230 } 47231 47232 protected void composeResearchStudy(String name, ResearchStudy element) throws IOException { 47233 if (element != null) { 47234 composeResourceAttributes(element); 47235 xml.enter(FHIR_NS, name); 47236 composeResearchStudyElements(element); 47237 composeElementClose(element); 47238 xml.exit(FHIR_NS, name); 47239 } 47240 } 47241 47242 protected void composeResearchStudyElements(ResearchStudy element) throws IOException { 47243 composeDomainResourceElements(element); 47244 if (element.hasIdentifier()) { 47245 for (Identifier e : element.getIdentifier()) 47246 composeIdentifier("identifier", e); 47247 } 47248 if (element.hasTitleElement()) { 47249 composeString("title", element.getTitleElement()); 47250 } 47251 if (element.hasProtocol()) { 47252 for (Reference e : element.getProtocol()) 47253 composeReference("protocol", e); 47254 } 47255 if (element.hasPartOf()) { 47256 for (Reference e : element.getPartOf()) 47257 composeReference("partOf", e); 47258 } 47259 if (element.hasStatusElement()) 47260 composeEnumeration("status", element.getStatusElement(), new ResearchStudy.ResearchStudyStatusEnumFactory()); 47261 if (element.hasPrimaryPurposeType()) { 47262 composeCodeableConcept("primaryPurposeType", element.getPrimaryPurposeType()); 47263 } 47264 if (element.hasPhase()) { 47265 composeCodeableConcept("phase", element.getPhase()); 47266 } 47267 if (element.hasCategory()) { 47268 for (CodeableConcept e : element.getCategory()) 47269 composeCodeableConcept("category", e); 47270 } 47271 if (element.hasFocus()) { 47272 for (CodeableConcept e : element.getFocus()) 47273 composeCodeableConcept("focus", e); 47274 } 47275 if (element.hasCondition()) { 47276 for (CodeableConcept e : element.getCondition()) 47277 composeCodeableConcept("condition", e); 47278 } 47279 if (element.hasContact()) { 47280 for (ContactDetail e : element.getContact()) 47281 composeContactDetail("contact", e); 47282 } 47283 if (element.hasRelatedArtifact()) { 47284 for (RelatedArtifact e : element.getRelatedArtifact()) 47285 composeRelatedArtifact("relatedArtifact", e); 47286 } 47287 if (element.hasKeyword()) { 47288 for (CodeableConcept e : element.getKeyword()) 47289 composeCodeableConcept("keyword", e); 47290 } 47291 if (element.hasLocation()) { 47292 for (CodeableConcept e : element.getLocation()) 47293 composeCodeableConcept("location", e); 47294 } 47295 if (element.hasDescriptionElement()) { 47296 composeMarkdown("description", element.getDescriptionElement()); 47297 } 47298 if (element.hasEnrollment()) { 47299 for (Reference e : element.getEnrollment()) 47300 composeReference("enrollment", e); 47301 } 47302 if (element.hasPeriod()) { 47303 composePeriod("period", element.getPeriod()); 47304 } 47305 if (element.hasSponsor()) { 47306 composeReference("sponsor", element.getSponsor()); 47307 } 47308 if (element.hasPrincipalInvestigator()) { 47309 composeReference("principalInvestigator", element.getPrincipalInvestigator()); 47310 } 47311 if (element.hasSite()) { 47312 for (Reference e : element.getSite()) 47313 composeReference("site", e); 47314 } 47315 if (element.hasReasonStopped()) { 47316 composeCodeableConcept("reasonStopped", element.getReasonStopped()); 47317 } 47318 if (element.hasNote()) { 47319 for (Annotation e : element.getNote()) 47320 composeAnnotation("note", e); 47321 } 47322 if (element.hasArm()) { 47323 for (ResearchStudy.ResearchStudyArmComponent e : element.getArm()) 47324 composeResearchStudyArmComponent("arm", e); 47325 } 47326 if (element.hasObjective()) { 47327 for (ResearchStudy.ResearchStudyObjectiveComponent e : element.getObjective()) 47328 composeResearchStudyObjectiveComponent("objective", e); 47329 } 47330 } 47331 47332 protected void composeResearchStudyArmComponent(String name, ResearchStudy.ResearchStudyArmComponent element) throws IOException { 47333 if (element != null) { 47334 composeElementAttributes(element); 47335 xml.enter(FHIR_NS, name); 47336 composeResearchStudyArmComponentElements(element); 47337 composeElementClose(element); 47338 xml.exit(FHIR_NS, name); 47339 } 47340 } 47341 47342 protected void composeResearchStudyArmComponentElements(ResearchStudy.ResearchStudyArmComponent element) throws IOException { 47343 composeBackboneElementElements(element); 47344 if (element.hasNameElement()) { 47345 composeString("name", element.getNameElement()); 47346 } 47347 if (element.hasType()) { 47348 composeCodeableConcept("type", element.getType()); 47349 } 47350 if (element.hasDescriptionElement()) { 47351 composeString("description", element.getDescriptionElement()); 47352 } 47353 } 47354 47355 protected void composeResearchStudyObjectiveComponent(String name, ResearchStudy.ResearchStudyObjectiveComponent element) throws IOException { 47356 if (element != null) { 47357 composeElementAttributes(element); 47358 xml.enter(FHIR_NS, name); 47359 composeResearchStudyObjectiveComponentElements(element); 47360 composeElementClose(element); 47361 xml.exit(FHIR_NS, name); 47362 } 47363 } 47364 47365 protected void composeResearchStudyObjectiveComponentElements(ResearchStudy.ResearchStudyObjectiveComponent element) throws IOException { 47366 composeBackboneElementElements(element); 47367 if (element.hasNameElement()) { 47368 composeString("name", element.getNameElement()); 47369 } 47370 if (element.hasType()) { 47371 composeCodeableConcept("type", element.getType()); 47372 } 47373 } 47374 47375 protected void composeResearchSubject(String name, ResearchSubject element) throws IOException { 47376 if (element != null) { 47377 composeResourceAttributes(element); 47378 xml.enter(FHIR_NS, name); 47379 composeResearchSubjectElements(element); 47380 composeElementClose(element); 47381 xml.exit(FHIR_NS, name); 47382 } 47383 } 47384 47385 protected void composeResearchSubjectElements(ResearchSubject element) throws IOException { 47386 composeDomainResourceElements(element); 47387 if (element.hasIdentifier()) { 47388 for (Identifier e : element.getIdentifier()) 47389 composeIdentifier("identifier", e); 47390 } 47391 if (element.hasStatusElement()) 47392 composeEnumeration("status", element.getStatusElement(), new ResearchSubject.ResearchSubjectStatusEnumFactory()); 47393 if (element.hasPeriod()) { 47394 composePeriod("period", element.getPeriod()); 47395 } 47396 if (element.hasStudy()) { 47397 composeReference("study", element.getStudy()); 47398 } 47399 if (element.hasIndividual()) { 47400 composeReference("individual", element.getIndividual()); 47401 } 47402 if (element.hasAssignedArmElement()) { 47403 composeString("assignedArm", element.getAssignedArmElement()); 47404 } 47405 if (element.hasActualArmElement()) { 47406 composeString("actualArm", element.getActualArmElement()); 47407 } 47408 if (element.hasConsent()) { 47409 composeReference("consent", element.getConsent()); 47410 } 47411 } 47412 47413 protected void composeRiskAssessment(String name, RiskAssessment element) throws IOException { 47414 if (element != null) { 47415 composeResourceAttributes(element); 47416 xml.enter(FHIR_NS, name); 47417 composeRiskAssessmentElements(element); 47418 composeElementClose(element); 47419 xml.exit(FHIR_NS, name); 47420 } 47421 } 47422 47423 protected void composeRiskAssessmentElements(RiskAssessment element) throws IOException { 47424 composeDomainResourceElements(element); 47425 if (element.hasIdentifier()) { 47426 for (Identifier e : element.getIdentifier()) 47427 composeIdentifier("identifier", e); 47428 } 47429 if (element.hasBasedOn()) { 47430 composeReference("basedOn", element.getBasedOn()); 47431 } 47432 if (element.hasParent()) { 47433 composeReference("parent", element.getParent()); 47434 } 47435 if (element.hasStatusElement()) 47436 composeEnumeration("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory()); 47437 if (element.hasMethod()) { 47438 composeCodeableConcept("method", element.getMethod()); 47439 } 47440 if (element.hasCode()) { 47441 composeCodeableConcept("code", element.getCode()); 47442 } 47443 if (element.hasSubject()) { 47444 composeReference("subject", element.getSubject()); 47445 } 47446 if (element.hasEncounter()) { 47447 composeReference("encounter", element.getEncounter()); 47448 } 47449 if (element.hasOccurrence()) { 47450 composeType("occurrence", element.getOccurrence()); 47451 } if (element.hasCondition()) { 47452 composeReference("condition", element.getCondition()); 47453 } 47454 if (element.hasPerformer()) { 47455 composeReference("performer", element.getPerformer()); 47456 } 47457 if (element.hasReasonCode()) { 47458 for (CodeableConcept e : element.getReasonCode()) 47459 composeCodeableConcept("reasonCode", e); 47460 } 47461 if (element.hasReasonReference()) { 47462 for (Reference e : element.getReasonReference()) 47463 composeReference("reasonReference", e); 47464 } 47465 if (element.hasBasis()) { 47466 for (Reference e : element.getBasis()) 47467 composeReference("basis", e); 47468 } 47469 if (element.hasPrediction()) { 47470 for (RiskAssessment.RiskAssessmentPredictionComponent e : element.getPrediction()) 47471 composeRiskAssessmentPredictionComponent("prediction", e); 47472 } 47473 if (element.hasMitigationElement()) { 47474 composeString("mitigation", element.getMitigationElement()); 47475 } 47476 if (element.hasNote()) { 47477 for (Annotation e : element.getNote()) 47478 composeAnnotation("note", e); 47479 } 47480 } 47481 47482 protected void composeRiskAssessmentPredictionComponent(String name, RiskAssessment.RiskAssessmentPredictionComponent element) throws IOException { 47483 if (element != null) { 47484 composeElementAttributes(element); 47485 xml.enter(FHIR_NS, name); 47486 composeRiskAssessmentPredictionComponentElements(element); 47487 composeElementClose(element); 47488 xml.exit(FHIR_NS, name); 47489 } 47490 } 47491 47492 protected void composeRiskAssessmentPredictionComponentElements(RiskAssessment.RiskAssessmentPredictionComponent element) throws IOException { 47493 composeBackboneElementElements(element); 47494 if (element.hasOutcome()) { 47495 composeCodeableConcept("outcome", element.getOutcome()); 47496 } 47497 if (element.hasProbability()) { 47498 composeType("probability", element.getProbability()); 47499 } if (element.hasQualitativeRisk()) { 47500 composeCodeableConcept("qualitativeRisk", element.getQualitativeRisk()); 47501 } 47502 if (element.hasRelativeRiskElement()) { 47503 composeDecimal("relativeRisk", element.getRelativeRiskElement()); 47504 } 47505 if (element.hasWhen()) { 47506 composeType("when", element.getWhen()); 47507 } if (element.hasRationaleElement()) { 47508 composeString("rationale", element.getRationaleElement()); 47509 } 47510 } 47511 47512 protected void composeSchedule(String name, Schedule element) throws IOException { 47513 if (element != null) { 47514 composeResourceAttributes(element); 47515 xml.enter(FHIR_NS, name); 47516 composeScheduleElements(element); 47517 composeElementClose(element); 47518 xml.exit(FHIR_NS, name); 47519 } 47520 } 47521 47522 protected void composeScheduleElements(Schedule element) throws IOException { 47523 composeDomainResourceElements(element); 47524 if (element.hasIdentifier()) { 47525 for (Identifier e : element.getIdentifier()) 47526 composeIdentifier("identifier", e); 47527 } 47528 if (element.hasActiveElement()) { 47529 composeBoolean("active", element.getActiveElement()); 47530 } 47531 if (element.hasServiceCategory()) { 47532 for (CodeableConcept e : element.getServiceCategory()) 47533 composeCodeableConcept("serviceCategory", e); 47534 } 47535 if (element.hasServiceType()) { 47536 for (CodeableConcept e : element.getServiceType()) 47537 composeCodeableConcept("serviceType", e); 47538 } 47539 if (element.hasSpecialty()) { 47540 for (CodeableConcept e : element.getSpecialty()) 47541 composeCodeableConcept("specialty", e); 47542 } 47543 if (element.hasActor()) { 47544 for (Reference e : element.getActor()) 47545 composeReference("actor", e); 47546 } 47547 if (element.hasPlanningHorizon()) { 47548 composePeriod("planningHorizon", element.getPlanningHorizon()); 47549 } 47550 if (element.hasCommentElement()) { 47551 composeString("comment", element.getCommentElement()); 47552 } 47553 } 47554 47555 protected void composeSearchParameter(String name, SearchParameter element) throws IOException { 47556 if (element != null) { 47557 composeResourceAttributes(element); 47558 xml.enter(FHIR_NS, name); 47559 composeSearchParameterElements(element); 47560 composeElementClose(element); 47561 xml.exit(FHIR_NS, name); 47562 } 47563 } 47564 47565 protected void composeSearchParameterElements(SearchParameter element) throws IOException { 47566 composeDomainResourceElements(element); 47567 if (element.hasUrlElement()) { 47568 composeUri("url", element.getUrlElement()); 47569 } 47570 if (element.hasVersionElement()) { 47571 composeString("version", element.getVersionElement()); 47572 } 47573 if (element.hasNameElement()) { 47574 composeString("name", element.getNameElement()); 47575 } 47576 if (element.hasDerivedFromElement()) { 47577 composeCanonical("derivedFrom", element.getDerivedFromElement()); 47578 } 47579 if (element.hasStatusElement()) 47580 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 47581 if (element.hasExperimentalElement()) { 47582 composeBoolean("experimental", element.getExperimentalElement()); 47583 } 47584 if (element.hasDateElement()) { 47585 composeDateTime("date", element.getDateElement()); 47586 } 47587 if (element.hasPublisherElement()) { 47588 composeString("publisher", element.getPublisherElement()); 47589 } 47590 if (element.hasContact()) { 47591 for (ContactDetail e : element.getContact()) 47592 composeContactDetail("contact", e); 47593 } 47594 if (element.hasDescriptionElement()) { 47595 composeMarkdown("description", element.getDescriptionElement()); 47596 } 47597 if (element.hasUseContext()) { 47598 for (UsageContext e : element.getUseContext()) 47599 composeUsageContext("useContext", e); 47600 } 47601 if (element.hasJurisdiction()) { 47602 for (CodeableConcept e : element.getJurisdiction()) 47603 composeCodeableConcept("jurisdiction", e); 47604 } 47605 if (element.hasPurposeElement()) { 47606 composeMarkdown("purpose", element.getPurposeElement()); 47607 } 47608 if (element.hasCodeElement()) { 47609 composeCode("code", element.getCodeElement()); 47610 } 47611 if (element.hasBase()) { 47612 for (CodeType e : element.getBase()) 47613 composeCode("base", e); 47614 } 47615 if (element.hasTypeElement()) 47616 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 47617 if (element.hasExpressionElement()) { 47618 composeString("expression", element.getExpressionElement()); 47619 } 47620 if (element.hasXpathElement()) { 47621 composeString("xpath", element.getXpathElement()); 47622 } 47623 if (element.hasXpathUsageElement()) 47624 composeEnumeration("xpathUsage", element.getXpathUsageElement(), new SearchParameter.XPathUsageTypeEnumFactory()); 47625 if (element.hasTarget()) { 47626 for (CodeType e : element.getTarget()) 47627 composeCode("target", e); 47628 } 47629 if (element.hasMultipleOrElement()) { 47630 composeBoolean("multipleOr", element.getMultipleOrElement()); 47631 } 47632 if (element.hasMultipleAndElement()) { 47633 composeBoolean("multipleAnd", element.getMultipleAndElement()); 47634 } 47635 if (element.hasComparator()) 47636 for (Enumeration<SearchParameter.SearchComparator> e : element.getComparator()) 47637 composeEnumeration("comparator", e, new SearchParameter.SearchComparatorEnumFactory()); 47638 if (element.hasModifier()) 47639 for (Enumeration<SearchParameter.SearchModifierCode> e : element.getModifier()) 47640 composeEnumeration("modifier", e, new SearchParameter.SearchModifierCodeEnumFactory()); 47641 if (element.hasChain()) { 47642 for (StringType e : element.getChain()) 47643 composeString("chain", e); 47644 } 47645 if (element.hasComponent()) { 47646 for (SearchParameter.SearchParameterComponentComponent e : element.getComponent()) 47647 composeSearchParameterComponentComponent("component", e); 47648 } 47649 } 47650 47651 protected void composeSearchParameterComponentComponent(String name, SearchParameter.SearchParameterComponentComponent element) throws IOException { 47652 if (element != null) { 47653 composeElementAttributes(element); 47654 xml.enter(FHIR_NS, name); 47655 composeSearchParameterComponentComponentElements(element); 47656 composeElementClose(element); 47657 xml.exit(FHIR_NS, name); 47658 } 47659 } 47660 47661 protected void composeSearchParameterComponentComponentElements(SearchParameter.SearchParameterComponentComponent element) throws IOException { 47662 composeBackboneElementElements(element); 47663 if (element.hasDefinitionElement()) { 47664 composeCanonical("definition", element.getDefinitionElement()); 47665 } 47666 if (element.hasExpressionElement()) { 47667 composeString("expression", element.getExpressionElement()); 47668 } 47669 } 47670 47671 protected void composeServiceRequest(String name, ServiceRequest element) throws IOException { 47672 if (element != null) { 47673 composeResourceAttributes(element); 47674 xml.enter(FHIR_NS, name); 47675 composeServiceRequestElements(element); 47676 composeElementClose(element); 47677 xml.exit(FHIR_NS, name); 47678 } 47679 } 47680 47681 protected void composeServiceRequestElements(ServiceRequest element) throws IOException { 47682 composeDomainResourceElements(element); 47683 if (element.hasIdentifier()) { 47684 for (Identifier e : element.getIdentifier()) 47685 composeIdentifier("identifier", e); 47686 } 47687 if (element.hasInstantiatesCanonical()) { 47688 for (CanonicalType e : element.getInstantiatesCanonical()) 47689 composeCanonical("instantiatesCanonical", e); 47690 } 47691 if (element.hasInstantiatesUri()) { 47692 for (UriType e : element.getInstantiatesUri()) 47693 composeUri("instantiatesUri", e); 47694 } 47695 if (element.hasBasedOn()) { 47696 for (Reference e : element.getBasedOn()) 47697 composeReference("basedOn", e); 47698 } 47699 if (element.hasReplaces()) { 47700 for (Reference e : element.getReplaces()) 47701 composeReference("replaces", e); 47702 } 47703 if (element.hasRequisition()) { 47704 composeIdentifier("requisition", element.getRequisition()); 47705 } 47706 if (element.hasStatusElement()) 47707 composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); 47708 if (element.hasIntentElement()) 47709 composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); 47710 if (element.hasCategory()) { 47711 for (CodeableConcept e : element.getCategory()) 47712 composeCodeableConcept("category", e); 47713 } 47714 if (element.hasPriorityElement()) 47715 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 47716 if (element.hasDoNotPerformElement()) { 47717 composeBoolean("doNotPerform", element.getDoNotPerformElement()); 47718 } 47719 if (element.hasCode()) { 47720 composeCodeableConcept("code", element.getCode()); 47721 } 47722 if (element.hasOrderDetail()) { 47723 for (CodeableConcept e : element.getOrderDetail()) 47724 composeCodeableConcept("orderDetail", e); 47725 } 47726 if (element.hasQuantity()) { 47727 composeType("quantity", element.getQuantity()); 47728 } if (element.hasSubject()) { 47729 composeReference("subject", element.getSubject()); 47730 } 47731 if (element.hasEncounter()) { 47732 composeReference("encounter", element.getEncounter()); 47733 } 47734 if (element.hasOccurrence()) { 47735 composeType("occurrence", element.getOccurrence()); 47736 } if (element.hasAsNeeded()) { 47737 composeType("asNeeded", element.getAsNeeded()); 47738 } if (element.hasAuthoredOnElement()) { 47739 composeDateTime("authoredOn", element.getAuthoredOnElement()); 47740 } 47741 if (element.hasRequester()) { 47742 composeReference("requester", element.getRequester()); 47743 } 47744 if (element.hasPerformerType()) { 47745 composeCodeableConcept("performerType", element.getPerformerType()); 47746 } 47747 if (element.hasPerformer()) { 47748 for (Reference e : element.getPerformer()) 47749 composeReference("performer", e); 47750 } 47751 if (element.hasLocationCode()) { 47752 for (CodeableConcept e : element.getLocationCode()) 47753 composeCodeableConcept("locationCode", e); 47754 } 47755 if (element.hasLocationReference()) { 47756 for (Reference e : element.getLocationReference()) 47757 composeReference("locationReference", e); 47758 } 47759 if (element.hasReasonCode()) { 47760 for (CodeableConcept e : element.getReasonCode()) 47761 composeCodeableConcept("reasonCode", e); 47762 } 47763 if (element.hasReasonReference()) { 47764 for (Reference e : element.getReasonReference()) 47765 composeReference("reasonReference", e); 47766 } 47767 if (element.hasInsurance()) { 47768 for (Reference e : element.getInsurance()) 47769 composeReference("insurance", e); 47770 } 47771 if (element.hasSupportingInfo()) { 47772 for (Reference e : element.getSupportingInfo()) 47773 composeReference("supportingInfo", e); 47774 } 47775 if (element.hasSpecimen()) { 47776 for (Reference e : element.getSpecimen()) 47777 composeReference("specimen", e); 47778 } 47779 if (element.hasBodySite()) { 47780 for (CodeableConcept e : element.getBodySite()) 47781 composeCodeableConcept("bodySite", e); 47782 } 47783 if (element.hasNote()) { 47784 for (Annotation e : element.getNote()) 47785 composeAnnotation("note", e); 47786 } 47787 if (element.hasPatientInstructionElement()) { 47788 composeString("patientInstruction", element.getPatientInstructionElement()); 47789 } 47790 if (element.hasRelevantHistory()) { 47791 for (Reference e : element.getRelevantHistory()) 47792 composeReference("relevantHistory", e); 47793 } 47794 } 47795 47796 protected void composeSlot(String name, Slot element) throws IOException { 47797 if (element != null) { 47798 composeResourceAttributes(element); 47799 xml.enter(FHIR_NS, name); 47800 composeSlotElements(element); 47801 composeElementClose(element); 47802 xml.exit(FHIR_NS, name); 47803 } 47804 } 47805 47806 protected void composeSlotElements(Slot element) throws IOException { 47807 composeDomainResourceElements(element); 47808 if (element.hasIdentifier()) { 47809 for (Identifier e : element.getIdentifier()) 47810 composeIdentifier("identifier", e); 47811 } 47812 if (element.hasServiceCategory()) { 47813 for (CodeableConcept e : element.getServiceCategory()) 47814 composeCodeableConcept("serviceCategory", e); 47815 } 47816 if (element.hasServiceType()) { 47817 for (CodeableConcept e : element.getServiceType()) 47818 composeCodeableConcept("serviceType", e); 47819 } 47820 if (element.hasSpecialty()) { 47821 for (CodeableConcept e : element.getSpecialty()) 47822 composeCodeableConcept("specialty", e); 47823 } 47824 if (element.hasAppointmentType()) { 47825 composeCodeableConcept("appointmentType", element.getAppointmentType()); 47826 } 47827 if (element.hasSchedule()) { 47828 composeReference("schedule", element.getSchedule()); 47829 } 47830 if (element.hasStatusElement()) 47831 composeEnumeration("status", element.getStatusElement(), new Slot.SlotStatusEnumFactory()); 47832 if (element.hasStartElement()) { 47833 composeInstant("start", element.getStartElement()); 47834 } 47835 if (element.hasEndElement()) { 47836 composeInstant("end", element.getEndElement()); 47837 } 47838 if (element.hasOverbookedElement()) { 47839 composeBoolean("overbooked", element.getOverbookedElement()); 47840 } 47841 if (element.hasCommentElement()) { 47842 composeString("comment", element.getCommentElement()); 47843 } 47844 } 47845 47846 protected void composeSpecimen(String name, Specimen element) throws IOException { 47847 if (element != null) { 47848 composeResourceAttributes(element); 47849 xml.enter(FHIR_NS, name); 47850 composeSpecimenElements(element); 47851 composeElementClose(element); 47852 xml.exit(FHIR_NS, name); 47853 } 47854 } 47855 47856 protected void composeSpecimenElements(Specimen element) throws IOException { 47857 composeDomainResourceElements(element); 47858 if (element.hasIdentifier()) { 47859 for (Identifier e : element.getIdentifier()) 47860 composeIdentifier("identifier", e); 47861 } 47862 if (element.hasAccessionIdentifier()) { 47863 composeIdentifier("accessionIdentifier", element.getAccessionIdentifier()); 47864 } 47865 if (element.hasStatusElement()) 47866 composeEnumeration("status", element.getStatusElement(), new Specimen.SpecimenStatusEnumFactory()); 47867 if (element.hasType()) { 47868 composeCodeableConcept("type", element.getType()); 47869 } 47870 if (element.hasSubject()) { 47871 composeReference("subject", element.getSubject()); 47872 } 47873 if (element.hasReceivedTimeElement()) { 47874 composeDateTime("receivedTime", element.getReceivedTimeElement()); 47875 } 47876 if (element.hasParent()) { 47877 for (Reference e : element.getParent()) 47878 composeReference("parent", e); 47879 } 47880 if (element.hasRequest()) { 47881 for (Reference e : element.getRequest()) 47882 composeReference("request", e); 47883 } 47884 if (element.hasCollection()) { 47885 composeSpecimenCollectionComponent("collection", element.getCollection()); 47886 } 47887 if (element.hasProcessing()) { 47888 for (Specimen.SpecimenProcessingComponent e : element.getProcessing()) 47889 composeSpecimenProcessingComponent("processing", e); 47890 } 47891 if (element.hasContainer()) { 47892 for (Specimen.SpecimenContainerComponent e : element.getContainer()) 47893 composeSpecimenContainerComponent("container", e); 47894 } 47895 if (element.hasCondition()) { 47896 for (CodeableConcept e : element.getCondition()) 47897 composeCodeableConcept("condition", e); 47898 } 47899 if (element.hasNote()) { 47900 for (Annotation e : element.getNote()) 47901 composeAnnotation("note", e); 47902 } 47903 } 47904 47905 protected void composeSpecimenCollectionComponent(String name, Specimen.SpecimenCollectionComponent element) throws IOException { 47906 if (element != null) { 47907 composeElementAttributes(element); 47908 xml.enter(FHIR_NS, name); 47909 composeSpecimenCollectionComponentElements(element); 47910 composeElementClose(element); 47911 xml.exit(FHIR_NS, name); 47912 } 47913 } 47914 47915 protected void composeSpecimenCollectionComponentElements(Specimen.SpecimenCollectionComponent element) throws IOException { 47916 composeBackboneElementElements(element); 47917 if (element.hasCollector()) { 47918 composeReference("collector", element.getCollector()); 47919 } 47920 if (element.hasCollected()) { 47921 composeType("collected", element.getCollected()); 47922 } if (element.hasDuration()) { 47923 composeDuration("duration", element.getDuration()); 47924 } 47925 if (element.hasQuantity()) { 47926 composeQuantity("quantity", element.getQuantity()); 47927 } 47928 if (element.hasMethod()) { 47929 composeCodeableConcept("method", element.getMethod()); 47930 } 47931 if (element.hasBodySite()) { 47932 composeCodeableConcept("bodySite", element.getBodySite()); 47933 } 47934 if (element.hasFastingStatus()) { 47935 composeType("fastingStatus", element.getFastingStatus()); 47936 } } 47937 47938 protected void composeSpecimenProcessingComponent(String name, Specimen.SpecimenProcessingComponent element) throws IOException { 47939 if (element != null) { 47940 composeElementAttributes(element); 47941 xml.enter(FHIR_NS, name); 47942 composeSpecimenProcessingComponentElements(element); 47943 composeElementClose(element); 47944 xml.exit(FHIR_NS, name); 47945 } 47946 } 47947 47948 protected void composeSpecimenProcessingComponentElements(Specimen.SpecimenProcessingComponent element) throws IOException { 47949 composeBackboneElementElements(element); 47950 if (element.hasDescriptionElement()) { 47951 composeString("description", element.getDescriptionElement()); 47952 } 47953 if (element.hasProcedure()) { 47954 composeCodeableConcept("procedure", element.getProcedure()); 47955 } 47956 if (element.hasAdditive()) { 47957 for (Reference e : element.getAdditive()) 47958 composeReference("additive", e); 47959 } 47960 if (element.hasTime()) { 47961 composeType("time", element.getTime()); 47962 } } 47963 47964 protected void composeSpecimenContainerComponent(String name, Specimen.SpecimenContainerComponent element) throws IOException { 47965 if (element != null) { 47966 composeElementAttributes(element); 47967 xml.enter(FHIR_NS, name); 47968 composeSpecimenContainerComponentElements(element); 47969 composeElementClose(element); 47970 xml.exit(FHIR_NS, name); 47971 } 47972 } 47973 47974 protected void composeSpecimenContainerComponentElements(Specimen.SpecimenContainerComponent element) throws IOException { 47975 composeBackboneElementElements(element); 47976 if (element.hasIdentifier()) { 47977 for (Identifier e : element.getIdentifier()) 47978 composeIdentifier("identifier", e); 47979 } 47980 if (element.hasDescriptionElement()) { 47981 composeString("description", element.getDescriptionElement()); 47982 } 47983 if (element.hasType()) { 47984 composeCodeableConcept("type", element.getType()); 47985 } 47986 if (element.hasCapacity()) { 47987 composeQuantity("capacity", element.getCapacity()); 47988 } 47989 if (element.hasSpecimenQuantity()) { 47990 composeQuantity("specimenQuantity", element.getSpecimenQuantity()); 47991 } 47992 if (element.hasAdditive()) { 47993 composeType("additive", element.getAdditive()); 47994 } } 47995 47996 protected void composeSpecimenDefinition(String name, SpecimenDefinition element) throws IOException { 47997 if (element != null) { 47998 composeResourceAttributes(element); 47999 xml.enter(FHIR_NS, name); 48000 composeSpecimenDefinitionElements(element); 48001 composeElementClose(element); 48002 xml.exit(FHIR_NS, name); 48003 } 48004 } 48005 48006 protected void composeSpecimenDefinitionElements(SpecimenDefinition element) throws IOException { 48007 composeDomainResourceElements(element); 48008 if (element.hasIdentifier()) { 48009 composeIdentifier("identifier", element.getIdentifier()); 48010 } 48011 if (element.hasTypeCollected()) { 48012 composeCodeableConcept("typeCollected", element.getTypeCollected()); 48013 } 48014 if (element.hasPatientPreparation()) { 48015 for (CodeableConcept e : element.getPatientPreparation()) 48016 composeCodeableConcept("patientPreparation", e); 48017 } 48018 if (element.hasTimeAspectElement()) { 48019 composeString("timeAspect", element.getTimeAspectElement()); 48020 } 48021 if (element.hasCollection()) { 48022 for (CodeableConcept e : element.getCollection()) 48023 composeCodeableConcept("collection", e); 48024 } 48025 if (element.hasTypeTested()) { 48026 for (SpecimenDefinition.SpecimenDefinitionTypeTestedComponent e : element.getTypeTested()) 48027 composeSpecimenDefinitionTypeTestedComponent("typeTested", e); 48028 } 48029 } 48030 48031 protected void composeSpecimenDefinitionTypeTestedComponent(String name, SpecimenDefinition.SpecimenDefinitionTypeTestedComponent element) throws IOException { 48032 if (element != null) { 48033 composeElementAttributes(element); 48034 xml.enter(FHIR_NS, name); 48035 composeSpecimenDefinitionTypeTestedComponentElements(element); 48036 composeElementClose(element); 48037 xml.exit(FHIR_NS, name); 48038 } 48039 } 48040 48041 protected void composeSpecimenDefinitionTypeTestedComponentElements(SpecimenDefinition.SpecimenDefinitionTypeTestedComponent element) throws IOException { 48042 composeBackboneElementElements(element); 48043 if (element.hasIsDerivedElement()) { 48044 composeBoolean("isDerived", element.getIsDerivedElement()); 48045 } 48046 if (element.hasType()) { 48047 composeCodeableConcept("type", element.getType()); 48048 } 48049 if (element.hasPreferenceElement()) 48050 composeEnumeration("preference", element.getPreferenceElement(), new SpecimenDefinition.SpecimenContainedPreferenceEnumFactory()); 48051 if (element.hasContainer()) { 48052 composeSpecimenDefinitionTypeTestedContainerComponent("container", element.getContainer()); 48053 } 48054 if (element.hasRequirementElement()) { 48055 composeString("requirement", element.getRequirementElement()); 48056 } 48057 if (element.hasRetentionTime()) { 48058 composeDuration("retentionTime", element.getRetentionTime()); 48059 } 48060 if (element.hasRejectionCriterion()) { 48061 for (CodeableConcept e : element.getRejectionCriterion()) 48062 composeCodeableConcept("rejectionCriterion", e); 48063 } 48064 if (element.hasHandling()) { 48065 for (SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent e : element.getHandling()) 48066 composeSpecimenDefinitionTypeTestedHandlingComponent("handling", e); 48067 } 48068 } 48069 48070 protected void composeSpecimenDefinitionTypeTestedContainerComponent(String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent element) throws IOException { 48071 if (element != null) { 48072 composeElementAttributes(element); 48073 xml.enter(FHIR_NS, name); 48074 composeSpecimenDefinitionTypeTestedContainerComponentElements(element); 48075 composeElementClose(element); 48076 xml.exit(FHIR_NS, name); 48077 } 48078 } 48079 48080 protected void composeSpecimenDefinitionTypeTestedContainerComponentElements(SpecimenDefinition.SpecimenDefinitionTypeTestedContainerComponent element) throws IOException { 48081 composeBackboneElementElements(element); 48082 if (element.hasMaterial()) { 48083 composeCodeableConcept("material", element.getMaterial()); 48084 } 48085 if (element.hasType()) { 48086 composeCodeableConcept("type", element.getType()); 48087 } 48088 if (element.hasCap()) { 48089 composeCodeableConcept("cap", element.getCap()); 48090 } 48091 if (element.hasDescriptionElement()) { 48092 composeString("description", element.getDescriptionElement()); 48093 } 48094 if (element.hasCapacity()) { 48095 composeQuantity("capacity", element.getCapacity()); 48096 } 48097 if (element.hasMinimumVolume()) { 48098 composeType("minimumVolume", element.getMinimumVolume()); 48099 } if (element.hasAdditive()) { 48100 for (SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent e : element.getAdditive()) 48101 composeSpecimenDefinitionTypeTestedContainerAdditiveComponent("additive", e); 48102 } 48103 if (element.hasPreparationElement()) { 48104 composeString("preparation", element.getPreparationElement()); 48105 } 48106 } 48107 48108 protected void composeSpecimenDefinitionTypeTestedContainerAdditiveComponent(String name, SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent element) throws IOException { 48109 if (element != null) { 48110 composeElementAttributes(element); 48111 xml.enter(FHIR_NS, name); 48112 composeSpecimenDefinitionTypeTestedContainerAdditiveComponentElements(element); 48113 composeElementClose(element); 48114 xml.exit(FHIR_NS, name); 48115 } 48116 } 48117 48118 protected void composeSpecimenDefinitionTypeTestedContainerAdditiveComponentElements(SpecimenDefinition.SpecimenDefinitionTypeTestedContainerAdditiveComponent element) throws IOException { 48119 composeBackboneElementElements(element); 48120 if (element.hasAdditive()) { 48121 composeType("additive", element.getAdditive()); 48122 } } 48123 48124 protected void composeSpecimenDefinitionTypeTestedHandlingComponent(String name, SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent element) throws IOException { 48125 if (element != null) { 48126 composeElementAttributes(element); 48127 xml.enter(FHIR_NS, name); 48128 composeSpecimenDefinitionTypeTestedHandlingComponentElements(element); 48129 composeElementClose(element); 48130 xml.exit(FHIR_NS, name); 48131 } 48132 } 48133 48134 protected void composeSpecimenDefinitionTypeTestedHandlingComponentElements(SpecimenDefinition.SpecimenDefinitionTypeTestedHandlingComponent element) throws IOException { 48135 composeBackboneElementElements(element); 48136 if (element.hasTemperatureQualifier()) { 48137 composeCodeableConcept("temperatureQualifier", element.getTemperatureQualifier()); 48138 } 48139 if (element.hasTemperatureRange()) { 48140 composeRange("temperatureRange", element.getTemperatureRange()); 48141 } 48142 if (element.hasMaxDuration()) { 48143 composeDuration("maxDuration", element.getMaxDuration()); 48144 } 48145 if (element.hasInstructionElement()) { 48146 composeString("instruction", element.getInstructionElement()); 48147 } 48148 } 48149 48150 protected void composeStructureDefinition(String name, StructureDefinition element) throws IOException { 48151 if (element != null) { 48152 composeResourceAttributes(element); 48153 xml.enter(FHIR_NS, name); 48154 composeStructureDefinitionElements(element); 48155 composeElementClose(element); 48156 xml.exit(FHIR_NS, name); 48157 } 48158 } 48159 48160 protected void composeStructureDefinitionElements(StructureDefinition element) throws IOException { 48161 composeDomainResourceElements(element); 48162 if (element.hasUrlElement()) { 48163 composeUri("url", element.getUrlElement()); 48164 } 48165 if (element.hasIdentifier()) { 48166 for (Identifier e : element.getIdentifier()) 48167 composeIdentifier("identifier", e); 48168 } 48169 if (element.hasVersionElement()) { 48170 composeString("version", element.getVersionElement()); 48171 } 48172 if (element.hasNameElement()) { 48173 composeString("name", element.getNameElement()); 48174 } 48175 if (element.hasTitleElement()) { 48176 composeString("title", element.getTitleElement()); 48177 } 48178 if (element.hasStatusElement()) 48179 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 48180 if (element.hasExperimentalElement()) { 48181 composeBoolean("experimental", element.getExperimentalElement()); 48182 } 48183 if (element.hasDateElement()) { 48184 composeDateTime("date", element.getDateElement()); 48185 } 48186 if (element.hasPublisherElement()) { 48187 composeString("publisher", element.getPublisherElement()); 48188 } 48189 if (element.hasContact()) { 48190 for (ContactDetail e : element.getContact()) 48191 composeContactDetail("contact", e); 48192 } 48193 if (element.hasDescriptionElement()) { 48194 composeMarkdown("description", element.getDescriptionElement()); 48195 } 48196 if (element.hasUseContext()) { 48197 for (UsageContext e : element.getUseContext()) 48198 composeUsageContext("useContext", e); 48199 } 48200 if (element.hasJurisdiction()) { 48201 for (CodeableConcept e : element.getJurisdiction()) 48202 composeCodeableConcept("jurisdiction", e); 48203 } 48204 if (element.hasPurposeElement()) { 48205 composeMarkdown("purpose", element.getPurposeElement()); 48206 } 48207 if (element.hasCopyrightElement()) { 48208 composeMarkdown("copyright", element.getCopyrightElement()); 48209 } 48210 if (element.hasKeyword()) { 48211 for (Coding e : element.getKeyword()) 48212 composeCoding("keyword", e); 48213 } 48214 if (element.hasFhirVersionElement()) 48215 composeEnumeration("fhirVersion", element.getFhirVersionElement(), new Enumerations.FHIRVersionEnumFactory()); 48216 if (element.hasMapping()) { 48217 for (StructureDefinition.StructureDefinitionMappingComponent e : element.getMapping()) 48218 composeStructureDefinitionMappingComponent("mapping", e); 48219 } 48220 if (element.hasKindElement()) 48221 composeEnumeration("kind", element.getKindElement(), new StructureDefinition.StructureDefinitionKindEnumFactory()); 48222 if (element.hasAbstractElement()) { 48223 composeBoolean("abstract", element.getAbstractElement()); 48224 } 48225 if (element.hasContext()) { 48226 for (StructureDefinition.StructureDefinitionContextComponent e : element.getContext()) 48227 composeStructureDefinitionContextComponent("context", e); 48228 } 48229 if (element.hasContextInvariant()) { 48230 for (StringType e : element.getContextInvariant()) 48231 composeString("contextInvariant", e); 48232 } 48233 if (element.hasTypeElement()) { 48234 composeUri("type", element.getTypeElement()); 48235 } 48236 if (element.hasBaseDefinitionElement()) { 48237 composeCanonical("baseDefinition", element.getBaseDefinitionElement()); 48238 } 48239 if (element.hasDerivationElement()) 48240 composeEnumeration("derivation", element.getDerivationElement(), new StructureDefinition.TypeDerivationRuleEnumFactory()); 48241 if (element.hasSnapshot()) { 48242 composeStructureDefinitionSnapshotComponent("snapshot", element.getSnapshot()); 48243 } 48244 if (element.hasDifferential()) { 48245 composeStructureDefinitionDifferentialComponent("differential", element.getDifferential()); 48246 } 48247 } 48248 48249 protected void composeStructureDefinitionMappingComponent(String name, StructureDefinition.StructureDefinitionMappingComponent element) throws IOException { 48250 if (element != null) { 48251 composeElementAttributes(element); 48252 xml.enter(FHIR_NS, name); 48253 composeStructureDefinitionMappingComponentElements(element); 48254 composeElementClose(element); 48255 xml.exit(FHIR_NS, name); 48256 } 48257 } 48258 48259 protected void composeStructureDefinitionMappingComponentElements(StructureDefinition.StructureDefinitionMappingComponent element) throws IOException { 48260 composeBackboneElementElements(element); 48261 if (element.hasIdentityElement()) { 48262 composeId("identity", element.getIdentityElement()); 48263 } 48264 if (element.hasUriElement()) { 48265 composeUri("uri", element.getUriElement()); 48266 } 48267 if (element.hasNameElement()) { 48268 composeString("name", element.getNameElement()); 48269 } 48270 if (element.hasCommentElement()) { 48271 composeString("comment", element.getCommentElement()); 48272 } 48273 } 48274 48275 protected void composeStructureDefinitionContextComponent(String name, StructureDefinition.StructureDefinitionContextComponent element) throws IOException { 48276 if (element != null) { 48277 composeElementAttributes(element); 48278 xml.enter(FHIR_NS, name); 48279 composeStructureDefinitionContextComponentElements(element); 48280 composeElementClose(element); 48281 xml.exit(FHIR_NS, name); 48282 } 48283 } 48284 48285 protected void composeStructureDefinitionContextComponentElements(StructureDefinition.StructureDefinitionContextComponent element) throws IOException { 48286 composeBackboneElementElements(element); 48287 if (element.hasTypeElement()) 48288 composeEnumeration("type", element.getTypeElement(), new StructureDefinition.ExtensionContextTypeEnumFactory()); 48289 if (element.hasExpressionElement()) { 48290 composeString("expression", element.getExpressionElement()); 48291 } 48292 } 48293 48294 protected void composeStructureDefinitionSnapshotComponent(String name, StructureDefinition.StructureDefinitionSnapshotComponent element) throws IOException { 48295 if (element != null) { 48296 composeElementAttributes(element); 48297 xml.enter(FHIR_NS, name); 48298 composeStructureDefinitionSnapshotComponentElements(element); 48299 composeElementClose(element); 48300 xml.exit(FHIR_NS, name); 48301 } 48302 } 48303 48304 protected void composeStructureDefinitionSnapshotComponentElements(StructureDefinition.StructureDefinitionSnapshotComponent element) throws IOException { 48305 composeBackboneElementElements(element); 48306 if (element.hasElement()) { 48307 for (ElementDefinition e : element.getElement()) 48308 composeElementDefinition("element", e); 48309 } 48310 } 48311 48312 protected void composeStructureDefinitionDifferentialComponent(String name, StructureDefinition.StructureDefinitionDifferentialComponent element) throws IOException { 48313 if (element != null) { 48314 composeElementAttributes(element); 48315 xml.enter(FHIR_NS, name); 48316 composeStructureDefinitionDifferentialComponentElements(element); 48317 composeElementClose(element); 48318 xml.exit(FHIR_NS, name); 48319 } 48320 } 48321 48322 protected void composeStructureDefinitionDifferentialComponentElements(StructureDefinition.StructureDefinitionDifferentialComponent element) throws IOException { 48323 composeBackboneElementElements(element); 48324 if (element.hasElement()) { 48325 for (ElementDefinition e : element.getElement()) 48326 composeElementDefinition("element", e); 48327 } 48328 } 48329 48330 protected void composeStructureMap(String name, StructureMap element) throws IOException { 48331 if (element != null) { 48332 composeResourceAttributes(element); 48333 xml.enter(FHIR_NS, name); 48334 composeStructureMapElements(element); 48335 composeElementClose(element); 48336 xml.exit(FHIR_NS, name); 48337 } 48338 } 48339 48340 protected void composeStructureMapElements(StructureMap element) throws IOException { 48341 composeDomainResourceElements(element); 48342 if (element.hasUrlElement()) { 48343 composeUri("url", element.getUrlElement()); 48344 } 48345 if (element.hasIdentifier()) { 48346 for (Identifier e : element.getIdentifier()) 48347 composeIdentifier("identifier", e); 48348 } 48349 if (element.hasVersionElement()) { 48350 composeString("version", element.getVersionElement()); 48351 } 48352 if (element.hasNameElement()) { 48353 composeString("name", element.getNameElement()); 48354 } 48355 if (element.hasTitleElement()) { 48356 composeString("title", element.getTitleElement()); 48357 } 48358 if (element.hasStatusElement()) 48359 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 48360 if (element.hasExperimentalElement()) { 48361 composeBoolean("experimental", element.getExperimentalElement()); 48362 } 48363 if (element.hasDateElement()) { 48364 composeDateTime("date", element.getDateElement()); 48365 } 48366 if (element.hasPublisherElement()) { 48367 composeString("publisher", element.getPublisherElement()); 48368 } 48369 if (element.hasContact()) { 48370 for (ContactDetail e : element.getContact()) 48371 composeContactDetail("contact", e); 48372 } 48373 if (element.hasDescriptionElement()) { 48374 composeMarkdown("description", element.getDescriptionElement()); 48375 } 48376 if (element.hasUseContext()) { 48377 for (UsageContext e : element.getUseContext()) 48378 composeUsageContext("useContext", e); 48379 } 48380 if (element.hasJurisdiction()) { 48381 for (CodeableConcept e : element.getJurisdiction()) 48382 composeCodeableConcept("jurisdiction", e); 48383 } 48384 if (element.hasPurposeElement()) { 48385 composeMarkdown("purpose", element.getPurposeElement()); 48386 } 48387 if (element.hasCopyrightElement()) { 48388 composeMarkdown("copyright", element.getCopyrightElement()); 48389 } 48390 if (element.hasStructure()) { 48391 for (StructureMap.StructureMapStructureComponent e : element.getStructure()) 48392 composeStructureMapStructureComponent("structure", e); 48393 } 48394 if (element.hasImport()) { 48395 for (CanonicalType e : element.getImport()) 48396 composeCanonical("import", e); 48397 } 48398 if (element.hasGroup()) { 48399 for (StructureMap.StructureMapGroupComponent e : element.getGroup()) 48400 composeStructureMapGroupComponent("group", e); 48401 } 48402 } 48403 48404 protected void composeStructureMapStructureComponent(String name, StructureMap.StructureMapStructureComponent element) throws IOException { 48405 if (element != null) { 48406 composeElementAttributes(element); 48407 xml.enter(FHIR_NS, name); 48408 composeStructureMapStructureComponentElements(element); 48409 composeElementClose(element); 48410 xml.exit(FHIR_NS, name); 48411 } 48412 } 48413 48414 protected void composeStructureMapStructureComponentElements(StructureMap.StructureMapStructureComponent element) throws IOException { 48415 composeBackboneElementElements(element); 48416 if (element.hasUrlElement()) { 48417 composeCanonical("url", element.getUrlElement()); 48418 } 48419 if (element.hasModeElement()) 48420 composeEnumeration("mode", element.getModeElement(), new StructureMap.StructureMapModelModeEnumFactory()); 48421 if (element.hasAliasElement()) { 48422 composeString("alias", element.getAliasElement()); 48423 } 48424 if (element.hasDocumentationElement()) { 48425 composeString("documentation", element.getDocumentationElement()); 48426 } 48427 } 48428 48429 protected void composeStructureMapGroupComponent(String name, StructureMap.StructureMapGroupComponent element) throws IOException { 48430 if (element != null) { 48431 composeElementAttributes(element); 48432 xml.enter(FHIR_NS, name); 48433 composeStructureMapGroupComponentElements(element); 48434 composeElementClose(element); 48435 xml.exit(FHIR_NS, name); 48436 } 48437 } 48438 48439 protected void composeStructureMapGroupComponentElements(StructureMap.StructureMapGroupComponent element) throws IOException { 48440 composeBackboneElementElements(element); 48441 if (element.hasNameElement()) { 48442 composeId("name", element.getNameElement()); 48443 } 48444 if (element.hasExtendsElement()) { 48445 composeId("extends", element.getExtendsElement()); 48446 } 48447 if (element.hasTypeModeElement()) 48448 composeEnumeration("typeMode", element.getTypeModeElement(), new StructureMap.StructureMapGroupTypeModeEnumFactory()); 48449 if (element.hasDocumentationElement()) { 48450 composeString("documentation", element.getDocumentationElement()); 48451 } 48452 if (element.hasInput()) { 48453 for (StructureMap.StructureMapGroupInputComponent e : element.getInput()) 48454 composeStructureMapGroupInputComponent("input", e); 48455 } 48456 if (element.hasRule()) { 48457 for (StructureMap.StructureMapGroupRuleComponent e : element.getRule()) 48458 composeStructureMapGroupRuleComponent("rule", e); 48459 } 48460 } 48461 48462 protected void composeStructureMapGroupInputComponent(String name, StructureMap.StructureMapGroupInputComponent element) throws IOException { 48463 if (element != null) { 48464 composeElementAttributes(element); 48465 xml.enter(FHIR_NS, name); 48466 composeStructureMapGroupInputComponentElements(element); 48467 composeElementClose(element); 48468 xml.exit(FHIR_NS, name); 48469 } 48470 } 48471 48472 protected void composeStructureMapGroupInputComponentElements(StructureMap.StructureMapGroupInputComponent element) throws IOException { 48473 composeBackboneElementElements(element); 48474 if (element.hasNameElement()) { 48475 composeId("name", element.getNameElement()); 48476 } 48477 if (element.hasTypeElement()) { 48478 composeString("type", element.getTypeElement()); 48479 } 48480 if (element.hasModeElement()) 48481 composeEnumeration("mode", element.getModeElement(), new StructureMap.StructureMapInputModeEnumFactory()); 48482 if (element.hasDocumentationElement()) { 48483 composeString("documentation", element.getDocumentationElement()); 48484 } 48485 } 48486 48487 protected void composeStructureMapGroupRuleComponent(String name, StructureMap.StructureMapGroupRuleComponent element) throws IOException { 48488 if (element != null) { 48489 composeElementAttributes(element); 48490 xml.enter(FHIR_NS, name); 48491 composeStructureMapGroupRuleComponentElements(element); 48492 composeElementClose(element); 48493 xml.exit(FHIR_NS, name); 48494 } 48495 } 48496 48497 protected void composeStructureMapGroupRuleComponentElements(StructureMap.StructureMapGroupRuleComponent element) throws IOException { 48498 composeBackboneElementElements(element); 48499 if (element.hasNameElement()) { 48500 composeId("name", element.getNameElement()); 48501 } 48502 if (element.hasSource()) { 48503 for (StructureMap.StructureMapGroupRuleSourceComponent e : element.getSource()) 48504 composeStructureMapGroupRuleSourceComponent("source", e); 48505 } 48506 if (element.hasTarget()) { 48507 for (StructureMap.StructureMapGroupRuleTargetComponent e : element.getTarget()) 48508 composeStructureMapGroupRuleTargetComponent("target", e); 48509 } 48510 if (element.hasRule()) { 48511 for (StructureMap.StructureMapGroupRuleComponent e : element.getRule()) 48512 composeStructureMapGroupRuleComponent("rule", e); 48513 } 48514 if (element.hasDependent()) { 48515 for (StructureMap.StructureMapGroupRuleDependentComponent e : element.getDependent()) 48516 composeStructureMapGroupRuleDependentComponent("dependent", e); 48517 } 48518 if (element.hasDocumentationElement()) { 48519 composeString("documentation", element.getDocumentationElement()); 48520 } 48521 } 48522 48523 protected void composeStructureMapGroupRuleSourceComponent(String name, StructureMap.StructureMapGroupRuleSourceComponent element) throws IOException { 48524 if (element != null) { 48525 composeElementAttributes(element); 48526 xml.enter(FHIR_NS, name); 48527 composeStructureMapGroupRuleSourceComponentElements(element); 48528 composeElementClose(element); 48529 xml.exit(FHIR_NS, name); 48530 } 48531 } 48532 48533 protected void composeStructureMapGroupRuleSourceComponentElements(StructureMap.StructureMapGroupRuleSourceComponent element) throws IOException { 48534 composeBackboneElementElements(element); 48535 if (element.hasContextElement()) { 48536 composeId("context", element.getContextElement()); 48537 } 48538 if (element.hasMinElement()) { 48539 composeInteger("min", element.getMinElement()); 48540 } 48541 if (element.hasMaxElement()) { 48542 composeString("max", element.getMaxElement()); 48543 } 48544 if (element.hasTypeElement()) { 48545 composeString("type", element.getTypeElement()); 48546 } 48547 if (element.hasDefaultValue()) { 48548 composeType("defaultValue", element.getDefaultValue()); 48549 } if (element.hasElementElement()) { 48550 composeString("element", element.getElementElement()); 48551 } 48552 if (element.hasListModeElement()) 48553 composeEnumeration("listMode", element.getListModeElement(), new StructureMap.StructureMapSourceListModeEnumFactory()); 48554 if (element.hasVariableElement()) { 48555 composeId("variable", element.getVariableElement()); 48556 } 48557 if (element.hasConditionElement()) { 48558 composeString("condition", element.getConditionElement()); 48559 } 48560 if (element.hasCheckElement()) { 48561 composeString("check", element.getCheckElement()); 48562 } 48563 if (element.hasLogMessageElement()) { 48564 composeString("logMessage", element.getLogMessageElement()); 48565 } 48566 } 48567 48568 protected void composeStructureMapGroupRuleTargetComponent(String name, StructureMap.StructureMapGroupRuleTargetComponent element) throws IOException { 48569 if (element != null) { 48570 composeElementAttributes(element); 48571 xml.enter(FHIR_NS, name); 48572 composeStructureMapGroupRuleTargetComponentElements(element); 48573 composeElementClose(element); 48574 xml.exit(FHIR_NS, name); 48575 } 48576 } 48577 48578 protected void composeStructureMapGroupRuleTargetComponentElements(StructureMap.StructureMapGroupRuleTargetComponent element) throws IOException { 48579 composeBackboneElementElements(element); 48580 if (element.hasContextElement()) { 48581 composeId("context", element.getContextElement()); 48582 } 48583 if (element.hasContextTypeElement()) 48584 composeEnumeration("contextType", element.getContextTypeElement(), new StructureMap.StructureMapContextTypeEnumFactory()); 48585 if (element.hasElementElement()) { 48586 composeString("element", element.getElementElement()); 48587 } 48588 if (element.hasVariableElement()) { 48589 composeId("variable", element.getVariableElement()); 48590 } 48591 if (element.hasListMode()) 48592 for (Enumeration<StructureMap.StructureMapTargetListMode> e : element.getListMode()) 48593 composeEnumeration("listMode", e, new StructureMap.StructureMapTargetListModeEnumFactory()); 48594 if (element.hasListRuleIdElement()) { 48595 composeId("listRuleId", element.getListRuleIdElement()); 48596 } 48597 if (element.hasTransformElement()) 48598 composeEnumeration("transform", element.getTransformElement(), new StructureMap.StructureMapTransformEnumFactory()); 48599 if (element.hasParameter()) { 48600 for (StructureMap.StructureMapGroupRuleTargetParameterComponent e : element.getParameter()) 48601 composeStructureMapGroupRuleTargetParameterComponent("parameter", e); 48602 } 48603 } 48604 48605 protected void composeStructureMapGroupRuleTargetParameterComponent(String name, StructureMap.StructureMapGroupRuleTargetParameterComponent element) throws IOException { 48606 if (element != null) { 48607 composeElementAttributes(element); 48608 xml.enter(FHIR_NS, name); 48609 composeStructureMapGroupRuleTargetParameterComponentElements(element); 48610 composeElementClose(element); 48611 xml.exit(FHIR_NS, name); 48612 } 48613 } 48614 48615 protected void composeStructureMapGroupRuleTargetParameterComponentElements(StructureMap.StructureMapGroupRuleTargetParameterComponent element) throws IOException { 48616 composeBackboneElementElements(element); 48617 if (element.hasValue()) { 48618 composeType("value", element.getValue()); 48619 } } 48620 48621 protected void composeStructureMapGroupRuleDependentComponent(String name, StructureMap.StructureMapGroupRuleDependentComponent element) throws IOException { 48622 if (element != null) { 48623 composeElementAttributes(element); 48624 xml.enter(FHIR_NS, name); 48625 composeStructureMapGroupRuleDependentComponentElements(element); 48626 composeElementClose(element); 48627 xml.exit(FHIR_NS, name); 48628 } 48629 } 48630 48631 protected void composeStructureMapGroupRuleDependentComponentElements(StructureMap.StructureMapGroupRuleDependentComponent element) throws IOException { 48632 composeBackboneElementElements(element); 48633 if (element.hasNameElement()) { 48634 composeId("name", element.getNameElement()); 48635 } 48636 if (element.hasVariable()) { 48637 for (StringType e : element.getVariable()) 48638 composeString("variable", e); 48639 } 48640 } 48641 48642 protected void composeSubscription(String name, Subscription element) throws IOException { 48643 if (element != null) { 48644 composeResourceAttributes(element); 48645 xml.enter(FHIR_NS, name); 48646 composeSubscriptionElements(element); 48647 composeElementClose(element); 48648 xml.exit(FHIR_NS, name); 48649 } 48650 } 48651 48652 protected void composeSubscriptionElements(Subscription element) throws IOException { 48653 composeDomainResourceElements(element); 48654 if (element.hasStatusElement()) 48655 composeEnumeration("status", element.getStatusElement(), new Enumerations.SubscriptionStatusEnumFactory()); 48656 if (element.hasContact()) { 48657 for (ContactPoint e : element.getContact()) 48658 composeContactPoint("contact", e); 48659 } 48660 if (element.hasEndElement()) { 48661 composeInstant("end", element.getEndElement()); 48662 } 48663 if (element.hasReasonElement()) { 48664 composeString("reason", element.getReasonElement()); 48665 } 48666 if (element.hasCriteriaElement()) { 48667 composeString("criteria", element.getCriteriaElement()); 48668 } 48669 if (element.hasErrorElement()) { 48670 composeString("error", element.getErrorElement()); 48671 } 48672 if (element.hasChannel()) { 48673 composeSubscriptionChannelComponent("channel", element.getChannel()); 48674 } 48675 } 48676 48677 protected void composeSubscriptionChannelComponent(String name, Subscription.SubscriptionChannelComponent element) throws IOException { 48678 if (element != null) { 48679 composeElementAttributes(element); 48680 xml.enter(FHIR_NS, name); 48681 composeSubscriptionChannelComponentElements(element); 48682 composeElementClose(element); 48683 xml.exit(FHIR_NS, name); 48684 } 48685 } 48686 48687 protected void composeSubscriptionChannelComponentElements(Subscription.SubscriptionChannelComponent element) throws IOException { 48688 composeBackboneElementElements(element); 48689 if (element.hasTypeElement()) 48690 composeEnumeration("type", element.getTypeElement(), new Subscription.SubscriptionChannelTypeEnumFactory()); 48691 if (element.hasEndpointElement()) { 48692 composeUrl("endpoint", element.getEndpointElement()); 48693 } 48694 if (element.hasPayloadElement()) { 48695 composeCode("payload", element.getPayloadElement()); 48696 } 48697 if (element.hasHeader()) { 48698 for (StringType e : element.getHeader()) 48699 composeString("header", e); 48700 } 48701 } 48702 48703 protected void composeSubscriptionStatus(String name, SubscriptionStatus element) throws IOException { 48704 if (element != null) { 48705 composeResourceAttributes(element); 48706 xml.enter(FHIR_NS, name); 48707 composeSubscriptionStatusElements(element); 48708 composeElementClose(element); 48709 xml.exit(FHIR_NS, name); 48710 } 48711 } 48712 48713 protected void composeSubscriptionStatusElements(SubscriptionStatus element) throws IOException { 48714 composeDomainResourceElements(element); 48715 if (element.hasStatusElement()) 48716 composeEnumeration("status", element.getStatusElement(), new Enumerations.SubscriptionStatusEnumFactory()); 48717 if (element.hasTypeElement()) 48718 composeEnumeration("type", element.getTypeElement(), new SubscriptionStatus.SubscriptionNotificationTypeEnumFactory()); 48719 if (element.hasEventsSinceSubscriptionStartElement()) { 48720 composeString("eventsSinceSubscriptionStart", element.getEventsSinceSubscriptionStartElement()); 48721 } 48722 if (element.hasEventsInNotificationElement()) { 48723 composeInteger("eventsInNotification", element.getEventsInNotificationElement()); 48724 } 48725 if (element.hasNotificationEvent()) { 48726 for (SubscriptionStatus.SubscriptionStatusNotificationEventComponent e : element.getNotificationEvent()) 48727 composeSubscriptionStatusNotificationEventComponent("notificationEvent", e); 48728 } 48729 if (element.hasSubscription()) { 48730 composeReference("subscription", element.getSubscription()); 48731 } 48732 if (element.hasTopicElement()) { 48733 composeCanonical("topic", element.getTopicElement()); 48734 } 48735 if (element.hasError()) { 48736 for (CodeableConcept e : element.getError()) 48737 composeCodeableConcept("error", e); 48738 } 48739 } 48740 48741 protected void composeSubscriptionStatusNotificationEventComponent(String name, SubscriptionStatus.SubscriptionStatusNotificationEventComponent element) throws IOException { 48742 if (element != null) { 48743 composeElementAttributes(element); 48744 xml.enter(FHIR_NS, name); 48745 composeSubscriptionStatusNotificationEventComponentElements(element); 48746 composeElementClose(element); 48747 xml.exit(FHIR_NS, name); 48748 } 48749 } 48750 48751 protected void composeSubscriptionStatusNotificationEventComponentElements(SubscriptionStatus.SubscriptionStatusNotificationEventComponent element) throws IOException { 48752 composeBackboneElementElements(element); 48753 if (element.hasEventNumberElement()) { 48754 composeString("eventNumber", element.getEventNumberElement()); 48755 } 48756 if (element.hasTimestampElement()) { 48757 composeInstant("timestamp", element.getTimestampElement()); 48758 } 48759 if (element.hasFocus()) { 48760 composeReference("focus", element.getFocus()); 48761 } 48762 if (element.hasAdditionalContext()) { 48763 for (Reference e : element.getAdditionalContext()) 48764 composeReference("additionalContext", e); 48765 } 48766 } 48767 48768 protected void composeSubscriptionTopic(String name, SubscriptionTopic element) throws IOException { 48769 if (element != null) { 48770 composeResourceAttributes(element); 48771 xml.enter(FHIR_NS, name); 48772 composeSubscriptionTopicElements(element); 48773 composeElementClose(element); 48774 xml.exit(FHIR_NS, name); 48775 } 48776 } 48777 48778 protected void composeSubscriptionTopicElements(SubscriptionTopic element) throws IOException { 48779 composeDomainResourceElements(element); 48780 if (element.hasUrlElement()) { 48781 composeUri("url", element.getUrlElement()); 48782 } 48783 if (element.hasIdentifier()) { 48784 for (Identifier e : element.getIdentifier()) 48785 composeIdentifier("identifier", e); 48786 } 48787 if (element.hasVersionElement()) { 48788 composeString("version", element.getVersionElement()); 48789 } 48790 if (element.hasTitleElement()) { 48791 composeString("title", element.getTitleElement()); 48792 } 48793 if (element.hasDerivedFrom()) { 48794 for (CanonicalType e : element.getDerivedFrom()) 48795 composeCanonical("derivedFrom", e); 48796 } 48797 if (element.hasStatusElement()) 48798 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 48799 if (element.hasExperimentalElement()) { 48800 composeBoolean("experimental", element.getExperimentalElement()); 48801 } 48802 if (element.hasDateElement()) { 48803 composeDateTime("date", element.getDateElement()); 48804 } 48805 if (element.hasPublisherElement()) { 48806 composeString("publisher", element.getPublisherElement()); 48807 } 48808 if (element.hasContact()) { 48809 for (ContactDetail e : element.getContact()) 48810 composeContactDetail("contact", e); 48811 } 48812 if (element.hasDescriptionElement()) { 48813 composeMarkdown("description", element.getDescriptionElement()); 48814 } 48815 if (element.hasUseContext()) { 48816 for (UsageContext e : element.getUseContext()) 48817 composeUsageContext("useContext", e); 48818 } 48819 if (element.hasJurisdiction()) { 48820 for (CodeableConcept e : element.getJurisdiction()) 48821 composeCodeableConcept("jurisdiction", e); 48822 } 48823 if (element.hasPurposeElement()) { 48824 composeMarkdown("purpose", element.getPurposeElement()); 48825 } 48826 if (element.hasCopyrightElement()) { 48827 composeMarkdown("copyright", element.getCopyrightElement()); 48828 } 48829 if (element.hasApprovalDateElement()) { 48830 composeDate("approvalDate", element.getApprovalDateElement()); 48831 } 48832 if (element.hasLastReviewDateElement()) { 48833 composeDate("lastReviewDate", element.getLastReviewDateElement()); 48834 } 48835 if (element.hasEffectivePeriod()) { 48836 composePeriod("effectivePeriod", element.getEffectivePeriod()); 48837 } 48838 if (element.hasResourceTrigger()) { 48839 for (SubscriptionTopic.SubscriptionTopicResourceTriggerComponent e : element.getResourceTrigger()) 48840 composeSubscriptionTopicResourceTriggerComponent("resourceTrigger", e); 48841 } 48842 if (element.hasEventTrigger()) { 48843 for (SubscriptionTopic.SubscriptionTopicEventTriggerComponent e : element.getEventTrigger()) 48844 composeSubscriptionTopicEventTriggerComponent("eventTrigger", e); 48845 } 48846 if (element.hasCanFilterBy()) { 48847 for (SubscriptionTopic.SubscriptionTopicCanFilterByComponent e : element.getCanFilterBy()) 48848 composeSubscriptionTopicCanFilterByComponent("canFilterBy", e); 48849 } 48850 if (element.hasNotificationShape()) { 48851 for (SubscriptionTopic.SubscriptionTopicNotificationShapeComponent e : element.getNotificationShape()) 48852 composeSubscriptionTopicNotificationShapeComponent("notificationShape", e); 48853 } 48854 } 48855 48856 protected void composeSubscriptionTopicResourceTriggerComponent(String name, SubscriptionTopic.SubscriptionTopicResourceTriggerComponent element) throws IOException { 48857 if (element != null) { 48858 composeElementAttributes(element); 48859 xml.enter(FHIR_NS, name); 48860 composeSubscriptionTopicResourceTriggerComponentElements(element); 48861 composeElementClose(element); 48862 xml.exit(FHIR_NS, name); 48863 } 48864 } 48865 48866 protected void composeSubscriptionTopicResourceTriggerComponentElements(SubscriptionTopic.SubscriptionTopicResourceTriggerComponent element) throws IOException { 48867 composeBackboneElementElements(element); 48868 if (element.hasDescriptionElement()) { 48869 composeMarkdown("description", element.getDescriptionElement()); 48870 } 48871 if (element.hasResourceElement()) { 48872 composeUri("resource", element.getResourceElement()); 48873 } 48874 if (element.hasSupportedInteraction()) 48875 for (Enumeration<SubscriptionTopic.InteractionTrigger> e : element.getSupportedInteraction()) 48876 composeEnumeration("supportedInteraction", e, new SubscriptionTopic.InteractionTriggerEnumFactory()); 48877 if (element.hasQueryCriteria()) { 48878 composeSubscriptionTopicResourceTriggerQueryCriteriaComponent("queryCriteria", element.getQueryCriteria()); 48879 } 48880 if (element.hasFhirPathCriteriaElement()) { 48881 composeString("fhirPathCriteria", element.getFhirPathCriteriaElement()); 48882 } 48883 } 48884 48885 protected void composeSubscriptionTopicResourceTriggerQueryCriteriaComponent(String name, SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent element) throws IOException { 48886 if (element != null) { 48887 composeElementAttributes(element); 48888 xml.enter(FHIR_NS, name); 48889 composeSubscriptionTopicResourceTriggerQueryCriteriaComponentElements(element); 48890 composeElementClose(element); 48891 xml.exit(FHIR_NS, name); 48892 } 48893 } 48894 48895 protected void composeSubscriptionTopicResourceTriggerQueryCriteriaComponentElements(SubscriptionTopic.SubscriptionTopicResourceTriggerQueryCriteriaComponent element) throws IOException { 48896 composeBackboneElementElements(element); 48897 if (element.hasPreviousElement()) { 48898 composeString("previous", element.getPreviousElement()); 48899 } 48900 if (element.hasResultForCreateElement()) 48901 composeEnumeration("resultForCreate", element.getResultForCreateElement(), new SubscriptionTopic.CriteriaNotExistsBehaviorEnumFactory()); 48902 if (element.hasCurrentElement()) { 48903 composeString("current", element.getCurrentElement()); 48904 } 48905 if (element.hasResultForDeleteElement()) 48906 composeEnumeration("resultForDelete", element.getResultForDeleteElement(), new SubscriptionTopic.CriteriaNotExistsBehaviorEnumFactory()); 48907 if (element.hasRequireBothElement()) { 48908 composeBoolean("requireBoth", element.getRequireBothElement()); 48909 } 48910 } 48911 48912 protected void composeSubscriptionTopicEventTriggerComponent(String name, SubscriptionTopic.SubscriptionTopicEventTriggerComponent element) throws IOException { 48913 if (element != null) { 48914 composeElementAttributes(element); 48915 xml.enter(FHIR_NS, name); 48916 composeSubscriptionTopicEventTriggerComponentElements(element); 48917 composeElementClose(element); 48918 xml.exit(FHIR_NS, name); 48919 } 48920 } 48921 48922 protected void composeSubscriptionTopicEventTriggerComponentElements(SubscriptionTopic.SubscriptionTopicEventTriggerComponent element) throws IOException { 48923 composeBackboneElementElements(element); 48924 if (element.hasDescriptionElement()) { 48925 composeMarkdown("description", element.getDescriptionElement()); 48926 } 48927 if (element.hasEvent()) { 48928 composeCodeableConcept("event", element.getEvent()); 48929 } 48930 if (element.hasResourceElement()) { 48931 composeUri("resource", element.getResourceElement()); 48932 } 48933 } 48934 48935 protected void composeSubscriptionTopicCanFilterByComponent(String name, SubscriptionTopic.SubscriptionTopicCanFilterByComponent element) throws IOException { 48936 if (element != null) { 48937 composeElementAttributes(element); 48938 xml.enter(FHIR_NS, name); 48939 composeSubscriptionTopicCanFilterByComponentElements(element); 48940 composeElementClose(element); 48941 xml.exit(FHIR_NS, name); 48942 } 48943 } 48944 48945 protected void composeSubscriptionTopicCanFilterByComponentElements(SubscriptionTopic.SubscriptionTopicCanFilterByComponent element) throws IOException { 48946 composeBackboneElementElements(element); 48947 if (element.hasDescriptionElement()) { 48948 composeMarkdown("description", element.getDescriptionElement()); 48949 } 48950 if (element.hasResourceElement()) { 48951 composeUri("resource", element.getResourceElement()); 48952 } 48953 if (element.hasFilterParameterElement()) { 48954 composeString("filterParameter", element.getFilterParameterElement()); 48955 } 48956 if (element.hasModifier()) 48957 for (Enumeration<SubscriptionTopic.SubscriptionSearchModifier> e : element.getModifier()) 48958 composeEnumeration("modifier", e, new SubscriptionTopic.SubscriptionSearchModifierEnumFactory()); 48959 } 48960 48961 protected void composeSubscriptionTopicNotificationShapeComponent(String name, SubscriptionTopic.SubscriptionTopicNotificationShapeComponent element) throws IOException { 48962 if (element != null) { 48963 composeElementAttributes(element); 48964 xml.enter(FHIR_NS, name); 48965 composeSubscriptionTopicNotificationShapeComponentElements(element); 48966 composeElementClose(element); 48967 xml.exit(FHIR_NS, name); 48968 } 48969 } 48970 48971 protected void composeSubscriptionTopicNotificationShapeComponentElements(SubscriptionTopic.SubscriptionTopicNotificationShapeComponent element) throws IOException { 48972 composeBackboneElementElements(element); 48973 if (element.hasResourceElement()) { 48974 composeUri("resource", element.getResourceElement()); 48975 } 48976 if (element.hasInclude()) { 48977 for (StringType e : element.getInclude()) 48978 composeString("include", e); 48979 } 48980 if (element.hasRevInclude()) { 48981 for (StringType e : element.getRevInclude()) 48982 composeString("revInclude", e); 48983 } 48984 } 48985 48986 protected void composeSubstance(String name, Substance element) throws IOException { 48987 if (element != null) { 48988 composeResourceAttributes(element); 48989 xml.enter(FHIR_NS, name); 48990 composeSubstanceElements(element); 48991 composeElementClose(element); 48992 xml.exit(FHIR_NS, name); 48993 } 48994 } 48995 48996 protected void composeSubstanceElements(Substance element) throws IOException { 48997 composeDomainResourceElements(element); 48998 if (element.hasIdentifier()) { 48999 for (Identifier e : element.getIdentifier()) 49000 composeIdentifier("identifier", e); 49001 } 49002 if (element.hasStatusElement()) 49003 composeEnumeration("status", element.getStatusElement(), new Substance.FHIRSubstanceStatusEnumFactory()); 49004 if (element.hasCategory()) { 49005 for (CodeableConcept e : element.getCategory()) 49006 composeCodeableConcept("category", e); 49007 } 49008 if (element.hasCode()) { 49009 composeCodeableConcept("code", element.getCode()); 49010 } 49011 if (element.hasDescriptionElement()) { 49012 composeString("description", element.getDescriptionElement()); 49013 } 49014 if (element.hasInstance()) { 49015 for (Substance.SubstanceInstanceComponent e : element.getInstance()) 49016 composeSubstanceInstanceComponent("instance", e); 49017 } 49018 if (element.hasIngredient()) { 49019 for (Substance.SubstanceIngredientComponent e : element.getIngredient()) 49020 composeSubstanceIngredientComponent("ingredient", e); 49021 } 49022 } 49023 49024 protected void composeSubstanceInstanceComponent(String name, Substance.SubstanceInstanceComponent element) throws IOException { 49025 if (element != null) { 49026 composeElementAttributes(element); 49027 xml.enter(FHIR_NS, name); 49028 composeSubstanceInstanceComponentElements(element); 49029 composeElementClose(element); 49030 xml.exit(FHIR_NS, name); 49031 } 49032 } 49033 49034 protected void composeSubstanceInstanceComponentElements(Substance.SubstanceInstanceComponent element) throws IOException { 49035 composeBackboneElementElements(element); 49036 if (element.hasIdentifier()) { 49037 composeIdentifier("identifier", element.getIdentifier()); 49038 } 49039 if (element.hasExpiryElement()) { 49040 composeDateTime("expiry", element.getExpiryElement()); 49041 } 49042 if (element.hasQuantity()) { 49043 composeQuantity("quantity", element.getQuantity()); 49044 } 49045 } 49046 49047 protected void composeSubstanceIngredientComponent(String name, Substance.SubstanceIngredientComponent element) throws IOException { 49048 if (element != null) { 49049 composeElementAttributes(element); 49050 xml.enter(FHIR_NS, name); 49051 composeSubstanceIngredientComponentElements(element); 49052 composeElementClose(element); 49053 xml.exit(FHIR_NS, name); 49054 } 49055 } 49056 49057 protected void composeSubstanceIngredientComponentElements(Substance.SubstanceIngredientComponent element) throws IOException { 49058 composeBackboneElementElements(element); 49059 if (element.hasQuantity()) { 49060 composeRatio("quantity", element.getQuantity()); 49061 } 49062 if (element.hasSubstance()) { 49063 composeType("substance", element.getSubstance()); 49064 } } 49065 49066 protected void composeSubstanceDefinition(String name, SubstanceDefinition element) throws IOException { 49067 if (element != null) { 49068 composeResourceAttributes(element); 49069 xml.enter(FHIR_NS, name); 49070 composeSubstanceDefinitionElements(element); 49071 composeElementClose(element); 49072 xml.exit(FHIR_NS, name); 49073 } 49074 } 49075 49076 protected void composeSubstanceDefinitionElements(SubstanceDefinition element) throws IOException { 49077 composeDomainResourceElements(element); 49078 if (element.hasIdentifier()) { 49079 for (Identifier e : element.getIdentifier()) 49080 composeIdentifier("identifier", e); 49081 } 49082 if (element.hasVersionElement()) { 49083 composeString("version", element.getVersionElement()); 49084 } 49085 if (element.hasStatus()) { 49086 composeCodeableConcept("status", element.getStatus()); 49087 } 49088 if (element.hasClassification()) { 49089 for (CodeableConcept e : element.getClassification()) 49090 composeCodeableConcept("classification", e); 49091 } 49092 if (element.hasDomain()) { 49093 composeCodeableConcept("domain", element.getDomain()); 49094 } 49095 if (element.hasGrade()) { 49096 for (CodeableConcept e : element.getGrade()) 49097 composeCodeableConcept("grade", e); 49098 } 49099 if (element.hasDescriptionElement()) { 49100 composeMarkdown("description", element.getDescriptionElement()); 49101 } 49102 if (element.hasInformationSource()) { 49103 for (Reference e : element.getInformationSource()) 49104 composeReference("informationSource", e); 49105 } 49106 if (element.hasNote()) { 49107 for (Annotation e : element.getNote()) 49108 composeAnnotation("note", e); 49109 } 49110 if (element.hasManufacturer()) { 49111 for (Reference e : element.getManufacturer()) 49112 composeReference("manufacturer", e); 49113 } 49114 if (element.hasSupplier()) { 49115 for (Reference e : element.getSupplier()) 49116 composeReference("supplier", e); 49117 } 49118 if (element.hasMoiety()) { 49119 for (SubstanceDefinition.SubstanceDefinitionMoietyComponent e : element.getMoiety()) 49120 composeSubstanceDefinitionMoietyComponent("moiety", e); 49121 } 49122 if (element.hasProperty()) { 49123 for (SubstanceDefinition.SubstanceDefinitionPropertyComponent e : element.getProperty()) 49124 composeSubstanceDefinitionPropertyComponent("property", e); 49125 } 49126 if (element.hasMolecularWeight()) { 49127 for (SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent e : element.getMolecularWeight()) 49128 composeSubstanceDefinitionMolecularWeightComponent("molecularWeight", e); 49129 } 49130 if (element.hasStructure()) { 49131 composeSubstanceDefinitionStructureComponent("structure", element.getStructure()); 49132 } 49133 if (element.hasCode()) { 49134 for (SubstanceDefinition.SubstanceDefinitionCodeComponent e : element.getCode()) 49135 composeSubstanceDefinitionCodeComponent("code", e); 49136 } 49137 if (element.hasName()) { 49138 for (SubstanceDefinition.SubstanceDefinitionNameComponent e : element.getName()) 49139 composeSubstanceDefinitionNameComponent("name", e); 49140 } 49141 if (element.hasRelationship()) { 49142 for (SubstanceDefinition.SubstanceDefinitionRelationshipComponent e : element.getRelationship()) 49143 composeSubstanceDefinitionRelationshipComponent("relationship", e); 49144 } 49145 if (element.hasSourceMaterial()) { 49146 composeSubstanceDefinitionSourceMaterialComponent("sourceMaterial", element.getSourceMaterial()); 49147 } 49148 } 49149 49150 protected void composeSubstanceDefinitionMoietyComponent(String name, SubstanceDefinition.SubstanceDefinitionMoietyComponent element) throws IOException { 49151 if (element != null) { 49152 composeElementAttributes(element); 49153 xml.enter(FHIR_NS, name); 49154 composeSubstanceDefinitionMoietyComponentElements(element); 49155 composeElementClose(element); 49156 xml.exit(FHIR_NS, name); 49157 } 49158 } 49159 49160 protected void composeSubstanceDefinitionMoietyComponentElements(SubstanceDefinition.SubstanceDefinitionMoietyComponent element) throws IOException { 49161 composeBackboneElementElements(element); 49162 if (element.hasRole()) { 49163 composeCodeableConcept("role", element.getRole()); 49164 } 49165 if (element.hasIdentifier()) { 49166 composeIdentifier("identifier", element.getIdentifier()); 49167 } 49168 if (element.hasNameElement()) { 49169 composeString("name", element.getNameElement()); 49170 } 49171 if (element.hasStereochemistry()) { 49172 composeCodeableConcept("stereochemistry", element.getStereochemistry()); 49173 } 49174 if (element.hasOpticalActivity()) { 49175 composeCodeableConcept("opticalActivity", element.getOpticalActivity()); 49176 } 49177 if (element.hasMolecularFormulaElement()) { 49178 composeString("molecularFormula", element.getMolecularFormulaElement()); 49179 } 49180 if (element.hasAmount()) { 49181 composeType("amount", element.getAmount()); 49182 } if (element.hasAmountType()) { 49183 composeCodeableConcept("amountType", element.getAmountType()); 49184 } 49185 } 49186 49187 protected void composeSubstanceDefinitionPropertyComponent(String name, SubstanceDefinition.SubstanceDefinitionPropertyComponent element) throws IOException { 49188 if (element != null) { 49189 composeElementAttributes(element); 49190 xml.enter(FHIR_NS, name); 49191 composeSubstanceDefinitionPropertyComponentElements(element); 49192 composeElementClose(element); 49193 xml.exit(FHIR_NS, name); 49194 } 49195 } 49196 49197 protected void composeSubstanceDefinitionPropertyComponentElements(SubstanceDefinition.SubstanceDefinitionPropertyComponent element) throws IOException { 49198 composeBackboneElementElements(element); 49199 if (element.hasType()) { 49200 composeCodeableConcept("type", element.getType()); 49201 } 49202 if (element.hasValue()) { 49203 composeType("value", element.getValue()); 49204 } } 49205 49206 protected void composeSubstanceDefinitionMolecularWeightComponent(String name, SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent element) throws IOException { 49207 if (element != null) { 49208 composeElementAttributes(element); 49209 xml.enter(FHIR_NS, name); 49210 composeSubstanceDefinitionMolecularWeightComponentElements(element); 49211 composeElementClose(element); 49212 xml.exit(FHIR_NS, name); 49213 } 49214 } 49215 49216 protected void composeSubstanceDefinitionMolecularWeightComponentElements(SubstanceDefinition.SubstanceDefinitionMolecularWeightComponent element) throws IOException { 49217 composeBackboneElementElements(element); 49218 if (element.hasMethod()) { 49219 composeCodeableConcept("method", element.getMethod()); 49220 } 49221 if (element.hasType()) { 49222 composeCodeableConcept("type", element.getType()); 49223 } 49224 if (element.hasAmount()) { 49225 composeQuantity("amount", element.getAmount()); 49226 } 49227 } 49228 49229 protected void composeSubstanceDefinitionStructureComponent(String name, SubstanceDefinition.SubstanceDefinitionStructureComponent element) throws IOException { 49230 if (element != null) { 49231 composeElementAttributes(element); 49232 xml.enter(FHIR_NS, name); 49233 composeSubstanceDefinitionStructureComponentElements(element); 49234 composeElementClose(element); 49235 xml.exit(FHIR_NS, name); 49236 } 49237 } 49238 49239 protected void composeSubstanceDefinitionStructureComponentElements(SubstanceDefinition.SubstanceDefinitionStructureComponent element) throws IOException { 49240 composeBackboneElementElements(element); 49241 if (element.hasStereochemistry()) { 49242 composeCodeableConcept("stereochemistry", element.getStereochemistry()); 49243 } 49244 if (element.hasOpticalActivity()) { 49245 composeCodeableConcept("opticalActivity", element.getOpticalActivity()); 49246 } 49247 if (element.hasMolecularFormulaElement()) { 49248 composeString("molecularFormula", element.getMolecularFormulaElement()); 49249 } 49250 if (element.hasMolecularFormulaByMoietyElement()) { 49251 composeString("molecularFormulaByMoiety", element.getMolecularFormulaByMoietyElement()); 49252 } 49253 if (element.hasMolecularWeight()) { 49254 composeSubstanceDefinitionMolecularWeightComponent("molecularWeight", element.getMolecularWeight()); 49255 } 49256 if (element.hasTechnique()) { 49257 for (CodeableConcept e : element.getTechnique()) 49258 composeCodeableConcept("technique", e); 49259 } 49260 if (element.hasSourceDocument()) { 49261 for (Reference e : element.getSourceDocument()) 49262 composeReference("sourceDocument", e); 49263 } 49264 if (element.hasRepresentation()) { 49265 for (SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent e : element.getRepresentation()) 49266 composeSubstanceDefinitionStructureRepresentationComponent("representation", e); 49267 } 49268 } 49269 49270 protected void composeSubstanceDefinitionStructureRepresentationComponent(String name, SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent element) throws IOException { 49271 if (element != null) { 49272 composeElementAttributes(element); 49273 xml.enter(FHIR_NS, name); 49274 composeSubstanceDefinitionStructureRepresentationComponentElements(element); 49275 composeElementClose(element); 49276 xml.exit(FHIR_NS, name); 49277 } 49278 } 49279 49280 protected void composeSubstanceDefinitionStructureRepresentationComponentElements(SubstanceDefinition.SubstanceDefinitionStructureRepresentationComponent element) throws IOException { 49281 composeBackboneElementElements(element); 49282 if (element.hasType()) { 49283 composeCodeableConcept("type", element.getType()); 49284 } 49285 if (element.hasRepresentationElement()) { 49286 composeString("representation", element.getRepresentationElement()); 49287 } 49288 if (element.hasFormat()) { 49289 composeCodeableConcept("format", element.getFormat()); 49290 } 49291 if (element.hasDocument()) { 49292 composeReference("document", element.getDocument()); 49293 } 49294 } 49295 49296 protected void composeSubstanceDefinitionCodeComponent(String name, SubstanceDefinition.SubstanceDefinitionCodeComponent element) throws IOException { 49297 if (element != null) { 49298 composeElementAttributes(element); 49299 xml.enter(FHIR_NS, name); 49300 composeSubstanceDefinitionCodeComponentElements(element); 49301 composeElementClose(element); 49302 xml.exit(FHIR_NS, name); 49303 } 49304 } 49305 49306 protected void composeSubstanceDefinitionCodeComponentElements(SubstanceDefinition.SubstanceDefinitionCodeComponent element) throws IOException { 49307 composeBackboneElementElements(element); 49308 if (element.hasCode()) { 49309 composeCodeableConcept("code", element.getCode()); 49310 } 49311 if (element.hasStatus()) { 49312 composeCodeableConcept("status", element.getStatus()); 49313 } 49314 if (element.hasStatusDateElement()) { 49315 composeDateTime("statusDate", element.getStatusDateElement()); 49316 } 49317 if (element.hasNote()) { 49318 for (Annotation e : element.getNote()) 49319 composeAnnotation("note", e); 49320 } 49321 if (element.hasSource()) { 49322 for (Reference e : element.getSource()) 49323 composeReference("source", e); 49324 } 49325 } 49326 49327 protected void composeSubstanceDefinitionNameComponent(String name, SubstanceDefinition.SubstanceDefinitionNameComponent element) throws IOException { 49328 if (element != null) { 49329 composeElementAttributes(element); 49330 xml.enter(FHIR_NS, name); 49331 composeSubstanceDefinitionNameComponentElements(element); 49332 composeElementClose(element); 49333 xml.exit(FHIR_NS, name); 49334 } 49335 } 49336 49337 protected void composeSubstanceDefinitionNameComponentElements(SubstanceDefinition.SubstanceDefinitionNameComponent element) throws IOException { 49338 composeBackboneElementElements(element); 49339 if (element.hasNameElement()) { 49340 composeString("name", element.getNameElement()); 49341 } 49342 if (element.hasType()) { 49343 composeCodeableConcept("type", element.getType()); 49344 } 49345 if (element.hasStatus()) { 49346 composeCodeableConcept("status", element.getStatus()); 49347 } 49348 if (element.hasPreferredElement()) { 49349 composeBoolean("preferred", element.getPreferredElement()); 49350 } 49351 if (element.hasLanguage()) { 49352 for (CodeableConcept e : element.getLanguage()) 49353 composeCodeableConcept("language", e); 49354 } 49355 if (element.hasDomain()) { 49356 for (CodeableConcept e : element.getDomain()) 49357 composeCodeableConcept("domain", e); 49358 } 49359 if (element.hasJurisdiction()) { 49360 for (CodeableConcept e : element.getJurisdiction()) 49361 composeCodeableConcept("jurisdiction", e); 49362 } 49363 if (element.hasSynonym()) { 49364 for (SubstanceDefinition.SubstanceDefinitionNameComponent e : element.getSynonym()) 49365 composeSubstanceDefinitionNameComponent("synonym", e); 49366 } 49367 if (element.hasTranslation()) { 49368 for (SubstanceDefinition.SubstanceDefinitionNameComponent e : element.getTranslation()) 49369 composeSubstanceDefinitionNameComponent("translation", e); 49370 } 49371 if (element.hasOfficial()) { 49372 for (SubstanceDefinition.SubstanceDefinitionNameOfficialComponent e : element.getOfficial()) 49373 composeSubstanceDefinitionNameOfficialComponent("official", e); 49374 } 49375 if (element.hasSource()) { 49376 for (Reference e : element.getSource()) 49377 composeReference("source", e); 49378 } 49379 } 49380 49381 protected void composeSubstanceDefinitionNameOfficialComponent(String name, SubstanceDefinition.SubstanceDefinitionNameOfficialComponent element) throws IOException { 49382 if (element != null) { 49383 composeElementAttributes(element); 49384 xml.enter(FHIR_NS, name); 49385 composeSubstanceDefinitionNameOfficialComponentElements(element); 49386 composeElementClose(element); 49387 xml.exit(FHIR_NS, name); 49388 } 49389 } 49390 49391 protected void composeSubstanceDefinitionNameOfficialComponentElements(SubstanceDefinition.SubstanceDefinitionNameOfficialComponent element) throws IOException { 49392 composeBackboneElementElements(element); 49393 if (element.hasAuthority()) { 49394 composeCodeableConcept("authority", element.getAuthority()); 49395 } 49396 if (element.hasStatus()) { 49397 composeCodeableConcept("status", element.getStatus()); 49398 } 49399 if (element.hasDateElement()) { 49400 composeDateTime("date", element.getDateElement()); 49401 } 49402 } 49403 49404 protected void composeSubstanceDefinitionRelationshipComponent(String name, SubstanceDefinition.SubstanceDefinitionRelationshipComponent element) throws IOException { 49405 if (element != null) { 49406 composeElementAttributes(element); 49407 xml.enter(FHIR_NS, name); 49408 composeSubstanceDefinitionRelationshipComponentElements(element); 49409 composeElementClose(element); 49410 xml.exit(FHIR_NS, name); 49411 } 49412 } 49413 49414 protected void composeSubstanceDefinitionRelationshipComponentElements(SubstanceDefinition.SubstanceDefinitionRelationshipComponent element) throws IOException { 49415 composeBackboneElementElements(element); 49416 if (element.hasSubstanceDefinition()) { 49417 composeType("substanceDefinition", element.getSubstanceDefinition()); 49418 } if (element.hasType()) { 49419 composeCodeableConcept("type", element.getType()); 49420 } 49421 if (element.hasIsDefiningElement()) { 49422 composeBoolean("isDefining", element.getIsDefiningElement()); 49423 } 49424 if (element.hasAmount()) { 49425 composeType("amount", element.getAmount()); 49426 } if (element.hasAmountRatioHighLimit()) { 49427 composeRatio("amountRatioHighLimit", element.getAmountRatioHighLimit()); 49428 } 49429 if (element.hasAmountType()) { 49430 composeCodeableConcept("amountType", element.getAmountType()); 49431 } 49432 if (element.hasSource()) { 49433 for (Reference e : element.getSource()) 49434 composeReference("source", e); 49435 } 49436 } 49437 49438 protected void composeSubstanceDefinitionSourceMaterialComponent(String name, SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent element) throws IOException { 49439 if (element != null) { 49440 composeElementAttributes(element); 49441 xml.enter(FHIR_NS, name); 49442 composeSubstanceDefinitionSourceMaterialComponentElements(element); 49443 composeElementClose(element); 49444 xml.exit(FHIR_NS, name); 49445 } 49446 } 49447 49448 protected void composeSubstanceDefinitionSourceMaterialComponentElements(SubstanceDefinition.SubstanceDefinitionSourceMaterialComponent element) throws IOException { 49449 composeBackboneElementElements(element); 49450 if (element.hasType()) { 49451 composeCodeableConcept("type", element.getType()); 49452 } 49453 if (element.hasGenus()) { 49454 composeCodeableConcept("genus", element.getGenus()); 49455 } 49456 if (element.hasSpecies()) { 49457 composeCodeableConcept("species", element.getSpecies()); 49458 } 49459 if (element.hasPart()) { 49460 composeCodeableConcept("part", element.getPart()); 49461 } 49462 if (element.hasCountryOfOrigin()) { 49463 for (CodeableConcept e : element.getCountryOfOrigin()) 49464 composeCodeableConcept("countryOfOrigin", e); 49465 } 49466 } 49467 49468 protected void composeSupplyDelivery(String name, SupplyDelivery element) throws IOException { 49469 if (element != null) { 49470 composeResourceAttributes(element); 49471 xml.enter(FHIR_NS, name); 49472 composeSupplyDeliveryElements(element); 49473 composeElementClose(element); 49474 xml.exit(FHIR_NS, name); 49475 } 49476 } 49477 49478 protected void composeSupplyDeliveryElements(SupplyDelivery element) throws IOException { 49479 composeDomainResourceElements(element); 49480 if (element.hasIdentifier()) { 49481 for (Identifier e : element.getIdentifier()) 49482 composeIdentifier("identifier", e); 49483 } 49484 if (element.hasBasedOn()) { 49485 for (Reference e : element.getBasedOn()) 49486 composeReference("basedOn", e); 49487 } 49488 if (element.hasPartOf()) { 49489 for (Reference e : element.getPartOf()) 49490 composeReference("partOf", e); 49491 } 49492 if (element.hasStatusElement()) 49493 composeEnumeration("status", element.getStatusElement(), new SupplyDelivery.SupplyDeliveryStatusEnumFactory()); 49494 if (element.hasPatient()) { 49495 composeReference("patient", element.getPatient()); 49496 } 49497 if (element.hasType()) { 49498 composeCodeableConcept("type", element.getType()); 49499 } 49500 if (element.hasSuppliedItem()) { 49501 composeSupplyDeliverySuppliedItemComponent("suppliedItem", element.getSuppliedItem()); 49502 } 49503 if (element.hasOccurrence()) { 49504 composeType("occurrence", element.getOccurrence()); 49505 } if (element.hasSupplier()) { 49506 composeReference("supplier", element.getSupplier()); 49507 } 49508 if (element.hasDestination()) { 49509 composeReference("destination", element.getDestination()); 49510 } 49511 if (element.hasReceiver()) { 49512 for (Reference e : element.getReceiver()) 49513 composeReference("receiver", e); 49514 } 49515 } 49516 49517 protected void composeSupplyDeliverySuppliedItemComponent(String name, SupplyDelivery.SupplyDeliverySuppliedItemComponent element) throws IOException { 49518 if (element != null) { 49519 composeElementAttributes(element); 49520 xml.enter(FHIR_NS, name); 49521 composeSupplyDeliverySuppliedItemComponentElements(element); 49522 composeElementClose(element); 49523 xml.exit(FHIR_NS, name); 49524 } 49525 } 49526 49527 protected void composeSupplyDeliverySuppliedItemComponentElements(SupplyDelivery.SupplyDeliverySuppliedItemComponent element) throws IOException { 49528 composeBackboneElementElements(element); 49529 if (element.hasQuantity()) { 49530 composeQuantity("quantity", element.getQuantity()); 49531 } 49532 if (element.hasItem()) { 49533 composeType("item", element.getItem()); 49534 } } 49535 49536 protected void composeSupplyRequest(String name, SupplyRequest element) throws IOException { 49537 if (element != null) { 49538 composeResourceAttributes(element); 49539 xml.enter(FHIR_NS, name); 49540 composeSupplyRequestElements(element); 49541 composeElementClose(element); 49542 xml.exit(FHIR_NS, name); 49543 } 49544 } 49545 49546 protected void composeSupplyRequestElements(SupplyRequest element) throws IOException { 49547 composeDomainResourceElements(element); 49548 if (element.hasIdentifier()) { 49549 for (Identifier e : element.getIdentifier()) 49550 composeIdentifier("identifier", e); 49551 } 49552 if (element.hasStatusElement()) 49553 composeEnumeration("status", element.getStatusElement(), new SupplyRequest.SupplyRequestStatusEnumFactory()); 49554 if (element.hasCategory()) { 49555 composeCodeableConcept("category", element.getCategory()); 49556 } 49557 if (element.hasPriorityElement()) 49558 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 49559 if (element.hasItem()) { 49560 composeType("item", element.getItem()); 49561 } if (element.hasQuantity()) { 49562 composeQuantity("quantity", element.getQuantity()); 49563 } 49564 if (element.hasParameter()) { 49565 for (SupplyRequest.SupplyRequestParameterComponent e : element.getParameter()) 49566 composeSupplyRequestParameterComponent("parameter", e); 49567 } 49568 if (element.hasOccurrence()) { 49569 composeType("occurrence", element.getOccurrence()); 49570 } if (element.hasAuthoredOnElement()) { 49571 composeDateTime("authoredOn", element.getAuthoredOnElement()); 49572 } 49573 if (element.hasRequester()) { 49574 composeReference("requester", element.getRequester()); 49575 } 49576 if (element.hasSupplier()) { 49577 for (Reference e : element.getSupplier()) 49578 composeReference("supplier", e); 49579 } 49580 if (element.hasReasonCode()) { 49581 for (CodeableConcept e : element.getReasonCode()) 49582 composeCodeableConcept("reasonCode", e); 49583 } 49584 if (element.hasReasonReference()) { 49585 for (Reference e : element.getReasonReference()) 49586 composeReference("reasonReference", e); 49587 } 49588 if (element.hasDeliverFrom()) { 49589 composeReference("deliverFrom", element.getDeliverFrom()); 49590 } 49591 if (element.hasDeliverTo()) { 49592 composeReference("deliverTo", element.getDeliverTo()); 49593 } 49594 } 49595 49596 protected void composeSupplyRequestParameterComponent(String name, SupplyRequest.SupplyRequestParameterComponent element) throws IOException { 49597 if (element != null) { 49598 composeElementAttributes(element); 49599 xml.enter(FHIR_NS, name); 49600 composeSupplyRequestParameterComponentElements(element); 49601 composeElementClose(element); 49602 xml.exit(FHIR_NS, name); 49603 } 49604 } 49605 49606 protected void composeSupplyRequestParameterComponentElements(SupplyRequest.SupplyRequestParameterComponent element) throws IOException { 49607 composeBackboneElementElements(element); 49608 if (element.hasCode()) { 49609 composeCodeableConcept("code", element.getCode()); 49610 } 49611 if (element.hasValue()) { 49612 composeType("value", element.getValue()); 49613 } } 49614 49615 protected void composeTask(String name, Task element) throws IOException { 49616 if (element != null) { 49617 composeResourceAttributes(element); 49618 xml.enter(FHIR_NS, name); 49619 composeTaskElements(element); 49620 composeElementClose(element); 49621 xml.exit(FHIR_NS, name); 49622 } 49623 } 49624 49625 protected void composeTaskElements(Task element) throws IOException { 49626 composeDomainResourceElements(element); 49627 if (element.hasIdentifier()) { 49628 for (Identifier e : element.getIdentifier()) 49629 composeIdentifier("identifier", e); 49630 } 49631 if (element.hasInstantiatesCanonicalElement()) { 49632 composeCanonical("instantiatesCanonical", element.getInstantiatesCanonicalElement()); 49633 } 49634 if (element.hasInstantiatesUriElement()) { 49635 composeUri("instantiatesUri", element.getInstantiatesUriElement()); 49636 } 49637 if (element.hasBasedOn()) { 49638 for (Reference e : element.getBasedOn()) 49639 composeReference("basedOn", e); 49640 } 49641 if (element.hasGroupIdentifier()) { 49642 composeIdentifier("groupIdentifier", element.getGroupIdentifier()); 49643 } 49644 if (element.hasPartOf()) { 49645 for (Reference e : element.getPartOf()) 49646 composeReference("partOf", e); 49647 } 49648 if (element.hasStatusElement()) 49649 composeEnumeration("status", element.getStatusElement(), new Task.TaskStatusEnumFactory()); 49650 if (element.hasStatusReason()) { 49651 composeCodeableConcept("statusReason", element.getStatusReason()); 49652 } 49653 if (element.hasBusinessStatus()) { 49654 composeCodeableConcept("businessStatus", element.getBusinessStatus()); 49655 } 49656 if (element.hasIntentElement()) 49657 composeEnumeration("intent", element.getIntentElement(), new Task.TaskIntentEnumFactory()); 49658 if (element.hasPriorityElement()) 49659 composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); 49660 if (element.hasCode()) { 49661 composeCodeableConcept("code", element.getCode()); 49662 } 49663 if (element.hasDescriptionElement()) { 49664 composeString("description", element.getDescriptionElement()); 49665 } 49666 if (element.hasFocus()) { 49667 composeReference("focus", element.getFocus()); 49668 } 49669 if (element.hasFor()) { 49670 composeReference("for", element.getFor()); 49671 } 49672 if (element.hasEncounter()) { 49673 composeReference("encounter", element.getEncounter()); 49674 } 49675 if (element.hasExecutionPeriod()) { 49676 composePeriod("executionPeriod", element.getExecutionPeriod()); 49677 } 49678 if (element.hasAuthoredOnElement()) { 49679 composeDateTime("authoredOn", element.getAuthoredOnElement()); 49680 } 49681 if (element.hasLastModifiedElement()) { 49682 composeDateTime("lastModified", element.getLastModifiedElement()); 49683 } 49684 if (element.hasRequester()) { 49685 composeReference("requester", element.getRequester()); 49686 } 49687 if (element.hasPerformerType()) { 49688 for (CodeableConcept e : element.getPerformerType()) 49689 composeCodeableConcept("performerType", e); 49690 } 49691 if (element.hasOwner()) { 49692 composeReference("owner", element.getOwner()); 49693 } 49694 if (element.hasLocation()) { 49695 composeReference("location", element.getLocation()); 49696 } 49697 if (element.hasReasonCode()) { 49698 composeCodeableConcept("reasonCode", element.getReasonCode()); 49699 } 49700 if (element.hasReasonReference()) { 49701 composeReference("reasonReference", element.getReasonReference()); 49702 } 49703 if (element.hasInsurance()) { 49704 for (Reference e : element.getInsurance()) 49705 composeReference("insurance", e); 49706 } 49707 if (element.hasNote()) { 49708 for (Annotation e : element.getNote()) 49709 composeAnnotation("note", e); 49710 } 49711 if (element.hasRelevantHistory()) { 49712 for (Reference e : element.getRelevantHistory()) 49713 composeReference("relevantHistory", e); 49714 } 49715 if (element.hasRestriction()) { 49716 composeTaskRestrictionComponent("restriction", element.getRestriction()); 49717 } 49718 if (element.hasInput()) { 49719 for (Task.ParameterComponent e : element.getInput()) 49720 composeTaskParameterComponent("input", e); 49721 } 49722 if (element.hasOutput()) { 49723 for (Task.TaskOutputComponent e : element.getOutput()) 49724 composeTaskOutputComponent("output", e); 49725 } 49726 } 49727 49728 protected void composeTaskRestrictionComponent(String name, Task.TaskRestrictionComponent element) throws IOException { 49729 if (element != null) { 49730 composeElementAttributes(element); 49731 xml.enter(FHIR_NS, name); 49732 composeTaskRestrictionComponentElements(element); 49733 composeElementClose(element); 49734 xml.exit(FHIR_NS, name); 49735 } 49736 } 49737 49738 protected void composeTaskRestrictionComponentElements(Task.TaskRestrictionComponent element) throws IOException { 49739 composeBackboneElementElements(element); 49740 if (element.hasRepetitionsElement()) { 49741 composePositiveInt("repetitions", element.getRepetitionsElement()); 49742 } 49743 if (element.hasPeriod()) { 49744 composePeriod("period", element.getPeriod()); 49745 } 49746 if (element.hasRecipient()) { 49747 for (Reference e : element.getRecipient()) 49748 composeReference("recipient", e); 49749 } 49750 } 49751 49752 protected void composeTaskParameterComponent(String name, Task.ParameterComponent element) throws IOException { 49753 if (element != null) { 49754 composeElementAttributes(element); 49755 xml.enter(FHIR_NS, name); 49756 composeTaskParameterComponentElements(element); 49757 composeElementClose(element); 49758 xml.exit(FHIR_NS, name); 49759 } 49760 } 49761 49762 protected void composeTaskParameterComponentElements(Task.ParameterComponent element) throws IOException { 49763 composeBackboneElementElements(element); 49764 if (element.hasType()) { 49765 composeCodeableConcept("type", element.getType()); 49766 } 49767 if (element.hasValue()) { 49768 composeType("value", element.getValue()); 49769 } } 49770 49771 protected void composeTaskOutputComponent(String name, Task.TaskOutputComponent element) throws IOException { 49772 if (element != null) { 49773 composeElementAttributes(element); 49774 xml.enter(FHIR_NS, name); 49775 composeTaskOutputComponentElements(element); 49776 composeElementClose(element); 49777 xml.exit(FHIR_NS, name); 49778 } 49779 } 49780 49781 protected void composeTaskOutputComponentElements(Task.TaskOutputComponent element) throws IOException { 49782 composeBackboneElementElements(element); 49783 if (element.hasType()) { 49784 composeCodeableConcept("type", element.getType()); 49785 } 49786 if (element.hasValue()) { 49787 composeType("value", element.getValue()); 49788 } } 49789 49790 protected void composeTerminologyCapabilities(String name, TerminologyCapabilities element) throws IOException { 49791 if (element != null) { 49792 composeResourceAttributes(element); 49793 xml.enter(FHIR_NS, name); 49794 composeTerminologyCapabilitiesElements(element); 49795 composeElementClose(element); 49796 xml.exit(FHIR_NS, name); 49797 } 49798 } 49799 49800 protected void composeTerminologyCapabilitiesElements(TerminologyCapabilities element) throws IOException { 49801 composeDomainResourceElements(element); 49802 if (element.hasUrlElement()) { 49803 composeUri("url", element.getUrlElement()); 49804 } 49805 if (element.hasVersionElement()) { 49806 composeString("version", element.getVersionElement()); 49807 } 49808 if (element.hasNameElement()) { 49809 composeString("name", element.getNameElement()); 49810 } 49811 if (element.hasTitleElement()) { 49812 composeString("title", element.getTitleElement()); 49813 } 49814 if (element.hasStatusElement()) 49815 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 49816 if (element.hasExperimentalElement()) { 49817 composeBoolean("experimental", element.getExperimentalElement()); 49818 } 49819 if (element.hasDateElement()) { 49820 composeDateTime("date", element.getDateElement()); 49821 } 49822 if (element.hasPublisherElement()) { 49823 composeString("publisher", element.getPublisherElement()); 49824 } 49825 if (element.hasContact()) { 49826 for (ContactDetail e : element.getContact()) 49827 composeContactDetail("contact", e); 49828 } 49829 if (element.hasDescriptionElement()) { 49830 composeMarkdown("description", element.getDescriptionElement()); 49831 } 49832 if (element.hasUseContext()) { 49833 for (UsageContext e : element.getUseContext()) 49834 composeUsageContext("useContext", e); 49835 } 49836 if (element.hasJurisdiction()) { 49837 for (CodeableConcept e : element.getJurisdiction()) 49838 composeCodeableConcept("jurisdiction", e); 49839 } 49840 if (element.hasPurposeElement()) { 49841 composeMarkdown("purpose", element.getPurposeElement()); 49842 } 49843 if (element.hasCopyrightElement()) { 49844 composeMarkdown("copyright", element.getCopyrightElement()); 49845 } 49846 if (element.hasKindElement()) 49847 composeEnumeration("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory()); 49848 if (element.hasSoftware()) { 49849 composeTerminologyCapabilitiesSoftwareComponent("software", element.getSoftware()); 49850 } 49851 if (element.hasImplementation()) { 49852 composeTerminologyCapabilitiesImplementationComponent("implementation", element.getImplementation()); 49853 } 49854 if (element.hasLockedDateElement()) { 49855 composeBoolean("lockedDate", element.getLockedDateElement()); 49856 } 49857 if (element.hasCodeSystem()) { 49858 for (TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent e : element.getCodeSystem()) 49859 composeTerminologyCapabilitiesCodeSystemComponent("codeSystem", e); 49860 } 49861 if (element.hasExpansion()) { 49862 composeTerminologyCapabilitiesExpansionComponent("expansion", element.getExpansion()); 49863 } 49864 if (element.hasCodeSearchElement()) 49865 composeEnumeration("codeSearch", element.getCodeSearchElement(), new TerminologyCapabilities.CodeSearchSupportEnumFactory()); 49866 if (element.hasValidateCode()) { 49867 composeTerminologyCapabilitiesValidateCodeComponent("validateCode", element.getValidateCode()); 49868 } 49869 if (element.hasTranslation()) { 49870 composeTerminologyCapabilitiesTranslationComponent("translation", element.getTranslation()); 49871 } 49872 if (element.hasClosure()) { 49873 composeTerminologyCapabilitiesClosureComponent("closure", element.getClosure()); 49874 } 49875 } 49876 49877 protected void composeTerminologyCapabilitiesSoftwareComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent element) throws IOException { 49878 if (element != null) { 49879 composeElementAttributes(element); 49880 xml.enter(FHIR_NS, name); 49881 composeTerminologyCapabilitiesSoftwareComponentElements(element); 49882 composeElementClose(element); 49883 xml.exit(FHIR_NS, name); 49884 } 49885 } 49886 49887 protected void composeTerminologyCapabilitiesSoftwareComponentElements(TerminologyCapabilities.TerminologyCapabilitiesSoftwareComponent element) throws IOException { 49888 composeBackboneElementElements(element); 49889 if (element.hasNameElement()) { 49890 composeString("name", element.getNameElement()); 49891 } 49892 if (element.hasVersionElement()) { 49893 composeString("version", element.getVersionElement()); 49894 } 49895 } 49896 49897 protected void composeTerminologyCapabilitiesImplementationComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent element) throws IOException { 49898 if (element != null) { 49899 composeElementAttributes(element); 49900 xml.enter(FHIR_NS, name); 49901 composeTerminologyCapabilitiesImplementationComponentElements(element); 49902 composeElementClose(element); 49903 xml.exit(FHIR_NS, name); 49904 } 49905 } 49906 49907 protected void composeTerminologyCapabilitiesImplementationComponentElements(TerminologyCapabilities.TerminologyCapabilitiesImplementationComponent element) throws IOException { 49908 composeBackboneElementElements(element); 49909 if (element.hasDescriptionElement()) { 49910 composeString("description", element.getDescriptionElement()); 49911 } 49912 if (element.hasUrlElement()) { 49913 composeUrl("url", element.getUrlElement()); 49914 } 49915 } 49916 49917 protected void composeTerminologyCapabilitiesCodeSystemComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent element) throws IOException { 49918 if (element != null) { 49919 composeElementAttributes(element); 49920 xml.enter(FHIR_NS, name); 49921 composeTerminologyCapabilitiesCodeSystemComponentElements(element); 49922 composeElementClose(element); 49923 xml.exit(FHIR_NS, name); 49924 } 49925 } 49926 49927 protected void composeTerminologyCapabilitiesCodeSystemComponentElements(TerminologyCapabilities.TerminologyCapabilitiesCodeSystemComponent element) throws IOException { 49928 composeBackboneElementElements(element); 49929 if (element.hasUriElement()) { 49930 composeCanonical("uri", element.getUriElement()); 49931 } 49932 if (element.hasVersion()) { 49933 for (TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent e : element.getVersion()) 49934 composeTerminologyCapabilitiesCodeSystemVersionComponent("version", e); 49935 } 49936 if (element.hasSubsumptionElement()) { 49937 composeBoolean("subsumption", element.getSubsumptionElement()); 49938 } 49939 } 49940 49941 protected void composeTerminologyCapabilitiesCodeSystemVersionComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent element) throws IOException { 49942 if (element != null) { 49943 composeElementAttributes(element); 49944 xml.enter(FHIR_NS, name); 49945 composeTerminologyCapabilitiesCodeSystemVersionComponentElements(element); 49946 composeElementClose(element); 49947 xml.exit(FHIR_NS, name); 49948 } 49949 } 49950 49951 protected void composeTerminologyCapabilitiesCodeSystemVersionComponentElements(TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent element) throws IOException { 49952 composeBackboneElementElements(element); 49953 if (element.hasCodeElement()) { 49954 composeString("code", element.getCodeElement()); 49955 } 49956 if (element.hasIsDefaultElement()) { 49957 composeBoolean("isDefault", element.getIsDefaultElement()); 49958 } 49959 if (element.hasCompositionalElement()) { 49960 composeBoolean("compositional", element.getCompositionalElement()); 49961 } 49962 if (element.hasLanguage()) { 49963 for (CodeType e : element.getLanguage()) 49964 composeCode("language", e); 49965 } 49966 if (element.hasFilter()) { 49967 for (TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent e : element.getFilter()) 49968 composeTerminologyCapabilitiesCodeSystemVersionFilterComponent("filter", e); 49969 } 49970 if (element.hasProperty()) { 49971 for (CodeType e : element.getProperty()) 49972 composeCode("property", e); 49973 } 49974 } 49975 49976 protected void composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent element) throws IOException { 49977 if (element != null) { 49978 composeElementAttributes(element); 49979 xml.enter(FHIR_NS, name); 49980 composeTerminologyCapabilitiesCodeSystemVersionFilterComponentElements(element); 49981 composeElementClose(element); 49982 xml.exit(FHIR_NS, name); 49983 } 49984 } 49985 49986 protected void composeTerminologyCapabilitiesCodeSystemVersionFilterComponentElements(TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent element) throws IOException { 49987 composeBackboneElementElements(element); 49988 if (element.hasCodeElement()) { 49989 composeCode("code", element.getCodeElement()); 49990 } 49991 if (element.hasOp()) { 49992 for (CodeType e : element.getOp()) 49993 composeCode("op", e); 49994 } 49995 } 49996 49997 protected void composeTerminologyCapabilitiesExpansionComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent element) throws IOException { 49998 if (element != null) { 49999 composeElementAttributes(element); 50000 xml.enter(FHIR_NS, name); 50001 composeTerminologyCapabilitiesExpansionComponentElements(element); 50002 composeElementClose(element); 50003 xml.exit(FHIR_NS, name); 50004 } 50005 } 50006 50007 protected void composeTerminologyCapabilitiesExpansionComponentElements(TerminologyCapabilities.TerminologyCapabilitiesExpansionComponent element) throws IOException { 50008 composeBackboneElementElements(element); 50009 if (element.hasHierarchicalElement()) { 50010 composeBoolean("hierarchical", element.getHierarchicalElement()); 50011 } 50012 if (element.hasPagingElement()) { 50013 composeBoolean("paging", element.getPagingElement()); 50014 } 50015 if (element.hasIncompleteElement()) { 50016 composeBoolean("incomplete", element.getIncompleteElement()); 50017 } 50018 if (element.hasParameter()) { 50019 for (TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent e : element.getParameter()) 50020 composeTerminologyCapabilitiesExpansionParameterComponent("parameter", e); 50021 } 50022 if (element.hasTextFilterElement()) { 50023 composeMarkdown("textFilter", element.getTextFilterElement()); 50024 } 50025 } 50026 50027 protected void composeTerminologyCapabilitiesExpansionParameterComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent element) throws IOException { 50028 if (element != null) { 50029 composeElementAttributes(element); 50030 xml.enter(FHIR_NS, name); 50031 composeTerminologyCapabilitiesExpansionParameterComponentElements(element); 50032 composeElementClose(element); 50033 xml.exit(FHIR_NS, name); 50034 } 50035 } 50036 50037 protected void composeTerminologyCapabilitiesExpansionParameterComponentElements(TerminologyCapabilities.TerminologyCapabilitiesExpansionParameterComponent element) throws IOException { 50038 composeBackboneElementElements(element); 50039 if (element.hasNameElement()) { 50040 composeCode("name", element.getNameElement()); 50041 } 50042 if (element.hasDocumentationElement()) { 50043 composeString("documentation", element.getDocumentationElement()); 50044 } 50045 } 50046 50047 protected void composeTerminologyCapabilitiesValidateCodeComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent element) throws IOException { 50048 if (element != null) { 50049 composeElementAttributes(element); 50050 xml.enter(FHIR_NS, name); 50051 composeTerminologyCapabilitiesValidateCodeComponentElements(element); 50052 composeElementClose(element); 50053 xml.exit(FHIR_NS, name); 50054 } 50055 } 50056 50057 protected void composeTerminologyCapabilitiesValidateCodeComponentElements(TerminologyCapabilities.TerminologyCapabilitiesValidateCodeComponent element) throws IOException { 50058 composeBackboneElementElements(element); 50059 if (element.hasTranslationsElement()) { 50060 composeBoolean("translations", element.getTranslationsElement()); 50061 } 50062 } 50063 50064 protected void composeTerminologyCapabilitiesTranslationComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent element) throws IOException { 50065 if (element != null) { 50066 composeElementAttributes(element); 50067 xml.enter(FHIR_NS, name); 50068 composeTerminologyCapabilitiesTranslationComponentElements(element); 50069 composeElementClose(element); 50070 xml.exit(FHIR_NS, name); 50071 } 50072 } 50073 50074 protected void composeTerminologyCapabilitiesTranslationComponentElements(TerminologyCapabilities.TerminologyCapabilitiesTranslationComponent element) throws IOException { 50075 composeBackboneElementElements(element); 50076 if (element.hasNeedsMapElement()) { 50077 composeBoolean("needsMap", element.getNeedsMapElement()); 50078 } 50079 } 50080 50081 protected void composeTerminologyCapabilitiesClosureComponent(String name, TerminologyCapabilities.TerminologyCapabilitiesClosureComponent element) throws IOException { 50082 if (element != null) { 50083 composeElementAttributes(element); 50084 xml.enter(FHIR_NS, name); 50085 composeTerminologyCapabilitiesClosureComponentElements(element); 50086 composeElementClose(element); 50087 xml.exit(FHIR_NS, name); 50088 } 50089 } 50090 50091 protected void composeTerminologyCapabilitiesClosureComponentElements(TerminologyCapabilities.TerminologyCapabilitiesClosureComponent element) throws IOException { 50092 composeBackboneElementElements(element); 50093 if (element.hasTranslationElement()) { 50094 composeBoolean("translation", element.getTranslationElement()); 50095 } 50096 } 50097 50098 protected void composeTestReport(String name, TestReport element) throws IOException { 50099 if (element != null) { 50100 composeResourceAttributes(element); 50101 xml.enter(FHIR_NS, name); 50102 composeTestReportElements(element); 50103 composeElementClose(element); 50104 xml.exit(FHIR_NS, name); 50105 } 50106 } 50107 50108 protected void composeTestReportElements(TestReport element) throws IOException { 50109 composeDomainResourceElements(element); 50110 if (element.hasIdentifier()) { 50111 composeIdentifier("identifier", element.getIdentifier()); 50112 } 50113 if (element.hasNameElement()) { 50114 composeString("name", element.getNameElement()); 50115 } 50116 if (element.hasStatusElement()) 50117 composeEnumeration("status", element.getStatusElement(), new TestReport.TestReportStatusEnumFactory()); 50118 if (element.hasTestScript()) { 50119 composeReference("testScript", element.getTestScript()); 50120 } 50121 if (element.hasResultElement()) 50122 composeEnumeration("result", element.getResultElement(), new TestReport.TestReportResultEnumFactory()); 50123 if (element.hasScoreElement()) { 50124 composeDecimal("score", element.getScoreElement()); 50125 } 50126 if (element.hasTesterElement()) { 50127 composeString("tester", element.getTesterElement()); 50128 } 50129 if (element.hasIssuedElement()) { 50130 composeDateTime("issued", element.getIssuedElement()); 50131 } 50132 if (element.hasParticipant()) { 50133 for (TestReport.TestReportParticipantComponent e : element.getParticipant()) 50134 composeTestReportParticipantComponent("participant", e); 50135 } 50136 if (element.hasSetup()) { 50137 composeTestReportSetupComponent("setup", element.getSetup()); 50138 } 50139 if (element.hasTest()) { 50140 for (TestReport.TestReportTestComponent e : element.getTest()) 50141 composeTestReportTestComponent("test", e); 50142 } 50143 if (element.hasTeardown()) { 50144 composeTestReportTeardownComponent("teardown", element.getTeardown()); 50145 } 50146 } 50147 50148 protected void composeTestReportParticipantComponent(String name, TestReport.TestReportParticipantComponent element) throws IOException { 50149 if (element != null) { 50150 composeElementAttributes(element); 50151 xml.enter(FHIR_NS, name); 50152 composeTestReportParticipantComponentElements(element); 50153 composeElementClose(element); 50154 xml.exit(FHIR_NS, name); 50155 } 50156 } 50157 50158 protected void composeTestReportParticipantComponentElements(TestReport.TestReportParticipantComponent element) throws IOException { 50159 composeBackboneElementElements(element); 50160 if (element.hasTypeElement()) 50161 composeEnumeration("type", element.getTypeElement(), new TestReport.TestReportParticipantTypeEnumFactory()); 50162 if (element.hasUriElement()) { 50163 composeUri("uri", element.getUriElement()); 50164 } 50165 if (element.hasDisplayElement()) { 50166 composeString("display", element.getDisplayElement()); 50167 } 50168 } 50169 50170 protected void composeTestReportSetupComponent(String name, TestReport.TestReportSetupComponent element) throws IOException { 50171 if (element != null) { 50172 composeElementAttributes(element); 50173 xml.enter(FHIR_NS, name); 50174 composeTestReportSetupComponentElements(element); 50175 composeElementClose(element); 50176 xml.exit(FHIR_NS, name); 50177 } 50178 } 50179 50180 protected void composeTestReportSetupComponentElements(TestReport.TestReportSetupComponent element) throws IOException { 50181 composeBackboneElementElements(element); 50182 if (element.hasAction()) { 50183 for (TestReport.SetupActionComponent e : element.getAction()) 50184 composeTestReportSetupActionComponent("action", e); 50185 } 50186 } 50187 50188 protected void composeTestReportSetupActionComponent(String name, TestReport.SetupActionComponent element) throws IOException { 50189 if (element != null) { 50190 composeElementAttributes(element); 50191 xml.enter(FHIR_NS, name); 50192 composeTestReportSetupActionComponentElements(element); 50193 composeElementClose(element); 50194 xml.exit(FHIR_NS, name); 50195 } 50196 } 50197 50198 protected void composeTestReportSetupActionComponentElements(TestReport.SetupActionComponent element) throws IOException { 50199 composeBackboneElementElements(element); 50200 if (element.hasOperation()) { 50201 composeTestReportSetupActionOperationComponent("operation", element.getOperation()); 50202 } 50203 if (element.hasAssert()) { 50204 composeTestReportSetupActionAssertComponent("assert", element.getAssert()); 50205 } 50206 } 50207 50208 protected void composeTestReportSetupActionOperationComponent(String name, TestReport.SetupActionOperationComponent element) throws IOException { 50209 if (element != null) { 50210 composeElementAttributes(element); 50211 xml.enter(FHIR_NS, name); 50212 composeTestReportSetupActionOperationComponentElements(element); 50213 composeElementClose(element); 50214 xml.exit(FHIR_NS, name); 50215 } 50216 } 50217 50218 protected void composeTestReportSetupActionOperationComponentElements(TestReport.SetupActionOperationComponent element) throws IOException { 50219 composeBackboneElementElements(element); 50220 if (element.hasResultElement()) 50221 composeEnumeration("result", element.getResultElement(), new TestReport.TestReportActionResultEnumFactory()); 50222 if (element.hasMessageElement()) { 50223 composeMarkdown("message", element.getMessageElement()); 50224 } 50225 if (element.hasDetailElement()) { 50226 composeUri("detail", element.getDetailElement()); 50227 } 50228 } 50229 50230 protected void composeTestReportSetupActionAssertComponent(String name, TestReport.SetupActionAssertComponent element) throws IOException { 50231 if (element != null) { 50232 composeElementAttributes(element); 50233 xml.enter(FHIR_NS, name); 50234 composeTestReportSetupActionAssertComponentElements(element); 50235 composeElementClose(element); 50236 xml.exit(FHIR_NS, name); 50237 } 50238 } 50239 50240 protected void composeTestReportSetupActionAssertComponentElements(TestReport.SetupActionAssertComponent element) throws IOException { 50241 composeBackboneElementElements(element); 50242 if (element.hasResultElement()) 50243 composeEnumeration("result", element.getResultElement(), new TestReport.TestReportActionResultEnumFactory()); 50244 if (element.hasMessageElement()) { 50245 composeMarkdown("message", element.getMessageElement()); 50246 } 50247 if (element.hasDetailElement()) { 50248 composeString("detail", element.getDetailElement()); 50249 } 50250 } 50251 50252 protected void composeTestReportTestComponent(String name, TestReport.TestReportTestComponent element) throws IOException { 50253 if (element != null) { 50254 composeElementAttributes(element); 50255 xml.enter(FHIR_NS, name); 50256 composeTestReportTestComponentElements(element); 50257 composeElementClose(element); 50258 xml.exit(FHIR_NS, name); 50259 } 50260 } 50261 50262 protected void composeTestReportTestComponentElements(TestReport.TestReportTestComponent element) throws IOException { 50263 composeBackboneElementElements(element); 50264 if (element.hasNameElement()) { 50265 composeString("name", element.getNameElement()); 50266 } 50267 if (element.hasDescriptionElement()) { 50268 composeString("description", element.getDescriptionElement()); 50269 } 50270 if (element.hasAction()) { 50271 for (TestReport.TestActionComponent e : element.getAction()) 50272 composeTestReportTestActionComponent("action", e); 50273 } 50274 } 50275 50276 protected void composeTestReportTestActionComponent(String name, TestReport.TestActionComponent element) throws IOException { 50277 if (element != null) { 50278 composeElementAttributes(element); 50279 xml.enter(FHIR_NS, name); 50280 composeTestReportTestActionComponentElements(element); 50281 composeElementClose(element); 50282 xml.exit(FHIR_NS, name); 50283 } 50284 } 50285 50286 protected void composeTestReportTestActionComponentElements(TestReport.TestActionComponent element) throws IOException { 50287 composeBackboneElementElements(element); 50288 if (element.hasOperation()) { 50289 composeTestReportSetupActionOperationComponent("operation", element.getOperation()); 50290 } 50291 if (element.hasAssert()) { 50292 composeTestReportSetupActionAssertComponent("assert", element.getAssert()); 50293 } 50294 } 50295 50296 protected void composeTestReportTeardownComponent(String name, TestReport.TestReportTeardownComponent element) throws IOException { 50297 if (element != null) { 50298 composeElementAttributes(element); 50299 xml.enter(FHIR_NS, name); 50300 composeTestReportTeardownComponentElements(element); 50301 composeElementClose(element); 50302 xml.exit(FHIR_NS, name); 50303 } 50304 } 50305 50306 protected void composeTestReportTeardownComponentElements(TestReport.TestReportTeardownComponent element) throws IOException { 50307 composeBackboneElementElements(element); 50308 if (element.hasAction()) { 50309 for (TestReport.TeardownActionComponent e : element.getAction()) 50310 composeTestReportTeardownActionComponent("action", e); 50311 } 50312 } 50313 50314 protected void composeTestReportTeardownActionComponent(String name, TestReport.TeardownActionComponent element) throws IOException { 50315 if (element != null) { 50316 composeElementAttributes(element); 50317 xml.enter(FHIR_NS, name); 50318 composeTestReportTeardownActionComponentElements(element); 50319 composeElementClose(element); 50320 xml.exit(FHIR_NS, name); 50321 } 50322 } 50323 50324 protected void composeTestReportTeardownActionComponentElements(TestReport.TeardownActionComponent element) throws IOException { 50325 composeBackboneElementElements(element); 50326 if (element.hasOperation()) { 50327 composeTestReportSetupActionOperationComponent("operation", element.getOperation()); 50328 } 50329 } 50330 50331 protected void composeTestScript(String name, TestScript element) throws IOException { 50332 if (element != null) { 50333 composeResourceAttributes(element); 50334 xml.enter(FHIR_NS, name); 50335 composeTestScriptElements(element); 50336 composeElementClose(element); 50337 xml.exit(FHIR_NS, name); 50338 } 50339 } 50340 50341 protected void composeTestScriptElements(TestScript element) throws IOException { 50342 composeDomainResourceElements(element); 50343 if (element.hasUrlElement()) { 50344 composeUri("url", element.getUrlElement()); 50345 } 50346 if (element.hasIdentifier()) { 50347 composeIdentifier("identifier", element.getIdentifier()); 50348 } 50349 if (element.hasVersionElement()) { 50350 composeString("version", element.getVersionElement()); 50351 } 50352 if (element.hasNameElement()) { 50353 composeString("name", element.getNameElement()); 50354 } 50355 if (element.hasTitleElement()) { 50356 composeString("title", element.getTitleElement()); 50357 } 50358 if (element.hasStatusElement()) 50359 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 50360 if (element.hasExperimentalElement()) { 50361 composeBoolean("experimental", element.getExperimentalElement()); 50362 } 50363 if (element.hasDateElement()) { 50364 composeDateTime("date", element.getDateElement()); 50365 } 50366 if (element.hasPublisherElement()) { 50367 composeString("publisher", element.getPublisherElement()); 50368 } 50369 if (element.hasContact()) { 50370 for (ContactDetail e : element.getContact()) 50371 composeContactDetail("contact", e); 50372 } 50373 if (element.hasDescriptionElement()) { 50374 composeMarkdown("description", element.getDescriptionElement()); 50375 } 50376 if (element.hasUseContext()) { 50377 for (UsageContext e : element.getUseContext()) 50378 composeUsageContext("useContext", e); 50379 } 50380 if (element.hasJurisdiction()) { 50381 for (CodeableConcept e : element.getJurisdiction()) 50382 composeCodeableConcept("jurisdiction", e); 50383 } 50384 if (element.hasPurposeElement()) { 50385 composeMarkdown("purpose", element.getPurposeElement()); 50386 } 50387 if (element.hasCopyrightElement()) { 50388 composeMarkdown("copyright", element.getCopyrightElement()); 50389 } 50390 if (element.hasOrigin()) { 50391 for (TestScript.TestScriptOriginComponent e : element.getOrigin()) 50392 composeTestScriptOriginComponent("origin", e); 50393 } 50394 if (element.hasDestination()) { 50395 for (TestScript.TestScriptDestinationComponent e : element.getDestination()) 50396 composeTestScriptDestinationComponent("destination", e); 50397 } 50398 if (element.hasMetadata()) { 50399 composeTestScriptMetadataComponent("metadata", element.getMetadata()); 50400 } 50401 if (element.hasFixture()) { 50402 for (TestScript.TestScriptFixtureComponent e : element.getFixture()) 50403 composeTestScriptFixtureComponent("fixture", e); 50404 } 50405 if (element.hasProfile()) { 50406 for (Reference e : element.getProfile()) 50407 composeReference("profile", e); 50408 } 50409 if (element.hasVariable()) { 50410 for (TestScript.TestScriptVariableComponent e : element.getVariable()) 50411 composeTestScriptVariableComponent("variable", e); 50412 } 50413 if (element.hasSetup()) { 50414 composeTestScriptSetupComponent("setup", element.getSetup()); 50415 } 50416 if (element.hasTest()) { 50417 for (TestScript.TestScriptTestComponent e : element.getTest()) 50418 composeTestScriptTestComponent("test", e); 50419 } 50420 if (element.hasTeardown()) { 50421 composeTestScriptTeardownComponent("teardown", element.getTeardown()); 50422 } 50423 } 50424 50425 protected void composeTestScriptOriginComponent(String name, TestScript.TestScriptOriginComponent element) throws IOException { 50426 if (element != null) { 50427 composeElementAttributes(element); 50428 xml.enter(FHIR_NS, name); 50429 composeTestScriptOriginComponentElements(element); 50430 composeElementClose(element); 50431 xml.exit(FHIR_NS, name); 50432 } 50433 } 50434 50435 protected void composeTestScriptOriginComponentElements(TestScript.TestScriptOriginComponent element) throws IOException { 50436 composeBackboneElementElements(element); 50437 if (element.hasIndexElement()) { 50438 composeInteger("index", element.getIndexElement()); 50439 } 50440 if (element.hasProfile()) { 50441 composeCoding("profile", element.getProfile()); 50442 } 50443 } 50444 50445 protected void composeTestScriptDestinationComponent(String name, TestScript.TestScriptDestinationComponent element) throws IOException { 50446 if (element != null) { 50447 composeElementAttributes(element); 50448 xml.enter(FHIR_NS, name); 50449 composeTestScriptDestinationComponentElements(element); 50450 composeElementClose(element); 50451 xml.exit(FHIR_NS, name); 50452 } 50453 } 50454 50455 protected void composeTestScriptDestinationComponentElements(TestScript.TestScriptDestinationComponent element) throws IOException { 50456 composeBackboneElementElements(element); 50457 if (element.hasIndexElement()) { 50458 composeInteger("index", element.getIndexElement()); 50459 } 50460 if (element.hasProfile()) { 50461 composeCoding("profile", element.getProfile()); 50462 } 50463 } 50464 50465 protected void composeTestScriptMetadataComponent(String name, TestScript.TestScriptMetadataComponent element) throws IOException { 50466 if (element != null) { 50467 composeElementAttributes(element); 50468 xml.enter(FHIR_NS, name); 50469 composeTestScriptMetadataComponentElements(element); 50470 composeElementClose(element); 50471 xml.exit(FHIR_NS, name); 50472 } 50473 } 50474 50475 protected void composeTestScriptMetadataComponentElements(TestScript.TestScriptMetadataComponent element) throws IOException { 50476 composeBackboneElementElements(element); 50477 if (element.hasLink()) { 50478 for (TestScript.TestScriptMetadataLinkComponent e : element.getLink()) 50479 composeTestScriptMetadataLinkComponent("link", e); 50480 } 50481 if (element.hasCapability()) { 50482 for (TestScript.TestScriptMetadataCapabilityComponent e : element.getCapability()) 50483 composeTestScriptMetadataCapabilityComponent("capability", e); 50484 } 50485 } 50486 50487 protected void composeTestScriptMetadataLinkComponent(String name, TestScript.TestScriptMetadataLinkComponent element) throws IOException { 50488 if (element != null) { 50489 composeElementAttributes(element); 50490 xml.enter(FHIR_NS, name); 50491 composeTestScriptMetadataLinkComponentElements(element); 50492 composeElementClose(element); 50493 xml.exit(FHIR_NS, name); 50494 } 50495 } 50496 50497 protected void composeTestScriptMetadataLinkComponentElements(TestScript.TestScriptMetadataLinkComponent element) throws IOException { 50498 composeBackboneElementElements(element); 50499 if (element.hasUrlElement()) { 50500 composeUri("url", element.getUrlElement()); 50501 } 50502 if (element.hasDescriptionElement()) { 50503 composeString("description", element.getDescriptionElement()); 50504 } 50505 } 50506 50507 protected void composeTestScriptMetadataCapabilityComponent(String name, TestScript.TestScriptMetadataCapabilityComponent element) throws IOException { 50508 if (element != null) { 50509 composeElementAttributes(element); 50510 xml.enter(FHIR_NS, name); 50511 composeTestScriptMetadataCapabilityComponentElements(element); 50512 composeElementClose(element); 50513 xml.exit(FHIR_NS, name); 50514 } 50515 } 50516 50517 protected void composeTestScriptMetadataCapabilityComponentElements(TestScript.TestScriptMetadataCapabilityComponent element) throws IOException { 50518 composeBackboneElementElements(element); 50519 if (element.hasRequiredElement()) { 50520 composeBoolean("required", element.getRequiredElement()); 50521 } 50522 if (element.hasValidatedElement()) { 50523 composeBoolean("validated", element.getValidatedElement()); 50524 } 50525 if (element.hasDescriptionElement()) { 50526 composeString("description", element.getDescriptionElement()); 50527 } 50528 if (element.hasOrigin()) { 50529 for (IntegerType e : element.getOrigin()) 50530 composeInteger("origin", e); 50531 } 50532 if (element.hasDestinationElement()) { 50533 composeInteger("destination", element.getDestinationElement()); 50534 } 50535 if (element.hasLink()) { 50536 for (UriType e : element.getLink()) 50537 composeUri("link", e); 50538 } 50539 if (element.hasCapabilitiesElement()) { 50540 composeCanonical("capabilities", element.getCapabilitiesElement()); 50541 } 50542 } 50543 50544 protected void composeTestScriptFixtureComponent(String name, TestScript.TestScriptFixtureComponent element) throws IOException { 50545 if (element != null) { 50546 composeElementAttributes(element); 50547 xml.enter(FHIR_NS, name); 50548 composeTestScriptFixtureComponentElements(element); 50549 composeElementClose(element); 50550 xml.exit(FHIR_NS, name); 50551 } 50552 } 50553 50554 protected void composeTestScriptFixtureComponentElements(TestScript.TestScriptFixtureComponent element) throws IOException { 50555 composeBackboneElementElements(element); 50556 if (element.hasAutocreateElement()) { 50557 composeBoolean("autocreate", element.getAutocreateElement()); 50558 } 50559 if (element.hasAutodeleteElement()) { 50560 composeBoolean("autodelete", element.getAutodeleteElement()); 50561 } 50562 if (element.hasResource()) { 50563 composeReference("resource", element.getResource()); 50564 } 50565 } 50566 50567 protected void composeTestScriptVariableComponent(String name, TestScript.TestScriptVariableComponent element) throws IOException { 50568 if (element != null) { 50569 composeElementAttributes(element); 50570 xml.enter(FHIR_NS, name); 50571 composeTestScriptVariableComponentElements(element); 50572 composeElementClose(element); 50573 xml.exit(FHIR_NS, name); 50574 } 50575 } 50576 50577 protected void composeTestScriptVariableComponentElements(TestScript.TestScriptVariableComponent element) throws IOException { 50578 composeBackboneElementElements(element); 50579 if (element.hasNameElement()) { 50580 composeString("name", element.getNameElement()); 50581 } 50582 if (element.hasDefaultValueElement()) { 50583 composeString("defaultValue", element.getDefaultValueElement()); 50584 } 50585 if (element.hasDescriptionElement()) { 50586 composeString("description", element.getDescriptionElement()); 50587 } 50588 if (element.hasExpressionElement()) { 50589 composeString("expression", element.getExpressionElement()); 50590 } 50591 if (element.hasHeaderFieldElement()) { 50592 composeString("headerField", element.getHeaderFieldElement()); 50593 } 50594 if (element.hasHintElement()) { 50595 composeString("hint", element.getHintElement()); 50596 } 50597 if (element.hasPathElement()) { 50598 composeString("path", element.getPathElement()); 50599 } 50600 if (element.hasSourceIdElement()) { 50601 composeId("sourceId", element.getSourceIdElement()); 50602 } 50603 } 50604 50605 protected void composeTestScriptSetupComponent(String name, TestScript.TestScriptSetupComponent element) throws IOException { 50606 if (element != null) { 50607 composeElementAttributes(element); 50608 xml.enter(FHIR_NS, name); 50609 composeTestScriptSetupComponentElements(element); 50610 composeElementClose(element); 50611 xml.exit(FHIR_NS, name); 50612 } 50613 } 50614 50615 protected void composeTestScriptSetupComponentElements(TestScript.TestScriptSetupComponent element) throws IOException { 50616 composeBackboneElementElements(element); 50617 if (element.hasAction()) { 50618 for (TestScript.SetupActionComponent e : element.getAction()) 50619 composeTestScriptSetupActionComponent("action", e); 50620 } 50621 } 50622 50623 protected void composeTestScriptSetupActionComponent(String name, TestScript.SetupActionComponent element) throws IOException { 50624 if (element != null) { 50625 composeElementAttributes(element); 50626 xml.enter(FHIR_NS, name); 50627 composeTestScriptSetupActionComponentElements(element); 50628 composeElementClose(element); 50629 xml.exit(FHIR_NS, name); 50630 } 50631 } 50632 50633 protected void composeTestScriptSetupActionComponentElements(TestScript.SetupActionComponent element) throws IOException { 50634 composeBackboneElementElements(element); 50635 if (element.hasOperation()) { 50636 composeTestScriptSetupActionOperationComponent("operation", element.getOperation()); 50637 } 50638 if (element.hasAssert()) { 50639 composeTestScriptSetupActionAssertComponent("assert", element.getAssert()); 50640 } 50641 } 50642 50643 protected void composeTestScriptSetupActionOperationComponent(String name, TestScript.SetupActionOperationComponent element) throws IOException { 50644 if (element != null) { 50645 composeElementAttributes(element); 50646 xml.enter(FHIR_NS, name); 50647 composeTestScriptSetupActionOperationComponentElements(element); 50648 composeElementClose(element); 50649 xml.exit(FHIR_NS, name); 50650 } 50651 } 50652 50653 protected void composeTestScriptSetupActionOperationComponentElements(TestScript.SetupActionOperationComponent element) throws IOException { 50654 composeBackboneElementElements(element); 50655 if (element.hasType()) { 50656 composeCoding("type", element.getType()); 50657 } 50658 if (element.hasResourceElement()) 50659 composeEnumeration("resource", element.getResourceElement(), new TestScript.FHIRDefinedTypeEnumFactory()); 50660 if (element.hasLabelElement()) { 50661 composeString("label", element.getLabelElement()); 50662 } 50663 if (element.hasDescriptionElement()) { 50664 composeString("description", element.getDescriptionElement()); 50665 } 50666 if (element.hasAcceptElement()) { 50667 composeCode("accept", element.getAcceptElement()); 50668 } 50669 if (element.hasContentTypeElement()) { 50670 composeCode("contentType", element.getContentTypeElement()); 50671 } 50672 if (element.hasDestinationElement()) { 50673 composeInteger("destination", element.getDestinationElement()); 50674 } 50675 if (element.hasEncodeRequestUrlElement()) { 50676 composeBoolean("encodeRequestUrl", element.getEncodeRequestUrlElement()); 50677 } 50678 if (element.hasMethodElement()) 50679 composeEnumeration("method", element.getMethodElement(), new TestScript.TestScriptRequestMethodCodeEnumFactory()); 50680 if (element.hasOriginElement()) { 50681 composeInteger("origin", element.getOriginElement()); 50682 } 50683 if (element.hasParamsElement()) { 50684 composeString("params", element.getParamsElement()); 50685 } 50686 if (element.hasRequestHeader()) { 50687 for (TestScript.SetupActionOperationRequestHeaderComponent e : element.getRequestHeader()) 50688 composeTestScriptSetupActionOperationRequestHeaderComponent("requestHeader", e); 50689 } 50690 if (element.hasRequestIdElement()) { 50691 composeId("requestId", element.getRequestIdElement()); 50692 } 50693 if (element.hasResponseIdElement()) { 50694 composeId("responseId", element.getResponseIdElement()); 50695 } 50696 if (element.hasSourceIdElement()) { 50697 composeId("sourceId", element.getSourceIdElement()); 50698 } 50699 if (element.hasTargetIdElement()) { 50700 composeId("targetId", element.getTargetIdElement()); 50701 } 50702 if (element.hasUrlElement()) { 50703 composeString("url", element.getUrlElement()); 50704 } 50705 } 50706 50707 protected void composeTestScriptSetupActionOperationRequestHeaderComponent(String name, TestScript.SetupActionOperationRequestHeaderComponent element) throws IOException { 50708 if (element != null) { 50709 composeElementAttributes(element); 50710 xml.enter(FHIR_NS, name); 50711 composeTestScriptSetupActionOperationRequestHeaderComponentElements(element); 50712 composeElementClose(element); 50713 xml.exit(FHIR_NS, name); 50714 } 50715 } 50716 50717 protected void composeTestScriptSetupActionOperationRequestHeaderComponentElements(TestScript.SetupActionOperationRequestHeaderComponent element) throws IOException { 50718 composeBackboneElementElements(element); 50719 if (element.hasFieldElement()) { 50720 composeString("field", element.getFieldElement()); 50721 } 50722 if (element.hasValueElement()) { 50723 composeString("value", element.getValueElement()); 50724 } 50725 } 50726 50727 protected void composeTestScriptSetupActionAssertComponent(String name, TestScript.SetupActionAssertComponent element) throws IOException { 50728 if (element != null) { 50729 composeElementAttributes(element); 50730 xml.enter(FHIR_NS, name); 50731 composeTestScriptSetupActionAssertComponentElements(element); 50732 composeElementClose(element); 50733 xml.exit(FHIR_NS, name); 50734 } 50735 } 50736 50737 protected void composeTestScriptSetupActionAssertComponentElements(TestScript.SetupActionAssertComponent element) throws IOException { 50738 composeBackboneElementElements(element); 50739 if (element.hasLabelElement()) { 50740 composeString("label", element.getLabelElement()); 50741 } 50742 if (element.hasDescriptionElement()) { 50743 composeString("description", element.getDescriptionElement()); 50744 } 50745 if (element.hasDirectionElement()) 50746 composeEnumeration("direction", element.getDirectionElement(), new TestScript.AssertionDirectionTypeEnumFactory()); 50747 if (element.hasCompareToSourceIdElement()) { 50748 composeString("compareToSourceId", element.getCompareToSourceIdElement()); 50749 } 50750 if (element.hasCompareToSourceExpressionElement()) { 50751 composeString("compareToSourceExpression", element.getCompareToSourceExpressionElement()); 50752 } 50753 if (element.hasCompareToSourcePathElement()) { 50754 composeString("compareToSourcePath", element.getCompareToSourcePathElement()); 50755 } 50756 if (element.hasContentTypeElement()) { 50757 composeCode("contentType", element.getContentTypeElement()); 50758 } 50759 if (element.hasExpressionElement()) { 50760 composeString("expression", element.getExpressionElement()); 50761 } 50762 if (element.hasHeaderFieldElement()) { 50763 composeString("headerField", element.getHeaderFieldElement()); 50764 } 50765 if (element.hasMinimumIdElement()) { 50766 composeString("minimumId", element.getMinimumIdElement()); 50767 } 50768 if (element.hasNavigationLinksElement()) { 50769 composeBoolean("navigationLinks", element.getNavigationLinksElement()); 50770 } 50771 if (element.hasOperatorElement()) 50772 composeEnumeration("operator", element.getOperatorElement(), new TestScript.AssertionOperatorTypeEnumFactory()); 50773 if (element.hasPathElement()) { 50774 composeString("path", element.getPathElement()); 50775 } 50776 if (element.hasRequestMethodElement()) 50777 composeEnumeration("requestMethod", element.getRequestMethodElement(), new TestScript.TestScriptRequestMethodCodeEnumFactory()); 50778 if (element.hasRequestURLElement()) { 50779 composeString("requestURL", element.getRequestURLElement()); 50780 } 50781 if (element.hasResourceElement()) 50782 composeEnumeration("resource", element.getResourceElement(), new TestScript.FHIRDefinedTypeEnumFactory()); 50783 if (element.hasResponseElement()) 50784 composeEnumeration("response", element.getResponseElement(), new TestScript.AssertionResponseTypesEnumFactory()); 50785 if (element.hasResponseCodeElement()) { 50786 composeString("responseCode", element.getResponseCodeElement()); 50787 } 50788 if (element.hasSourceIdElement()) { 50789 composeId("sourceId", element.getSourceIdElement()); 50790 } 50791 if (element.hasValidateProfileIdElement()) { 50792 composeId("validateProfileId", element.getValidateProfileIdElement()); 50793 } 50794 if (element.hasValueElement()) { 50795 composeString("value", element.getValueElement()); 50796 } 50797 if (element.hasWarningOnlyElement()) { 50798 composeBoolean("warningOnly", element.getWarningOnlyElement()); 50799 } 50800 } 50801 50802 protected void composeTestScriptTestComponent(String name, TestScript.TestScriptTestComponent element) throws IOException { 50803 if (element != null) { 50804 composeElementAttributes(element); 50805 xml.enter(FHIR_NS, name); 50806 composeTestScriptTestComponentElements(element); 50807 composeElementClose(element); 50808 xml.exit(FHIR_NS, name); 50809 } 50810 } 50811 50812 protected void composeTestScriptTestComponentElements(TestScript.TestScriptTestComponent element) throws IOException { 50813 composeBackboneElementElements(element); 50814 if (element.hasNameElement()) { 50815 composeString("name", element.getNameElement()); 50816 } 50817 if (element.hasDescriptionElement()) { 50818 composeString("description", element.getDescriptionElement()); 50819 } 50820 if (element.hasAction()) { 50821 for (TestScript.TestActionComponent e : element.getAction()) 50822 composeTestScriptTestActionComponent("action", e); 50823 } 50824 } 50825 50826 protected void composeTestScriptTestActionComponent(String name, TestScript.TestActionComponent element) throws IOException { 50827 if (element != null) { 50828 composeElementAttributes(element); 50829 xml.enter(FHIR_NS, name); 50830 composeTestScriptTestActionComponentElements(element); 50831 composeElementClose(element); 50832 xml.exit(FHIR_NS, name); 50833 } 50834 } 50835 50836 protected void composeTestScriptTestActionComponentElements(TestScript.TestActionComponent element) throws IOException { 50837 composeBackboneElementElements(element); 50838 if (element.hasOperation()) { 50839 composeTestScriptSetupActionOperationComponent("operation", element.getOperation()); 50840 } 50841 if (element.hasAssert()) { 50842 composeTestScriptSetupActionAssertComponent("assert", element.getAssert()); 50843 } 50844 } 50845 50846 protected void composeTestScriptTeardownComponent(String name, TestScript.TestScriptTeardownComponent element) throws IOException { 50847 if (element != null) { 50848 composeElementAttributes(element); 50849 xml.enter(FHIR_NS, name); 50850 composeTestScriptTeardownComponentElements(element); 50851 composeElementClose(element); 50852 xml.exit(FHIR_NS, name); 50853 } 50854 } 50855 50856 protected void composeTestScriptTeardownComponentElements(TestScript.TestScriptTeardownComponent element) throws IOException { 50857 composeBackboneElementElements(element); 50858 if (element.hasAction()) { 50859 for (TestScript.TeardownActionComponent e : element.getAction()) 50860 composeTestScriptTeardownActionComponent("action", e); 50861 } 50862 } 50863 50864 protected void composeTestScriptTeardownActionComponent(String name, TestScript.TeardownActionComponent element) throws IOException { 50865 if (element != null) { 50866 composeElementAttributes(element); 50867 xml.enter(FHIR_NS, name); 50868 composeTestScriptTeardownActionComponentElements(element); 50869 composeElementClose(element); 50870 xml.exit(FHIR_NS, name); 50871 } 50872 } 50873 50874 protected void composeTestScriptTeardownActionComponentElements(TestScript.TeardownActionComponent element) throws IOException { 50875 composeBackboneElementElements(element); 50876 if (element.hasOperation()) { 50877 composeTestScriptSetupActionOperationComponent("operation", element.getOperation()); 50878 } 50879 } 50880 50881 protected void composeValueSet(String name, ValueSet element) throws IOException { 50882 if (element != null) { 50883 composeResourceAttributes(element); 50884 xml.enter(FHIR_NS, name); 50885 composeValueSetElements(element); 50886 composeElementClose(element); 50887 xml.exit(FHIR_NS, name); 50888 } 50889 } 50890 50891 protected void composeValueSetElements(ValueSet element) throws IOException { 50892 composeDomainResourceElements(element); 50893 if (element.hasUrlElement()) { 50894 composeUri("url", element.getUrlElement()); 50895 } 50896 if (element.hasIdentifier()) { 50897 for (Identifier e : element.getIdentifier()) 50898 composeIdentifier("identifier", e); 50899 } 50900 if (element.hasVersionElement()) { 50901 composeString("version", element.getVersionElement()); 50902 } 50903 if (element.hasNameElement()) { 50904 composeString("name", element.getNameElement()); 50905 } 50906 if (element.hasTitleElement()) { 50907 composeString("title", element.getTitleElement()); 50908 } 50909 if (element.hasStatusElement()) 50910 composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); 50911 if (element.hasExperimentalElement()) { 50912 composeBoolean("experimental", element.getExperimentalElement()); 50913 } 50914 if (element.hasDateElement()) { 50915 composeDateTime("date", element.getDateElement()); 50916 } 50917 if (element.hasPublisherElement()) { 50918 composeString("publisher", element.getPublisherElement()); 50919 } 50920 if (element.hasContact()) { 50921 for (ContactDetail e : element.getContact()) 50922 composeContactDetail("contact", e); 50923 } 50924 if (element.hasDescriptionElement()) { 50925 composeMarkdown("description", element.getDescriptionElement()); 50926 } 50927 if (element.hasUseContext()) { 50928 for (UsageContext e : element.getUseContext()) 50929 composeUsageContext("useContext", e); 50930 } 50931 if (element.hasJurisdiction()) { 50932 for (CodeableConcept e : element.getJurisdiction()) 50933 composeCodeableConcept("jurisdiction", e); 50934 } 50935 if (element.hasImmutableElement()) { 50936 composeBoolean("immutable", element.getImmutableElement()); 50937 } 50938 if (element.hasPurposeElement()) { 50939 composeMarkdown("purpose", element.getPurposeElement()); 50940 } 50941 if (element.hasCopyrightElement()) { 50942 composeMarkdown("copyright", element.getCopyrightElement()); 50943 } 50944 if (element.hasCompose()) { 50945 composeValueSetComposeComponent("compose", element.getCompose()); 50946 } 50947 if (element.hasExpansion()) { 50948 composeValueSetExpansionComponent("expansion", element.getExpansion()); 50949 } 50950 } 50951 50952 protected void composeValueSetComposeComponent(String name, ValueSet.ValueSetComposeComponent element) throws IOException { 50953 if (element != null) { 50954 composeElementAttributes(element); 50955 xml.enter(FHIR_NS, name); 50956 composeValueSetComposeComponentElements(element); 50957 composeElementClose(element); 50958 xml.exit(FHIR_NS, name); 50959 } 50960 } 50961 50962 protected void composeValueSetComposeComponentElements(ValueSet.ValueSetComposeComponent element) throws IOException { 50963 composeBackboneElementElements(element); 50964 if (element.hasLockedDateElement()) { 50965 composeDate("lockedDate", element.getLockedDateElement()); 50966 } 50967 if (element.hasInactiveElement()) { 50968 composeBoolean("inactive", element.getInactiveElement()); 50969 } 50970 if (element.hasInclude()) { 50971 for (ValueSet.ConceptSetComponent e : element.getInclude()) 50972 composeValueSetConceptSetComponent("include", e); 50973 } 50974 if (element.hasExclude()) { 50975 for (ValueSet.ConceptSetComponent e : element.getExclude()) 50976 composeValueSetConceptSetComponent("exclude", e); 50977 } 50978 } 50979 50980 protected void composeValueSetConceptSetComponent(String name, ValueSet.ConceptSetComponent element) throws IOException { 50981 if (element != null) { 50982 composeElementAttributes(element); 50983 xml.enter(FHIR_NS, name); 50984 composeValueSetConceptSetComponentElements(element); 50985 composeElementClose(element); 50986 xml.exit(FHIR_NS, name); 50987 } 50988 } 50989 50990 protected void composeValueSetConceptSetComponentElements(ValueSet.ConceptSetComponent element) throws IOException { 50991 composeBackboneElementElements(element); 50992 if (element.hasSystemElement()) { 50993 composeUri("system", element.getSystemElement()); 50994 } 50995 if (element.hasVersionElement()) { 50996 composeString("version", element.getVersionElement()); 50997 } 50998 if (element.hasConcept()) { 50999 for (ValueSet.ConceptReferenceComponent e : element.getConcept()) 51000 composeValueSetConceptReferenceComponent("concept", e); 51001 } 51002 if (element.hasFilter()) { 51003 for (ValueSet.ConceptSetFilterComponent e : element.getFilter()) 51004 composeValueSetConceptSetFilterComponent("filter", e); 51005 } 51006 if (element.hasValueSet()) { 51007 for (CanonicalType e : element.getValueSet()) 51008 composeCanonical("valueSet", e); 51009 } 51010 } 51011 51012 protected void composeValueSetConceptReferenceComponent(String name, ValueSet.ConceptReferenceComponent element) throws IOException { 51013 if (element != null) { 51014 composeElementAttributes(element); 51015 xml.enter(FHIR_NS, name); 51016 composeValueSetConceptReferenceComponentElements(element); 51017 composeElementClose(element); 51018 xml.exit(FHIR_NS, name); 51019 } 51020 } 51021 51022 protected void composeValueSetConceptReferenceComponentElements(ValueSet.ConceptReferenceComponent element) throws IOException { 51023 composeBackboneElementElements(element); 51024 if (element.hasCodeElement()) { 51025 composeCode("code", element.getCodeElement()); 51026 } 51027 if (element.hasDisplayElement()) { 51028 composeString("display", element.getDisplayElement()); 51029 } 51030 if (element.hasDesignation()) { 51031 for (ValueSet.ConceptReferenceDesignationComponent e : element.getDesignation()) 51032 composeValueSetConceptReferenceDesignationComponent("designation", e); 51033 } 51034 } 51035 51036 protected void composeValueSetConceptReferenceDesignationComponent(String name, ValueSet.ConceptReferenceDesignationComponent element) throws IOException { 51037 if (element != null) { 51038 composeElementAttributes(element); 51039 xml.enter(FHIR_NS, name); 51040 composeValueSetConceptReferenceDesignationComponentElements(element); 51041 composeElementClose(element); 51042 xml.exit(FHIR_NS, name); 51043 } 51044 } 51045 51046 protected void composeValueSetConceptReferenceDesignationComponentElements(ValueSet.ConceptReferenceDesignationComponent element) throws IOException { 51047 composeBackboneElementElements(element); 51048 if (element.hasLanguageElement()) { 51049 composeCode("language", element.getLanguageElement()); 51050 } 51051 if (element.hasUse()) { 51052 composeCoding("use", element.getUse()); 51053 } 51054 if (element.hasValueElement()) { 51055 composeString("value", element.getValueElement()); 51056 } 51057 } 51058 51059 protected void composeValueSetConceptSetFilterComponent(String name, ValueSet.ConceptSetFilterComponent element) throws IOException { 51060 if (element != null) { 51061 composeElementAttributes(element); 51062 xml.enter(FHIR_NS, name); 51063 composeValueSetConceptSetFilterComponentElements(element); 51064 composeElementClose(element); 51065 xml.exit(FHIR_NS, name); 51066 } 51067 } 51068 51069 protected void composeValueSetConceptSetFilterComponentElements(ValueSet.ConceptSetFilterComponent element) throws IOException { 51070 composeBackboneElementElements(element); 51071 if (element.hasPropertyElement()) { 51072 composeCode("property", element.getPropertyElement()); 51073 } 51074 if (element.hasOpElement()) 51075 composeEnumeration("op", element.getOpElement(), new Enumerations.FilterOperatorEnumFactory()); 51076 if (element.hasValueElement()) { 51077 composeString("value", element.getValueElement()); 51078 } 51079 } 51080 51081 protected void composeValueSetExpansionComponent(String name, ValueSet.ValueSetExpansionComponent element) throws IOException { 51082 if (element != null) { 51083 composeElementAttributes(element); 51084 xml.enter(FHIR_NS, name); 51085 composeValueSetExpansionComponentElements(element); 51086 composeElementClose(element); 51087 xml.exit(FHIR_NS, name); 51088 } 51089 } 51090 51091 protected void composeValueSetExpansionComponentElements(ValueSet.ValueSetExpansionComponent element) throws IOException { 51092 composeBackboneElementElements(element); 51093 if (element.hasIdentifierElement()) { 51094 composeUri("identifier", element.getIdentifierElement()); 51095 } 51096 if (element.hasTimestampElement()) { 51097 composeDateTime("timestamp", element.getTimestampElement()); 51098 } 51099 if (element.hasTotalElement()) { 51100 composeInteger("total", element.getTotalElement()); 51101 } 51102 if (element.hasOffsetElement()) { 51103 composeInteger("offset", element.getOffsetElement()); 51104 } 51105 if (element.hasParameter()) { 51106 for (ValueSet.ValueSetExpansionParameterComponent e : element.getParameter()) 51107 composeValueSetExpansionParameterComponent("parameter", e); 51108 } 51109 if (element.hasContains()) { 51110 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 51111 composeValueSetExpansionContainsComponent("contains", e); 51112 } 51113 } 51114 51115 protected void composeValueSetExpansionParameterComponent(String name, ValueSet.ValueSetExpansionParameterComponent element) throws IOException { 51116 if (element != null) { 51117 composeElementAttributes(element); 51118 xml.enter(FHIR_NS, name); 51119 composeValueSetExpansionParameterComponentElements(element); 51120 composeElementClose(element); 51121 xml.exit(FHIR_NS, name); 51122 } 51123 } 51124 51125 protected void composeValueSetExpansionParameterComponentElements(ValueSet.ValueSetExpansionParameterComponent element) throws IOException { 51126 composeBackboneElementElements(element); 51127 if (element.hasNameElement()) { 51128 composeString("name", element.getNameElement()); 51129 } 51130 if (element.hasValue()) { 51131 composeType("value", element.getValue()); 51132 } } 51133 51134 protected void composeValueSetExpansionContainsComponent(String name, ValueSet.ValueSetExpansionContainsComponent element) throws IOException { 51135 if (element != null) { 51136 composeElementAttributes(element); 51137 xml.enter(FHIR_NS, name); 51138 composeValueSetExpansionContainsComponentElements(element); 51139 composeElementClose(element); 51140 xml.exit(FHIR_NS, name); 51141 } 51142 } 51143 51144 protected void composeValueSetExpansionContainsComponentElements(ValueSet.ValueSetExpansionContainsComponent element) throws IOException { 51145 composeBackboneElementElements(element); 51146 if (element.hasSystemElement()) { 51147 composeUri("system", element.getSystemElement()); 51148 } 51149 if (element.hasAbstractElement()) { 51150 composeBoolean("abstract", element.getAbstractElement()); 51151 } 51152 if (element.hasInactiveElement()) { 51153 composeBoolean("inactive", element.getInactiveElement()); 51154 } 51155 if (element.hasVersionElement()) { 51156 composeString("version", element.getVersionElement()); 51157 } 51158 if (element.hasCodeElement()) { 51159 composeCode("code", element.getCodeElement()); 51160 } 51161 if (element.hasDisplayElement()) { 51162 composeString("display", element.getDisplayElement()); 51163 } 51164 if (element.hasDesignation()) { 51165 for (ValueSet.ConceptReferenceDesignationComponent e : element.getDesignation()) 51166 composeValueSetConceptReferenceDesignationComponent("designation", e); 51167 } 51168 if (element.hasContains()) { 51169 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 51170 composeValueSetExpansionContainsComponent("contains", e); 51171 } 51172 } 51173 51174 protected void composeVerificationResult(String name, VerificationResult element) throws IOException { 51175 if (element != null) { 51176 composeResourceAttributes(element); 51177 xml.enter(FHIR_NS, name); 51178 composeVerificationResultElements(element); 51179 composeElementClose(element); 51180 xml.exit(FHIR_NS, name); 51181 } 51182 } 51183 51184 protected void composeVerificationResultElements(VerificationResult element) throws IOException { 51185 composeDomainResourceElements(element); 51186 if (element.hasTarget()) { 51187 for (Reference e : element.getTarget()) 51188 composeReference("target", e); 51189 } 51190 if (element.hasTargetLocation()) { 51191 for (StringType e : element.getTargetLocation()) 51192 composeString("targetLocation", e); 51193 } 51194 if (element.hasNeed()) { 51195 composeCodeableConcept("need", element.getNeed()); 51196 } 51197 if (element.hasStatusElement()) 51198 composeEnumeration("status", element.getStatusElement(), new VerificationResult.StatusEnumFactory()); 51199 if (element.hasStatusDateElement()) { 51200 composeDateTime("statusDate", element.getStatusDateElement()); 51201 } 51202 if (element.hasValidationType()) { 51203 composeCodeableConcept("validationType", element.getValidationType()); 51204 } 51205 if (element.hasValidationProcess()) { 51206 for (CodeableConcept e : element.getValidationProcess()) 51207 composeCodeableConcept("validationProcess", e); 51208 } 51209 if (element.hasFrequency()) { 51210 composeTiming("frequency", element.getFrequency()); 51211 } 51212 if (element.hasLastPerformedElement()) { 51213 composeDateTime("lastPerformed", element.getLastPerformedElement()); 51214 } 51215 if (element.hasNextScheduledElement()) { 51216 composeDate("nextScheduled", element.getNextScheduledElement()); 51217 } 51218 if (element.hasFailureAction()) { 51219 composeCodeableConcept("failureAction", element.getFailureAction()); 51220 } 51221 if (element.hasPrimarySource()) { 51222 for (VerificationResult.VerificationResultPrimarySourceComponent e : element.getPrimarySource()) 51223 composeVerificationResultPrimarySourceComponent("primarySource", e); 51224 } 51225 if (element.hasAttestation()) { 51226 composeVerificationResultAttestationComponent("attestation", element.getAttestation()); 51227 } 51228 if (element.hasValidator()) { 51229 for (VerificationResult.VerificationResultValidatorComponent e : element.getValidator()) 51230 composeVerificationResultValidatorComponent("validator", e); 51231 } 51232 } 51233 51234 protected void composeVerificationResultPrimarySourceComponent(String name, VerificationResult.VerificationResultPrimarySourceComponent element) throws IOException { 51235 if (element != null) { 51236 composeElementAttributes(element); 51237 xml.enter(FHIR_NS, name); 51238 composeVerificationResultPrimarySourceComponentElements(element); 51239 composeElementClose(element); 51240 xml.exit(FHIR_NS, name); 51241 } 51242 } 51243 51244 protected void composeVerificationResultPrimarySourceComponentElements(VerificationResult.VerificationResultPrimarySourceComponent element) throws IOException { 51245 composeBackboneElementElements(element); 51246 if (element.hasWho()) { 51247 composeReference("who", element.getWho()); 51248 } 51249 if (element.hasType()) { 51250 for (CodeableConcept e : element.getType()) 51251 composeCodeableConcept("type", e); 51252 } 51253 if (element.hasCommunicationMethod()) { 51254 for (CodeableConcept e : element.getCommunicationMethod()) 51255 composeCodeableConcept("communicationMethod", e); 51256 } 51257 if (element.hasValidationStatus()) { 51258 composeCodeableConcept("validationStatus", element.getValidationStatus()); 51259 } 51260 if (element.hasValidationDateElement()) { 51261 composeDateTime("validationDate", element.getValidationDateElement()); 51262 } 51263 if (element.hasCanPushUpdates()) { 51264 composeCodeableConcept("canPushUpdates", element.getCanPushUpdates()); 51265 } 51266 if (element.hasPushTypeAvailable()) { 51267 for (CodeableConcept e : element.getPushTypeAvailable()) 51268 composeCodeableConcept("pushTypeAvailable", e); 51269 } 51270 } 51271 51272 protected void composeVerificationResultAttestationComponent(String name, VerificationResult.VerificationResultAttestationComponent element) throws IOException { 51273 if (element != null) { 51274 composeElementAttributes(element); 51275 xml.enter(FHIR_NS, name); 51276 composeVerificationResultAttestationComponentElements(element); 51277 composeElementClose(element); 51278 xml.exit(FHIR_NS, name); 51279 } 51280 } 51281 51282 protected void composeVerificationResultAttestationComponentElements(VerificationResult.VerificationResultAttestationComponent element) throws IOException { 51283 composeBackboneElementElements(element); 51284 if (element.hasWho()) { 51285 composeReference("who", element.getWho()); 51286 } 51287 if (element.hasOnBehalfOf()) { 51288 composeReference("onBehalfOf", element.getOnBehalfOf()); 51289 } 51290 if (element.hasCommunicationMethod()) { 51291 composeCodeableConcept("communicationMethod", element.getCommunicationMethod()); 51292 } 51293 if (element.hasDateElement()) { 51294 composeDate("date", element.getDateElement()); 51295 } 51296 if (element.hasSourceIdentityCertificateElement()) { 51297 composeString("sourceIdentityCertificate", element.getSourceIdentityCertificateElement()); 51298 } 51299 if (element.hasProxyIdentityCertificateElement()) { 51300 composeString("proxyIdentityCertificate", element.getProxyIdentityCertificateElement()); 51301 } 51302 if (element.hasProxySignature()) { 51303 composeSignature("proxySignature", element.getProxySignature()); 51304 } 51305 if (element.hasSourceSignature()) { 51306 composeSignature("sourceSignature", element.getSourceSignature()); 51307 } 51308 } 51309 51310 protected void composeVerificationResultValidatorComponent(String name, VerificationResult.VerificationResultValidatorComponent element) throws IOException { 51311 if (element != null) { 51312 composeElementAttributes(element); 51313 xml.enter(FHIR_NS, name); 51314 composeVerificationResultValidatorComponentElements(element); 51315 composeElementClose(element); 51316 xml.exit(FHIR_NS, name); 51317 } 51318 } 51319 51320 protected void composeVerificationResultValidatorComponentElements(VerificationResult.VerificationResultValidatorComponent element) throws IOException { 51321 composeBackboneElementElements(element); 51322 if (element.hasOrganization()) { 51323 composeReference("organization", element.getOrganization()); 51324 } 51325 if (element.hasIdentityCertificateElement()) { 51326 composeString("identityCertificate", element.getIdentityCertificateElement()); 51327 } 51328 if (element.hasAttestationSignature()) { 51329 composeSignature("attestationSignature", element.getAttestationSignature()); 51330 } 51331 } 51332 51333 protected void composeVisionPrescription(String name, VisionPrescription element) throws IOException { 51334 if (element != null) { 51335 composeResourceAttributes(element); 51336 xml.enter(FHIR_NS, name); 51337 composeVisionPrescriptionElements(element); 51338 composeElementClose(element); 51339 xml.exit(FHIR_NS, name); 51340 } 51341 } 51342 51343 protected void composeVisionPrescriptionElements(VisionPrescription element) throws IOException { 51344 composeDomainResourceElements(element); 51345 if (element.hasIdentifier()) { 51346 for (Identifier e : element.getIdentifier()) 51347 composeIdentifier("identifier", e); 51348 } 51349 if (element.hasStatusElement()) 51350 composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); 51351 if (element.hasCreatedElement()) { 51352 composeDateTime("created", element.getCreatedElement()); 51353 } 51354 if (element.hasPatient()) { 51355 composeReference("patient", element.getPatient()); 51356 } 51357 if (element.hasEncounter()) { 51358 composeReference("encounter", element.getEncounter()); 51359 } 51360 if (element.hasDateWrittenElement()) { 51361 composeDateTime("dateWritten", element.getDateWrittenElement()); 51362 } 51363 if (element.hasPrescriber()) { 51364 composeReference("prescriber", element.getPrescriber()); 51365 } 51366 if (element.hasLensSpecification()) { 51367 for (VisionPrescription.VisionPrescriptionLensSpecificationComponent e : element.getLensSpecification()) 51368 composeVisionPrescriptionLensSpecificationComponent("lensSpecification", e); 51369 } 51370 } 51371 51372 protected void composeVisionPrescriptionLensSpecificationComponent(String name, VisionPrescription.VisionPrescriptionLensSpecificationComponent element) throws IOException { 51373 if (element != null) { 51374 composeElementAttributes(element); 51375 xml.enter(FHIR_NS, name); 51376 composeVisionPrescriptionLensSpecificationComponentElements(element); 51377 composeElementClose(element); 51378 xml.exit(FHIR_NS, name); 51379 } 51380 } 51381 51382 protected void composeVisionPrescriptionLensSpecificationComponentElements(VisionPrescription.VisionPrescriptionLensSpecificationComponent element) throws IOException { 51383 composeBackboneElementElements(element); 51384 if (element.hasProduct()) { 51385 composeCodeableConcept("product", element.getProduct()); 51386 } 51387 if (element.hasEyeElement()) 51388 composeEnumeration("eye", element.getEyeElement(), new VisionPrescription.VisionEyesEnumFactory()); 51389 if (element.hasSphereElement()) { 51390 composeDecimal("sphere", element.getSphereElement()); 51391 } 51392 if (element.hasCylinderElement()) { 51393 composeDecimal("cylinder", element.getCylinderElement()); 51394 } 51395 if (element.hasAxisElement()) { 51396 composeInteger("axis", element.getAxisElement()); 51397 } 51398 if (element.hasPrism()) { 51399 for (VisionPrescription.PrismComponent e : element.getPrism()) 51400 composeVisionPrescriptionPrismComponent("prism", e); 51401 } 51402 if (element.hasAddElement()) { 51403 composeDecimal("add", element.getAddElement()); 51404 } 51405 if (element.hasPowerElement()) { 51406 composeDecimal("power", element.getPowerElement()); 51407 } 51408 if (element.hasBackCurveElement()) { 51409 composeDecimal("backCurve", element.getBackCurveElement()); 51410 } 51411 if (element.hasDiameterElement()) { 51412 composeDecimal("diameter", element.getDiameterElement()); 51413 } 51414 if (element.hasDuration()) { 51415 composeQuantity("duration", element.getDuration()); 51416 } 51417 if (element.hasColorElement()) { 51418 composeString("color", element.getColorElement()); 51419 } 51420 if (element.hasBrandElement()) { 51421 composeString("brand", element.getBrandElement()); 51422 } 51423 if (element.hasNote()) { 51424 for (Annotation e : element.getNote()) 51425 composeAnnotation("note", e); 51426 } 51427 } 51428 51429 protected void composeVisionPrescriptionPrismComponent(String name, VisionPrescription.PrismComponent element) throws IOException { 51430 if (element != null) { 51431 composeElementAttributes(element); 51432 xml.enter(FHIR_NS, name); 51433 composeVisionPrescriptionPrismComponentElements(element); 51434 composeElementClose(element); 51435 xml.exit(FHIR_NS, name); 51436 } 51437 } 51438 51439 protected void composeVisionPrescriptionPrismComponentElements(VisionPrescription.PrismComponent element) throws IOException { 51440 composeBackboneElementElements(element); 51441 if (element.hasAmountElement()) { 51442 composeDecimal("amount", element.getAmountElement()); 51443 } 51444 if (element.hasBaseElement()) 51445 composeEnumeration("base", element.getBaseElement(), new VisionPrescription.VisionBaseEnumFactory()); 51446 } 51447 51448 51449 51450 @Override 51451 protected void composeResource(Resource resource) throws IOException { 51452 if (resource == null) { 51453 throw new IOException("resource == null"); 51454 } else if (resource instanceof Account) { 51455 composeAccount("Account", (Account)resource); 51456 } else if (resource instanceof ActivityDefinition) { 51457 composeActivityDefinition("ActivityDefinition", (ActivityDefinition)resource); 51458 } else if (resource instanceof AdministrableProductDefinition) { 51459 composeAdministrableProductDefinition("AdministrableProductDefinition", (AdministrableProductDefinition)resource); 51460 } else if (resource instanceof AdverseEvent) { 51461 composeAdverseEvent("AdverseEvent", (AdverseEvent)resource); 51462 } else if (resource instanceof AllergyIntolerance) { 51463 composeAllergyIntolerance("AllergyIntolerance", (AllergyIntolerance)resource); 51464 } else if (resource instanceof Appointment) { 51465 composeAppointment("Appointment", (Appointment)resource); 51466 } else if (resource instanceof AppointmentResponse) { 51467 composeAppointmentResponse("AppointmentResponse", (AppointmentResponse)resource); 51468 } else if (resource instanceof AuditEvent) { 51469 composeAuditEvent("AuditEvent", (AuditEvent)resource); 51470 } else if (resource instanceof Basic) { 51471 composeBasic("Basic", (Basic)resource); 51472 } else if (resource instanceof Binary) { 51473 composeBinary("Binary", (Binary)resource); 51474 } else if (resource instanceof BiologicallyDerivedProduct) { 51475 composeBiologicallyDerivedProduct("BiologicallyDerivedProduct", (BiologicallyDerivedProduct)resource); 51476 } else if (resource instanceof BodyStructure) { 51477 composeBodyStructure("BodyStructure", (BodyStructure)resource); 51478 } else if (resource instanceof Bundle) { 51479 composeBundle("Bundle", (Bundle)resource); 51480 } else if (resource instanceof CapabilityStatement) { 51481 composeCapabilityStatement("CapabilityStatement", (CapabilityStatement)resource); 51482 } else if (resource instanceof CarePlan) { 51483 composeCarePlan("CarePlan", (CarePlan)resource); 51484 } else if (resource instanceof CareTeam) { 51485 composeCareTeam("CareTeam", (CareTeam)resource); 51486 } else if (resource instanceof CatalogEntry) { 51487 composeCatalogEntry("CatalogEntry", (CatalogEntry)resource); 51488 } else if (resource instanceof ChargeItem) { 51489 composeChargeItem("ChargeItem", (ChargeItem)resource); 51490 } else if (resource instanceof ChargeItemDefinition) { 51491 composeChargeItemDefinition("ChargeItemDefinition", (ChargeItemDefinition)resource); 51492 } else if (resource instanceof Citation) { 51493 composeCitation("Citation", (Citation)resource); 51494 } else if (resource instanceof Claim) { 51495 composeClaim("Claim", (Claim)resource); 51496 } else if (resource instanceof ClaimResponse) { 51497 composeClaimResponse("ClaimResponse", (ClaimResponse)resource); 51498 } else if (resource instanceof ClinicalImpression) { 51499 composeClinicalImpression("ClinicalImpression", (ClinicalImpression)resource); 51500 } else if (resource instanceof ClinicalUseDefinition) { 51501 composeClinicalUseDefinition("ClinicalUseDefinition", (ClinicalUseDefinition)resource); 51502 } else if (resource instanceof CodeSystem) { 51503 composeCodeSystem("CodeSystem", (CodeSystem)resource); 51504 } else if (resource instanceof Communication) { 51505 composeCommunication("Communication", (Communication)resource); 51506 } else if (resource instanceof CommunicationRequest) { 51507 composeCommunicationRequest("CommunicationRequest", (CommunicationRequest)resource); 51508 } else if (resource instanceof CompartmentDefinition) { 51509 composeCompartmentDefinition("CompartmentDefinition", (CompartmentDefinition)resource); 51510 } else if (resource instanceof Composition) { 51511 composeComposition("Composition", (Composition)resource); 51512 } else if (resource instanceof ConceptMap) { 51513 composeConceptMap("ConceptMap", (ConceptMap)resource); 51514 } else if (resource instanceof Condition) { 51515 composeCondition("Condition", (Condition)resource); 51516 } else if (resource instanceof Consent) { 51517 composeConsent("Consent", (Consent)resource); 51518 } else if (resource instanceof Contract) { 51519 composeContract("Contract", (Contract)resource); 51520 } else if (resource instanceof Coverage) { 51521 composeCoverage("Coverage", (Coverage)resource); 51522 } else if (resource instanceof CoverageEligibilityRequest) { 51523 composeCoverageEligibilityRequest("CoverageEligibilityRequest", (CoverageEligibilityRequest)resource); 51524 } else if (resource instanceof CoverageEligibilityResponse) { 51525 composeCoverageEligibilityResponse("CoverageEligibilityResponse", (CoverageEligibilityResponse)resource); 51526 } else if (resource instanceof DetectedIssue) { 51527 composeDetectedIssue("DetectedIssue", (DetectedIssue)resource); 51528 } else if (resource instanceof Device) { 51529 composeDevice("Device", (Device)resource); 51530 } else if (resource instanceof DeviceDefinition) { 51531 composeDeviceDefinition("DeviceDefinition", (DeviceDefinition)resource); 51532 } else if (resource instanceof DeviceMetric) { 51533 composeDeviceMetric("DeviceMetric", (DeviceMetric)resource); 51534 } else if (resource instanceof DeviceRequest) { 51535 composeDeviceRequest("DeviceRequest", (DeviceRequest)resource); 51536 } else if (resource instanceof DeviceUseStatement) { 51537 composeDeviceUseStatement("DeviceUseStatement", (DeviceUseStatement)resource); 51538 } else if (resource instanceof DiagnosticReport) { 51539 composeDiagnosticReport("DiagnosticReport", (DiagnosticReport)resource); 51540 } else if (resource instanceof DocumentManifest) { 51541 composeDocumentManifest("DocumentManifest", (DocumentManifest)resource); 51542 } else if (resource instanceof DocumentReference) { 51543 composeDocumentReference("DocumentReference", (DocumentReference)resource); 51544 } else if (resource instanceof Encounter) { 51545 composeEncounter("Encounter", (Encounter)resource); 51546 } else if (resource instanceof Endpoint) { 51547 composeEndpoint("Endpoint", (Endpoint)resource); 51548 } else if (resource instanceof EnrollmentRequest) { 51549 composeEnrollmentRequest("EnrollmentRequest", (EnrollmentRequest)resource); 51550 } else if (resource instanceof EnrollmentResponse) { 51551 composeEnrollmentResponse("EnrollmentResponse", (EnrollmentResponse)resource); 51552 } else if (resource instanceof EpisodeOfCare) { 51553 composeEpisodeOfCare("EpisodeOfCare", (EpisodeOfCare)resource); 51554 } else if (resource instanceof EventDefinition) { 51555 composeEventDefinition("EventDefinition", (EventDefinition)resource); 51556 } else if (resource instanceof Evidence) { 51557 composeEvidence("Evidence", (Evidence)resource); 51558 } else if (resource instanceof EvidenceReport) { 51559 composeEvidenceReport("EvidenceReport", (EvidenceReport)resource); 51560 } else if (resource instanceof EvidenceVariable) { 51561 composeEvidenceVariable("EvidenceVariable", (EvidenceVariable)resource); 51562 } else if (resource instanceof ExampleScenario) { 51563 composeExampleScenario("ExampleScenario", (ExampleScenario)resource); 51564 } else if (resource instanceof ExplanationOfBenefit) { 51565 composeExplanationOfBenefit("ExplanationOfBenefit", (ExplanationOfBenefit)resource); 51566 } else if (resource instanceof FamilyMemberHistory) { 51567 composeFamilyMemberHistory("FamilyMemberHistory", (FamilyMemberHistory)resource); 51568 } else if (resource instanceof Flag) { 51569 composeFlag("Flag", (Flag)resource); 51570 } else if (resource instanceof Goal) { 51571 composeGoal("Goal", (Goal)resource); 51572 } else if (resource instanceof GraphDefinition) { 51573 composeGraphDefinition("GraphDefinition", (GraphDefinition)resource); 51574 } else if (resource instanceof Group) { 51575 composeGroup("Group", (Group)resource); 51576 } else if (resource instanceof GuidanceResponse) { 51577 composeGuidanceResponse("GuidanceResponse", (GuidanceResponse)resource); 51578 } else if (resource instanceof HealthcareService) { 51579 composeHealthcareService("HealthcareService", (HealthcareService)resource); 51580 } else if (resource instanceof ImagingStudy) { 51581 composeImagingStudy("ImagingStudy", (ImagingStudy)resource); 51582 } else if (resource instanceof Immunization) { 51583 composeImmunization("Immunization", (Immunization)resource); 51584 } else if (resource instanceof ImmunizationEvaluation) { 51585 composeImmunizationEvaluation("ImmunizationEvaluation", (ImmunizationEvaluation)resource); 51586 } else if (resource instanceof ImmunizationRecommendation) { 51587 composeImmunizationRecommendation("ImmunizationRecommendation", (ImmunizationRecommendation)resource); 51588 } else if (resource instanceof ImplementationGuide) { 51589 composeImplementationGuide("ImplementationGuide", (ImplementationGuide)resource); 51590 } else if (resource instanceof Ingredient) { 51591 composeIngredient("Ingredient", (Ingredient)resource); 51592 } else if (resource instanceof InsurancePlan) { 51593 composeInsurancePlan("InsurancePlan", (InsurancePlan)resource); 51594 } else if (resource instanceof Invoice) { 51595 composeInvoice("Invoice", (Invoice)resource); 51596 } else if (resource instanceof Library) { 51597 composeLibrary("Library", (Library)resource); 51598 } else if (resource instanceof Linkage) { 51599 composeLinkage("Linkage", (Linkage)resource); 51600 } else if (resource instanceof ListResource) { 51601 composeListResource("List", (ListResource)resource); 51602 } else if (resource instanceof Location) { 51603 composeLocation("Location", (Location)resource); 51604 } else if (resource instanceof ManufacturedItemDefinition) { 51605 composeManufacturedItemDefinition("ManufacturedItemDefinition", (ManufacturedItemDefinition)resource); 51606 } else if (resource instanceof Measure) { 51607 composeMeasure("Measure", (Measure)resource); 51608 } else if (resource instanceof MeasureReport) { 51609 composeMeasureReport("MeasureReport", (MeasureReport)resource); 51610 } else if (resource instanceof Media) { 51611 composeMedia("Media", (Media)resource); 51612 } else if (resource instanceof Medication) { 51613 composeMedication("Medication", (Medication)resource); 51614 } else if (resource instanceof MedicationAdministration) { 51615 composeMedicationAdministration("MedicationAdministration", (MedicationAdministration)resource); 51616 } else if (resource instanceof MedicationDispense) { 51617 composeMedicationDispense("MedicationDispense", (MedicationDispense)resource); 51618 } else if (resource instanceof MedicationKnowledge) { 51619 composeMedicationKnowledge("MedicationKnowledge", (MedicationKnowledge)resource); 51620 } else if (resource instanceof MedicationRequest) { 51621 composeMedicationRequest("MedicationRequest", (MedicationRequest)resource); 51622 } else if (resource instanceof MedicationStatement) { 51623 composeMedicationStatement("MedicationStatement", (MedicationStatement)resource); 51624 } else if (resource instanceof MedicinalProductDefinition) { 51625 composeMedicinalProductDefinition("MedicinalProductDefinition", (MedicinalProductDefinition)resource); 51626 } else if (resource instanceof MessageDefinition) { 51627 composeMessageDefinition("MessageDefinition", (MessageDefinition)resource); 51628 } else if (resource instanceof MessageHeader) { 51629 composeMessageHeader("MessageHeader", (MessageHeader)resource); 51630 } else if (resource instanceof MolecularSequence) { 51631 composeMolecularSequence("MolecularSequence", (MolecularSequence)resource); 51632 } else if (resource instanceof NamingSystem) { 51633 composeNamingSystem("NamingSystem", (NamingSystem)resource); 51634 } else if (resource instanceof NutritionOrder) { 51635 composeNutritionOrder("NutritionOrder", (NutritionOrder)resource); 51636 } else if (resource instanceof NutritionProduct) { 51637 composeNutritionProduct("NutritionProduct", (NutritionProduct)resource); 51638 } else if (resource instanceof Observation) { 51639 composeObservation("Observation", (Observation)resource); 51640 } else if (resource instanceof ObservationDefinition) { 51641 composeObservationDefinition("ObservationDefinition", (ObservationDefinition)resource); 51642 } else if (resource instanceof OperationDefinition) { 51643 composeOperationDefinition("OperationDefinition", (OperationDefinition)resource); 51644 } else if (resource instanceof OperationOutcome) { 51645 composeOperationOutcome("OperationOutcome", (OperationOutcome)resource); 51646 } else if (resource instanceof Organization) { 51647 composeOrganization("Organization", (Organization)resource); 51648 } else if (resource instanceof OrganizationAffiliation) { 51649 composeOrganizationAffiliation("OrganizationAffiliation", (OrganizationAffiliation)resource); 51650 } else if (resource instanceof PackagedProductDefinition) { 51651 composePackagedProductDefinition("PackagedProductDefinition", (PackagedProductDefinition)resource); 51652 } else if (resource instanceof Parameters) { 51653 composeParameters("Parameters", (Parameters)resource); 51654 } else if (resource instanceof Patient) { 51655 composePatient("Patient", (Patient)resource); 51656 } else if (resource instanceof PaymentNotice) { 51657 composePaymentNotice("PaymentNotice", (PaymentNotice)resource); 51658 } else if (resource instanceof PaymentReconciliation) { 51659 composePaymentReconciliation("PaymentReconciliation", (PaymentReconciliation)resource); 51660 } else if (resource instanceof Person) { 51661 composePerson("Person", (Person)resource); 51662 } else if (resource instanceof PlanDefinition) { 51663 composePlanDefinition("PlanDefinition", (PlanDefinition)resource); 51664 } else if (resource instanceof Practitioner) { 51665 composePractitioner("Practitioner", (Practitioner)resource); 51666 } else if (resource instanceof PractitionerRole) { 51667 composePractitionerRole("PractitionerRole", (PractitionerRole)resource); 51668 } else if (resource instanceof Procedure) { 51669 composeProcedure("Procedure", (Procedure)resource); 51670 } else if (resource instanceof Provenance) { 51671 composeProvenance("Provenance", (Provenance)resource); 51672 } else if (resource instanceof Questionnaire) { 51673 composeQuestionnaire("Questionnaire", (Questionnaire)resource); 51674 } else if (resource instanceof QuestionnaireResponse) { 51675 composeQuestionnaireResponse("QuestionnaireResponse", (QuestionnaireResponse)resource); 51676 } else if (resource instanceof RegulatedAuthorization) { 51677 composeRegulatedAuthorization("RegulatedAuthorization", (RegulatedAuthorization)resource); 51678 } else if (resource instanceof RelatedPerson) { 51679 composeRelatedPerson("RelatedPerson", (RelatedPerson)resource); 51680 } else if (resource instanceof RequestGroup) { 51681 composeRequestGroup("RequestGroup", (RequestGroup)resource); 51682 } else if (resource instanceof ResearchDefinition) { 51683 composeResearchDefinition("ResearchDefinition", (ResearchDefinition)resource); 51684 } else if (resource instanceof ResearchElementDefinition) { 51685 composeResearchElementDefinition("ResearchElementDefinition", (ResearchElementDefinition)resource); 51686 } else if (resource instanceof ResearchStudy) { 51687 composeResearchStudy("ResearchStudy", (ResearchStudy)resource); 51688 } else if (resource instanceof ResearchSubject) { 51689 composeResearchSubject("ResearchSubject", (ResearchSubject)resource); 51690 } else if (resource instanceof RiskAssessment) { 51691 composeRiskAssessment("RiskAssessment", (RiskAssessment)resource); 51692 } else if (resource instanceof Schedule) { 51693 composeSchedule("Schedule", (Schedule)resource); 51694 } else if (resource instanceof SearchParameter) { 51695 composeSearchParameter("SearchParameter", (SearchParameter)resource); 51696 } else if (resource instanceof ServiceRequest) { 51697 composeServiceRequest("ServiceRequest", (ServiceRequest)resource); 51698 } else if (resource instanceof Slot) { 51699 composeSlot("Slot", (Slot)resource); 51700 } else if (resource instanceof Specimen) { 51701 composeSpecimen("Specimen", (Specimen)resource); 51702 } else if (resource instanceof SpecimenDefinition) { 51703 composeSpecimenDefinition("SpecimenDefinition", (SpecimenDefinition)resource); 51704 } else if (resource instanceof StructureDefinition) { 51705 composeStructureDefinition("StructureDefinition", (StructureDefinition)resource); 51706 } else if (resource instanceof StructureMap) { 51707 composeStructureMap("StructureMap", (StructureMap)resource); 51708 } else if (resource instanceof Subscription) { 51709 composeSubscription("Subscription", (Subscription)resource); 51710 } else if (resource instanceof SubscriptionStatus) { 51711 composeSubscriptionStatus("SubscriptionStatus", (SubscriptionStatus)resource); 51712 } else if (resource instanceof SubscriptionTopic) { 51713 composeSubscriptionTopic("SubscriptionTopic", (SubscriptionTopic)resource); 51714 } else if (resource instanceof Substance) { 51715 composeSubstance("Substance", (Substance)resource); 51716 } else if (resource instanceof SubstanceDefinition) { 51717 composeSubstanceDefinition("SubstanceDefinition", (SubstanceDefinition)resource); 51718 } else if (resource instanceof SupplyDelivery) { 51719 composeSupplyDelivery("SupplyDelivery", (SupplyDelivery)resource); 51720 } else if (resource instanceof SupplyRequest) { 51721 composeSupplyRequest("SupplyRequest", (SupplyRequest)resource); 51722 } else if (resource instanceof Task) { 51723 composeTask("Task", (Task)resource); 51724 } else if (resource instanceof TerminologyCapabilities) { 51725 composeTerminologyCapabilities("TerminologyCapabilities", (TerminologyCapabilities)resource); 51726 } else if (resource instanceof TestReport) { 51727 composeTestReport("TestReport", (TestReport)resource); 51728 } else if (resource instanceof TestScript) { 51729 composeTestScript("TestScript", (TestScript)resource); 51730 } else if (resource instanceof ValueSet) { 51731 composeValueSet("ValueSet", (ValueSet)resource); 51732 } else if (resource instanceof VerificationResult) { 51733 composeVerificationResult("VerificationResult", (VerificationResult)resource); 51734 } else if (resource instanceof VisionPrescription) { 51735 composeVisionPrescription("VisionPrescription", (VisionPrescription)resource); 51736 51737 } else { 51738 throw new Error("Unhandled resource type "+resource.getClass().getName()); 51739 } 51740 } 51741 51742 protected void composeResource(String name, Resource resource) throws IOException { 51743 if (name == null) { 51744 throw new IOException("name == null"); 51745 } else if (resource == null) { 51746 throw new IOException("resource == null"); 51747 } else if (resource instanceof Account) { 51748 composeAccount(name, (Account)resource); 51749 } else if (resource instanceof ActivityDefinition) { 51750 composeActivityDefinition(name, (ActivityDefinition)resource); 51751 } else if (resource instanceof AdministrableProductDefinition) { 51752 composeAdministrableProductDefinition(name, (AdministrableProductDefinition)resource); 51753 } else if (resource instanceof AdverseEvent) { 51754 composeAdverseEvent(name, (AdverseEvent)resource); 51755 } else if (resource instanceof AllergyIntolerance) { 51756 composeAllergyIntolerance(name, (AllergyIntolerance)resource); 51757 } else if (resource instanceof Appointment) { 51758 composeAppointment(name, (Appointment)resource); 51759 } else if (resource instanceof AppointmentResponse) { 51760 composeAppointmentResponse(name, (AppointmentResponse)resource); 51761 } else if (resource instanceof AuditEvent) { 51762 composeAuditEvent(name, (AuditEvent)resource); 51763 } else if (resource instanceof Basic) { 51764 composeBasic(name, (Basic)resource); 51765 } else if (resource instanceof Binary) { 51766 composeBinary(name, (Binary)resource); 51767 } else if (resource instanceof BiologicallyDerivedProduct) { 51768 composeBiologicallyDerivedProduct(name, (BiologicallyDerivedProduct)resource); 51769 } else if (resource instanceof BodyStructure) { 51770 composeBodyStructure(name, (BodyStructure)resource); 51771 } else if (resource instanceof Bundle) { 51772 composeBundle(name, (Bundle)resource); 51773 } else if (resource instanceof CapabilityStatement) { 51774 composeCapabilityStatement(name, (CapabilityStatement)resource); 51775 } else if (resource instanceof CarePlan) { 51776 composeCarePlan(name, (CarePlan)resource); 51777 } else if (resource instanceof CareTeam) { 51778 composeCareTeam(name, (CareTeam)resource); 51779 } else if (resource instanceof CatalogEntry) { 51780 composeCatalogEntry(name, (CatalogEntry)resource); 51781 } else if (resource instanceof ChargeItem) { 51782 composeChargeItem(name, (ChargeItem)resource); 51783 } else if (resource instanceof ChargeItemDefinition) { 51784 composeChargeItemDefinition(name, (ChargeItemDefinition)resource); 51785 } else if (resource instanceof Citation) { 51786 composeCitation(name, (Citation)resource); 51787 } else if (resource instanceof Claim) { 51788 composeClaim(name, (Claim)resource); 51789 } else if (resource instanceof ClaimResponse) { 51790 composeClaimResponse(name, (ClaimResponse)resource); 51791 } else if (resource instanceof ClinicalImpression) { 51792 composeClinicalImpression(name, (ClinicalImpression)resource); 51793 } else if (resource instanceof ClinicalUseDefinition) { 51794 composeClinicalUseDefinition(name, (ClinicalUseDefinition)resource); 51795 } else if (resource instanceof CodeSystem) { 51796 composeCodeSystem(name, (CodeSystem)resource); 51797 } else if (resource instanceof Communication) { 51798 composeCommunication(name, (Communication)resource); 51799 } else if (resource instanceof CommunicationRequest) { 51800 composeCommunicationRequest(name, (CommunicationRequest)resource); 51801 } else if (resource instanceof CompartmentDefinition) { 51802 composeCompartmentDefinition(name, (CompartmentDefinition)resource); 51803 } else if (resource instanceof Composition) { 51804 composeComposition(name, (Composition)resource); 51805 } else if (resource instanceof ConceptMap) { 51806 composeConceptMap(name, (ConceptMap)resource); 51807 } else if (resource instanceof Condition) { 51808 composeCondition(name, (Condition)resource); 51809 } else if (resource instanceof Consent) { 51810 composeConsent(name, (Consent)resource); 51811 } else if (resource instanceof Contract) { 51812 composeContract(name, (Contract)resource); 51813 } else if (resource instanceof Coverage) { 51814 composeCoverage(name, (Coverage)resource); 51815 } else if (resource instanceof CoverageEligibilityRequest) { 51816 composeCoverageEligibilityRequest(name, (CoverageEligibilityRequest)resource); 51817 } else if (resource instanceof CoverageEligibilityResponse) { 51818 composeCoverageEligibilityResponse(name, (CoverageEligibilityResponse)resource); 51819 } else if (resource instanceof DetectedIssue) { 51820 composeDetectedIssue(name, (DetectedIssue)resource); 51821 } else if (resource instanceof Device) { 51822 composeDevice(name, (Device)resource); 51823 } else if (resource instanceof DeviceDefinition) { 51824 composeDeviceDefinition(name, (DeviceDefinition)resource); 51825 } else if (resource instanceof DeviceMetric) { 51826 composeDeviceMetric(name, (DeviceMetric)resource); 51827 } else if (resource instanceof DeviceRequest) { 51828 composeDeviceRequest(name, (DeviceRequest)resource); 51829 } else if (resource instanceof DeviceUseStatement) { 51830 composeDeviceUseStatement(name, (DeviceUseStatement)resource); 51831 } else if (resource instanceof DiagnosticReport) { 51832 composeDiagnosticReport(name, (DiagnosticReport)resource); 51833 } else if (resource instanceof DocumentManifest) { 51834 composeDocumentManifest(name, (DocumentManifest)resource); 51835 } else if (resource instanceof DocumentReference) { 51836 composeDocumentReference(name, (DocumentReference)resource); 51837 } else if (resource instanceof Encounter) { 51838 composeEncounter(name, (Encounter)resource); 51839 } else if (resource instanceof Endpoint) { 51840 composeEndpoint(name, (Endpoint)resource); 51841 } else if (resource instanceof EnrollmentRequest) { 51842 composeEnrollmentRequest(name, (EnrollmentRequest)resource); 51843 } else if (resource instanceof EnrollmentResponse) { 51844 composeEnrollmentResponse(name, (EnrollmentResponse)resource); 51845 } else if (resource instanceof EpisodeOfCare) { 51846 composeEpisodeOfCare(name, (EpisodeOfCare)resource); 51847 } else if (resource instanceof EventDefinition) { 51848 composeEventDefinition(name, (EventDefinition)resource); 51849 } else if (resource instanceof Evidence) { 51850 composeEvidence(name, (Evidence)resource); 51851 } else if (resource instanceof EvidenceReport) { 51852 composeEvidenceReport(name, (EvidenceReport)resource); 51853 } else if (resource instanceof EvidenceVariable) { 51854 composeEvidenceVariable(name, (EvidenceVariable)resource); 51855 } else if (resource instanceof ExampleScenario) { 51856 composeExampleScenario(name, (ExampleScenario)resource); 51857 } else if (resource instanceof ExplanationOfBenefit) { 51858 composeExplanationOfBenefit(name, (ExplanationOfBenefit)resource); 51859 } else if (resource instanceof FamilyMemberHistory) { 51860 composeFamilyMemberHistory(name, (FamilyMemberHistory)resource); 51861 } else if (resource instanceof Flag) { 51862 composeFlag(name, (Flag)resource); 51863 } else if (resource instanceof Goal) { 51864 composeGoal(name, (Goal)resource); 51865 } else if (resource instanceof GraphDefinition) { 51866 composeGraphDefinition(name, (GraphDefinition)resource); 51867 } else if (resource instanceof Group) { 51868 composeGroup(name, (Group)resource); 51869 } else if (resource instanceof GuidanceResponse) { 51870 composeGuidanceResponse(name, (GuidanceResponse)resource); 51871 } else if (resource instanceof HealthcareService) { 51872 composeHealthcareService(name, (HealthcareService)resource); 51873 } else if (resource instanceof ImagingStudy) { 51874 composeImagingStudy(name, (ImagingStudy)resource); 51875 } else if (resource instanceof Immunization) { 51876 composeImmunization(name, (Immunization)resource); 51877 } else if (resource instanceof ImmunizationEvaluation) { 51878 composeImmunizationEvaluation(name, (ImmunizationEvaluation)resource); 51879 } else if (resource instanceof ImmunizationRecommendation) { 51880 composeImmunizationRecommendation(name, (ImmunizationRecommendation)resource); 51881 } else if (resource instanceof ImplementationGuide) { 51882 composeImplementationGuide(name, (ImplementationGuide)resource); 51883 } else if (resource instanceof Ingredient) { 51884 composeIngredient(name, (Ingredient)resource); 51885 } else if (resource instanceof InsurancePlan) { 51886 composeInsurancePlan(name, (InsurancePlan)resource); 51887 } else if (resource instanceof Invoice) { 51888 composeInvoice(name, (Invoice)resource); 51889 } else if (resource instanceof Library) { 51890 composeLibrary(name, (Library)resource); 51891 } else if (resource instanceof Linkage) { 51892 composeLinkage(name, (Linkage)resource); 51893 } else if (resource instanceof ListResource) { 51894 composeListResource(name, (ListResource)resource); 51895 } else if (resource instanceof Location) { 51896 composeLocation(name, (Location)resource); 51897 } else if (resource instanceof ManufacturedItemDefinition) { 51898 composeManufacturedItemDefinition(name, (ManufacturedItemDefinition)resource); 51899 } else if (resource instanceof Measure) { 51900 composeMeasure(name, (Measure)resource); 51901 } else if (resource instanceof MeasureReport) { 51902 composeMeasureReport(name, (MeasureReport)resource); 51903 } else if (resource instanceof Media) { 51904 composeMedia(name, (Media)resource); 51905 } else if (resource instanceof Medication) { 51906 composeMedication(name, (Medication)resource); 51907 } else if (resource instanceof MedicationAdministration) { 51908 composeMedicationAdministration(name, (MedicationAdministration)resource); 51909 } else if (resource instanceof MedicationDispense) { 51910 composeMedicationDispense(name, (MedicationDispense)resource); 51911 } else if (resource instanceof MedicationKnowledge) { 51912 composeMedicationKnowledge(name, (MedicationKnowledge)resource); 51913 } else if (resource instanceof MedicationRequest) { 51914 composeMedicationRequest(name, (MedicationRequest)resource); 51915 } else if (resource instanceof MedicationStatement) { 51916 composeMedicationStatement(name, (MedicationStatement)resource); 51917 } else if (resource instanceof MedicinalProductDefinition) { 51918 composeMedicinalProductDefinition(name, (MedicinalProductDefinition)resource); 51919 } else if (resource instanceof MessageDefinition) { 51920 composeMessageDefinition(name, (MessageDefinition)resource); 51921 } else if (resource instanceof MessageHeader) { 51922 composeMessageHeader(name, (MessageHeader)resource); 51923 } else if (resource instanceof MolecularSequence) { 51924 composeMolecularSequence(name, (MolecularSequence)resource); 51925 } else if (resource instanceof NamingSystem) { 51926 composeNamingSystem(name, (NamingSystem)resource); 51927 } else if (resource instanceof NutritionOrder) { 51928 composeNutritionOrder(name, (NutritionOrder)resource); 51929 } else if (resource instanceof NutritionProduct) { 51930 composeNutritionProduct(name, (NutritionProduct)resource); 51931 } else if (resource instanceof Observation) { 51932 composeObservation(name, (Observation)resource); 51933 } else if (resource instanceof ObservationDefinition) { 51934 composeObservationDefinition(name, (ObservationDefinition)resource); 51935 } else if (resource instanceof OperationDefinition) { 51936 composeOperationDefinition(name, (OperationDefinition)resource); 51937 } else if (resource instanceof OperationOutcome) { 51938 composeOperationOutcome(name, (OperationOutcome)resource); 51939 } else if (resource instanceof Organization) { 51940 composeOrganization(name, (Organization)resource); 51941 } else if (resource instanceof OrganizationAffiliation) { 51942 composeOrganizationAffiliation(name, (OrganizationAffiliation)resource); 51943 } else if (resource instanceof PackagedProductDefinition) { 51944 composePackagedProductDefinition(name, (PackagedProductDefinition)resource); 51945 } else if (resource instanceof Parameters) { 51946 composeParameters(name, (Parameters)resource); 51947 } else if (resource instanceof Patient) { 51948 composePatient(name, (Patient)resource); 51949 } else if (resource instanceof PaymentNotice) { 51950 composePaymentNotice(name, (PaymentNotice)resource); 51951 } else if (resource instanceof PaymentReconciliation) { 51952 composePaymentReconciliation(name, (PaymentReconciliation)resource); 51953 } else if (resource instanceof Person) { 51954 composePerson(name, (Person)resource); 51955 } else if (resource instanceof PlanDefinition) { 51956 composePlanDefinition(name, (PlanDefinition)resource); 51957 } else if (resource instanceof Practitioner) { 51958 composePractitioner(name, (Practitioner)resource); 51959 } else if (resource instanceof PractitionerRole) { 51960 composePractitionerRole(name, (PractitionerRole)resource); 51961 } else if (resource instanceof Procedure) { 51962 composeProcedure(name, (Procedure)resource); 51963 } else if (resource instanceof Provenance) { 51964 composeProvenance(name, (Provenance)resource); 51965 } else if (resource instanceof Questionnaire) { 51966 composeQuestionnaire(name, (Questionnaire)resource); 51967 } else if (resource instanceof QuestionnaireResponse) { 51968 composeQuestionnaireResponse(name, (QuestionnaireResponse)resource); 51969 } else if (resource instanceof RegulatedAuthorization) { 51970 composeRegulatedAuthorization(name, (RegulatedAuthorization)resource); 51971 } else if (resource instanceof RelatedPerson) { 51972 composeRelatedPerson(name, (RelatedPerson)resource); 51973 } else if (resource instanceof RequestGroup) { 51974 composeRequestGroup(name, (RequestGroup)resource); 51975 } else if (resource instanceof ResearchDefinition) { 51976 composeResearchDefinition(name, (ResearchDefinition)resource); 51977 } else if (resource instanceof ResearchElementDefinition) { 51978 composeResearchElementDefinition(name, (ResearchElementDefinition)resource); 51979 } else if (resource instanceof ResearchStudy) { 51980 composeResearchStudy(name, (ResearchStudy)resource); 51981 } else if (resource instanceof ResearchSubject) { 51982 composeResearchSubject(name, (ResearchSubject)resource); 51983 } else if (resource instanceof RiskAssessment) { 51984 composeRiskAssessment(name, (RiskAssessment)resource); 51985 } else if (resource instanceof Schedule) { 51986 composeSchedule(name, (Schedule)resource); 51987 } else if (resource instanceof SearchParameter) { 51988 composeSearchParameter(name, (SearchParameter)resource); 51989 } else if (resource instanceof ServiceRequest) { 51990 composeServiceRequest(name, (ServiceRequest)resource); 51991 } else if (resource instanceof Slot) { 51992 composeSlot(name, (Slot)resource); 51993 } else if (resource instanceof Specimen) { 51994 composeSpecimen(name, (Specimen)resource); 51995 } else if (resource instanceof SpecimenDefinition) { 51996 composeSpecimenDefinition(name, (SpecimenDefinition)resource); 51997 } else if (resource instanceof StructureDefinition) { 51998 composeStructureDefinition(name, (StructureDefinition)resource); 51999 } else if (resource instanceof StructureMap) { 52000 composeStructureMap(name, (StructureMap)resource); 52001 } else if (resource instanceof Subscription) { 52002 composeSubscription(name, (Subscription)resource); 52003 } else if (resource instanceof SubscriptionStatus) { 52004 composeSubscriptionStatus(name, (SubscriptionStatus)resource); 52005 } else if (resource instanceof SubscriptionTopic) { 52006 composeSubscriptionTopic(name, (SubscriptionTopic)resource); 52007 } else if (resource instanceof Substance) { 52008 composeSubstance(name, (Substance)resource); 52009 } else if (resource instanceof SubstanceDefinition) { 52010 composeSubstanceDefinition(name, (SubstanceDefinition)resource); 52011 } else if (resource instanceof SupplyDelivery) { 52012 composeSupplyDelivery(name, (SupplyDelivery)resource); 52013 } else if (resource instanceof SupplyRequest) { 52014 composeSupplyRequest(name, (SupplyRequest)resource); 52015 } else if (resource instanceof Task) { 52016 composeTask(name, (Task)resource); 52017 } else if (resource instanceof TerminologyCapabilities) { 52018 composeTerminologyCapabilities(name, (TerminologyCapabilities)resource); 52019 } else if (resource instanceof TestReport) { 52020 composeTestReport(name, (TestReport)resource); 52021 } else if (resource instanceof TestScript) { 52022 composeTestScript(name, (TestScript)resource); 52023 } else if (resource instanceof ValueSet) { 52024 composeValueSet(name, (ValueSet)resource); 52025 } else if (resource instanceof VerificationResult) { 52026 composeVerificationResult(name, (VerificationResult)resource); 52027 } else if (resource instanceof VisionPrescription) { 52028 composeVisionPrescription(name, (VisionPrescription)resource); 52029 52030 } else { 52031 throw new Error("Unhandled resource type "+resource.getClass().getName()); 52032 } 52033 } 52034 52035 protected void composeType(String prefix, DataType type) throws IOException { 52036 if (prefix == null) { 52037 throw new IOException("prefix == null"); 52038 } else if (type == null) { 52039 throw new IOException("type == null"); 52040 } else if (type instanceof Address) { 52041 composeAddress(prefix+"Address", (Address) type); 52042 } else if (type instanceof Age) { 52043 composeAge(prefix+"Age", (Age) type); 52044 } else if (type instanceof Annotation) { 52045 composeAnnotation(prefix+"Annotation", (Annotation) type); 52046 } else if (type instanceof Attachment) { 52047 composeAttachment(prefix+"Attachment", (Attachment) type); 52048 } else if (type instanceof CodeableConcept) { 52049 composeCodeableConcept(prefix+"CodeableConcept", (CodeableConcept) type); 52050 } else if (type instanceof CodeableReference) { 52051 composeCodeableReference(prefix+"CodeableReference", (CodeableReference) type); 52052 } else if (type instanceof Coding) { 52053 composeCoding(prefix+"Coding", (Coding) type); 52054 } else if (type instanceof ContactDetail) { 52055 composeContactDetail(prefix+"ContactDetail", (ContactDetail) type); 52056 } else if (type instanceof ContactPoint) { 52057 composeContactPoint(prefix+"ContactPoint", (ContactPoint) type); 52058 } else if (type instanceof Contributor) { 52059 composeContributor(prefix+"Contributor", (Contributor) type); 52060 } else if (type instanceof Count) { 52061 composeCount(prefix+"Count", (Count) type); 52062 } else if (type instanceof DataRequirement) { 52063 composeDataRequirement(prefix+"DataRequirement", (DataRequirement) type); 52064 } else if (type instanceof Distance) { 52065 composeDistance(prefix+"Distance", (Distance) type); 52066 } else if (type instanceof Dosage) { 52067 composeDosage(prefix+"Dosage", (Dosage) type); 52068 } else if (type instanceof Duration) { 52069 composeDuration(prefix+"Duration", (Duration) type); 52070 } else if (type instanceof ElementDefinition) { 52071 composeElementDefinition(prefix+"ElementDefinition", (ElementDefinition) type); 52072 } else if (type instanceof Expression) { 52073 composeExpression(prefix+"Expression", (Expression) type); 52074 } else if (type instanceof Extension) { 52075 composeExtension(prefix+"Extension", (Extension) type); 52076 } else if (type instanceof HumanName) { 52077 composeHumanName(prefix+"HumanName", (HumanName) type); 52078 } else if (type instanceof Identifier) { 52079 composeIdentifier(prefix+"Identifier", (Identifier) type); 52080 } else if (type instanceof MarketingStatus) { 52081 composeMarketingStatus(prefix+"MarketingStatus", (MarketingStatus) type); 52082 } else if (type instanceof Meta) { 52083 composeMeta(prefix+"Meta", (Meta) type); 52084 } else if (type instanceof Money) { 52085 composeMoney(prefix+"Money", (Money) type); 52086 } else if (type instanceof Narrative) { 52087 composeNarrative(prefix+"Narrative", (Narrative) type); 52088 } else if (type instanceof ParameterDefinition) { 52089 composeParameterDefinition(prefix+"ParameterDefinition", (ParameterDefinition) type); 52090 } else if (type instanceof Period) { 52091 composePeriod(prefix+"Period", (Period) type); 52092 } else if (type instanceof Population) { 52093 composePopulation(prefix+"Population", (Population) type); 52094 } else if (type instanceof ProdCharacteristic) { 52095 composeProdCharacteristic(prefix+"ProdCharacteristic", (ProdCharacteristic) type); 52096 } else if (type instanceof ProductShelfLife) { 52097 composeProductShelfLife(prefix+"ProductShelfLife", (ProductShelfLife) type); 52098 } else if (type instanceof Quantity) { 52099 composeQuantity(prefix+"Quantity", (Quantity) type); 52100 } else if (type instanceof Range) { 52101 composeRange(prefix+"Range", (Range) type); 52102 } else if (type instanceof Ratio) { 52103 composeRatio(prefix+"Ratio", (Ratio) type); 52104 } else if (type instanceof RatioRange) { 52105 composeRatioRange(prefix+"RatioRange", (RatioRange) type); 52106 } else if (type instanceof Reference) { 52107 composeReference(prefix+"Reference", (Reference) type); 52108 } else if (type instanceof RelatedArtifact) { 52109 composeRelatedArtifact(prefix+"RelatedArtifact", (RelatedArtifact) type); 52110 } else if (type instanceof SampledData) { 52111 composeSampledData(prefix+"SampledData", (SampledData) type); 52112 } else if (type instanceof Signature) { 52113 composeSignature(prefix+"Signature", (Signature) type); 52114 } else if (type instanceof Timing) { 52115 composeTiming(prefix+"Timing", (Timing) type); 52116 } else if (type instanceof TriggerDefinition) { 52117 composeTriggerDefinition(prefix+"TriggerDefinition", (TriggerDefinition) type); 52118 } else if (type instanceof UsageContext) { 52119 composeUsageContext(prefix+"UsageContext", (UsageContext) type); 52120 52121 } else if (type instanceof CodeType) { 52122 composeCode(prefix+"Code", (CodeType) type); 52123 } else if (type instanceof OidType) { 52124 composeOid(prefix+"Oid", (OidType) type); 52125 } else if (type instanceof CanonicalType) { 52126 composeCanonical(prefix+"Canonical", (CanonicalType) type); 52127 } else if (type instanceof UuidType) { 52128 composeUuid(prefix+"Uuid", (UuidType) type); 52129 } else if (type instanceof UrlType) { 52130 composeUrl(prefix+"Url", (UrlType) type); 52131 } else if (type instanceof UnsignedIntType) { 52132 composeUnsignedInt(prefix+"UnsignedInt", (UnsignedIntType) type); 52133 } else if (type instanceof MarkdownType) { 52134 composeMarkdown(prefix+"Markdown", (MarkdownType) type); 52135 } else if (type instanceof IdType) { 52136 composeId(prefix+"Id", (IdType) type); 52137 } else if (type instanceof PositiveIntType) { 52138 composePositiveInt(prefix+"PositiveInt", (PositiveIntType) type); 52139 } else if (type instanceof DateType) { 52140 composeDate(prefix+"Date", (DateType) type); 52141 } else if (type instanceof DateTimeType) { 52142 composeDateTime(prefix+"DateTime", (DateTimeType) type); 52143 } else if (type instanceof StringType) { 52144 composeString(prefix+"String", (StringType) type); 52145 } else if (type instanceof IntegerType) { 52146 composeInteger(prefix+"Integer", (IntegerType) type); 52147 } else if (type instanceof Integer64Type) { 52148 composeInteger64(prefix+"Integer64", (Integer64Type) type); 52149 } else if (type instanceof UriType) { 52150 composeUri(prefix+"Uri", (UriType) type); 52151 } else if (type instanceof InstantType) { 52152 composeInstant(prefix+"Instant", (InstantType) type); 52153 } else if (type instanceof BooleanType) { 52154 composeBoolean(prefix+"Boolean", (BooleanType) type); 52155 } else if (type instanceof Base64BinaryType) { 52156 composeBase64Binary(prefix+"Base64Binary", (Base64BinaryType) type); 52157 } else if (type instanceof TimeType) { 52158 composeTime(prefix+"Time", (TimeType) type); 52159 } else if (type instanceof DecimalType) { 52160 composeDecimal(prefix+"Decimal", (DecimalType) type); 52161 } else { 52162 throw new Error("Unhandled type "+type.fhirType()); 52163 } 52164 } 52165 52166}